• 28 Mars 2024, 11:38:04


Auteur Sujet: Demande d'une aide.  (Lu 4622 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne CaydenSAMP

  • *
  • Nouveau
  • Messages: 5
    • Voir le profil
Demande d'une aide.
« le: 03 Mars 2016, 12:28:24 »
Bonjour, aujourd'hui j'ai décidé de changer l'ancien système de /stats qui affiché toutes les données en SendClientMessage en DIAGLO_STYLE_MSGBOX.
Tout se passe bien la commande fonctionne mais quand je fais /stats, le menu s'ouvre mais les données du joueur ne sont pas affichées. (%s , %d , %d , etc...)
Et la seule chose que je n'arrive pas à mettre c'est justement enfin je pense que c'est à cause de ça que rien ne s'affiche.

GetName(playerid),GetPlayerCash(playerid),PlayerInfo[playerid][pBankAccount],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pRespect],PlayerInfo[playerid][pKills],PlayerInfo[playerid][HouseID],PlayerInfo[playerid][BizID],
Nouveau script

CMD:stats(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_STATISTIQUES, DIALOG_STYLE_MSGBOX, "{0066FF}Los Santos Roleplay", "{FFFFFF}Nom : %s\nArgent : %d$\nBanque: %d$\nLevel : %d\nRespect : %d\nTué : %d\nClé business : %d\nClé maison: %d", "Fermer", "");
return 1;
}


Ancien script
new
string[200], Float:Health;
GetPlayerHealth(playerid, Health);

format(string, sizeof(string),"_______________________________"COL_WHITE"[%s]"COL_GREEN"_______________________________", GetName(playerid));
SCM(playerid, COLOR_GREEN, string);

format(string, sizeof(string),"[GENERAL]: Nom: %s | Argent: $%d | Level: %d | Tué: %d | Respect: %d | Numero: %d", GetName(playerid),GetPlayerCash(playerid), PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pKills],PlayerInfo[playerid][pRespect],PlayerInfo[playerid][pNumber]);
SCM(playerid, COLOR_WHITE, string);

format(string, sizeof(string),"[GENERAL]: Admin Level: %d | Cigarettes: %d | Bières: %d | Clé business: %d | Clé maison: %d", PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pCigarettes], PlayerInfo[playerid][pBeer], PlayerInfo[playerid][BizID], PlayerInfo[playerid][HouseID]);
SCM(playerid, COLOR_WHITE, string);

format(string, sizeof(string),"[GENERAL]: Age: %d | Banque: $%d | Expérience: %d", PlayerInfo[playerid][pAge], PlayerInfo[playerid][pBankAccount],  PlayerInfo[playerid][pExperience]);
SCM(playerid, COLOR_WHITE, string);

format(string, sizeof(string), "[DRUGS]: Marijuana: %d | Cocaine: %d | LSD: %d", PlayerInfo[playerid][dMarijuana], PlayerInfo[playerid][dCocaine], PlayerInfo[playerid][dLSD]);
SCM(playerid, COLOR_WHITE, string);
return 1;
}

Bonne journée, je vous remercie d'avance.

Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : Demande d'une aide.
« Réponse #1 le: 03 Mars 2016, 14:55:54 »
La première ligne de code que tu nous montre, elle se trouve où ? Tu récupères des données mais tu ne sembles pas les enregistrer dans des variables. Voici un petit exemple de ce que tu devrais normalement faire (le code est incomplet, à toi d'y ajouter ce qu'il manque) :

Code: (pawn) [Sélectionner]
new sString[128] = "";
format(sString, sizeof sString, "Argent: %d, Score: %d", GetPlayerMoney(playerid), GetPlayerScore(playerid));
ShowPlayerDialog(playerid, DIALOG_STATISTIQUES, DIALOG_STYLE_MSGBOX, sString, "");

Tu récupères donc les valeurs que tu viens écrire dans une chaîne de caractères, ensuite affichée sous forme d'une boîte de dialogue.

Bonne chance !

Hors ligne CaydenSAMP

  • *
  • Nouveau
  • Messages: 5
    • Voir le profil
Re : Demande d'une aide.
« Réponse #2 le: 03 Mars 2016, 17:25:40 »
Merci ça fonctionne !
Au final je ne sais pas c'est très très bien scripté mais ça donne ceci.

CMD:stats(playerid, params[])
{
new sString[128] ="";
format(sString, sizeof sString, "{FFFFFF}Nom : %s\nArgent : %d$\nBanque: %d$\nLevel : %d\nRespect : %d\nMeurtre : %d\nClé business : %d\nClé maison : %d", GetName(playerid), GetPlayerCash(playerid), PlayerInfo[playerid][pBankAccount], PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pRespect], PlayerInfo[playerid][pKills], PlayerInfo[playerid][BizID], PlayerInfo[playerid][HouseID],
GetPlayerScore(playerid));
ShowPlayerDialog(playerid,DIALOG_STATISTIQUES, DIALOG_STYLE_MSGBOX, "{0066FF}LSRP", sString, "Fermer", "");
return 1;
}

Merci pour ton aide et à la prochaine. ;)