SA-MP Forums Archive
[Problema]Timer Textdraw - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Problema]Timer Textdraw (/showthread.php?tid=544794)



[Problema]Timer Textdraw - leon44 - 04.11.2014

Buenos Dias/tarde/noche
Vengo a pedirles ayuda con un problema que tengo
lo que pasa es que cree un textdraw que al spawnear
en una carrera que hice diga ''Llegas tarde, la carrera empezo''
osea para que cuando el jugador no llegue a tiempo antes de que
empieze la carrera, le aparesca ese textdraw pero el problema
es este: ''Yo le puse 3 segundos para que el textdraw aparesca ahi,
y bueno luego desaparece despues de los 3 segundos, pero el problema
es, es que el textdraw aparece y desaparece a cada rato con los 3 segundos
que le asigne y no se cual es el error, aqui abajo les dejo ciertas partes
del code para que vean que esta mal''

//en public onplayerspawn lo tengo asi.
Quote:

public OnPlayerSpawn(playerid)
{
[/if (iRaceIsStarted == true)
{
TogglePlayerControllable (playerid, 1);
TextDrawSetString(Mensaje[playerid],"Llegas tarde, la carrera empezo.");
SetTimerEx("Mensajeshow", 3000, 1, "i", playerid);
}
else
{
TogglePlayerControllable (playerid, 0);
}

luego defini para que el textdraw aparesca y desaparesca asi

Quote:

forward Mensajeshow(playerid);
public Mensajeshow(playerid)
{
TextDrawShowForPlayer(playerid,Mensaje[playerid]);
SetTimer("Mensajehide",5000,false);
return 1;
}

forward Mensajehide(playerid);
public Mensajehide(playerid)
{
TextDrawHideForPlayer(playerid,Mensaje[playerid]);
return 1;
}

luego en los news lo defini asi.

Quote:

new Text:Mensaje[MAX_PLAYERS];

Y el textdraw de Mensaje asi.

Quote:

for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
{
Mensaje[playerid] = TextDrawCreate(Coordinadas, " ");
TextDrawBackgroundColor(Mensaje[playerid], ColorBackground);
TextDrawFont(Mensaje[playerid], 1);
TextDrawLetterSize(Mensaje[playerid], Coordinadas);
TextDrawColor(Mensaje[playerid], Colortextdraw);
TextDrawSetOutline(Mensaje[playerid], 0);
TextDrawSetProportional(Mensaje[playerid], 1);
TextDrawSetShadow(Mensaje[playerid], 1);
TextDrawUseBox(Mensaje[playerid], 1);
TextDrawBoxColor(Mensaje[playerid], ColoBoxtextdraw);
TextDrawTextSize(Mensaje[playerid], Coordinadas);}

Ayudenme cual es el problema


Respuesta: [Problema]Timer Textdraw - Zume - 04.11.2014

Cambia el 1 que estб en el parбmetro que sigue del tiempo a false o 0 (del mensajeshow) y en el mensajehide usa SetTimerEx


Re: [Problema]Timer Textdraw - leon44 - 05.11.2014

Gracias Por responder Zume pero no me funciono, puse tal y como me dijistes
pero el textdraw aparece y no desaparece queda ahi y tambien al compilar me dio este warning

Quote:

D:\Escritorio\Gm\gamemodes\Namegm.pwn(275) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


1 Warning.

Y En la linea que me sale ese warning es en esta:

Quote:

SetTimerEx("Mensajehide",5000,false);

en esa linea defini como me dijistes pero tiro ese warning.
y tambien corregi lo que me dijistes que cambie el 1
por false o 0 (MensajeShow) y en ese no me tiro
warning ni nada pero aqui te dejo la linea por se acaso

Quote:

SetTimerEx("Mensajeshow", 3000, false, "i", playerid);




Respuesta: [Problema]Timer Textdraw - jotajeda - 05.11.2014

pawn Код:
public OnPlayerSpawn(playerid)
{
    if (iRaceIsStarted == true)
    {
    TogglePlayerControllable (playerid, 1);
    TextDrawSetString(Mensaje[playerid],"Llegas tarde, la carrera empezo.");
    SetTimerEx("Mensajeshow", 3000, false, "i", playerid); //false para que solo se llame una vez y no se repita.
    }
    else
    {
    TogglePlayerControllable (playerid, 0);
    }
pawn Код:
forward Mensajeshow(playerid);
public Mensajeshow(playerid)
{
    TextDrawShowForPlayer(playerid,Mensaje[playerid]);
    SetTimerEx("Mensajehide", 3000, false, "i", playerid);
    return 1;
}

forward Mensajehide(playerid);
public Mensajehide(playerid)
{
    TextDrawHideForPlayer(playerid,Mensaje[playerid]);
    return 1;
}



Re: [Problema]Timer Textdraw - leon44 - 05.11.2014

Muchas gracias Jota me ha funcionado.
y tambien gracias Zume por tomarte
la molestia de ayudarme tambien