GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: LePtitClown le 05 Mai 2009, 18:57:02
-
Salut
J'ai encore un problème de DM bien que j'ai arpenté pas mal de tutos ces temps ci
Je veux un DM que lorsque je tape /dm j arrive au dm, ça j'y arrive /dmq pour quitter le dm, j'y arrive aussi.
Mais le problème c'est pour réapparraitre dans le DM et mes nombreuses erreurs dans le script
Voici le lien pastebin:
http://pastebin.com/f13af3d27 (http://pastebin.com/f13af3d27)
Merci d'avance pour votre aide
A++ :)
-
C'est etonnant car j'ai fait la meme chose que toi dans mon script (variable et tout le baratin ...), et tout marche.
Esseye d'enlever le "else" quand tu le spawn pour voir et test ;)
++
nikko
-
Re
J'ai fais quelques modifications en remplaçant le else if par if. Après il me demandait un endif donc j'ai mis un endif à la fin
Mais ça ne marche toujours pas bien que je n'ai plus aucune erreur ni de warning ( la commande /dm ne marche même pas )
Voici les modifications ( liens pastebin )
http://pastebin.com/f638bba2a (http://pastebin.com/f638bba2a)
A++ :)
-
Essaye ca :
public OnPlayerSpawn(playerid)
{
if(InDm[playerid] == 1)
{
SetPlayerPos(playerid,1383.6260,2185.7075,11.0234);
SendClientMessage(playerid, COLOR_GREEN, "Tu es réapparu dans le DM");
}
}
Sans rien d'autre.
-
Re
Ca ne me rajoute pas d'erreur mais mes commande /dm et /dmq ne marchent toujours pas et je ne sais vraiment pas pourquoi
A+ :)
-
if(strcmp(cmd, "/dm", true) == 0)
{
InDm[playerid] = 1;
SendClientMessageToAll(0x33AA33AA, "Un joueur vient d'entrer en zone dm tapez /dm pour le rejoindre");
SetPlayerPos(playerid,1383.6260,2185.7075,11.0234);
SetPlayerHealth(playerid, 100.0);
ResetPlayerWeapons(playerid);
GameTextForPlayer(playerid, "~g~Te voila au DM",5000,6);
SetPlayerWorldBounds(playerid,1478.3853,1295.8723,2074.9897,2221.6208);
}
if(strcmp(cmd, "/dmq", true) == 0)
{
InDm[playerid] = 0;
GameTextForPlayer(playerid, "~g~Ton DM est fini. Bonne continuation",5000,6);
SetPlayerPos(playerid,2096.2354,1286.3716,10.8203);
SetPlayerHealth(playerid, 100.0);
GivePlayerWeapon(playerid, 26,300);
SetPlayerWorldBounds(playerid,3354.0178,-2919.7075,3057.9736,-2914.0110);
return 1;
}
Essaye comme ca. J'ai modifié le strcmp.
-
Tiens je te l'ai refait normalement ca marche tres bien ;)
http://pastebin.gtaonline.fr/pastebin.php?show=590 (http://pastebin.gtaonline.fr/pastebin.php?show=590) voilaaaaa :)
J'allais oublier d'expliquer les Pbs. Alors, deja, il manquais un return 0; a la fin des commandes, la variable était défini en DESSOUS du #if defined FILTERSCRIPT et il manquais la fonction main avec le #endif a sa place ;)
++
nikko
-
Re
Merci à toi Nikko :D
maintenant je peux taper /dm et /dmq ça marche nickel par contre lorsque je tape /kill normalment je devrai encore réapparaitre dans le DM mais là je réapparais à mon spawn normal :bangin
A++
-
Oui tout marche ;) ya pas de quoi
++
nikko
-
Mdr non tout ne marche pas je ne réapparais pas dans le DM alors que ma variable lorsque je tape /dm est pourtat à 1. Tout n'est pas encore résolu
A++ :D
-
donc la j'ai tester est je ne trouve pas j'aime ce genre de pb :P je regarde sa de pret par contre ton WorldBounds au /dm est pas bon
-
c'est bizar, ca marche chez moi ... esseye de le mettre dans ton GM pour voir ?
++
nikko
-
Salut,
pouvez vous m'expliquer pourquoi vous vous obstinez à mettre un #if defined filterscript..... au haut de vos script, je le dit, ce define est inutile pour la plupart des script, pour être utile ton script doit pouvoir être un gm aussi bien qu'un fs, bref, très rare
sinon je ne vois aucune erreur, ton problème proviens sans doute du copier coller, tu as du manquer certains bout, ou encore si tu as tenter de l'intégrer dans un script que tu possède déjà, tu t'es tout simplement trompé avec la variable, qui serait certainement modifiée à un autre endroit.... (hypothèse lol)
++Sim++
-
Dsl mais ce terme de copier/ coller m'énerve un peu sachant quej'ai crée ce filter script de A à Z ( plusieurs personnes pourront l'affirmer ), les if defined filterscript, j'en ai vu sur pas mal de FS donc je jugeais ça utilie
Nikko je vais essayer de le mettre dans le GM mais je préfèrerai quand même l'avoir dans un FS
Le code marche nickel dans mon GM mais quand je le met en tant que FS ma variable ne marche pas
A++ :D
-
Salut,
lorsque je parlais de copier coller, ce n'était aps en mal, simplement en récupérant le code du pastebin...
plutôt étrange ton problème, mais à mon avis ce qui se passe en utilisant un fs, c'est que ton gm change la position du joueur par la suite...
tu as un SetPlayerPos dans ton gm?
si oui, dans ce cas le problème vient de se code, il ne faut pas oublier que les filterscripts passsent en priorités sur le gm
++Sim++
-
Slt
Au moins la situation est mise au clair :)
Oui, j'ai des setplayerposition dans mes commande /...., dans les oneplayer spawn et dans les random spawn.
Je pense que le problème peut venir du Oneplayer spawn, mes comment résoudre ce problème ( je souhaite garder le système de teams )?
Re: Après quelques test parmis mes GM, je peux affirmer que le problème vient des spawn de mes teams car dans oneplayer spawn en gros c'est écrit, si tu es un civil tu spawn ici et mon DM dit de spawner autre part.
A++