GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Ludo43 le 19 Décembre 2010, 14:42:10
-
Bonjour à tous,
J'ai voulu créé une usine d'arme pour creer des armes. J'ai créer un code ou l'on tape "/armes" pour que l'on voit la liste des armes à acheter.
Malheureusement dès que je vais sur ce point rien ne se passe, voici mon code :
if(strcmp(cmd, "/armes", true) == 0)
{
if(PlayerToPoint(2,playerid,297.0056,-38.5137,1001.5156))
{
if(PlayerInfo[playerid][pGunLic] == 1)
{
ShowPlayerDialog(playerid, GUNSHOP, DIALOG_STYLE_LIST, "liste des armes à acheter", "sniper 2000$\nak47 1600$\nm4 1600$\nMp5 1400$\nFusil de Combat 1300$\nFusil 1200$\nDeagle 1000$\nGillet Par-Balle 1000$\nSilencieux 950$\n9mm 900$\nGaz lacrymogene 850$\nClub de Golf 150$\nBatte 150$\nPelle 150$\nSabre 150$\nPoing americain 100$\nCouteau75$\nBombe de Peinture 50$", "Choisir", "Retour");
}
else{ SendClientMessage(playerid,COLOR_RED,"Vous n'avez pas de permis d'arme."); }
return 1;
}
return 1;
}
Merci de m'aider.
-
deja, je pense que remplacer ceci
if(strcmp(cmd, "/armes", true) == 0)
par ceci
if(strcmp(cmdtext, "/armes", true) == 0)
serais mieux, même si ce n'ets pas la solution a ton probleme
meme chose pour ceci
if(PlayerToPoint(2,playerid,297.0056,-38.5137,1001.5156))
par
if(IsPlayerInRangeOfPoint(playerid,2,297.0056,-38.5137,1001.5156))
Le soucis ne vient pas du fait que tu n'ets pas a la bonne position? place des printf pour voir
-
Merci, mais désolé je débute, c'est quoi des printf ?
-
Salut,
Je pencherais pour un problème de return.
Indente mieux ton script, et place les returns au bons endroits.
Sinon, comme scott l'a dit, place des printf.
Cela sert à placer une information dans le server_log.txt.
++
Lloyd
-
D'accord merci beaucoup de votre aide mais comment je dois placer des printf ?
-
Salut,
D'accord merci beaucoup de votre aide mais comment je dois placer des printf ?
Exemple:
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
printf("%s s'est connecté", name);
return 1;
}
[15:19:01] BlaBla s'est connecté.En sachant que "BlaBla" est le pseudo du joueur.
++
Lloyd
-
Oui, ça je l'avait compris, mais comment faire pour savoir la pos d'un joueur ?
-
Salut,
Oui, ça je l'avait compris, mais comment faire pour savoir la pos d'un joueur ?
Fais un minimum de recherche. Utilise la fonction rechercher, ta logique et le wiki au besoin. La fonction pour récupérer la position est GetPlayerPos.
Si tu ne fait pas un minimum d'effort, tu n'arrivera jamais à rien d'intéressant en script.
++Sim++
-
Désolé mais je crois que c'est pas trop mon truc car j'ai rechercher.
-
Je suis désolé mais j'ai essayer mais je n'arrive pas :
{
GetPlayerPos(giveplayerid,x,y,z);
printf("La pos du joueur est %s", pX, pY, pZ);
return 1;
}
Je sais que c'est pas du tout sa.
Désolé je suis complétement perdu. Ca fait 6 mois que je n'ai pas script ^^
-
Je fais pas que ça de ma vie mdr
et faut que je les mette dans quelle variable s'il vous plait ?
-
mdr j'espère bien.
Double post
Comment dois-je faire alors ?? ^^
Je cherche depuis 1 heure.
-
Voici une commande pour recuperer la positions d'ou tu te trouves .
if(strcmp(cmdtext, "/coord", true) == 0)
{
new tmp[128];
new Float:x, Float:y, Float:z; // On crée les variables
GetPlayerPos(playerid, x, y, z); // On prends les coordonnes du joueurs qui a tapé la commande
format(tmp, sizeof(tmp),"Tu est a X= %f Y= %f Z= %f ", x, y, z); // On prepare le texte
SendClientMessage(playerid,0xff0000ff, tmp); // on affiche le texte au joueur .
return 1;
}
-
Merci beaucoup.