En fait, tu ne dis pas quel est ton problème.
Ce que je remarque par contre c'est que tes scripts sont bien compliqués, et illisibles (appels de fonctions imbriqués dans des tableaux utilisés dans des appels de fonctions ....) et surtout, il n'y a aucun commentaire qui pourrait nous guider sur ce que ça fait.
Etant du métier, quand je vois du code comme le tiens (ou celui que tu as copié), je ne cherche même pas à comprendre, je ré-écrits, c'est plus rapide et au moins, je suis sur que ça fait ce que je veux que ça fasse.
Je ne sais pas qui a écrit ce bout de script mais le temps des scripts qui tiennent sur une ligne pour gagner de la place est révolu. La clarté est de mise, quand je vois une ligne comme celle-ci :
if(i==14)if(GetPlayerArmourEx(playerid)>0.0)DropPick[CreatePickup(1242,3,PX, PY, Z)]=true;je me demande ce que le mec qui à écrit ça pourra en faire dans deux mois.
Moi j'aurai préféré quelque chose dans ce genre :
/* Si i vaut 14, on traite l'armure du joueur */
if (i == 14)
{
/* On récupère l'armure du joueur */
new Float:PlayerArmor = GetPlayerArmourEx (playerid);
/* Si le joueur à une armure */
if (PlayerArmor > 0.0)
{
/* On crée un pickup armure */
new PickUp = CreatePickup(1242,3,PX, PY, Z);
/* On marque le pickup comme étant créé */
DropPick[PickUp] = true;
}
}Est-ce que tu vois la différence ?
Donc, là, je suis désolé mais j'ai passé l'âge d'essayer de décortiquer du "obfuscated code" .... (
Cette page contient de bons exemples)
++
Syg