• 07 Juin 2026, 00:19:46


Auteur Sujet: Problème /acheterv  (Lu 2002 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Problème /acheterv
« le: 30 Décembre 2010, 17:09:08 »
Salut, à tous, voilà j'utilise le Gveh de Mrfredo, et j'ai voulut crée une commande semblable au /maveh mais celle ci pour pouvoir acheter un vehicule en le spawnant, pour eviter de crée des concessionnaire super encombrant:

donc voilà, mon problème c'est que IG sa me repete à chaque fois sa, en gros sa détécte pas L'ID du vehicule...

Code: (pawn) [Sélectionner]
SendClientMessage(playerid, COL_WHITE, "UTILISATION: /acheterv [IDDuVehicule] [Couleur1] [Couleur2]");
SendClientMessage(playerid, COLOR_YELLOW, "Infernus: 411, FCR 900: ....");
( J'ai mis que deux véhicules pour tester au départ )
Voila tout en haut j'ai mis sa :

Code: (pawn) [Sélectionner]
new VehiclePrice[0][2] = {
{411, 200000},//Infernuse
{521, 50000}//FCR-900
};

   
Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/acheterv", true) ==0 )
{
   if(IsPlayerConnected(playerid) && PlayerInfo[playerid][pAdmin] >= 5)
   {
tmp = strtok2(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COL_WHITE, "UTILISATION: /acheterv [IDDuVehicule] [Couleur1] [Couleur2]");
SendClientMessage(playerid, COLOR_YELLOW, "test: /acheterv 411 1 1");
return 1;
}
new modelid = ReturnModelByName(tmp);
if(modelid == 0)
{
SendClientMessage(playerid, COL_WHITE, "Modelid incorect! Assurer vous d'avoir mit un nom de vehicule existant ou d'un modelid corect!");
return 1;
}
new color1 = 0;
tmp = strtok2(cmdtext, idx);
if(strlen(tmp)) color1 = strval(tmp);
new color2 = 0;
tmp = strtok2(cmdtext, idx);
if(strlen(tmp)) color2 = strval(tmp); // check msn :o ///////////////:o check msn lol

/*new Float:x,Float:y,Float:z,Float:a;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
GetXYFront(x, y, a, 3.0);*/
new Cveh = CreateVehicle(modelid,2136.1123,-1144.8888,24.8152,79,color1,color2,RESPAWN_DELAY);

new vPrice;
for(new i=0; i<sizeof(VehiclePrice); i++)// On crée la boucle pour allez vérifié si l'id du vehicule tapper est dans le enum plus haut
{
   if(VehiclePrice[i][0] == modelid)
   {
       vPrice = VehiclePrice[i][1];
   }
}
if(!PlayerToPoint(1.5, playerid, 2131.8411,-1150.0598,24.1991))
{
   SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas à la concession!");
   return 1;
}
// la amintenant vprice contient le prix du vehicule ok, gg tout sa, donc mainetnant je vais faire un petit truc attend
if(GetPlayerMoney(playerid) < vPrice)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas assez d'argent!"); // i
return 1;
}
GetPlayerName(playerid,playername,sizeof(playername));

VehiculeInfo[Cveh][VehID] = INVALID_VEH_ID;
VehiculeInfo[Cveh][Model] = modelid;
VehiculeInfo[Cveh][XSpawn] = 2136.1123;
VehiculeInfo[Cveh][YSpawn] = -1144.8888;
VehiculeInfo[Cveh][ZSpawn] = 24.8152;
VehiculeInfo[Cveh][ASpawn]   = 79;
VehiculeInfo[Cveh][Couleur1] = color1;
VehiculeInfo[Cveh][Couleur2] = color2;
VehiculeInfo[Cveh][Prix]       = 0;
VehiculeInfo[Cveh][Status]     = 0;
VehiculeInfo[Cveh][Alarme]   = 2;
VehiculeInfo[Cveh][Tuning1] = 0;
VehiculeInfo[Cveh][Tuning2] = 0;
VehiculeInfo[Cveh][Tuning3] = 0;
VehiculeInfo[Cveh][Tuning4] = 0;
VehiculeInfo[Cveh][Tuning5] = 0;
VehiculeInfo[Cveh][Tuning6] = 0;
VehiculeInfo[Cveh][Tuning7] = 0;
VehiculeInfo[Cveh][Tuning8] = 0;
VehiculeInfo[Cveh][Tuning9] = 0;
VehiculeInfo[Cveh][Tuning10] = 0;
VehiculeInfo[Cveh][Tuning11] = 0;
VehiculeInfo[Cveh][Tuning12] = 0;
VehiculeInfo[Cveh][Tuning13] = 0;
VehiculeInfo[Cveh][Tuning14] = 0;
VehiculeInfo[Cveh][Tuning15] = 0;
VehiculeInfo[Cveh][Tuning16] = 0;
VehiculeInfo[Cveh][Tuning17] = 0;
VehiculeInfo[Cveh][Peinture] = 0;
VehiculeInfo[Cveh][MaxEssence] = 100;
VehiculeInfo[Cveh][Essence] = 25;
VehiculeInfo[Cveh][Moteur]      = 1;
VehiculeInfo[Cveh][Phares]      = 0;

strmid(VehiculeInfo[Cveh][Proprio],playername,0,strlen(playername),128);// On met le pseudo du joueur comme propriétaire du vehicule
strmid(VehiculeInfo[Cveh][Nom],VehicleName[modelid-400],0,strlen(VehicleName[modelid-400]),128);

format(string,sizeof(string),"Félicitation, la %s a bien été acheté, elle a été garé au concessionaire, pensez à la garer.",VehiculeInfo[Cveh][Nom]);
SendClientMessage(playerid,COL_GREEN,string);
SafeGivePlayerMoney(playerid, -vPrice);
return 1;
}
}
« Modifié: 31 Décembre 2010, 20:05:05 par Leonidas300 »




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Re : Problème /acheterv
« Réponse #1 le: 31 Décembre 2010, 20:05:12 »
Up svp




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Problème /acheterv
« Réponse #2 le: 01 Janvier 2011, 01:28:53 »
Salut :)
(Désolé j'ai été occupé sur msn et j'avais du partir pour un vol :p )
Déjà pourquoi je ne trouve pas :

