• 10 Juillet 2025, 01:54:47


Auteur Sujet: Soucis avec un formatage  (Lu 1431 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Soucis avec un formatage
« le: 05 Décembre 2010, 00:49:27 »
Bonjour à toute et à tous,

j'ai un souci avec un code

Attention code horrible, il est fait pour essayer de le faire fonctionner et l'améliorer après, mais la depuis quelque heure je rame.

new menu[1024],arme[22],text[22];
for(new slot = 0; slot < 12; slot++)
   {
       new Arme, balle;
       GetPlayerWeaponData(giveplayerid, slot, Arme, balle);
       if(Arme != 0 && balle != 0)
       {
           GetWeaponName(Arme,arme[slot],64);
format(text[slot],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[slot],balle);
SendClientMessage(playerid,bleuvert,text[slot]);
       }
   }
   if(SacInfos[giveplayerid][sArme1] != 0 && SacInfos[giveplayerid][sballe1] > 0) { GetWeaponName(SacInfos[giveplayerid][sArme1],arme[12],64); format(text[12],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[12],SacInfos[giveplayerid][sballe1]); }
   if(SacInfos[giveplayerid][sArme2] != 0 && SacInfos[giveplayerid][sballe2] > 0) { GetWeaponName(SacInfos[giveplayerid][sArme2],arme[13],64); format(text[13],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[13],SacInfos[giveplayerid][sballe2]); }
   if(SacInfos[giveplayerid][sArme3] != 0 && SacInfos[giveplayerid][sballe3] > 0) { GetWeaponName(SacInfos[giveplayerid][sArme3],arme[14],64); format(text[14],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[14],SacInfos[giveplayerid][sballe3]); }
   if(SacInfos[giveplayerid][sArme4] != 0 && SacInfos[giveplayerid][sballe4] > 0) { GetWeaponName(SacInfos[giveplayerid][sArme4],arme[15],64); format(text[15],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[15],SacInfos[giveplayerid][sballe4]); }
   if(SacInfos[giveplayerid][sArme5] != 0 && SacInfos[giveplayerid][sballe5] > 0) { GetWeaponName(SacInfos[giveplayerid][sArme5],arme[16],64); format(text[16],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[16],SacInfos[giveplayerid][sballe5]); }
   if(SacInfos[giveplayerid][sVIPArme1] != 0 && SacInfos[giveplayerid][sVIPBalle1] > 0) { GetWeaponName(SacInfos[giveplayerid][sVIPArme1],arme[17],64); format(text[17],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[17],SacInfos[giveplayerid][sVIPBalle1]); }
   if(SacInfos[giveplayerid][sVIPArme2] != 0 && SacInfos[giveplayerid][sVIPBalle2] > 0) { GetWeaponName(SacInfos[giveplayerid][sVIPArme2],arme[18],64); format(text[18],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[18],SacInfos[giveplayerid][sVIPBalle2]); }
   if(SacInfos[giveplayerid][sVIPArme3] != 0 && SacInfos[giveplayerid][sVIPBalle3] > 0) { GetWeaponName(SacInfos[giveplayerid][sVIPArme3],arme[19],64); format(text[19],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[19],SacInfos[giveplayerid][sVIPBalle3]); }
   if(SacInfos[giveplayerid][sVIPArme4] != 0 && SacInfos[giveplayerid][sVIPBalle4] > 0) { GetWeaponName(SacInfos[giveplayerid][sVIPArme4],arme[20],64); format(text[20],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[20],SacInfos[giveplayerid][sVIPBalle4]); }
   if(SacInfos[giveplayerid][sVIPArme5] != 0 && SacInfos[giveplayerid][sVIPBalle5] > 0) { GetWeaponName(SacInfos[giveplayerid][sVIPArme5],arme[21],64); format(text[21],64,"\n{FF595E}Arme{A9C4E4}: %s - %d balle(s)",arme[21],SacInfos[giveplayerid][sVIPBalle5]); }
            format(string,sizeof(string),"Sac de {FFFF9A}%s",nom2);
format(menu,sizeof(menu),"{FF595E}Argent{A9C4E4}: %d\n{FF595E}Heroïne{A9C4E4}: %dG\n{FF595E}Weed{A9C4E4}: %dG%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",JoueurInfos[giveplayerid][jArgent],SacInfos[giveplayerid][sHero],SacInfos[giveplayerid][sWeed],text[0],text[1],text[2],text[3],text[4],text[5],text[6],text[7],text[8],text[9],text[10],text[11],text[12],text[13],text[14],text[15],text[16],text[17],text[18],text[19],text[20],text[21]);
            SendClientMessage(playerid,bleuvert,menu);
ShowPlayerDialog(playerid,fouillepolice,DIALOG_STYLE_MSGBOX,string,menu,"Valider","Retour");
  return 1;


Le soucis s'est que ça se formate bien dans la boucle mais au formatage général dans la variable menu, ça merde.




Merci d'avance
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Soucis avec un formatage
« Réponse #1 le: 05 Décembre 2010, 00:54:45 »
Sans les retours à la ligne (\n), cela donne quoi ?

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #2 le: 05 Décembre 2010, 01:55:37 »
Salut,

j'ai entendu dire que le nouveau système de couleur causait de petits problèmes avec certains textes. Essaie en modifiant un peu le texte pour voir, surtout je pense que l'utilisation de {} n'est pas recommandée, reste à voir, je n'ai pas encore touché à la 0.3c

Bonne chance

++Sim++





Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #3 le: 05 Décembre 2010, 02:01:11 »
Meme chose si j'enleve les "\n" Xatrick

Sim, pour les couleur j'ai essayé sans, même résultat,

pour les {} s'est la méthode décrite sur samp
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Soucis avec un formatage
« Réponse #4 le: 05 Décembre 2010, 02:05:14 »
J'ai regardé rapidement sur le Wiki de SA:MP et j'ai trouvé que devant chaque retour à la ligne, il utilisé \r.
Je n'ai absolument aucune idée de l'action de ce dernier !

http://wiki.sa-mp.com/wiki/ShowPlayerDialog

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #5 le: 05 Décembre 2010, 17:38:59 »
Salut,

le caractère '\r' permet le retour à la ligne, c'est à dire qu'on retourne complètement à gauche de l'écran, en général on l'utilise dans les fichiers pour éviter des trucs de ce genre:

nom=truc
pass=5AB312BA
score=23

c'est ce que j'en ai compris du moins, je n'ai jamais testé des fichiers sans le \r, c'est un peu idiot de ma part en fait....
par contre, dans les ShowPlayerDialog, je n'ai jamais utilisé cela sans rencontrer de problèmes...

Si tu teste exactement le même code en enlevant une partie du texte, en le faisant plus court, qu'es-ce que ça donne?

++Sim++





Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #6 le: 05 Décembre 2010, 19:24:40 »
J'ai essayé

format(menu,sizeof(menu),"{FF595E}Argent{A9C4E4}: %d
{FF595E}Heroïne{A9C4E4}: %dG
{FF595E}Weed{A9C4E4}: %dG%s%s%s%s%s%s%s%s%s%s%s%s",JoueurInfos[giveplayerid][jArgent],SacInfos[giveplayerid][sHero],SacInfos[giveplayerid][sWeed],text[0],text[1],text[2],text[3],text[4],text[5],text[6],text[7],text[8],text[9],text[10],text[11]);

ça donne la même chose :s

Double post
Bonsoir,

alors j'ai tester en faisant que le formatage des arme en mains avec la boucle

for(new slot = 0; slot < 12; slot++)
    {
        new Arme, balle;
        GetPlayerWeaponData(giveplayerid, slot, Arme, balle);
        if(Arme != 0 && balle != 0)
        {
            GetWeaponName(Arme,arme[slot],64);
format(text[slot],64,"\nArme: %s - %d balle(s)",arme[slot],balle);
SendClientMessage(playerid,bleuvert,text[slot]);
        }
        else
        { format(text[slot],64,""); }
    }
    format(menu,sizeof(menu),"%s%s%s%s%s%s%s%s%s%s%s%s",text[0],text[1],text[2],text[3],text[4],text[5],text[6],text[7],text[8],text[9],text[10],text[11]);
SendClientMessage(playerid,bleuvert,menu);

J'ai testé avec plusieurs arme en mains

Citer
[19:33:32]  Arme: Desert Eagle - 988 balle(s)

[19:33:32]  Arme: Parachute - 999 balle(s)

[19:33:32]   Arme: Parachute - 999 balle(s)

[19:33:32] {FF595E}Argent{A9C4E4}: 497498 {FF595E}Heroïne{A9C4E4}: 2G {FF595E}Weed{A9C4E4}: 2G  Arme: Parachute - 999 balle(s)

On dirais que le dernier format écrase le précédent.

Je ne comprend pas pourquoi.
« Modifié: 05 Décembre 2010, 19:36:16 par scott1 »
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #7 le: 05 Décembre 2010, 19:50:42 »
regarde sur le wiki c'est inscrit comme ceci

"1. Line\r\n2. Line\r\n3. Line"
je serais partant pour dire que apparement \n n'est plus sufisant apparement mais \r\n donc

format(string,sizeof(string),"Sac de {FFFF9A}%s",nom2);
format(menu,sizeof(menu),"{FF595E}Argent{A9C4E4}: %d\r\n{FF595E}Heroïne{A9C4E4}: %dG\r\n{FF595E}Weed{A9C4E4}: %dG\r\n%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",JoueurInfos[giveplayerid][jArgent],SacInfos[giveplayerid][sHero],SacInfos[giveplayerid][sWeed],text[0],text[1],text[2],text[3],text[4],text[5],text[6],text[7],text[8],text[9],text[10],text[11],text[12],text[13],text[14],text[15],text[16],text[17],text[18],text[19],text[20],text[21]);
SendClientMessage(playerid,bleuvert,menu);
ShowPlayerDialog(playerid,fouillepolice,DIALOG_STYLE_MSGBOX,string,menu,"Valider","Retour");

juste a tester je n'ai pas tester mais c'est juste une deduction
           

pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #8 le: 05 Décembre 2010, 20:08:55 »
non car pour mes autre menu le '/n' suffit, le soucis doit venir dut text[]

comme je 'lai dit plus haut
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #9 le: 05 Décembre 2010, 20:29:06 »
et si tu retire la phrase ton dialogue se met corectement??
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Soucis avec un formatage
« Réponse #10 le: 05 Décembre 2010, 20:36:23 »
oui, il m'affiche l'argent et la drogues normalement
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction