Hola,
hoy vengo con mi primer tutorial, en este caso, como realizar textdraw's clickeables, para ello utilizaremos unas cuantas funciones.
Pues a lo primero, crearemos nuestro textdraw.
Pero antes, la funcion que utilizaremos para que se pueda clickear sera esta
TextDrawSetSelectable(Textdraw0, 1);
Textdraw0 es el nombre del textdraw y donde esta el uno, hace que sea clickeable, ya que si esta en 0, no se podria hacer el click.
TextDrawDestroy(Textdraw0);
Lo pondremos en
si queremos utilizarla en un comando, seria así mas o menos.
TextDrawShowForPlayer(playerid, Textdraw0);
Haria que el textdraw aparesca, pero solo para el personaje(playerid).
SelectTextDraw(playerid, 0xA3B4C5FF);
Hace que al pasar por encima de el textdraw, ponga determinado color, en este caso 0xA3B4C5FF
Luego crearemos el callback
luego tendremos que agregar una definicion if
y crearemos otra definicion if abajo de esa
como vemos que la llave esta abierta, crearemos la función que cumplira, en este caso así lo hare yo:
Espero que les haya servido, un saludo
Creditos:
ByExxe
hoy vengo con mi primer tutorial, en este caso, como realizar textdraw's clickeables, para ello utilizaremos unas cuantas funciones.
Pues a lo primero, crearemos nuestro textdraw.
Pero antes, la funcion que utilizaremos para que se pueda clickear sera esta
TextDrawSetSelectable(Textdraw0, 1);
Textdraw0 es el nombre del textdraw y donde esta el uno, hace que sea clickeable, ya que si esta en 0, no se podria hacer el click.
- Código:
new Text:Textdraw0; //la variable que define el textdraw.
public OnFilterScriptInit() // Tambien sirve en OnGameModeInit.
{
Textdraw0 = TextDrawCreate(260.000000, 150.000000, "Katana");
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 1);
TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
TextDrawColor(Textdraw0, -1);
TextDrawSetOutline(Textdraw0, 0);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetShadow(Textdraw0, 1);
TextDrawSetSelectable(Textdraw0, 1); //Esta sera la función mas importante, define si es selecionable o no.
TextDrawDestroy(Textdraw0);
Lo pondremos en
- Código:
public OnFilterScriptExit() //OnGameModeExit.
si queremos utilizarla en un comando, seria así mas o menos.
- Código:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/prueba", true) == 0)
{
TextDrawShowForPlayer(playerid, Textdraw0);
SelectTextDraw(playerid, 0xA3B4C5FF);
return 1;
}
return 0;
}
TextDrawShowForPlayer(playerid, Textdraw0);
Haria que el textdraw aparesca, pero solo para el personaje(playerid).
SelectTextDraw(playerid, 0xA3B4C5FF);
Hace que al pasar por encima de el textdraw, ponga determinado color, en este caso 0xA3B4C5FF
Luego crearemos el callback
- Código:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
luego tendremos que agregar una definicion if
- Código:
if(_:clickedid != 65535)
{
y crearemos otra definicion if abajo de esa
- Código:
if(clickedid == Textdraw0)
{
como vemos que la llave esta abierta, crearemos la función que cumplira, en este caso así lo hare yo:
- Código:
GivePlayerWeapon(playerid, 8, 999); // El 8 es el id del arma, y el 999 son el numero de balas que tendra.
SendClientMessage(playerid, -1, "Has Conseguido Una Katana, cuidado que es filosa.");
}
- Código:
TextDrawHideForPlayer(playerid, Textdraw0);
- Código:
CancelSelectTextDraw(playerid);
- Código:
}
return 1;
}
- Código:
#include <a_samp>
new Text:Textdraw0;
public OnFilterScriptInit()
{
Textdraw0 = TextDrawCreate(260.000000, 150.000000, "Katana");
TextDrawFont(Textdraw0, 1);
TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
TextDrawColor(Textdraw0, -1);
TextDrawSetOutline(Textdraw0, 0);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetShadow(Textdraw0, 1);
TextDrawSetSelectable(Textdraw0, 1);
return 1;
}
public OnFilterScriptExit()
{
TextDrawDestroy(Textdraw0);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/prueba", true) == 0)
{
TextDrawShowForPlayer(playerid, Textdraw0);
SelectTextDraw(playerid, 0xA3B4C5FF);
return 1;
}
return 0;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(_:clickedid != 65535)
{
if(clickedid == Textdraw0)
{
GivePlayerWeapon(playerid, 8, );
SendClientMessage(playerid, -1, "Has Conseguido Una Katana, cuidado es filosa");
}
TextDrawHideForPlayer(playerid, Textdraw0);
CancelSelectTextDraw(playerid);
}
return 1;
}
Espero que les haya servido, un saludo
Creditos:
ByExxe
Última edición por ByExxe el Dom Sep 01, 2013 10:47 am, editado 1 vez