GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Sartoflo le 06 Mai 2009, 12:06:46
-
Désolé mais j'ai encore une question ou plutot un probleme avec un getplayer pos C'est a dire:
// /jetpack
if(strcmp(cmd, "/jetpack", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new Float:X,Float:Y,Float:Z,Float:; // 132
GetPlayerPos(playerid,X,Y,Z);
CreatePickup(370,15, X,Y,Z,0);
}
return 1; // 137
}
Je suis arrivé a ça apres avoir passé une bonne heure a attendre que mes neuronnes me dise va voir le script Admin ( Le RAS™ de R@f) je suis allé voir la ou il y a les spawn vehicule. et je me retrouve maintenant donc, avec ça: C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(82) : warning 217: loose indentation
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(94) : warning 217: loose indentation
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(132) : error 001: expected token: "-identifier-", but found ";"
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(135) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(137) : warning 217: loose indentation
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(194) : warning 235: public function lacks forward declaration (symbol "reheal")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
et aussi j'ai créé un timer pour "Reheal" en 10 secondes contre 2500$ mais voyez jai une erreu(plutot un warning)r. Pastebin: http://pastebin.gtaonline.fr/pastebin.php?show=592 (http://pastebin.gtaonline.fr/pastebin.php?show=592) vous pouvez m'aider a régler ça? je ne trouve aucune solution :s ou bien alors me donner les indices ce qui serait encore mieux :) merci d'avance :)
-
Salut,
Remplace new Float:X,Float:Y,Float:Z,Float:; // 132 par new Float:X,Float:Y,Float:Z; // 132
++
MrT®
-
:D
if(strcmp(cmdtext,"/jetpack", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,X,Y,Z);
CreatePickup(370,15, X,Y,Z,0);
}
return 1;
}
EDIT: Mister, espèce de taliban >:( tu me pique mes corréctions
NV. 8)
-
merci c'était un grosse étourderie la ;) sinon on peut me dire pourquoi j'ai cette erreur?
- C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(135) : warning 202: number of arguments does not match definition (corrigé)
et pour le timer vous avez une idée? parce que si j'accumule des warnings comme ça au bout de 500 lignes j'aurait 1000 warnings :p
edit: jai du modifié encore une chose mais maintenant ça marche :)
if(strcmp(cmdtext,"/jetpack", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,X,Y,Z);
CreatePickup(370,15, X,Y,Z,);
}
return 1;
} voili voilou merci ;) encore mais reste toujours mon warning sur le timer "n'est pas tres inquiétant vu qu'il marche" mais est tout de meme dérangeant.
-
Pour l'erreur je voit pas, mais pour le timer voila un exemple de reheal :
en haut du script :
forward Reheal(playerid); // on declare la callback
dans OnGameModInit :
SetTimer("Reheal", 500, true); // on lance un timer toutes les 500 ms
quelque part dans le script:
public Reaheal(playerid) // la callback en question
{
// tes action ici
}
PS : NV te retourne pas t'as des C4 collés au fesses :)
++
MrT®
-
oui mais le probleme c'est que c'est un Filterscript donc n ne peut pas utiliser OnGameModInit non? sinon ce n'est pas grave je passerais sur ce warning.
-
Bah si c'est un filterscript il y a une callback similaire, OnFilterscriptInit. ;)
pour le warning je cherche mais je trouve pas, je te dirait si je trouve.
++
MrT®
-
tu parle de quel warning? de: warning 202: number of arguments does not match definition ? si c'est ça, ça y est je l'ai corrigé :p jai enlevé le 0 (l'angle) et c'est passé tout seul :)
je vais tester le On Filter Script Init.
-
Pour l'erreur je voit pas, mais pour le timer voila un exemple de reheal :
en haut du script :
forward Reheal(playerid); // on declare la callback
dans OnGameModInit :
SetTimer("Reheal", 500, true); // on lance un timer toutes les 500 ms
quelque part dans le script:
public Reaheal(playerid) // la callback en question
{
// tes action ici
}
PS : NV te retourne pas t'as des C4 collés au fesses :)
++
MrT®
Ce code ne marchera pas pour reheal tout les joueur via un timer il faut faire ceci:
En haut du script:
forward Reheal();
Dans OnGameModeInit
SetTimer("Reheal",1000,1);
Tout en bas:
pulic Reheal()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
SetPlayerHealth(i,100.0);
}
}
}
-
Je sait fredo, mais je voulait pas lui donner le code complet, je voulait juste lui expliquer comment faire un timer ;)
++
MrT®
-
Oué mais tu l'induisait trop en erreur avec le parametre (playerid) :/
-
non je veux faire une commande /reheal qui exécute un timer de 10000ms qui lorsqu'il se fini, prend 2500$ et rend la vie( a un seul joueur). probleme la j'ai a chaque fois 2 erreures..
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(49) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(49) : error 017: undefined symbol "Reheal"
C:\Documents and Settings\Didier\Bureau\pawno\filterscripts\sarto_cmds_filterscript.pwn(209) : warning 235: public function lacks forward declaration (symbol "reheal")
Code:
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" FIlterscript By Sartoflo");
print("--------------------------------------\n");
forward Reheal(playerid);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
-
Pour le forward j'avait en haut du GM/FS (en dessous des #define) pas dans la callback ::)
++
MrT®
-
ça y est probleme réglé je n'ai absolument plus aucune erreure meme plus de loose identation :P