Szerző Téma: Dialog felsorolás tömbbõl  (Megtekintve 1199 alkalommal)

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Dátum: 2014. április 28. - 20:49:46 »
0 Show voters
Hali srácok! Segítségeteket kérném. Egy adott tömbbõl szeretnék formázva dialoguson belül felsorolni. Pl:
 
new PekSuti[][] =
{
{1700, \"Kakaós csiga\", 220},
{1701, \"Lekváros bukta\", 300},
{1745, \"Nutellás fánk\", 250}
};

 
Így próbálkoztam, de egy sorba rendezte az egészet és hát nem sikerült.
 

case PEKSUTI://menü
{
if(response)
{
if(listitem==0)
{
   new str[64], buff[1536];
   for(new i=0; i < sizeof(PekSuti); i++)
   {
      format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\", i, PekSuti[1], PekSuti[0], PekSuti[2]);
   }
   strcat(buff, str);
          ShowPlayerDialog(playerid, PEKSUTI2, DIALOG_STYLE_LIST,\"Pék sütik\",buff,\"Megvásárol\",\"Vissza\");
}
}
}
« Utoljára szerkesztve: 2014. április 28. - 22:42:52 írta TwoClose »

Dialog felsorolás tömbbõl
« Válasz #1 Dátum: 2014. április 28. - 20:55:47 »
0 Show voters
$%d mögé \\n (a string cucc végén.)

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #2 Dátum: 2014. április 28. - 21:07:13 »
0 Show voters
Idézetet írta: TengeriMalac date=1398711347\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47955\" data-ipsquote-contentclass=\"forums_Topic
$%d mögé \\n (a string cucc végén.)
 

format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
Így érted? Ha igen, nem történt semmi.
Illetve történni történik, de nem az aminek kellene. Ilyen esetben összeadva a tömbbõl az összes értéke egy sorba írja a dialogusban.
« Utoljára szerkesztve: 2014. április 28. - 21:12:40 írta TwoClose »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #3 Dátum: 2014. április 28. - 21:24:20 »
0 Show voters
%s-t akart mondani, csak másik nyelven. :D

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #4 Dátum: 2014. április 28. - 21:28:39 »
0 Show voters
Igen, így gondolta:
 
format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
ugyanis amint már te is észrevetted, az volt a hiba, hogy egyszerûen nem kezdtél új sor a \\n segítségével.

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #5 Dátum: 2014. április 28. - 21:30:20 »
0 Show voters
Idézetet írta: Dfoglalo date=1398713319\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47955\" data-ipsquote-contentclass=\"forums_Topic
Igen, így gondolta:
 
format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
ugyanis amint már te is észrevetted, az volt a hiba, hogy egyszerûen nem kezdtél új sor a \\n segítségével.
 
Továbbra is 1 sorba írva összeadva az értékeket mutatja. (nincs felsorolás, 1 sor van a dialogban)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #6 Dátum: 2014. április 28. - 21:35:41 »
0 Show voters
Hát persze...
 
format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
Ezzel felülírod a régi stringet. Amúgy mit keres ott az a \"i,\" a paramétereknél az elsõ helyen? Holott az elsõ helyen itt %s áll. Csináld így:
 
format(str, sizeof(str), \"{FFFFFF}%s%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", str, PekSuti[1], PekSuti[0], PekSuti[2]);

 
De használhatsz strcat függvényt is. Habár azzal felesleges túlbonyolítani. Jó ez így is.


[mod]Amúgy ez gondolom RPG szerverre lesz, így áthelyezem a megfelelõ fórumrészbe.[/mod]
« Utoljára szerkesztve: 2014. április 28. - 21:39:12 írta Dfoglalo »

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #7 Dátum: 2014. április 28. - 20:49:46 »
0 Show voters
Hali srácok! Segítségeteket kérném. Egy adott tömbbõl szeretnék formázva dialoguson belül felsorolni. Pl:
 
new PekSuti[][] =
{
{1700, \"Kakaós csiga\", 220},
{1701, \"Lekváros bukta\", 300},
{1745, \"Nutellás fánk\", 250}
};

 
Így próbálkoztam, de egy sorba rendezte az egészet és hát nem sikerült.
 

case PEKSUTI://menü
{
if(response)
{
if(listitem==0)
{
   new str[64], buff[1536];
   for(new i=0; i < sizeof(PekSuti); i++)
   {
      format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\", i, PekSuti[1], PekSuti[0], PekSuti[2]);
   }
   strcat(buff, str);
          ShowPlayerDialog(playerid, PEKSUTI2, DIALOG_STYLE_LIST,\"Pék sütik\",buff,\"Megvásárol\",\"Vissza\");
}
}
}
« Utoljára szerkesztve: 2014. április 28. - 22:42:52 írta TwoClose »

Dialog felsorolás tömbbõl
« Válasz #8 Dátum: 2014. április 28. - 20:55:47 »
0 Show voters
$%d mögé \\n (a string cucc végén.)

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #9 Dátum: 2014. április 28. - 21:07:13 »
0 Show voters
Idézetet írta: TengeriMalac date=1398711347\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47955\" data-ipsquote-contentclass=\"forums_Topic
$%d mögé \\n (a string cucc végén.)
 

format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
Így érted? Ha igen, nem történt semmi.
Illetve történni történik, de nem az aminek kellene. Ilyen esetben összeadva a tömbbõl az összes értéke egy sorba írja a dialogusban.
« Utoljára szerkesztve: 2014. április 28. - 21:12:40 írta TwoClose »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #10 Dátum: 2014. április 28. - 21:24:20 »
0 Show voters
%s-t akart mondani, csak másik nyelven. :D

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #11 Dátum: 2014. április 28. - 21:28:39 »
0 Show voters
Igen, így gondolta:
 
format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
ugyanis amint már te is észrevetted, az volt a hiba, hogy egyszerûen nem kezdtél új sor a \\n segítségével.

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #12 Dátum: 2014. április 28. - 21:30:20 »
0 Show voters
Idézetet írta: Dfoglalo date=1398713319\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47955\" data-ipsquote-contentclass=\"forums_Topic
Igen, így gondolta:
 
format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
ugyanis amint már te is észrevetted, az volt a hiba, hogy egyszerûen nem kezdtél új sor a \\n segítségével.
 
Továbbra is 1 sorba írva összeadva az értékeket mutatja. (nincs felsorolás, 1 sor van a dialogban)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialog felsorolás tömbbõl
« Válasz #13 Dátum: 2014. április 28. - 21:35:41 »
0 Show voters
Hát persze...
 
format(str, sizeof(str), \"{FFFFFF}%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", i, PekSuti[1], PekSuti[0], PekSuti[2]);

 
Ezzel felülírod a régi stringet. Amúgy mit keres ott az a \"i,\" a paramétereknél az elsõ helyen? Holott az elsõ helyen itt %s áll. Csináld így:
 
format(str, sizeof(str), \"{FFFFFF}%s%s \\t-\\t {339966}ID: %d \\t-\\t {33CC00}$%d\\n\", str, PekSuti[1], PekSuti[0], PekSuti[2]);

 
De használhatsz strcat függvényt is. Habár azzal felesleges túlbonyolítani. Jó ez így is.


[mod]Amúgy ez gondolom RPG szerverre lesz, így áthelyezem a megfelelõ fórumrészbe.[/mod]
« Utoljára szerkesztve: 2014. április 28. - 21:39:12 írta Dfoglalo »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal