Textdraw box wont click
#1

I've made set of clickable textdraw box. When i click on one of them nothing heppens.

heres code of 1(rest are same, just another position). Thank you in advice.

Код:
// textdraw - ongamemodeinit
TDZlatara[2] = TextDrawCreate(176.666641, 110.355529, "box");
TextDrawLetterSize(TDZlatara[2], 0.000000, 4.533335);
TextDrawTextSize(TDZlatara[2], 204.333297, 0.000000);
TextDrawAlignment(TDZlatara[2], 1);
TextDrawColor(TDZlatara[2], -1);
TextDrawUseBox(TDZlatara[2], 1);
TextDrawBoxColor(TDZlatara[2], 255);
TextDrawSetShadow(TDZlatara[2], 0);
TextDrawSetOutline(TDZlatara[2], 0);
TextDrawBackgroundColor(TDZlatara[2], 255);
TextDrawFont(TDZlatara[2], 1);
TextDrawSetProportional(TDZlatara[2], 1);
TextDrawSetShadow(TDZlatara[2], 0);
TextDrawSetSelectable(TDZlatara[2], true);
// OnPlayerClickTextDraw
if(clickedid == TDZlatara[2]){
			SPD(playerid, DIALOG_UNOSBOX_1, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
   			return 1;
	    }
// function that display textdraws
stock KreirajTDZlatara(playerid, status){
    switch(status){
		case 0:{
		    for(new i = 0;i<sizeof(TDZlatara);i++)
		    	TextDrawHideForPlayer(playerid, TDZlatara[i]);
		}
		case 1:{
		    for(new i = 0;i<sizeof(TDZlatara);i++)
		   	 	TextDrawShowForPlayer(playerid, TDZlatara[i]);
		}
	}
	return 1;
}
Reply
#2

Hmmm, try it like this:
PHP код:
public OnPlayerClickTextDraw(playeridText:clickedid) {
    if(
_:clickedid != INVALID_TEXT_DRAW) {
        if(
clickedid == TDZlatara[2]) {
            
SPD(playeridDIALOG_UNOSBOX_1DIALOG_STYLE_INPUT"1337 hackZ0r""Unesite broj za lozinku.""Potvrdi""Odustani");
               return 
1;
        }
    }
    return 
1;

Reply
#3

Still same problem
Reply
#4

give full public OnPlayerClickTextDraw
Reply
#5

Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{

	if(_:clickedid != INVALID_TEXT_DRAW) // If the player clicked a valid textdraw, continue with the coding. (_:var removes the Text: tag, to avoid tag mismatch)
    {
        if(clickedid == BankomatTD[7]){
            ATM_StanjeRacuna(playerid, 1);
			return 1;
		}
		if(clickedid == BankomatTD[8]){
			ATM_PodizanjePara(playerid, 1);
			ATMPodizanje[playerid] = true;
			return 1;
		}if(clickedid == BankomatTD[9]){
		    ATMPodizanje[playerid] = false;
		    Podignuo[playerid] = 0;
		    ATM_Izlaz(playerid);
		    CancelSelectTextDraw(playerid);
			return 1;
		}
		if(clickedid == BankomatTD[11]){
			ATM_GlavniMeni(playerid, 1);
			return 1;
		}
		if(clickedid == BankomatTD[20]){
			if(PI[playerid][Banka] < Podignuo[playerid])
				return SCM(playerid, GRAD2, "[{F81414}Greska !{FFFFFF}] Nemate toliko novca na bankovnom racunu!");
			if(ATMInfo[KoristiBankomat[playerid]][atmNovac] < Podignuo[playerid])
			    return SCM(playerid, GRAD2, "[{F81414}Greska !{FFFFFF}] Bankomat koji koristite nema toliko novca u sebi!");
			if(Podignuo[playerid] > 99999999)
			    return SCM(playerid, GRAD2, "[{F81414}Greska !{FFFFFF}] Nevazeci iznost!");
			PI[playerid][Banka] -= Podignuo[playerid];
			ATMInfo[KoristiBankomat[playerid]][atmNovac] -= Podignuo[playerid];
			NovacPlus(playerid, Podignuo[playerid]);
			new imezadb[MAX_PLAYER_NAME];
			ImeIgraca(playerid, imezadb);
			format(CmdString, sizeof(CmdString), "UPDATE `Igraci` SET `Banka` = '%d' WHERE `Ime` = '%s'", PI[playerid][Banka], imezadb);
			sql_query(mysql, CmdString);
			format(CmdString, sizeof(CmdString), "UPDATE `Bankomati` SET `Novac` = '%d' WHERE `ID` = '%d'", ATMInfo[KoristiBankomat[playerid]][atmNovac], KoristiBankomat[playerid]);
			sql_query(mysql, CmdString);
			TextDrawHideForPlayer(playerid, BankomatTD[16]);
			format(CmdString, sizeof(CmdString), "0");
            TextDrawSetString(BankomatTD[16], CmdString);
		    TextDrawShowForPlayer(playerid, BankomatTD[16]);
		    Podignuo[playerid] = 0;
			return 1;
		}
		 ///////////////////////////////////////////////////////////////////////
	     if(clickedid == GLogin3) // LOGIN
	    {
	         new szQuery[64+MAX_PLAYER_NAME];
	         new szPlayerName[MAX_PLAYER_NAME];
		     ImeIgraca(playerid, szPlayerName);
		     format(szQuery, sizeof(szQuery), "SELECT `ID` FROM `Igraci` WHERE `Ime` = '%s' LIMIT 1", szPlayerName);
		     sql_query(mysql, szQuery, QUERY_THREADED | QUERY_CACHED, "mysql_CheckPlayerAccount1", "ri", playerid);
		     return 1;
	    }
	    if(clickedid == GLogin5) // REGISTER
	    {
	         new szQuery[64+MAX_PLAYER_NAME];
	         new szPlayerName[MAX_PLAYER_NAME];
		     ImeIgraca(playerid, szPlayerName);
		     format(szQuery, sizeof(szQuery), "SELECT `ID` FROM `Igraci` WHERE `Ime` = '%s' LIMIT 1", szPlayerName);
		     sql_query(mysql, szQuery, QUERY_THREADED | QUERY_CACHED, "mysql_CheckPlayerAccount2", "ri", playerid);
		     return 1;
	    }
	    if(clickedid == GLogin15) // FORUM
	    {
	        ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX,"{07C1F5}Forum","{07C1F5}Forum link: {FFFFFF}www.gg-samp.com","OK","");
	        return 1;
	    }
	    if(clickedid == GLogin17) // TS3
	    {
	        ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX,"{07C1F5}TeamSpeak3","{07C1F5}TeamSpeak 3 IP: {FFFFFF}178.33.216.112","OK","");
	        return 1;
	    }
	    /////////////////// ZLATARA OBIJANJE ///////////////////////////////////
	    if(_:clickedid != INVALID_TEXT_DRAW) {
		    if(clickedid == TDZlatara[2]){
				SPD(playerid, DIALOG_UNOSBOX_1, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
	   			return 1;
		    }
		    if(clickedid == TDZlatara[3]){
		        SPD(playerid, DIALOG_UNOSBOX_2, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
	         	return 1;
		    }
		    if(clickedid == TDZlatara[4]){
		        SPD(playerid, DIALOG_UNOSBOX_3, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
		        return 1;
		    }
		    if(clickedid == TDZlatara[5]){
		        SPD(playerid, DIALOG_UNOSBOX_4, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
		        return 1;
		    }
		    if(clickedid == TDZlatara[6]){
		        SPD(playerid, DIALOG_UNOSBOX_5, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
		        return 1;
		    }
			if(clickedid == TDZlatara[7]){
			    SPD(playerid, DIALOG_UNOSBOX_6, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
			    return 1;
			}
			if(clickedid == TDZlatara[8]){
			    SPD(playerid, DIALOG_UNOSBOX_7, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
			    return 1;
			}
			if(clickedid == TDZlatara[9]){
			    SPD(playerid, DIALOG_UNOSBOX_8, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
			    return 1;
			}
			if(clickedid == TDZlatara[10]){
			    SPD(playerid, DIALOG_UNOSBOX_9, DIALOG_STYLE_INPUT, "1337 hackZ0r", "Unesite broj za lozinku.", "Potvrdi", "Odustani");
			    return 1;
			}
		}
	    ////////////////////////////////////////////////////////////////////////
    }
    if(_:clickedid == 65535 && GetPVarInt(playerid, "hid_input_active") != 0)
	{
		if(GetPVarInt(playerid, "hid_input_td_close") != 0) CancelInput(playerid);
		else SelectTextDraw(playerid, 0xFFFFFFFF);
		return 1;
	}
    return 1;
}
Reply
#6

Dusan doesn't know what he's doing the problem line is here.
TextDrawTextSize(TDZlatara[2], 204.333297, 0.000000);
You have not set height of the clickable area.
Reply
#7

What height should i set?
Reply
#8

@Pottus ahh i did not saw that

Try this:
Код:
TextDrawTextSize(TDZlatara[2], 204.333297, 20.000000);
- The TextDraw box starts 10.0 units up and 5.0 to the left as the origin (TextDrawCreate coordinate).
Reply
#9

Still same problem, when i click on box, nothing heppens.
Reply
#10

Even when i recreated TD and used just text with useboxes still same problem.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)