Debug la OnPlayerClickPlayerTextDraw
#1

I started makeing a phone system, but when starting server get errors in OnPlayerClickPlayerTextDraw..

Код:
[12:26:54] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[12:26:54] [debug]  Stack pointer (STK) is 0x37F998, heap pointer (HEA) is 0x388528
[12:26:54] [debug] AMX backtrace:
[12:26:54] [debug] #0 ???????? in public MP_OPCPTD ()
[12:26:54] [debug] #1 native CallLocalFunction () [00472ad0] from samp-server.exe
[12:26:54] [debug] #2 ???????? in public OnPlayerClickPlayerTextDraw ()
Script:
Код:
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
	new string[300];
	new Text[300];
	if(opcptd[playerid] == 1)
	{
		//...
	}
	else if(opcptd[playerid] == 2)
	{
		//...
	}
	else if(opcptd[playerid] == 3)
	{
	    new Text[MAX_PLAYERS][300];
		if(playertextid == Phone[6][playerid])
		{
		    SCM(playerid, c_alb, "Ai dat lick pe 'Apel'.");
		    if(Suna[playerid] == 0)
		    {
			    for(new t; t != sizeof(Apel); ++t)
				{
					PlayerTextDrawShow(playerid, Apel[t][playerid]);
				}
				PlayerTextDrawHide(playerid, Phone[6][playerid]);
				PlayerTextDrawHide(playerid, Phone[7][playerid]);
				PlayerTextDrawHide(playerid, Phone[8][playerid]);
				PlayerTextDrawHide(playerid, Phone[9][playerid]);
				PlayerTextDrawHide(playerid, Phone[10][playerid]);
				PlayerTextDrawHide(playerid, Phone[11][playerid]);
				PlayerTextDrawHide(playerid, Phone[12][playerid]);
			}
			else if(Suna[playerid] == 1)
			{
			    for(new t; t != sizeof(Apel); ++t)
				{
					PlayerTextDrawHide(playerid, Apel[t][playerid]);
				}
				PlayerTextDrawHide(playerid, Phone[6][playerid]);
				PlayerTextDrawHide(playerid, Phone[7][playerid]);
				PlayerTextDrawHide(playerid, Phone[8][playerid]);
				PlayerTextDrawHide(playerid, Phone[9][playerid]);
				PlayerTextDrawHide(playerid, Phone[10][playerid]);
				PlayerTextDrawHide(playerid, Phone[11][playerid]);
				PlayerTextDrawHide(playerid, Phone[12][playerid]);
				for(new t; t != sizeof(SunaTD); ++t)
				{
					PlayerTextDrawShow(playerid, SunaTD[t][playerid]);
				}
			}
		}
		else if(playertextid == Phone[7][playerid])
		{
		    SCM(playerid, c_alb, "Ai dat lick pe 'Mesaj'.");
		}
		else if(playertextid == Phone[8][playerid])
		{
		    SCM(playerid, c_alb, "Ai dat lick pe 'Muzica'.");
   			opcptd[playerid] = 0;
			for(new t; t != sizeof(Apel); ++t)
			{
				PlayerTextDrawHide(playerid, Apel[t][playerid]);
			}
  			for(new t; t != sizeof(Phone); ++t)
			{
			    PlayerTextDrawHide(playerid, Phone[t][playerid]);
			}
			for(new t; t != sizeof(SunaTD); ++t)
			{
				PlayerTextDrawHide(playerid, SunaTD[t][playerid]);
			}
			CancelSelectTextDraw(playerid);
		    if(music[playerid] == 0)
		    {
			    opcptd[playerid] = 2;
			    SelectTextDraw(playerid, 0x00FF00FF);
			    PlayerTextDrawShow(playerid, mp_box[playerid]);
				PlayerTextDrawShow(playerid, mp_title[playerid]);
				PlayerTextDrawShow(playerid, mp_line[playerid]);
				PlayerTextDrawShow(playerid, mp_back[playerid]);
				PlayerTextDrawShow(playerid, mp_next[playerid]);
				PlayerTextDrawShow(playerid, mp_ps[playerid]);
				format(string, sizeof(string), "%s", Radio[PostRadio[playerid]][ar0]);
				PlayerTextDrawSetString(playerid, mp_music[playerid], string);
				PlayerTextDrawShow(playerid, mp_music[playerid]);
				format(string, sizeof(string), "%s", Radio[PostRadio[playerid]][ar1]);
				PlayAudioStreamForPlayer(playerid, string);
				music[playerid] = 1;
			}
			else if(music[playerid] == 1)
			{
			    CancelSelectTextDraw(playerid);
	/*		    PlayerTextDrawHide(playerid, mp_box[playerid]);
			    PlayerTextDrawHide(playerid, mp_title[playerid]);
			    PlayerTextDrawHide(playerid, mp_line[playerid]);
				PlayerTextDrawHide(playerid, mp_back[playerid]);
				PlayerTextDrawHide(playerid, mp_next[playerid]);
				PlayerTextDrawHide(playerid, mp_ps[playerid]);
				format(string, sizeof(string), " ");
				PlayerTextDrawSetString(playerid, mp_music[playerid], string);
				PlayerTextDrawHide(playerid, mp_music[playerid]);*/
				music[playerid] = 0;
				StopAudioStreamForPlayer(playerid);
			}
		}
		else if(playertextid == Phone[9][playerid])
		{
		    SCM(playerid, c_alb, "Ai dat lick pe 'GPS'.");
		    opcptd[playerid] = 0;
			for(new t; t != sizeof(Apel); ++t)
			{
				PlayerTextDrawHide(playerid, Apel[t][playerid]);
			}
  			for(new t; t != sizeof(Phone); ++t)
			{
			    PlayerTextDrawHide(playerid, Phone[t][playerid]);
			}
			for(new t; t != sizeof(SunaTD); ++t)
			{
				PlayerTextDrawHide(playerid, SunaTD[t][playerid]);
			}
			CancelSelectTextDraw(playerid);
	        new load[500], sss[70], ss[74];
	        for(new i=0; i<12; i++)
	        {
	            format(sss, sizeof(sss), "{2FB42C}%d{DE9FFF}. {FFFFFF}%s", i+1, GPS[i][locatie]);
	            format(ss, sizeof(ss), "%s \n", sss);
	            strcat(load, ss);
	        }
			ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "GPS", load, "OK", "Cancel");
		}
		else if(playertextid == Phone[10][playerid])
		{
		    SCM(playerid, c_alb, "Ai dat lick pe 'Liber_1'.");
		}
		else if(playertextid == Phone[11][playerid])
		{
		    SCM(playerid, c_alb, "Ai dat lick pe 'Liber_2'.");
		}
		else if(playertextid == Phone[12][playerid])
		{
  			SCM(playerid, c_alb, "Ai dat lick pe 'Liber_3'.");
		}
		else if(playertextid == Phone[5][playerid])
		{
		    PNumar[playerid] = 0;
			format(Text[playerid], sizeof(Text), " ");
			PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
		    for(new t; t != sizeof(Apel); ++t)
			{
				PlayerTextDrawHide(playerid, Apel[t][playerid]);
			}
  			for(new t; t != sizeof(Phone); ++t)
			{
			    PlayerTextDrawHide(playerid, Phone[t][playerid]);
				PlayerTextDrawShow(playerid, Phone[t][playerid]);
			}
			for(new t; t != sizeof(SunaTD); ++t)
			{
				PlayerTextDrawHide(playerid, SunaTD[t][playerid]);
			}
  			//PhoneShow[playerid] = 0;
  			//CancelSelectTextDraw(playerid);
		}
		else if(playertextid == Apel[6][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 1;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[7][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 2;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[8][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 3;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[9][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 4;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[10][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 5;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[11][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 6;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[12][playerid])
		{
  			if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 7;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[13][playerid])
		{
  			if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 8;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[14][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 9;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[15][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] * 10 + 0;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[18][playerid])
		{
		    if(PNumar[playerid] < 1000)
		    {
			    PNumar[playerid] = PNumar[playerid] / 10;
			    format(Text[playerid], sizeof(Text), "%d", PNumar[playerid]);
				PlayerTextDrawSetString(playerid, Apel[2][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[2][playerid]);
				PlayerTextDrawShow(playerid, Apel[2][playerid]);
			}
			else
			{
			    format(Text[playerid], sizeof(Text), "Numar invalid");
				PlayerTextDrawSetString(playerid, Apel[19][playerid], Text[playerid]);
				PlayerTextDrawHide(playerid, Apel[19][playerid]);
				PlayerTextDrawShow(playerid, Apel[19][playerid]);
			}
		}
		else if(playertextid == Apel[16][playerid])
		{
		    for(new i=0; i<MAX_PLAYERS; i++)
		    {
		        if(IsPlayerConnected(i))
		        {
		            if(PNumar[playerid] == PlayerInfo[i][pNrTel])
		            {
		                if(VorbesteTel[playerid] == 0 && VorbesteTel[i] == 0)
		                {
			                new cinesuna[MAX_PLAYER_NAME], pecinesuna[MAX_PLAYER_NAME];
							GetPlayerName(playerid, cinesuna, sizeof(cinesuna));
							GetPlayerName(i, pecinesuna, sizeof(pecinesuna));
					  		format(string, sizeof(string), "{FFFFFF}[{2FB42C}Telefon{FFFFFF}] Il suni pe {DE9FFF}%s{FFFFFF}... ", pecinesuna);
			                SCM(playerid, c_alb, string);
			                format(string, sizeof(string), "{FFFFFF}[{2FB42C}Telefon{FFFFFF}] Te suna {DE9FFF}%s{FFFFFF}... ", cinesuna);
			                SCM(i, c_alb, string);
	                  		VorbesteTel[playerid] = 1;
	                  		Suna[playerid] = 1;
							Suna[i] = 1;
							SunaPe[playerid] = i;
							SunatDe[i] = playerid;
			                break;
						}
					}
				}
			}
		}
		else if(playertextid == SunaTD[3][playerid])
		{
		    for(new i=0; i<MAX_PLAYERS; i++)
		    {
		        if(IsPlayerConnected(i))
		        {
		            if(SunatDe[playerid] == SunaPe[playerid])
		            {
						if(VorbesteTel[i] == 1 && Suna[playerid] == 1 && Suna[i] == 1)
						{
						    new cinesuna[MAX_PLAYER_NAME], pecinesuna[MAX_PLAYER_NAME];//, tex[100];
						    VorbesteTel[playerid] = 1;
						    Suna[playerid] = 0;
						    Suna[i] = 0;
						    GetPlayerName(playerid, cinesuna, sizeof(cinesuna));
							GetPlayerName(i, pecinesuna, sizeof(pecinesuna));
							
							//format(tex, sizeof(tex), "%s", cinesuna);
							//format(Text[playerid], sizeof(Text), "%s", cinesuna);
							//PlayerTextDrawSetString(playerid, Suna[2][playerid], Text[playerid]);
							//PlayerTextDrawSetString(playerid, Suna[2][playerid], tex);
							//PlayerTextDrawHide(playerid, Suna[2][playerid]);
							//PlayerTextDrawShow(playerid, Suna[2][playerid]);
							
							//format(Text[playerid], sizeof(Text), "%d", PlayerInfo[i][NrTel]);
							//PlayerTextDrawSetString(playerid, Suna[5][playerid], Text[playerid]);
							//PlayerTextDrawHide(playerid, Suna[5][playerid]);
							//PlayerTextDrawShow(playerid, Suna[5][playerid]);
					  		format(string, sizeof(string), "{FFFFFF}[{2FB42C}Telefon{FFFFFF}] I-ai raspuns lui {DE9FFF}%s{FFFFFF}. Acum vorbesti cu el la telefon. ", pecinesuna);
			                SCM(playerid, c_alb, string);
			                format(string, sizeof(string), "{FFFFFF}[{2FB42C}Telefon{FFFFFF}] {DE9FFF}%s{FFFFFF} ti-a raspuns la telefon. Acum vorbesti cu el. ", cinesuna);
			                SCM(i, c_alb, string);
						}
		            }
				}
			}
		}
		else if(playertextid == SunaTD[4][playerid])
		{
		    for(new i=0; i<MAX_PLAYERS; i++)
		    {
		        if(IsPlayerConnected(i))
		        {
		            if(SunatDe[playerid] == SunaPe[i])
		            {
						if(VorbesteTel[i] == 1 && Suna[playerid] == 1 && Suna[i] == 1)
						{
						    new cinesuna[MAX_PLAYER_NAME], pecinesuna[MAX_PLAYER_NAME];
						    VorbesteTel[playerid] = 0;
						    VorbesteTel[i] = 0;
						    Suna[playerid] = 0;
						    Suna[i] = 0;
						    SunatDe[playerid] = 255; SunaPe[i] == 255;
						    GetPlayerName(playerid, cinesuna, sizeof(cinesuna));
							GetPlayerName(i, pecinesuna, sizeof(pecinesuna));
					  		format(string, sizeof(string), "{FFFFFF}[{2FB42C}Telefon{FFFFFF}] I-ai respins apelul lui {DE9FFF}%s{FFFFFF}.", pecinesuna);
			                SCM(playerid, c_alb, string);
			                format(string, sizeof(string), "{FFFFFF}[{2FB42C}Telefon{FFFFFF}] {DE9FFF}%s{FFFFFF} ti-a respins apelul. ", cinesuna);
			                SCM(i, c_alb, string);
			                for(new t; t != sizeof(Apel); ++t)
							{
								PlayerTextDrawHide(playerid, Apel[t][playerid]);
							}
							for(new t; t != sizeof(SunaTD); ++t)
							{
								PlayerTextDrawHide(playerid, SunaTD[t][playerid]);
							}
				  			for(new t; t != sizeof(Phone); ++t)
							{
							    PlayerTextDrawHide(playerid, Phone[t][playerid]);
								PlayerTextDrawShow(playerid, Phone[t][playerid]);
							}
						}
		            		}
				}
			}
		}
	}
	return 1;
}
Reply
#2

UP !!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)