GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => Szkript kérések => SA-MP: Szerverfejlesztés => RP/RPG kérések => A témát indította: BVZS - 2014. április 28. - 20:49:46

Cím: Dialog felsorolás tömbbõl
Írta: BVZS - 2014. április 28. - 20:49:46
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\");
}
}
}
Cím: Dialog felsorolás tömbbõl
Írta: TengeriMalac - 2014. április 28. - 20:55:47
$%d mögé \\n (a string cucc végén.)
Cím: Dialog felsorolás tömbbõl
Írta: BVZS - 2014. április 28. - 21:07:13
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.
Cím: Dialog felsorolás tömbbõl
Írta: KovaNovik - 2014. április 28. - 21:24:20
%s-t akart mondani, csak másik nyelven. :D
Cím: Dialog felsorolás tömbbõl
Írta: Dfoglalo - 2014. április 28. - 21:28:39
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.
Cím: Dialog felsorolás tömbbõl
Írta: BVZS - 2014. április 28. - 21:30:20
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)
Cím: Dialog felsorolás tömbbõl
Írta: Dfoglalo - 2014. április 28. - 21:35:41
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]
Cím: Dialog felsorolás tömbbõl
Írta: BVZS - 2014. április 28. - 20:49:46
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\");
}
}
}
Cím: Dialog felsorolás tömbbõl
Írta: TengeriMalac - 2014. április 28. - 20:55:47
$%d mögé \\n (a string cucc végén.)
Cím: Dialog felsorolás tömbbõl
Írta: BVZS - 2014. április 28. - 21:07:13
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.
Cím: Dialog felsorolás tömbbõl
Írta: KovaNovik - 2014. április 28. - 21:24:20
%s-t akart mondani, csak másik nyelven. :D
Cím: Dialog felsorolás tömbbõl
Írta: Dfoglalo - 2014. április 28. - 21:28:39
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.
Cím: Dialog felsorolás tömbbõl
Írta: BVZS - 2014. április 28. - 21:30:20
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)
Cím: Dialog felsorolás tömbbõl
Írta: Dfoglalo - 2014. április 28. - 21:35:41
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]