SendClientMessage(playerid, COLOR_YELLOW, "Infernus: 411, FCR 900: ....");

dans ta commande ?

A+, Sam.
Bonne année.

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Re : Problème /acheterv
« Réponse #3 le: 01 Janvier 2011, 02:11:57 »
c'est pour aider le joueur qui veux acheter un vehicule, il me manque beaucoup de vehicule à faire, mais la j'ai juste mis ces 2 pour tester ^^, donc FCR-900 = 521 (521 = ID de la FCR 900)
Bonne année  :cheers




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Re : Problème /acheterv
« Réponse #4 le: 01 Janvier 2011, 16:33:18 »
Déjà pourquoi je ne trouve pas :

Code:

SendClientMessage(playerid, COLOR_YELLOW, "Infernus: 411, FCR 900: ....");


dans ta commande ?

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Re : Problème /acheterv
« Réponse #5 le: 01 Janvier 2011, 21:12:10 »
Je tes répondut, sa sert à aider le joueur, on lui donne l'id des vehicules pour qu'il /acheterv [IDDUVEHICULE] [couleur 1] [Couleur 2] le vehicule est spawné et inscrit dans le fichier ou il y a tous les Veh




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Problème /acheterv
« Réponse #6 le: 01 Janvier 2011, 21:41:42 »
Oui, est ben déjà l'utilisation de cette ligne, sert à envoyer un message contenant 2 nom de voiture. Puis je ne le voie pas dans ta commande cette ligne.

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Re : Problème /acheterv
« Réponse #7 le: 01 Janvier 2011, 22:22:53 »
pourquoi on parles que du SendClientMessage ? au pire c'est pas grave sa, le problème c'est que IG sa me revoie tout le temps les SendClientMessage comme si je mettez pas D'id de vehicule dans ma commande, donc en gros sa détécte pas L'ID de la infernus et sont prix par exemple, ou est le problème ? s'il vous plaît, pourtant j'ai bien fait ma boucle pour le prix au milieux de la commande ...




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne Boomerkuigi

  • *
  • Tueur
  • Messages: 63
    • Voir le profil
Re : Problème /acheterv
« Réponse #8 le: 02 Janvier 2011, 07:32:15 »
Salut,
Verifie si t'as bien declarée le " tmp[] " au tout debut de la fonction OnPlayerCommandText()
Parce que vu que sa te retourne tout le temps les messages d'aide comme si t'avais rien entrer apres le /acheterv, sa voudrait probablement dire que ta variable tmp n'a rien pris,
Essai de mettre des printf() judicieusement dans ton code, essai meme d'afficher tmp sur ta console pour verifier qu'elle prend quelque chose
new testTmp[256];
format(testTmp, sizeof(testTmp), "Test Tmp (acheterv) : %s", tmp);
printf(testTmp);
Place ceci juste apres le tmp = strtok2(cmdtext, idx);Elle te permettera de voir sur ta console si le tmp contient bien quelque chose


Bonne Année a tous en retard mais bon =)  :cheers
« Modifié: 02 Janvier 2011, 07:52:55 par Boomerkuigi »

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Re : Problème /acheterv
« Réponse #9 le: 03 Janvier 2011, 17:59:07 »
Personne ?




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne Boomerkuigi

  • *
  • Tueur
  • Messages: 63
    • Voir le profil
Re : Problème /acheterv
« Réponse #10 le: 03 Janvier 2011, 20:10:57 »
T'as verifiée ma methode ?
Sa donne quoi ?