[Pomoc] OnPlayerClickTextDraw


Započeo Bos, Decembar 04, 2015, 17:35:13 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.


Bos

*

Skripta koju koristim:moja
Detaljan opis problema: Nikad nisam radio sa ovim i gledao sam nesto na samp wiki i pokusao sam da napravim ali kad sam dodao u skriptu nije radilo. NIsam radio u svom modu nego sam uzeo obicnu skriptu i pokusao sam da testiram da vidim da li ce raditi al nije radilo.
Dio skripte:
new PlayerText:TDTextDraw[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{	
TDTextDraw[playerid] = CreatePlayerTextDraw(playerid, 408.333343, 342.740783, "TextDraw");
	PlayerTextDrawLetterSize(playerid, TDTextDraw[playerid], 0.449999, 1.600000);
	PlayerTextDrawAlignment(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawColor(playerid, TDTextDraw[playerid], -1);
	PlayerTextDrawSetShadow(playerid, TDTextDraw[playerid], 0);
	PlayerTextDrawSetOutline(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawBackgroundColor(playerid, TDTextDraw[playerid], 51);
	PlayerTextDrawFont(playerid, TDTextDraw[playerid], 2);
	PlayerTextDrawSetProportional(playerid, TDTextDraw[playerid], 1);
	return 1;
}

CMD:ucitajtext(playerid,params[])
{
	SelectTextDraw(playerid,0xFF0000FF);
	PlayerTextDrawShow(playerid, TDTextDraw[playerid]);
	return 1;
}

public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
    if(playertextid == TDTextDraw[playerid])
    {
	CancelSelectTextDraw(playerid); PlayerTextDrawHide(playerid,TDTextDraw[playerid]);
	return 1;
    }
	return 1;
}

Ovo je samo obican primer
Neke slike/video za lakse dobivanje pomoci(neobavezno):

TDTextDraw[playerid] = CreatePlayerTextDraw(playerid, 408.333343, 342.740783, "TextDraw");
	PlayerTextDrawLetterSize(playerid, TDTextDraw[playerid], 0.449999, 1.600000);
	PlayerTextDrawAlignment(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawColor(playerid, TDTextDraw[playerid], -1);
	PlayerTextDrawSetShadow(playerid, TDTextDraw[playerid], 0);
	PlayerTextDrawSetOutline(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawBackgroundColor(playerid, TDTextDraw[playerid], 51);
	PlayerTextDrawFont(playerid, TDTextDraw[playerid], 2);
	PlayerTextDrawSetProportional(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawSetSelectable ( playerid, TDTextDraw [ playerid ], true ) ; // dodas

Bos

*

E redi, ali imam sad jos jedan problem, znaci ucita mi i kad se streline ne nalazi na tom textdrawu. Evo na slicnu se ne moze vidjeti strelica pa sam ti crvenom linojom odvojio, naci gdje god u tom postrotu da klikem taj textdraw se ucita, http://i.imgur.com/bdHFAA2.png .

Koristi UseBox i napravi na kom prostoru ga moze kliknut. Jednostavno dodaj
PlayerTextDrawUseBox ( playerid, TDTextDraw [ playerid ], true ) ;
PlayerTextDrawTextSize ( playerid, TDTextDraw [ playerid ], 20.0000, 20.0000 ) ;

Bos

*

Izvini sto te smaram ali je sve ovo za mene novo i sad se bas snalazim dobro, ako mi mozes poslati neki primer da vidim kako treba to da izgleda.

Tu sam da ti pomognem.. :D
new PlayerText:TDTextDraw[MAX_PLAYERS]; // na vrh

public OnPlayerConnet(playerid {
	TDTextDraw[playerid] = CreatePlayerTextDraw(playerid, 333.600097, 96.320129, "Kliknite");
	PlayerTextDrawLetterSize(playerid, TDTextDraw[playerid], 0.379599, 1.353599);
	PlayerTextDrawAlignment(playerid, TDTextDraw[playerid], 2);
	PlayerTextDrawColor(playerid, TDTextDraw[playerid], -1);
	PlayerTextDrawUseBox(playerid, TDTextDraw[playerid], true);
	PlayerTextDrawBoxColor(playerid, TDTextDraw[playerid], 0);
	PlayerTextDrawSetShadow(playerid, TDTextDraw[playerid], 0);
	PlayerTextDrawSetOutline(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawBackgroundColor(playerid, TDTextDraw[playerid], 255);
	PlayerTextDrawFont(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawSetProportional(playerid, TDTextDraw[playerid], 1);
	PlayerTextDrawSetSelectable(playerid, TDTextDraw[playerid], true);
	PlayerTextDrawTextSize(playerid, TDTextDraw[playerid], 20.0000, 20.0000);
	return 1;
}

public OnPlayerSpawn(playerid) {
	PlayerTextDrawShow(playerid, TDTextDraw[playerid]);
	SelectTextDraw(playerid, 0x00FF00FF);
	return 1;
}

public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) {
    	if(playertextid == TDTextDraw[playerid]) {
    		SendClientMessage(playerid, -1, "KLIKNUO SI NA OVAJ TEXTDRAW");
PlayerTextDrawHide(playerid, TDTextDraw[playerid]);
	CancelSelectTextDraw(playerid);
	}
	return 1;
}

YCMD:refresh(playerid, params[], help) //cmd da ponovo probas TD :D
{
	PlayerTextDrawShow(playerid, TDTextDraw[playerid]);
	SelectTextDraw(playerid, 0x00FF00FF);
SendClientMessage(playerid, -1, "Otvorili ste opet textdraw");
	return 1;
}

Bos

*

Evo radi ovo tvoje, koliko sam skontao ovo je
PlayerTextDrawTextSize(playerid, TDTextDraw[playerid], 20.0000, 20.0000);
glavno sto se tice pozicije gdje da kliknes da ti se ucita textdraw. Eee sad kako ja to da oderedim ove kordinate za moj textdraw,i hvala a ovo do sad.  ;D
Poslednja Izmena: Decembar 05, 2015, 14:17:13 POSLE PODNE od Bos

To nisu kordinati ja sam tu stavio 20 jer sam cuo da kod nekih baguje kada stavi neku manju cifru.

Ja taj kod koristim na svojoj skripti i sve savrseno radi.

https://www.facebook.com/rgamers.ogc/ - sto ovde mozes vidjeti medju prvim slikama gdje je registracija system :)

Bos

*

Znas sta je tu problem sto mogu samo da klinem evo oznacio sam ti na slici gdje http://i.imgur.com/YZ2O14N.png , a ne preko cijelog textdrawa znaci samo tu kad kliknem on se ucita, ako ne znas zasto nema veze onda moze Lock. Hvala ti puno i za ovoooo. :D :D

Pa skini neki TDEditor i stavi UseBox na 1 i onda samo oznacis koliki ce ti biti prostor za select. Ja sam to sebi sa IpleoMax imas onaj TextSize za povecavanje onog Boxa...
:)

Bos

*

Evo ga sve savrseno radii. Hvala na pomocii. Moze LOCK