• 06 Juillet 2025, 14:21:53


Auteur Sujet: [RESOLU] bug commande spawn véhicule  (Lu 5858 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne xrf22

  • *
  • Criminel
  • Messages: 27
    • Voir le profil
Re : Re : bug commande spawn véhicule
« Réponse #30 le: 03 Juillet 2010, 20:43:28 »
On peut pas les mettre au début de la condition (if{ }) ?

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : bug commande spawn véhicule
« Réponse #31 le: 03 Juillet 2010, 20:49:05 »
Ben non le script va chercher autre que dans la commande, puis il faut définir aussi le cmd. Fais ce que l'on a dit et sa ira ^^ T'aura juste à écrire tes commandes avec le format que j't'ai filer

Hors ligne xrf22

  • *
  • Criminel
  • Messages: 27
    • Voir le profil
Re : bug commande spawn véhicule
« Réponse #32 le: 04 Juillet 2010, 13:33:30 »
Salut !
Désolé de reprendre le scripting un Dimanche mais bon =]

Alors, j' ai fais ce que vous m' avez dit, cette fois-ci on a l' air d' avoir avancé ^^

Voici la nouvelle commande (en gardant ta commande que tu m' avais donné Chneubeul) :
//Commande /vspawn voiture véhicule
if(strcmp(cmd, "/vspawn", true) == 0)
{
new tmp[128];

/* Extraction du premier paramètre (Cet appel à strtok reprend là où le
   précédent s'était arrêté dans la variable cmdtext - cf post de Sim)*/
cmd = strtok(cmdtext, idx);

if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "UTILISATION: /vspawn [nom/ID] [couleur1] [couleur2]");
return 1;
}
new modelid = ReturnModelByName(tmp);
if(modelid == 0)
{
SendClientMessage(playerid, COLOR_RED, "ID incorect ! Assurez vous d' avoir écrit un nom/ID Correct !");
return 1;
}
new color1 = 0;
tmp = strtok(cmdtext, idx);
if(strlen(tmp)) color1 = strval(tmp);
new color2 = 0;
tmp = strtok(cmdtext, idx);
if(strlen(tmp)) color2 = strval(tmp);

new Float:x,Float:y,Float:z,Float:a;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
CreateVehicle(modelid,x,y,z,1,color1,color2,-1);

return 1;
}

Sauf que la fonction "strlen(tmp)" est toujours = a 0
Même si je rentre une commande ou pas
Que je rentre un ID correct ou incorrecte, le serveur m' affiche toujours la phrase "UTILISATION: /vspawn [nom/ID] [couleur1] [couleur2]"

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : bug commande spawn véhicule
« Réponse #33 le: 04 Juillet 2010, 14:30:09 »
oula je sais pas du tout, je connais pas trop les commandes ^^

Hors ligne xrf22

  • *
  • Criminel
  • Messages: 27
    • Voir le profil
Re : Re : bug commande spawn véhicule
« Réponse #34 le: 04 Juillet 2010, 14:39:20 »
Je suis pas encore un pro des "cmd" je suis plutôt "cmdtext"  :-[ mais je pense que tu a foiré vers le "if" qui dit le message "UTILISATION: /vspawn [nom/ID] [couleur1] [couleur2]" vérifie bien ce if ...

Je l' ai changé et devine ce que ça fait !
Que dalle  >:(

Double post
Chneubeul, je crois bien qu' on a eu un manque d' attention
J' ai voulu tester ce que renvoyer la variable "tmp"
Et elle renvoyait la valeur "0"
Pourquoi ?

cmd = strtok(cmdtext, idx);
On ne doit pas extraire les paramètres de la commande dans la variable "cmd" mais dans la variable "tmp"
Donc fallait écrire :
tmp = strtok(cmdtext, idx);
Maintenant ça donne :
//Commande /vspawn voiture véhicule
if(strcmp(cmd, "/vspawn", true) == 0)
{
new tmp[128];

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "UTILISATION: /vspawn [nom/ID] [couleur1] [couleur2]");
return 1;
}
new modelid = ReturnModelByName(tmp);
if(modelid == 0)
{
SendClientMessage(playerid, COLOR_RED, "ID incorect ! Assurez vous d' avoir écrit un nom/ID Correct !");
return 1;
}
new color1 = 0;
tmp = strtok(cmdtext, idx);
if(strlen(tmp)) color1 = strval(tmp);
new color2 = 0;
tmp = strtok(cmdtext, idx);
if(strlen(tmp)) color2 = strval(tmp);

new Float:x,Float:y,Float:z,Float:a;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
CreateVehicle(modelid,x,y,z,1,color1,color2,-1);

return 1;
}

Et ça marche nikel :D
« Modifié: 05 Juillet 2010, 11:26:24 par xrf22 »