GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Leonidas300 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...
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 :
new VehiclePrice[0][2] = {
{411, 200000},//Infernuse
{521, 50000}//FCR-900
};
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;
}
}
-
Up svp
-
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.
-
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
-
Déjà pourquoi je ne trouve pas :
Code:
SendClientMessage(playerid, COLOR_YELLOW, "Infernus: 411, FCR 900: ....");
dans ta commande ?
-
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
-
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.
-
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 ...
-
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
-
Personne ?
-
T'as verifiée ma methode ?
Sa donne quoi ?