Szerző Téma: Kilistázás  (Megtekintve 841 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Kilistázás
« Dátum: 2012. március 15. - 12:42:18 »
0 Show voters
Sziasztok,
Az lenne a kérdésem,hogy meg lehet valahogy oldani,azt hogy a szerveren lévõ összes player nevét kilistázza egy dialog_list-ben akire igaz az elõtte említett feltételek? Pl.: változója = 1

Kilistázás
« Válasz #1 Dátum: 2012. március 15. - 13:00:02 »
0 Show voters
TEssék:
 

new str[500], pName[MAX_PLAYER_NAME];
for(new i; i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Valami==1)
{
GetPlayerName(i,pName,MAX_PLAYER_NAME);
format(str,sizeof(str),\"%s, %s\",str, pName);
}
}

 
És a ciklus után, ahol akarod elõhozod dialoggal, vagy kiíratod.

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Kilistázás
« Válasz #2 Dátum: 2012. március 15. - 13:11:28 »
+1 Show voters

new string[128], nev[MAX_PLAYER_NAME];
for(new i; i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Valtozo == 1)
{
GetPlayerName(i,nev,sizeof(nev));
format(string,sizeof(string),\"Nev: %s Valtozo erteke: %d\",nev, Valtozo);
}
}

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Kilistázás
« Válasz #3 Dátum: 2012. március 15. - 14:13:19 »
0 Show voters
De ez így csak a legelsõ ember nevét írja ki nem? Akinek a legkisebb az id-je és a változója 1.
Nekem az kéne hogy van egy DIALOG_LIST amiben minden egyes sorban egy ember neve van akinek a változója 1

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Kilistázás
« Válasz #4 Dátum: 2012. március 15. - 14:21:40 »
+1 Show voters
Bármire használhatod. Tessék.
 

new string[128], nev[MAX_PLAYER_NAME];
for(new i; i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Valtozo == 1)
{
GetPlayerName(i,nev,sizeof(nev));
format(string,sizeof(string),\"Nev: %s Valtozo erteke: %d\",nev, Valtozo);
}
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,\"Változók\",\"string\\n\",\"OK\", \");
}
« Utoljára szerkesztve: 2012. március 15. - 14:31:40 írta Cannonn »

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Kilistázás
« Válasz #5 Dátum: 2012. március 15. - 14:25:58 »
0 Show voters
Jujujj, rosszabbnál rosszabb megoldások. Majd mindjárt megcsinálom :D
 

new
string[1024],
egyeb[128],
i = -1;
for(;++i < MAX_PLAYERS;)
{
if(IsPlayerConnected(i) && Valtozo)
{
   GetPlayerName(i, string, MAX_PLAYER_NAME);
   format(egyeb,sizeof(egyeb),\"Nev: %s Valtozo erteke: %d\\n\", string, Valtozo);
   strins(string, egyeb, strlen(string));
}
     }
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,\"Változók\",\"string\\n\",\"OK\", \");
« Utoljára szerkesztve: 2012. március 15. - 14:43:16 írta DrAkE »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Kilistázás
« Válasz #6 Dátum: 2012. március 15. - 14:32:18 »
+1 Show voters
Ez mivel másabb mint a miénk?

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Kilistázás
« Válasz #7 Dátum: 2012. március 15. - 14:42:42 »
0 Show voters
2 dolog miatt:
1. Nem hiszem hogy jó lenne ha tömérdek dialogo-t kirakna neki (te kódodban ez látható)
2. Ezzel a módszerrel nem fogja az összeset belerakni.
E helyett hozzá kell mindig adni a \"string\" változóhoz a szöveget, majd a ciklus után dialogban megjelenítjük :)
U.I.: Fenti kód frissítve!

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Kilistázás
« Válasz #8 Dátum: 2012. március 15. - 14:45:52 »
+1 Show voters
Kösz, hogy leírtad. Én így használom az adminrendszeremben és tökéletesen mûködik.
A tömérdek dialog most már nem íródik ki.
« Utoljára szerkesztve: 2012. március 15. - 14:47:38 írta Cannonn »

Kilistázás
« Válasz #9 Dátum: 2012. március 15. - 14:53:28 »
0 Show voters
És minek.kiíratni a változó értékét, ha alapból azok szerepelnek a listán akiknek 1? :D

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Kilistázás
« Válasz #10 Dátum: 2012. március 15. - 14:57:23 »
+1 Show voters
Hát az jó kérdés. :D Az adminscriptemben úgy van, hogy ha a változó nagyobb 0-nál, akkor kiírja a játékos nevét, szintjét. Valószínûleg ezért írattam ki itt is.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Kilistázás
« Válasz #11 Dátum: 2012. március 15. - 15:35:46 »
0 Show voters
És azt hogy lehet megoldani,hogy a dialognál elég legyen 1 case-t csinálni,ami mindegyikhez jó,szóval ha rákattolnak valamelyikre,akkor a névrõl lekérik az id-jét?

Dupla hozzászólás automatikusan összefûzve. ( 2012. március 16. - 21:35:59 )

Nem mûködik a kilistázás,mert azt írja,hogy string,de ha meg a stringet iratom ki,akkor gondolom csak 1 embert fog kiírni
« Utoljára szerkesztve: 2012. március 16. - 21:35:59 írta tudvari »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal