GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: yah00078 le 01 Septembre 2007, 17:26:34
-
bonjour j'ai trouver un script je l'ai modifié et j'ai des erreur que je ne comprend pas y a t il quelq'un qui pourrait me les corriger svp?
en controle a distance cela serai aussi bien pour que je pusise voir et que vous puissiez connaitre le probleme
Merci d'avance :'(
-
Fait le rapport d'ici et tu peux mettre ton bout de code qui bug dans le pastebin : pastebin.gtaonline.fr
-
Fait le rapport d'ici et tu peux mettre ton bout de code qui bug dans le pastebin : pastebin.gtaonline.fr
slt a toi cher ami :) , ( la réponse que je voulais te donné te la dit babounet ::) ) :cheers
-
babounet a modifier de schose mai il reste une erreur et il parrai ke toi syg tu peu la regler , a toi de jouer ^^ bonne chance
error 090: public functions may not return arrays (symbol "PlayerName")
et voilà le bloc de code concerné :
public PlayerName(playerid) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}
(citaion de babounet:faudrait demander à Syg qui lui s'en sort bien )
-
Ah mince Yahoo078, j'ai répondu à ton MP mais je n'ai pas conservé la réponse que je t'ai envoyée.
Est-ce que tu peux la poster ici, ça peut toujours servir à d'autre (si ils comprennent ma réponse :)).
++
Syg
-
Salut,
Tout d'abord, je ne vois pas l'utilité de cette fonction puisqu'il en existe déjà une (GetPlayerName).
Deuxièmement, cette fonction retourne un tableau déclarée en local (a l'intérieur de la fonction). A la fin de la fonction, ce tableau sera détruit puisqu'il ne sert que dans la fonction. Donc son utilisation sera impossible à l'extérieur de la fonction. Pour corriger ce problème, il faudrait que le tableau que tu retournes soit global (c'est à dire déclaré à l'extérieur de toute fonction). Mais ceci conduirait à un autre problème lorsque la fonction PlayerName est appelée plusieurs fois, il s'en suivra un conflit à l'accès au tableau et la valeur de celui-ci risque d'être erronée. Pour corriger ceci, il faudrait alors déclarer un tableau pour chaque joueur. Mais alors, il suffirait de remplir ce tableau à la connexion du joueur et de s'en servir ensuite directement n'importe où dans le script (puisque c'est un tableau global) et la fonction PlayerName deviendrait intule puisque tous les noms des joueurs connectés seraient déjà stockés dans le fameux tableau.
(oui, je sais, c'est long, c'est peut-être pas très clair mais c'est pas grave, le but c'est de montrer que faire marcher cette fonction est beaucoup plus compliqué qu'il n'en a l'air).
La solution que je te conseille fortement de mettre en place est de remplacer les appels à PlayerName par des appels à GetPlayerName dans tout ton script.
++
Syg
Voila ton message :)
-
Ben voilà, c'est bon t'as réussi yah ?