25.01.2010, 21:07
modificacion al codigo de infierno:
Creditos: Zamaroht por el TextDrawEditor, Infierno x el trabajo, Yo x la mini modificacion(ni cuenta) xD
Espero que te funcione y te sirva
pawn Код:
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define ANUNCIO "Probando Anuncio" // йste es el anuncio que aparecerб
new Text:Anuncio;
new Text:Cuadro;
new MoverT;
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(anuncio, 7, cmdtext);
return 0;
}
dcmd_anuncio(playerid, params[]){
//Nota: si el jugador no es un admin de rcon no lo dejara usar el comando. Cambia esto en tu script x algo asi como el ladmin que tiene PlayerInfo[playerid][Level] para que los demas admins tambien lo puedan usar
if(IsPlayerAdmin(playerid)){
if(!strlen(params))return SendClientMessage(playerid, 0xF6F600F6, "USO: /anuncio <mensaje>");
Anuncio = TextDrawCreate(-300.0, 433.000, ANUNCIO);
TextDrawBackgroundColor(Anuncio, 255);
TextDrawFont(Anuncio, 1);
TextDrawLetterSize(Anuncio, 0.500000, 1.000000);
TextDrawColor(Anuncio, -1);
TextDrawSetOutline(Anuncio, 0);
TextDrawSetProportional(Anuncio, 1);
TextDrawSetShadow(Anuncio, 1);
Cuadro = TextDrawCreate(0.000000, 432.000000, "Cuadro");
TextDrawBackgroundColor(Cuadro, 0);
TextDrawFont(Cuadro, 1);
TextDrawLetterSize(Cuadro, 0.500000, 1.300000);
TextDrawColor(Cuadro, 0);
TextDrawSetOutline(Cuadro, 0);
TextDrawSetProportional(Cuadro, 1);
TextDrawSetShadow(Cuadro, 1);
TextDrawUseBox(Cuadro, 1);
TextDrawBoxColor(Cuadro, 65535);
TextDrawTextSize(Cuadro, 636.000000, 0.000000);
MoverT = SetTimer("Mover", 100, 1);//100 milisegundos ajusta el tiempo al que desees
SetTimer("Killer", 3000, 0);//3000 milisegundos, es el tiempo que durara el anuncio.
return 1;
}else return SendClientMessage(playerid, 0xFF0000AA, "ERROR: Debes ser un administrador para poder usar este comando");
}
forward Mover();
public Mover()
{
static Float:pos = -300.00;
pos += 10.00;//aquн lo que se moverб en el tiempo determinado
if(pos >= 650.00) pos = -300.00;
TextDrawHideForAll(Anuncio);
TextDrawDestroy(Anuncio);
Anuncio = TextDrawCreate(pos, 433.000, ANUNCIO);
TextDrawBackgroundColor(Anuncio, 255);
TextDrawFont(Anuncio, 1);
TextDrawLetterSize(Anuncio, 0.500000, 1.000000);
TextDrawColor(Anuncio, -1);
TextDrawSetOutline(Anuncio, 0);
TextDrawSetProportional(Anuncio, 1);
TextDrawSetShadow(Anuncio, 1);
TextDrawShowForAll(Anuncio);
TextDrawShowForAll(Cuadro);
}
forward Killer();
public Killer()
{
TextDrawDestroy(Anuncio);
TextDrawDestroy(Cuadro);
KillTimer(MoverT);
}
Espero que te funcione y te sirva