Jump to content

Recommended Posts

Posted (edited)

Salut! Astazi o  sa te invat cum sa lucrezi cu textele lungi si cum in general sa le usurezi....exista citeva metode si o sa le spun care le stiu eu si de care ma folosesc.

//Această metodă este potrivită atunci când există unele variabile care trebuie să fie încorporate în text.
new string[10];
format(string, sizeof(string), "%d",string);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "", string, "", "");  



//Această metodă este potrivită pentru afișarea textului mare, în care nu există variabile care să fie inserate în text,putem sa folosim si un anumit ciclu.
static const _n[1][] =
{
"text"
}
new string[1];
for(new _j; _j < 1; _j++) format(string, sizeof(string),"%s%s\n", string, _n[j]);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "", string, "", "");  



//În această metodă, atunci când se afișează un dialog, player-ul va primi conținutul tuturor liniilor. În secțiunea de date, aceste șiruri de caractere sunt localizate imediat unul după altul și le puteți uni înlocuind caracterul de la sfârșitul liniei în long_string cu orice alt caracter (în acest caz o ruptură de linie).Deci nu va fi necesar să distingeti un loc și să le conectați înainte de fiecare utilizare - totul sa făcut deja.

new
    long_string[] =
        "\n"\
        "",
    long_string_1[] =
        "\n"\
        "";

OnGameModeInit() {
  long_string[sizeof(long_string)-1] = '\n';
  long_string_1[sizeof(long_string_1)-1] = '\0';  
  return 1;
}

ShowPlayerDialog(playerid, 0, DIALOG_TYPE_MSGBOX, "", long_string, "", ""); // afisati unde doriti,dupa parerea mea aceasta metoda este cea mai optimizata si mai usoara in uitlizare.

Sper ca o sa va fie de folos acest tutorial! Multumesc pentru atentie.

Edited by Khain
  • Thanks 1
  • Upvote 1
  • 2 weeks later...
Posted (edited)

Va dau un simplu exemplu,o sa afisam comenzile administratorului prin dialog.

CMD:acmd(playerid) {
	if(PI[playerid][pAdmin] < 1) return 1;
  
	static const _n[][] =
	{
		{1, "ADMIN I - /teleport, /pm\n"},
      	{2, "ADMIN II - /kick\n"}
	};
  
	new string[30];
	for(new j; j < sizeof(_n); j++)
	{
		if(_n[j][0] <= PI[playerid][pAdmin])
			format(string, sizeof(string), "%s%s", string, _n[j][1]);
	}
  
	ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "Comenzile tale ca administrator", string, ">>", "");
	return 1;
}

 

Edited by K H A I N

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...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.