Jump to content
  • 0

pomoc Info hráče


Baseball

Dotaz

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

8 odpovědí na tuto otázku

Recommended Posts

  • 0

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 by ATomas
Link to comment
Share on other sites

  • 0

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

  • 0

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 by Matthew_Bennet
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

 

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

  • 0

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 by Matthew_Bennet
Link to comment
Share on other sites

  • 0

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é icon_e_biggrin.gif

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 by Quiter
Link to comment
Share on other sites

  • 0

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...