GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: OG_Kygak le 31 Décembre 2006, 17:17:45
-
Bonjours alors voici mon problème,
Je suis entrain de modifier un mod sous pawno et j'aimerai inclure une commande qui permet de ce téléporter, pour 10000$ à un endroit precis, (d'après mes recherche je ne suis pas le seul à aimé le système de Lalu :P )
Mais j'ai quelques erreurs :( et j'ai passé quelques temps à chercher pourquoi je l'ai avais, je n'ai pas trouvé. J'espère que quelqu'un pourra m'aider.
Tous ce qui est entre parenthèse avec un nombre dedant sont les lignes ayant des erreurs, exemple: (338)
public isPlayerInArea(playerID, Float:data[4])
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerID, X, Y, Z);
if(X >= data[0] && X <= data[2] && Y >= data[1] && Y <= data[3]) {
return 1;
}
return 0;
}
public PayPlayerInArea(playerID, Float:x1, Float:y1, Float:x2, Float:y2, cash)
{
if(IsPlayerConnected(playerID))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerID, X, Y, Z);
if(X >= x1 && X <= x2 && Y >= y1 && Y <= y2)
{
GivePlayerMoney(playerID, cash);
return 1;
}
}
return 0;
}
(338) if(strcmp(cmd, "/teleport", true) == 0) {
(340) if (GetPlayerMoney(playerid) < 10000)
{
SendClientMessage(playerid,COLOR_GREEN,"Vous n'avez pas assez d'argent");
(343) return 1;
}
(345) else if (IsPlayerInCheckpoint(playerid) == 0)
{
SendClientMessage(playerid, COLOR_RED, "Vous êtes mal positionné");
(348) return 1;
}
(351) else if (getCheckpointType(playerid) == CP_LS_AIR)
{
SendClientMessage(playerid, COLOR_RED, "Vous êtes mal positionné");
(354)return 1;
}
(357) else if (GetPlayerMoney(playerid) > 299 && getCheckpointType(playerid) == CP_LV_AIR && IsPlayerInCheckpoint(playerid) == 1)
{
GivePlayerMoney(playerid,-10000);
SetPlayerPos(playerid,2493.75,2500.53,10.82);
SetPlayerFacingAngle(playerid,360.0);
GameTextForPlayer(playerid,"~b~Vous avez été téléporté.",2000,5);
}
(364) else if (GetPlayerMoney(playerid) > 299 && getCheckpointType(playerid) == CP_SF_AIR && IsPlayerInCheckpoint(playerid) == 1)
{
GivePlayerMoney(playerid,-10000);
SetPlayerPos(playerid,[X],[Y],[Z]);
SetPlayerFacingAngle(playerid,360.0);
GameTextForPlayer(playerid,"~b~Vous avez été téléporté.",2000,5);
}
(371) return 1;
}
//------------------------------------------------------------------------------------------------------
Je poste mes erreurs:
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(338) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(340) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(343) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(345) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(348) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(351) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(354) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(357) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(364) : error 010: invalid function or declaration
C:\DOCUME~1\Admin\Bureau\mod\lvdmod.pwn(371) : error 010: invalid function or declaration
Pawn compiler 3.0.3367 Copyright (c) 1997-2005, ITB CompuPhase
10 Errors.
j'ai remarqué que c'est toujours la même erreur mais je n'arrive vraiment pas à la régler >:(
Je me demandais si c'est pas parce que j'aurai oublié une commande (genre public...) ou si j'avais placé le code au mauvaise endroit? :wall
-
public isPlayerInArea(playerID, Float:data[4])
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerID, X, Y, Z);
if(X >= data[0] && X <= data[2] && Y >= data[1] && Y <= data[3]) {
return 1;
}
return 0;
}
public PayPlayerInArea(playerID, Float:x1, Float:y1, Float:x2, Float:y2, cash)
{
if(IsPlayerConnected(playerID))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerID, X, Y, Z);
if(X >= x1 && X <= x2 && Y >= y1 && Y <= y2)
{
GivePlayerMoney(playerID, cash);
return 1;
}
}
return 0;
}
(338) if(strcmp(cmd, "/teleport", true) == 0) {
(340) if (GetPlayerMoney(playerid) < 10000)
{
SendClientMessage(playerid,COLOR_GREEN,"Vous n'avez pas assez d'argent");
(343) return 1;
}
(345) else if (IsPlayerInCheckpoint(playerid) == 0)
{
SendClientMessage(playerid, COLOR_RED, "Vous êtes mal positionné");
(348) return 1;
}
(351) else if (getCheckpointType(playerid) == CP_LS_AIR)
{
SendClientMessage(playerid, COLOR_RED, "Vous êtes mal positionné");
(354)return 1;
}
(357) else if (GetPlayerMoney(playerid) > 299 && getCheckpointType(playerid) == CP_LV_AIR && IsPlayerInCheckpoint(playerid) == 1)
{
GivePlayerMoney(playerid,-10000);
SetPlayerPos(playerid,2493.75,2500.53,10.82);
SetPlayerFacingAngle(playerid,360.0);
GameTextForPlayer(playerid,"~b~Vous avez été téléporté.",2000,5);
}
(364) else if (GetPlayerMoney(playerid) > 299 && getCheckpointType(playerid) == CP_SF_AIR && IsPlayerInCheckpoint(playerid) == 1)
{
GivePlayerMoney(playerid,-10000);
SetPlayerPos(playerid,[X],[Y],[Z]);
SetPlayerFacingAngle(playerid,360.0);
GameTextForPlayer(playerid,"~b~Vous avez été téléporté.",2000,5);
}
(371) return 1;
}
//------------------------------------------------------------------------------------------------------
Le probleme dans ton code c'est que tu fous des commandes à un endroit on se demande ce que ça fait là ???
De plus si tu fermes ta fonction avec le return 0;, ca risque pas de marcher pour la suite puisque tu es dehors d'une fonction déclarée, donc nul part en fait.. :)
-
Tu m'otes les mots de la bouche Spyke :dejadehors
-
Oui j'ai compris mon erreur, merci spyke ça marche ;)
-
Oui j'ai compris mon erreur, merci spyke ça marche ;)
np ^^