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

Titre: Problème dans un script de téléportation
Posté 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
Titre: Re : Problème dans un script de téléportation
Posté par: spykerc8 le 21 Janvier 2007, 22:58:05
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.. :)
Titre: Re : Problème dans un script de téléportation
Posté par: OG_polvunak le 22 Janvier 2007, 23:31:23
Tu m'otes les mots de la bouche Spyke      :dejadehors
Titre: Re : Problème dans un script de téléportation
Posté par: OG_Kygak le 23 Janvier 2007, 20:49:49
Oui j'ai compris mon erreur, merci spyke ça marche  ;)
Titre: Re : Re : Problème dans un script de téléportation
Posté par: spykerc8 le 23 Janvier 2007, 22:14:24
Oui j'ai compris mon erreur, merci spyke ça marche  ;)

np ^^