GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Ludo43 le 27 Mars 2011, 00:52:59
-
Salut à tous,
Aujourd'hui pour mon serveur, j'ai eu l'idée de créer un système de néon, je me suis dit que se serait plus réaliste si c'était fait par des mécanicien. J'ai donc trouver un FS sympa, mais malheuresement, dans le FilterScript, on doit faire la commande soit-même (/makeneon), mais là j'aimerais que ce soit les mécaniciens qui propose au joueur d'installer le néon de tel ou tel couleur, je n'arrive pas à faire le mixe des deux avec une commande mécano du genre /neon. Avant de me lancer dans n'importe quoi, j'aimerais avoir votre aide :).
J'ai donc créer une commande /neon.
ça c'est ce que j'ai fait (j'ai donc créer ma commande mécano, mais je n'arrive pas à insérer le FS).
if(strcmp(cmd, "/neon", true) == 0
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pJob] != 7)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas mécanicien");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE : /neon [playerid/nom] [couleur] [prix]
return 1;
}
Ensutie j'essaye de continuer mais c'est là que je n'arrive pas à introduire mon bout de script.
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if(money < 1 || money > 99999) { SendClientMessage(playerid, COLOR_GREY, "Le prix du néon doit être compris entre 1$ et 99999$."); return 1; }
if(IsPlayerConnected(playa))
et je termine :
{
if(playa != INVALID_PLAYER_ID)
{
/* if (PlayerToPoint(30, playerid,1644.0358,2198.2336,10.8203))//centerpoint 24-7
{*/
if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))
{
if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, " Tu ne peux pas te mettre un néon à toi même"); return 1; }
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Vous offrez à %s de mettre un néon sur son véhicule pour $%d .",giveplayer,money);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "Le Mécanicien %s vous propose de mettre un néon sur votre véhicule pour $%d, (tappez /accepter neon) pour accepter.",sendername,money);
SendClientMessage(playa, COLOR_WHITE, string);
RepairOffer[playa] = playerid;
RepairPrice[playa] = money;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Ce joueur n'est pas près de vous/ il n'est pas dans une voiture.");
}
/*}
else
{
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas au garage pour mettre un néon");
}*/
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Ce joueur n'est pas connecté.");
}
}
return 1;
}
Voila mon FS : http://www.mediafire.com/?ocuq1tr3eud81bp (http://www.mediafire.com/?ocuq1tr3eud81bp)
Merci à tous pour votre aide =).
A bientôt.
-
Personne ne peut m'aider ? =(
-
Tu pourrais mieux détailler ? Tu as des erreurs lorsque tu compiles ? J'ai pas très bien compris ton problème.
-
ah, merci de t'interesser à ma question.
Enfaite, j'ai télécharger un système de néon, il marche, mais seulement, tu peux faire : /mettreneon où tu veux... Ce n'est pas très réaliste. J'aimerais donc créer une commande mécano permettant de faire : /neon [playerid] [color] [prix] ... Seulement j'ai peur de me planter, je n'arrive pas à intégrer mon fs dans un bout de code mécano, merci. :)
-
Est-il mécanicien ?
Se trouve t'il au garage ?
A-t'il donner tous les paramètres à la commande ?
Se trouve t'il à proximité du joueur ?
-
Est-il mécanicien ?
Se trouve t'il au garage ?
A-t'il donner tous les paramètres à la commande ?
Se trouve t'il à proximité du joueur ?
?? ce sont des questions ou seulement tu souhaites me répondre ? ^^
-
Je te donne les testes que tu dois faire ;)
-
Est-il mécanicien :
if(PlayerInfo[playerid][pJob] != 7)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas mécanicien");
return 1;
}
Se trouve t'il au garage ?
{
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas au garage pour mettre un néon");
}
A-t'il donner tous les paramètres à la commande ?
--> ç'est là qu'il me semble bloquer :
{
if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, " Tu ne peux pas te mettre un néon à toi même"); return 1; }
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Vous offrez à %s de mettre un néon sur son véhicule pour $%d .",giveplayer,money);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "Le Mécanicien %s vous propose de mettre un néon sur votre véhicule pour $%d, (tappez /accepter neon) pour accepter.",sendername,money);
SendClientMessage(playa, COLOR_WHITE, string);
RepairOffer[playa] = playerid;
RepairPrice[playa] = money;
}
Se trouve t'il à proximité du joueur ?
{
SendClientMessage(playerid, COLOR_GREY, "Ce joueur n'est pas près de vous/ il n'est pas dans une voiture.");
}
-
C'est bien de mettre des messages, mais c'est pas la vérification ;).
-
Je te conseille de mettre ce script directement dans le GM.
-
C'est ce que j'essaye de faire
-
Up =( je suis désespéré
-
Petit up, si quelqu'un veut mon msn, MP possible...
-
Tu as sûrement, dans ton GM, une autre commande qui a plusieurs paramètres, essaie de voir comment elles fonctionnent.