• 03 Mai 2025, 13:46:54


Auteur Sujet: Commande change couleur véhicule  (Lu 3909 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Commande change couleur véhicule
« le: 30 Janvier 2008, 13:57:03 »
Bonjour, :D

Je chercher une commande où par exemple quand on écrit /cc 0 0  :-[ que le véhicule qu'on ya devienne noir ( 0 0 ) si c'est (0 1) noir et blanc si c'est possible pas le cas dans tout les véhicule  :bangin

Merci :)


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande change couleur véhicule
« Réponse #1 le: 30 Janvier 2008, 14:03:06 »
Cherche plutôt à faire la commande toi-même.

Utilise la fonction ChangeVehicleColor pour changer la couleur de ton véhicule.
Pour un exemple de récupération des paramètres d'une commande, regardes dans LVDM.PWN comment est faite la commande /givecash.

++
Syg
Courtesy of GtaManiac

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Re : Commande change couleur véhicule
« Réponse #2 le: 30 Janvier 2008, 14:06:29 »
Cherche plutôt à faire la commande toi-même.

Utilise la fonction ChangeVehicleColor pour changer la couleur de ton véhicule.
Pour un exemple de récupération des paramètres d'une commande, regardes dans LVDM.PWN comment est faite la commande /givecash.

++
Syg


ok je vais voir

EDIT: Non  ;D  :( je comprend rien du tout
« Modifié: 30 Janvier 2008, 14:08:52 par rivoal29 »


Hors ligne Nip

  • *
  • Bandit
  • >> mon steam: v__manu (il y a deux _)
  • Messages: 314
    • Voir le profil
Re : Commande change couleur véhicule
« Réponse #3 le: 30 Janvier 2008, 15:04:47 »
Salut moi je te donne un exemple

Dans onplayercmdtext:
if(strcmp(cmdtext, "/noir", true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, 0xFF4040FF, "Vous avez besoin d'un vehicule pour cette commande.");
ChangeVehicleColor(GetPlayerVehicleID(playerid), 0,0);
return SendClientMessage(playerid, 0x40FF40FF, "La couleur a bien été changée");
}

Petite info a la fonction ChangeVehicleColor(GetPlayerVehicleID(playerid), 0,0);

Le 0,0 sont les couleur
exemple la c'est pour avoir ton vehicule tout noir


+

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Commande change couleur véhicule
« Réponse #4 le: 30 Janvier 2008, 15:06:59 »
Voila j'ai essaye de faire une commande mais ya des erreur  :wall :boulz :boulet

La commande :
else if (!strcmp(cmdtext, "/cc", true))
{
new carc,tmppp[256]; //ligne 1190
new carcc,tmpp[256]; //ligne 1191
tmpp = strtok(cmdtext,carc);
tmppp = strtok(cmdtext,carcc);
if (!strlen(tmpp))
{
SendClientMessage(playerid, VERT, "USAGE: /cc [couleur 1] [couleur 2]");
return 1;
}
ChangeVehicleColor(carc,carcc);
return 1;
}

Les erreur :
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(1190) : error 017: undefined symbol "strtok"
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(1190) : error 033: array must be indexed (variable "tmpp")
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(1191) : error 017: undefined symbol "strtok"
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(1191) : error 033: array must be indexed (variable "tmppp")
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(1197) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Re : Commande change couleur véhicule
« Réponse #5 le: 30 Janvier 2008, 15:07:57 »
Salut moi je te donne un exemple

Dans onplayercmdtext:
if(strcmp(cmdtext, "/noir", true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, 0xFF4040FF, "Vous avez besoin d'un vehicule pour cette commande.");
ChangeVehicleColor(GetPlayerVehicleID(playerid), 0,0);
return SendClientMessage(playerid, 0x40FF40FF, "La couleur a bien été changée");
}

Petite info a la fonction ChangeVehicleColor(GetPlayerVehicleID(playerid), 0,0);

Le 0,0 sont les couleur
exemple la c'est pour avoir ton vehicule tout noir


+


Oui  :) Mais moi je voudrait choisir dans la commande quel couleur


Hors ligne Nip

  • *
  • Bandit
  • >> mon steam: v__manu (il y a deux _)
  • Messages: 314
    • Voir le profil
Re : Commande change couleur véhicule
« Réponse #6 le: 30 Janvier 2008, 15:17:52 »
arf desolé j'avais pas compri  :wall

Je vais aussi tester

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande change couleur véhicule
« Réponse #7 le: 30 Janvier 2008, 15:26:39 »
Voilà, tu as au moins fait l'effort de te lancer.

Donc, premièrement, récupère la fonction strotk qui se trouve dans LVDM.PWN et copie la dans ton script.

Ensuite, voici ta commande corrigée pour la récupération des paramètres de la commande et l'appel à ChangeVehicleColor.
Comme c'est une commande avec paramètres, il faut faire une opération supplémentaire dans OnPlayerCommandText :
public OnPlayerCommandText (playerid, cmdtext[])
{
new idx = 0;
new cmd[256];

/* On extraie la commande */
cmd = strtok (cmdtext, idx);    // -> C'est l'opération supplémentaire qui consiste à
//    récupérer juste le nom de la commande (sans les paramètres)

/* TES COMMANDES VONT ICI SANS MODIFICATION */

/* Commande de changement de couleur du véhicule */
else if (!strcmp(cmdtext, "/cc", true))
{
new carc, tmppp[256];
new carcc, tmpp[256];

/* On recupère le premier paramètre (couleur 1) */
tmpp = strtok(cmdtext, idx);
carc = strval (tmpp);

/* On recupère le deuxième paramètre (couleur 2) */
tmppp = strtok(cmdtext, idx);
carcc = strval (tmppp);

/* Si il manque un des deux paramètre (ou les deux) */
if (!strlen(tmpp) || !strlen(tmppp))
{
SendClientMessage(playerid, VERT, "USAGE: /cc [couleur 1] [couleur 2]");
return 1;
}
ChangeVehicleColor (GetPlayerVehicleID (playerid), carc, carcc);
return 1;
}

/* TU PEUX METTRE D'AUTRES COMMANDES ICI SI TU VEUX */
}

++
Syg
Courtesy of GtaManiac

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Re : Commande change couleur véhicule
« Réponse #8 le: 30 Janvier 2008, 15:48:03 »
Voilà, tu as au moins fait l'effort de te lancer.

Donc, premièrement, récupère la fonction strotk qui se trouve dans LVDM.PWN et copie la dans ton script.

Ensuite, voici ta commande corrigée pour la récupération des paramètres de la commande et l'appel à ChangeVehicleColor.
Comme c'est une commande avec paramètres, il faut faire une opération supplémentaire dans OnPlayerCommandText :
public OnPlayerCommandText (playerid, cmdtext[])
{
new idx = 0;
new cmd[256];

/* On extraie la commande */
ligne 825 cmd = strtok (cmdtext, idx);    // -> C'est l'opération supplémentaire qui consiste à
//    récupérer juste le nom de la commande (sans les paramètres)

/* TES COMMANDES VONT ICI SANS MODIFICATION */

/* Commande de changement de couleur du véhicule */
else if (!strcmp(cmdtext, "/cc", true))
{
new carc, tmppp[256];
new carcc, tmpp[256];

/* On recupère le premier paramètre (couleur 1) */
tmpp = strtok(cmdtext, idx);
carc = strval (tmpp);

/* On recupère le deuxième paramètre (couleur 2) */
tmppp = strtok(cmdtext, idx);
carcc = strval (tmppp);

/* Si il manque un des deux paramètre (ou les deux) */
if (!strlen(tmpp) || !strlen(tmppp))
{
SendClientMessage(playerid, VERT, "USAGE: /cc [couleur 1] [couleur 2]");
return 1;
}
ChangeVehicleColor (GetPlayerVehicleID (playerid), carc, carcc);
return 1;
}

/* TU PEUX METTRE D'AUTRES COMMANDES ICI SI TU VEUX */
}

++
Syg

WOW :ohmy
j'ai recopier dans mon script a la bonne position et il y a des erreur  :( :( :( :( :( :( :( :( :(
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(825) : error 017: undefined symbol "strtok"
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(825) : error 033: array must be indexed (variable "cmd")
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(842) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(848) : error 017: undefined symbol "strtok"
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(848) : error 033: array must be indexed (variable "tmpp")
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(852) : error 017: undefined symbol "strtok"
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(852) : error 033: array must be indexed (variable "tmppp")
C:\Program Files\Rockstar Games\GTA San Andreas\samp\gamemodes\test.pwn(822) : warning 204: symbol is assigned a value that is never used: "idx"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


6 Errors.
EDIT : je les met :

« Modifié: 30 Janvier 2008, 15:52:40 par rivoal29 »


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Re : Commande change couleur véhicule
« Réponse #9 le: 30 Janvier 2008, 15:56:16 »
Donc, premièrement, récupère la fonction strotk qui se trouve dans LVDM.PWN et copie la dans ton script.

Tu as juste oublié de ça.

++
Syg
Courtesy of GtaManiac

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Re : Re : Commande change couleur véhicule
« Réponse #10 le: 30 Janvier 2008, 15:56:48 »
Tu as juste oublié de ça.

++
Syg

quel fonction ???

Je vais voir

EDIT : cette function la ?
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

edit2: YES ! c'est bon ! merci a syg !  :lock  :D
« Modifié: 30 Janvier 2008, 15:59:50 par rivoal29 »


Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : Commande change couleur véhicule
« Réponse #11 le: 30 Janvier 2008, 16:02:27 »
ouai, c'est cette fonction là ;)
ah aussi, j'ai testé la commande à Syg, si je fais "/cc" sa marque le truc de l'usage trandis que si je marque "/cc 184 184" sa marque invalid command. J'ai oublié quelque chose ? (je n'ai pas trop le temps de regarder le code, j'ai mon entrainement d'avrion ...)

++
R@f

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Re : Commande change couleur véhicule
« Réponse #12 le: 30 Janvier 2008, 16:03:22 »
ouai, c'est cette fonction là ;)
ah aussi, j'ai testé la commande à Syg, si je fais "/cc" sa marque le truc de l'usage trandis que si je marque "/cc 184 184" sa marque invalid command. J'ai oublié quelque chose ? (je n'ai pas trop le temps de regarder le code, j'ai mon entrainement d'avrion ...)

++
R@f

oui moi aussi sa le fait je vien de l'éssayer


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande change couleur véhicule
« Réponse #13 le: 30 Janvier 2008, 16:25:30 »
Hé ho les mecs, je fais exprès de laisser une erreur dans le script pour que vous vous creusiez les méninges ..... non, je rigole.

L'erreur vient de là :
else if (!strcmp(cmdtext, "/cc", true))
Il fallait mettre :
else if (!strcmp(cmd, "/cc", true))
Sinon, elle marche très bien cette commande.

++
Syg
Courtesy of GtaManiac