

|
El se refiere a los numeros, osea para esconder el dialogo, debes esperar hasta que llegue a 0.
Utiliza un timer, y cada segundo, muestrale al jugador el dialog con el tiempo en el boton modificado. |
forward timerDialogo(playerid);
new segundosDialogo[MAX_PLAYERS];
new _timerDialogo[MAX_PLAYERS];
[...]
segundosDialogo[playerid] = 10;
_timerDialogo[playerid] = SetTimerEx("timerDialogo", 1000, true, "i", playerid);
[...]
public timerDialogo(playerid)
{
if(segundosDialogo[playerid] > 0)
{
new b1[3];
format(b1, sizeof(b1), "%d", segundosDialogo[playerid]);
ShowPlayerDialog(playerid, DIALOGO_ID, DIALOG_STYLE_MSGBOX, "Titulo", "Cuerpo", b1, "");
segundosDialogo[playerid] --;
}
else
{
ShowPlayerDialog(playerid, DIALOGO_ID, DIALOG_STYLE_MSGBOX, "Titulo", "Cuerpo", "Aceptar", "");
KillTimer(_timerDialogo[playerid]);
}
}
public OnDialogResponse(playerid, dialogid, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOGO_ID:
{
if(segundosDialogo[playerid] > 0)
{
new b1[3];
format(b1, sizeof(b1), "%d", segundosDialogo[playerid]);
ShowPlayerDialog(playerid, DIALOGO_ID, DIALOG_STYLE_MSGBOX, "Titulo", "Cuerpo", b1, "");
}
else
{
[...]
// Lo que tengas que hacer al apretar el dialogo despues de los 10 segundos
[...]
}
}
}
}
new Espertar[MAX_PLAYERS]; new Esperar[playerid] = 15 + gettime(); if(Esperar[playerid] > gettime()) return 0;
|
Una manera optimizada para esto sin temporizador harнa con la funciуn gettime.
Код:
new Espertar[MAX_PLAYERS]; new Esperar[playerid] = 15 + gettime(); if(Esperar[playerid] > gettime()) return 0; |
|
Una manera optimizada para esto sin temporizador harнa con la funciуn gettime.
Код:
new Espertar[MAX_PLAYERS]; new Esperar[playerid] = 15 + gettime(); if(Esperar[playerid] > gettime()) return 0; |