[DUDA] Textdraws selectables
#1

Hola pasa que tengo un problema, quiero hacer una seleccion de skin con 1 texdraw selectable pero la presiciуn de esta no es muy precisa, no se por que xd creo que he echo todo en orden pero cuando acerco el puntero del mouse, se marca una, o se marca otra nada que ver, o incluso cuando alejo el puntero de "lo selectable" se marca solo xd, es decir la precisiуn no es tan exacta, asi lo tengo:

Код:
LA FUNCION: TextDrawShowForPlayer(playerid, TDEditor_TD[0]);
		TextDrawShowForPlayer(playerid, TDEditor_TD[1]);
		TextDrawShowForPlayer(playerid, TDEditor_TD[2]);
		TextDrawShowForPlayer(playerid, TDEditor_TD[3]);
		TextDrawShowForPlayer(playerid, TDEditor_TD[4]);
  		SelectTextDraw(playerid, -1);
		TextDrawShowForPlayer(playerid, TDEditor_TD[5]);
		SelectTextDraw(playerid, -1);

LA DEFINICIУN DE LOS TD:

TDEditor_TD[4] = TextDrawCreate(212.000000, 184.000000, "Humanos");
	TextDrawBackgroundColor(TDEditor_TD[4], 255);
	TextDrawFont(TDEditor_TD[4], 2);
	TextDrawLetterSize(TDEditor_TD[4], 0.419999, 2.100000);
	TextDrawColor(TDEditor_TD[4], 0x006200FF);
	TextDrawSetOutline(TDEditor_TD[4], 0);
	TextDrawSetProportional(TDEditor_TD[4], 1);
	TextDrawSetShadow(TDEditor_TD[4], 1);
	TextDrawSetSelectable(TDEditor_TD[4], true);

	TDEditor_TD[5] = TextDrawCreate(360.000000, 184.000000, "Zombies");
	TextDrawBackgroundColor(TDEditor_TD[5], 255);
	TextDrawFont(TDEditor_TD[5], 2);
	TextDrawLetterSize(TDEditor_TD[5], 0.419999, 2.100000);
	TextDrawColor(TDEditor_TD[5], 0x730000FF);
	TextDrawSetOutline(TDEditor_TD[5], 0);
	TextDrawSetProportional(TDEditor_TD[5], 1);
	TextDrawSetShadow(TDEditor_TD[5], 1);
	TextDrawSetSelectable(TDEditor_TD[5], true);

CALLBACK: OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == TDEditor_TD[4]) // Equipo Humanos
    {
		TextDrawHideForPlayer(playerid, TDEditor_TD[0]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[1]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[2]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[3]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[4]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[5]);
	    CancelSelectTextDraw(playerid);
	    SpawnPlayer(playerid);
    }
    if(clickedid == TDEditor_TD[5]) // Equipo Zombies
    {
		TextDrawHideForPlayer(playerid, TDEditor_TD[0]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[1]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[2]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[3]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[4]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[5]);
	    CancelSelectTextDraw(playerid);
	    SpawnPlayer(playerid);
    }
    return 1;
}
Reply
#2

Para definir el бrea "clickeable" debes utilizar TextDrawTextSize. Mi consejo es que le hagas un box al TextDraw, para que tu veas dicho бrea mientras lo editas, recuerda que el бrea del box se corresponde con el бrea que puedes seleccionar.

Una vez hecho esto, exportas el TextDraw y borras la funciуn TextDrawUseBox pero mantienes TextDrawTextSize.

Bбsicamente tu problema se debe a lo que te acabo de comentar.

Un saludo.
Reply
#3

Cierto yo hace mucho tenia el mismo problema depende el tamaсo de textdraw
Reply
#4

No entendн amigo RIDE2DAY, les puse un box a cada 1 pero creo que los selectables con los box no funcionan por lo que veo, tmbn hice lo que me dijiste, luego de hacer la letra dentro del mismo box, le borre la linea del UseBox y es lo mismo xd, no funciona ahora
Reply
#5

No entendi del todo tu problema :/

Код:
CALLBACK: OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == TDEditor_TD[4]) // Equipo Humanos
    {
		TextDrawHideForPlayer(playerid, TDEditor_TD[0]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[1]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[2]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[3]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[4]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[5]);
	    CancelSelectTextDraw(playerid);
	    SpawnPlayer(playerid);
    }
    else if(clickedid == TDEditor_TD[5]) // Equipo Zombies
    {
		TextDrawHideForPlayer(playerid, TDEditor_TD[0]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[1]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[2]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[3]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[4]);
		TextDrawHideForPlayer(playerid, TDEditor_TD[5]);
	    CancelSelectTextDraw(playerid);
	    SpawnPlayer(playerid);
    }
    return 1;
}
Reply
#6

Me explico mejor:
Con lo que me dijo RIDE2DAY lo hize, saque el TextSize de un box (lo hice al rededor de la palabra (humanos)) y le puse solo esa linea pero el td no funciona cuando lo pongo xd

Me pasa lo mismo que esto:
Reply
#7

el TextDrawTextSize es la altura y anchura del box(de lo seleccionable) , solo disminuye o aumenta las coordenadas de X o Y.

https://sampwiki.blast.hk/wiki/TextDrawTextSize
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)