Hola a Todos en Espanol Pawno Bueno Ahora aqui viene mi tutorial sobre como crear textdraws en movimiento de la manera mas rapido masomenos xD,
Bueno Empecemos la Tutoria:
Funciones que vamos a utilizar:
Primero tendremos que definir la variable que cargara con el TextDraw y otra que cargara con un Timer, y una variable que funcionara como guia para mover el texto:
Despues Creamos el TextDraw con sus propiedades(Ustedes mismos pueden usar su TextDraw) En OnGameModeInit Junto con el Timer:
Despues Creamos el public que llamara el Timer anteriormente creado:
Ya creado el public ralizaremos las funciones que moveran el texto.(Mas abajo explico lo siguiente):
Bueno Aca les dejo la Explicacion:
Bueno Amigos de Español Pawno Esa fue toda mi tutia de como crear textdraws en movimiento mas facilmente nos vemos en la siguiente tutorial.
Aca les dejo el Codigo ya funcionando:
Creditos: BryanScripteron y themasternico
Bueno Empecemos la Tutoria:
Funciones que vamos a utilizar:
- Spoiler:
- TextDrawCreate: Crea el TextDraw
TextDrawAlignment: Alinea el TextDraw
TextDrawBackgroundColor: El que sepa un poco de ingles, sabra que es el fondo del texto
TextDrawFont: Fuente del Texto
TextDrawLetterSize: Tamaño De La Letra
TextDrawColor: Color de la letra
TextDrawSetOutline: El color que estara al rededor de las letras
TextDrawSetProportional: Setea una proporcion al texto
TextDrawSetShadow: Agrega una sombra a la parte inferior derecha del texto
SetTimer: Es como un contador que llama una funcion cada cierto tiempo
Primero tendremos que definir la variable que cargara con el TextDraw y otra que cargara con un Timer, y una variable que funcionara como guia para mover el texto:
- Código:
new Text:Texto, InLetter = 0;
Despues Creamos el TextDraw con sus propiedades(Ustedes mismos pueden usar su TextDraw) En OnGameModeInit Junto con el Timer:
- Código:
Texto = TextDrawCreate(320.000000, 195.000000, "Blod GamerZ");
TextDrawAlignment(Texto, 2);
TextDrawBackgroundColor(Texto, 255);
TextDrawFont(Texto, 1);
TextDrawLetterSize(Texto, 0.819998, 3.699997);
TextDrawColor(Texto, -1);
TextDrawSetOutline(Texto, 0);
TextDrawSetProportional(Texto, 1);
TextDrawSetShadow(Texto, 1);
SetTimer("TextOnMove", 300, 1);
Despues Creamos el public que llamara el Timer anteriormente creado:
- Código:
forward TextOnMove();
public TextOnMove()
{
return 1;
}
Ya creado el public ralizaremos las funciones que moveran el texto.(Mas abajo explico lo siguiente):
- Código:
forward TextOnMove();
public TextOnMove()
{
if(InLetter == 0) TextDrawSetString(Textoooo, "lod GamerZ_____B");
else if(InLetter == 1) TextDrawSetString(Textoooo, "od GamerZ_____Bl");
else if(InLetter == 2) TextDrawSetString(Textoooo, "d GamerZ_____Blo");
else if(InLetter == 3) TextDrawSetString(Textoooo, "_GamerZ_____Blod");
else if(InLetter == 4) TextDrawSetString(Textoooo, "GamerZ_____Blod_");
else if(InLetter == 5) TextDrawSetString(Textoooo, "amerZ_____Blod G");
else if(InLetter == 6) TextDrawSetString(Textoooo, "merZ_____Blod Ga");
else if(InLetter == 7) TextDrawSetString(Textoooo, "erZ_____Blod Gam");
else if(InLetter == 8) TextDrawSetString(Textoooo, "rZ_____Blod Game");
else if(InLetter == 9) TextDrawSetString(Textoooo, "Z_____Blod Gamer");
else if(InLetter == 1) TextDrawSetString(Textoooo, "_____Blod GamerZ");
else if(InLetter == 11) TextDrawSetString(Textoooo, "____Blod GamerZ_");
else if(InLetter == 12) TextDrawSetString(Textoooo, "___Blod GamerZ__");
else if(InLetter == 13) TextDrawSetString(Textoooo, "__Blod GamerZ___");
else if(InLetter == 14) TextDrawSetString(Textoooo, "_Blod GamerZ____");
else if(InLetter == 15) TextDrawSetString(Textoooo, "Blod GamerZ_____");
TextDrawShowForAll(Textoooo);
InLetter ++;
if(InLetter >= 16) InLetter = 0;
return 1;
}
Bueno Aca les dejo la Explicacion:
- Spoiler:
- Los 'if' y los 'else if' se utilizan para comprobar en que numero va la variable y setear un nuevo texto al TextDraw para que cause la impresion del movimiento
Los TextDrawSetString Setean un nuevo Texto al TextDraw
El TextDrawShowForAll Le Muestra el Texto a todo los jugadores
El InLetter ++; Aumenta el numero de la variable para que los else if funcionen
Bueno Amigos de Español Pawno Esa fue toda mi tutia de como crear textdraws en movimiento mas facilmente nos vemos en la siguiente tutorial.
Aca les dejo el Codigo ya funcionando:
- Código:
#include <a_samp>
new Text:Texto;
new string[256];
new InLetter = 0;
public OnFilterScriptInit()
{
Texto = TextDrawCreate(320.000000, 195.000000, "_");
TextDrawAlignment(Texto, 2);
TextDrawBackgroundColor(Texto, 255);
TextDrawFont(Texto, 1);
TextDrawLetterSize(Texto, 0.819998, 3.699997);
TextDrawColor(Texto, -1);
TextDrawSetOutline(Texto, 0);
TextDrawSetProportional(Texto, 1);
TextDrawSetShadow(Texto, 1);
SetTimer("TextOnMove",100,true);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, Texto);
return 1;
}
public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid, Texto);
return 1;
}
forward TextOnMove();
public TextOnMove()
{
if(InLetter == 0) { format(string,sizeof(string),"~w~P~r~awnoScripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 1) { format(string,sizeof(string),"~w~Pa~r~wnoScripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 2) { format(string,sizeof(string),"~w~Paw~r~noScripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 3) { format(string,sizeof(string),"~w~Pawn~r~oScripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 4) { format(string,sizeof(string),"~w~Pawno~r~Scripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 5) { format(string,sizeof(string),"~w~PawnoS~r~cripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 6) { format(string,sizeof(string),"~w~PawnoSc~r~ripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 7) { format(string,sizeof(string),"~w~PawnoScri~r~pting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 8) { format(string,sizeof(string),"~w~PawnoScrip~r~ting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 9) { format(string,sizeof(string),"~w~PawnoScript~r~ing", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 10) { format(string,sizeof(string),"~w~PawnoScripti~r~ng", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 11) { format(string,sizeof(string),"~w~PawnoScriptin~r~g", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 12) { format(string,sizeof(string),"~w~PawnoScripting~r~", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 13) { format(string,sizeof(string),"~w~PawnoScriptin~g~g", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 14) { format(string,sizeof(string),"~w~PawnoScripti~g~ng", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 15) { format(string,sizeof(string),"~w~PawnoScript~g~ing", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 16) { format(string,sizeof(string),"~w~PawnoScrip~g~ting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 17) { format(string,sizeof(string),"~w~PawnoScri~g~pting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 18) { format(string,sizeof(string),"~w~PawnoScr~g~ipting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 19) { format(string,sizeof(string),"~w~PawnoSc~g~ripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 20) { format(string,sizeof(string),"~w~PawnoS~g~cripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 21) { format(string,sizeof(string),"~w~Pawno~g~Scripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 22) { format(string,sizeof(string),"~w~Pawn~g~oScripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 23) { format(string,sizeof(string),"~w~Paw~g~noScripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 24) { format(string,sizeof(string),"~w~Pa~g~wnoScripting", InLetter ++); TextDrawSetString(Texto, string); }
else if(InLetter == 25) { format(string,sizeof(string),"~w~P~g~awnoScripting", InLetter = 0); TextDrawSetString(Texto, string); }
return 1;
}
Creditos: BryanScripteron y themasternico