GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: 69scorpion le 27 Septembre 2009, 00:50:48
-
Bonsoir j'ai fait ce code mais il ne fonctionne pas...
Le but de se code c'est que je veut faire apparaitre un 1er cheeckpoint puis quand le joueur entre dans le 1er cheeckpoint un 2nd apparait puis le 1er se destroy mais rien ne se passe....
else if(CheckPermis3[playerid] > 0)
{
if(CheckPermis3[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
new carid = GetPlayerVehicleID(playerid);
if(IsAInstructeurCar(carid))
{
switch(DrugFermierPickup[playerid][0])
{
case 0:
{
SetPlayerCheckpoint(playerid, -2033.4630,-234.8891,35.1839, 5.0);
SendClientMessage(playerid, COLOR_YELLOW2, "Faite de l'exercice, Soiyez Rp (^_^).");
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
}
}
case 1:
{
SetPlayerCheckpoint(playerid, -2042.5481,-261.8169,35.1844, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
}
}
case 2:
{
SetPlayerCheckpoint(playerid, -2062.9226,-170.0094,35.1767, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
}
}
case 3:
{
SetPlayerCheckpoint(playerid, -2052.1887,-253.4261,35.1953, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
}
}
case 4:
{
SetPlayerCheckpoint(playerid, -2057.0156,-240.1139,35.1805, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
}
}
case 5:
{
SetPlayerCheckpoint(playerid, -2059.4216,-224.8847,35.1873, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
}
}
case 6:
{
SetPlayerCheckpoint(playerid, -2068.1062,-209.6062,35.1795, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
}
}
case 7:
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Garer la voiture.");
GameTextForPlayer(playerid, "~r~Allez sur le marqueur rouge",5000,1);
SetPlayerCheckpoint(playerid, -2080.1780,-117.5618,35.3203,5.0); //
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
Plots(playerid);
SetPlayerPos(playerid, -2025.9832,-116.9980,1035.1719);
PassageCode[playerid]= 1;
GameTextForPlayer(playerid, "~y~Cour de Conduite",5000,1);
SetPlayerInterior(playerid,3);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_YELLOW2, "Ok, Vous allez passez le permis auto.");
SendClientMessage(playerid, COLOR_LIGHTRED, "1ère Question");
SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle la vitesse autorisé à Scorpion City ?");
SendClientMessage(playerid, COLOR_LIGHTRED, "1- 40 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "2- 150 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "3- 80 km/h");
SendClientMessage(playerid, COLOR_YELLOW2, "Repondez en tapant le numero de la réponse!");
}
}
}
}
}
}
return 1;
}
Commande qui active le Cheeckpoint
if(strcmp(cmd, "/go", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new carid = GetPlayerVehicleID(playerid);
if(!IsAInstructeurCar(carid))
{
SendClientMessage(playerid, COLOR_RED," Vous êtes pas dans un véhicle de l'Auto-école.");
return 1;
}
/*if (PassageCode[playerid]!= 0 || PassageCode2[playerid]!= 0)
{
SendClientMessage(playerid, COLOR_RED, " Vous n'êtes pas entrain de passé votre permis de Conduire.");
return 1;
}*/
if(CheckPermis[playerid] == 1)
{
CheckPermis[playerid]= 1;
return 1;
}
else if(CheckPermis2[playerid] == 1)
{
CheckPermis2[playerid]= 1;
return 1;
}
else if(CheckPermis3[playerid] == 1)
{
CheckPermis3[playerid]= 1;
return 1;
}
}
return 1;
}
Merci d'avance ;)
-
c'est pour faire des course ?
-
Non pour passer le permis automatiquement.
-
ok bin je te conseille de t'inspirer des course ;) en plus une fléche indique les checkpoint suivent ;)
-
ah ok merci pas bête comme idéé ^^ ! T'aurait pas un code de course pour m'inspiré stp ?
-
tu peut facilement t'inspirer du yrace ou de tout autre sytéme de course ou méme le scripter toi méme c'est pas bien dificile ;)
-
Oui mais je voudrais comprendre pourquoi mon Code ne marche comme il le faut ? ???
-
ta variable DrugFermierPickup[playerid][0] ne s'incremente jamais ? dans quoi est place ton premier code? onplayerentercheckpoint?
-
Ou tu "onplayerentercheckpoint" dans mon code ???
-
public OnPlayerEnterCheckpoint(playerid)
{
}
c'est une callback qui est appelé chaque fois que tu entre dans un checkpoint .
J'ai suposé que soit ta variable est incremente dans cette callback.
si ce n'est pas le cas .
else if(CheckPermis3[playerid] > 0)
{
if(CheckPermis3[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
new carid = GetPlayerVehicleID(playerid);
if(IsAInstructeurCar(carid))
{
switch(DrugFermierPickup[playerid][0])
{
case 0:
{
SetPlayerCheckpoint(playerid, -2033.4630,-234.8891,35.1839, 5.0);
SendClientMessage(playerid, COLOR_YELLOW2, "Faite de l'exercice, Soiyez Rp (^_^).");
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0]++;
}
}
case 1:
{
SetPlayerCheckpoint(playerid, -2042.5481,-261.8169,35.1844, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0]++;
}
}
case 2:
{
SetPlayerCheckpoint(playerid, -2062.9226,-170.0094,35.1767, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0]++;
}
}
case 3:
{
SetPlayerCheckpoint(playerid, -2052.1887,-253.4261,35.1953, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0]++;
}
}
case 4:
{
SetPlayerCheckpoint(playerid, -2057.0156,-240.1139,35.1805, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0]++;
}
}
case 5:
{
SetPlayerCheckpoint(playerid, -2059.4216,-224.8847,35.1873, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0]++;
}
}
case 6:
{
SetPlayerCheckpoint(playerid, -2068.1062,-209.6062,35.1795, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0]++;
}
}
case 7:
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Garer la voiture.");
GameTextForPlayer(playerid, "~r~Allez sur le marqueur rouge",5000,1);
SetPlayerCheckpoint(playerid, -2080.1780,-117.5618,35.3203,5.0); //
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
DrugFermierPickup[playerid][0] = 0;
Plots(playerid);
SetPlayerPos(playerid, -2025.9832,-116.9980,1035.1719);
PassageCode[playerid]= 1;
GameTextForPlayer(playerid, "~y~Cour de Conduite",5000,1);
SetPlayerInterior(playerid,3);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_YELLOW2, "Ok, Vous allez passez le permis auto.");
SendClientMessage(playerid, COLOR_LIGHTRED, "1ère Question");
SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle la vitesse autorisé à Scorpion City ?");
SendClientMessage(playerid, COLOR_LIGHTRED, "1- 40 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "2- 150 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "3- 80 km/h");
SendClientMessage(playerid, COLOR_YELLOW2, "Repondez en tapant le numero de la réponse!");
}
}
}
}
}
}
return 1;
}
-
Sa ne marche pas :( !
-
Le grand bout de code il est dans la callback
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
?? ou pas?
Parsque a mon avis il faut qu'il soit dedans sinon il est certain que ca ne marchera pas
-
Je l'ai mit dans la callback quand je compile j'ai c'est erreur qui s'afficher :
(5630) : error 029: invalid expression, assumed zero
(5630) : warning 215: expression has no effect
(5630) : error 001: expected token: ";", but found "if"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
Code que j'ai mii dans la callback
else if(CheckPermis[playerid] > 0)
{
if(CheckPermis[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
new carid = GetPlayerVehicleID(playerid);
if(IsAInstructeurCar(carid))
{
switch(DrugFermierPickup[playerid][0])
{
case 0:
{
SetPlayerCheckpoint(playerid, -2028.7186,-185.3621,35.1764, 5.0);
SendClientMessage(playerid, COLOR_YELLOW2, "Faite l'exercice, Soiyez Rp (^_^).");
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
FermierPickup[playerid][0]++;
}
}
case 1:
{
SetPlayerCheckpoint(playerid, -2052.7415,-220.8886,35.1825, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
FermierPickup[playerid][0]++;
}
}
case 2:
{
SetPlayerCheckpoint(playerid, -2061.5586,-257.4008,35.1821, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
FermierPickup[playerid][0]++;
}
}
case 3:
{
SetPlayerCheckpoint(playerid, -2075.1162,-230.5337,35.1820, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
FermierPickup[playerid][0]++;
}
}
case 4:
{
SetPlayerCheckpoint(playerid, -2078.7092,-179.6835,35.1814, 5.0);
if(JustStarted[playerid] != 0)
{
JustStarted[playerid] = 0;
FermierPickup[playerid][0]++;
}
}
case 5:
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Garer la voiture.");
GameTextForPlayer(playerid, "~r~Allez sur le marqueur rouge",5000,1);
SetPlayerCheckpoint(playerid, -2080.1780,-117.5618,35.3203,5.0); //
if(JustStarted[playerid] != 0)
DrugFermierPickup[playerid][0] = 0;
{
OnPlayerEnterCheckpoint(playerid);
JustStarted[playerid] = 0;
Plots(playerid);
SetPlayerPos(playerid, -2025.9832,-116.9980,1035.1719);
PassageCode[playerid]= 1;
GameTextForPlayer(playerid, "~y~Cour de Conduite",5000,1);
SetPlayerInterior(playerid,3);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_YELLOW2, "Ok, Vous allez passez le permis auto.");
SendClientMessage(playerid, COLOR_LIGHTRED, "1ère Question");
SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle la vitesse autorisé à Scorpion City ?");
SendClientMessage(playerid, COLOR_LIGHTRED, "1- 40 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "2- 150 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "3- 80 km/h");
SendClientMessage(playerid, COLOR_YELLOW2, "Repondez en tapant le numero de la réponse!");
}
}
}
}
}
}
return 1;
}
-
envoie moi t'on code et les coordonnée des cp par pm que je regarde sa car sur le forum j'ai du mal car la mise ne page est foiray