Baseball 2 Odesláno: 3. Leden, 2018 Share Odesláno: 3. Leden, 2018 Popis problému: Zdravím, po dlouhé době jsem otevřel svůj starý mód a řekl si že přidám info (ten mod je fakt celkem blbovina spíš 4fun, než na použití). Na serveru se zobrazí první dva řádky, bez hodnoty.. Chyby/varování kompilátoru a při běhu: Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase //tedy bez chyb / varování Kód: [code=auto:954] if(dialogid == 2) { new info[1000], string[1000], jmeno[MAX_PLAYER_NAME]; GetPlayerName(playerid, jmeno, sizeof(jmeno)); if(listitem == 0) { strcat(string, "Peníze banka: %d\n",Banka[playerid]); strcat(string, "Peníze v ruce: %d\n",GetPlayerMoney(playerid)); strcat(string, "Administrační úroveň: %d\n",Admin[playerid]); format(info,sizeof(info),string); ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, jmeno, info,"OK",""); //https://pawno.cz/topic/48115-player-info/ } [/code] Dodatečné poznámky: Děkuji za pomoc. Link to comment Share on other sites More sharing options...
0 ATomas 286 Odesláno: 4. Leden, 2018 Share Odesláno: 4. Leden, 2018 (upraveno) Je to tim ze si to prepisujes naformatuejs sice jeden radek ale tim druhym ten prvni premazes. Existuje dve reseni, ktere muzes pouzit. Toto je vhodne pouzit pokud je radku min kod je rychlejsi if(dialogid == 2) { new string[2048],jmeno[MAX_PLAYER_NAME]; GetPlayerName(playerid,jmeno,sizeof(jmeno)); if(listitem == 0) { format(string,sizeof(string),"Peníze banka: %d",Banka[playerid]); format(string,sizeof(string),"%s\nPeníze v ruce: %d",string,GetPlayerMoney(playerid)); format(string,sizeof(string),"%s\nAdministrační úroveň: %d",string,Admin[playerid]); ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,jmeno,string,"OK",""); } } Tent odruhy zpusob je dobre pouzit pokud tec hradku v dialogu bude hodne. Protoze je zase v tomhle pripade rychlejsi tento druhy if(dialogid == 2) { new string[2048],str[128],jmeno[MAX_PLAYER_NAME]; GetPlayerName(playerid,jmeno,sizeof(jmeno)); if(listitem == 0) { format(string,sizeof(string),"Peníze banka: %d",Banka[playerid]); format(string,sizeof(string),"\nPeníze v ruce: %d",GetPlayerMoney(playerid)); strcat(string,str); format(string,sizeof(string),"\nAdministrační úroveň: %d",Admin[playerid]); strcat(string,str); ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,jmeno,string,"OK",""); } } Edited 6. Leden, 2018 by ATomas Link to comment Share on other sites More sharing options...
0 DuFF 81 Odesláno: 4. Leden, 2018 Share Odesláno: 4. Leden, 2018 Atomas, určite sa dá použiť strcat týmto spôsobom: "strcat(string,"%s\nPeníze v ruce: %d",string,GetPlayerMoney(playerid));"? Mám dojem, že strcat nemá variabilný počet parametrov a skôr by sa mala použiť funkcia format. http://wiki.sa-mp.com/wiki/Strcat Link to comment Share on other sites More sharing options...
0 Matthew_Bennet 44 Odesláno: 4. Leden, 2018 Share Odesláno: 4. Leden, 2018 (upraveno) Atomas, určite sa dá použiť strcat týmto spôsobom: "strcat(string,"%s\nPeníze v ruce: %d",string,GetPlayerMoney(playerid));"? Mám dojem, že strcat nemá variabilný počet parametrov a skôr by sa mala použiť funkcia format. http://wiki.sa-mp.com/wiki/Strcat Skôr určite by sa mal použiť format(). new data[size]; format(data, sizeof size, "Admin Level : %s\nBanka : %i\nCash : %i", Admin[playerid], Banka[playerid], GetPlayerMoney(playerid)); ShowPlayerDialog(playerid, dialogid, style, head, data, button, button); Edited 4. Leden, 2018 by Matthew_Bennet 1 Link to comment Share on other sites More sharing options...
0 Baseball 2 Odesláno: 4. Leden, 2018 Author Share Odesláno: 4. Leden, 2018 Skôr určite by sa mal použiť format(). new data[size]; format(data, sizeof size, "Admin Level : %s\nBanka : %i\nCash : %i", Admin[playerid], Banka[playerid], GetPlayerMoney(playerid)); ShowPlayerDialog(playerid, dialogid, style, head, data, button, button); Díky a našel by jsi nějaký trik aby se nemuselo vše psát do jednoho dlouhého řádku? Protože se to přepíše, když dám dva pod sebe. Link to comment Share on other sites More sharing options...
0 Matthew_Bennet 44 Odesláno: 4. Leden, 2018 Share Odesláno: 4. Leden, 2018 (upraveno) Díky a našel by jsi nějaký trik aby se nemuselo vše psát do jednoho dlouhého řádku? Protože se to přepíše, když dám dva pod sebe. new data[size]; format(data, sizeof data, "AdminLevel : %i\n\ Banka : %i\n\ Cash : %i\n\ Niečo : %s", AdminLevel[playerid], Banka[playerid], GetPlayerMoney(playerid), Niečo[playerid]); ShowPlayerDialog(playerid, dialogid, style, "head", data, "button", "button"); Ak ti ide len o to, že je to dlhé tak nech sa páči. Alebo ak niekto pozná iný spôsob nech ho napíše. Neviem teda ako tebe, ale mne osobne sa to nepáči keď je to v MSGBOXe. Skôr v TABLISTe, ale tak ako každý má svoje oči však? http://wiki.sa-mp.com/wiki/Dialog_Styles Edited 4. Leden, 2018 by Matthew_Bennet Link to comment Share on other sites More sharing options...
0 Baseball 2 Odesláno: 4. Leden, 2018 Author Share Odesláno: 4. Leden, 2018 Okej dík. No já používám spíš TABLIST Headers, když už. Každopádně moc děkuji! Link to comment Share on other sites More sharing options...
0 Quiter 99 Odesláno: 5. Leden, 2018 Share Odesláno: 5. Leden, 2018 (upraveno) Díky a našel by jsi nějaký trik aby se nemuselo vše psát do jednoho dlouhého řádku? Protože se to přepíše, když dám dva pod sebe. Ako dá sa to aj na viac riadkov, ale je to zbytočné Každopádne keď chceš, ukážem ti ako... new string[pocet_znakov]; new nieco1 = 5, nieco2 = 18, nieco3 = 1; format(string, sizeof(string), "nieco1 %d", nieco1); // naformatujeme text format(string, sizeof(string), "%s\nnieco2 %d", string, nieco2); // teraz naformatujeme text tak, že na začiatok vložíme pôvodný text a doplníme ďalšiu časť format(string, sizeof(string), "%s\nnieco3 %d", string, nieco3); // opäť dáme pôvodný text, teraz už však rozšírený o NIECO2 a doplníme ďalšiu časť a takto pokračuješ // výsledny textu bude: //nieco1 5 //nieco2 18 //nieco3 1 Edited 5. Leden, 2018 by Quiter Link to comment Share on other sites More sharing options...
0 Scydo 397 Odesláno: 5. Leden, 2018 Share Odesláno: 5. Leden, 2018 Díky a našel by jsi nějaký trik aby se nemuselo vše psát do jednoho dlouhého řádku? Protože se to přepíše, když dám dva pod sebe. format(data, sizeof size, "Admin Level : %s\nBanka : %i\nCash : %i", Admin[playerid], Banka[playerid], GetPlayerMoney(playerid)); Link to comment Share on other sites More sharing options...
Dotaz
Baseball 2
Popis problému:
Zdravím,
po dlouhé době jsem otevřel svůj starý mód a řekl si že přidám info (ten mod je fakt celkem blbovina spíš 4fun, než na použití). Na serveru se zobrazí první dva řádky, bez hodnoty..
Chyby/varování kompilátoru a při běhu:
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
//tedy bez chyb / varování
Kód:
Dodatečné poznámky:
Děkuji za pomoc.
Link to comment
Share on other sites
8 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now