Problema con un Timer
#1

Hola, estoy tratando de crear un Timer que haga lo siguiente, aparezca un GameText que diga:
Cargando.
Cargando..
Cargando...
Cargando.
Cargando..
Cargando...


Se repita automaticamente, y que dure 7 segundos el mensaje, pero que cada Cargando. dure 999 milisegundos.
Lo tengo asн pero no te funciona:

pawn Код:
forward TiempoDeEspera(playerid);

new MensajeDeEspera[][] =
{
    "~w~CARGANDO.",
    "~w~CARGANDO..",
    "~w~CARGANDO..."
};

enum IntervaloTiempo
{
    Siguiente_Mensaje
};

new IT[IntervaloTiempo];

public OnPlayerConnect(playerid)
{
    IT[Siguiente_Mensaje] = 0;
    SetTimer("TiempoDeEspera", 999, true);
    return 1;
}

public TiempoDeEspera(playerid)
{
    IT[Siguiente_Mensaje] ++;
    GameTextForPlayer(playerid, MensajeDeEspera[playerid], 900, 4);
}
Reply
#2

Lo hice al pedo, pero intenta.

PHP код:
#include <a_samp>
new timeroff[MAX_PLAYERS];
forward MensajeEspera(playerid);
forward TiempoDeEspera(playerid);
forward TiempoDeEspera2(playerid);
forward TiempoDeEspera3(playerid);
forward TiempoDeEspera4(playerid);
forward TiempoDeEspera5(playerid);
forward TiempoDeEspera6(playerid);
new 
MensajeDeEspera1[][] =
{
    
"~w~CARGANDO."
};
new 
MensajeDeEspera2[][] =
{
    
"~w~CARGANDO.."
};
new 
MensajeDeEspera3[][] =
{
    
"~w~CARGANDO..."
};
new 
MensajeDeEspera[][] =
{
    
"~w~ESPERE POR FAVOR..."
};
public 
OnPlayerConnect(playerid)
{
    
timeroff[playerid] = SetTimerEx("MensajeDeEspera"3000false"i"playerid);
    return 
1;
}
public 
MensajeEspera(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera[playerid], 30004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera"3000false"i"playerid);
}
public 
TiempoDeEspera(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera1[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera2"999false"i"playerid);
}
public 
TiempoDeEspera2(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera2[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera3"999false"i"playerid);
}
public 
TiempoDeEspera3(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera3[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera4"999false"i"playerid);
}
public 
TiempoDeEspera4(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera1[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera5"999false"i"playerid);
}
public 
TiempoDeEspera5(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera2[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera6"999false"i"playerid);
}
public 
TiempoDeEspera6(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera3[playerid], 10004);

Reply
#3

el mismo GameTextForPlayer tiene su tiempo de duracion. -.-

https://sampwiki.blast.hk/wiki/GameTextForPlayer

PHP код:
GameTextForPlayer(playerid"Cargando..."7*10002); 
Reply
#4

Quote:
Originally Posted by Revelation
Посмотреть сообщение
Lo hice al pedo, pero intenta.

PHP код:
#include <a_samp>
new timeroff[MAX_PLAYERS];
forward MensajeEspera(playerid);
forward TiempoDeEspera(playerid);
forward TiempoDeEspera2(playerid);
forward TiempoDeEspera3(playerid);
forward TiempoDeEspera4(playerid);
forward TiempoDeEspera5(playerid);
forward TiempoDeEspera6(playerid);
new 
MensajeDeEspera1[][] =
{
    
"~w~CARGANDO."
};
new 
MensajeDeEspera2[][] =
{
    
"~w~CARGANDO.."
};
new 
MensajeDeEspera3[][] =
{
    
"~w~CARGANDO..."
};
new 
MensajeDeEspera[][] =
{
    
"~w~ESPERE POR FAVOR..."
};
public 
OnPlayerConnect(playerid)
{
    
timeroff[playerid] = SetTimerEx("MensajeDeEspera"3000false"i"playerid);
    return 
1;
}
public 
MensajeEspera(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera[playerid], 30004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera"3000false"i"playerid);
}
public 
TiempoDeEspera(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera1[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera2"999false"i"playerid);
}
public 
TiempoDeEspera2(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera2[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera3"999false"i"playerid);
}
public 
TiempoDeEspera3(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera3[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera4"999false"i"playerid);
}
public 
TiempoDeEspera4(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera1[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera5"999false"i"playerid);
}
public 
TiempoDeEspera5(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera2[playerid], 10004);
    
timeroff[playerid] = SetTimerEx("TiempoDeEspera6"999false"i"playerid);
}
public 
TiempoDeEspera6(playerid)
{
    
KillTimer(timeroff[playerid]);
    
GameTextForPlayer(playeridMensajeDeEspera3[playerid], 10004);

Gracias amigo, pero no funciona, quizб algo anda mal.
Reply
#5

Quote:
Originally Posted by OTACON
Посмотреть сообщение
el mismo GameTextForPlayer tiene su tiempo de duracion. -.-

https://sampwiki.blast.hk/wiki/GameTextForPlayer

PHP код:
GameTextForPlayer(playerid"Cargando..."7*10002); 
Creo que no entendiste bien la pregunta, se el syntax de GameTextForPlayer, pero tu sugerencia no sirve para lo que necesito, gracias de todas maneras.
Reply
#6

Creo que serнa mejor usar un Textdraw si quieres un texto parpadeante.
Reply
#7

Код:
#include a_samp

forward TiempoDeEspera(playerid);

new MensajeDeEspera[][] =
{
	"~w~CARGANDO.",
	"~w~CARGANDO..",
	"~w~CARGANDO..."
};

new IT[MAX_PLAYERS], Timer_Mensajes[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    IT[playerid] = 0;
    KillTimer(Timer_Mensajes[playerid]);
 	Timer_Mensajes[playerid] = SetTimer("TiempoDeEspera", 1000, true);
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    KillTimer(Timer_Mensajes[playerid]);
	return 1;
}

public TiempoDeEspera(playerid)
{
    IT[playerid]++;
    if(IT[playerid] == 7) KillTimer(Timer_Mensajes[playerid]);
    else if(IT[playerid] <= 3) GameTextForPlayer(playerid, MensajeDeEspera[(IT[playerid] - 1)], 900, 4);
    else if(IT[playerid] >= 4) GameTextForPlayer(playerid, MensajeDeEspera[(IT[playerid] - 4)], 900, 4);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)