Como poner en Pausa [Consulta] -
Zodiaco - 09.09.2014
Hola amigos de samp, me preguntaba como podrнa hacer la funciуn para que me salga ese mensaje de color amarillo que esta sobre el skin [EN PAUSA: 7horas]
aquн una imagen de lo que hablo.
saludos
Respuesta: Como poner en Pausa [Consulta] -
Juance - 09.09.2014
Podrнas obtener la tecla ESC que es cuando el juego ya se pone en pausa y colocar ese label.
Respuesta: Como poner en Pausa [Consulta] -
xHanks - 09.09.2014
Quote:
Originally Posted by Juance
Podrнas obtener la tecla ESC que es cuando el juego ya se pone en pausa y colocar ese label.
|
No estб la tecla ESC en sa-mp para detectarlo, tendrнa que ser mediante OnPlayerUpdate u otra funciуn, ahora mirarй mбs, aquн tienes las teclas aunque no estй "ESC".
https://sampwiki.blast.hk/wiki/Keys
Edito: He estado mirando y no encuentro nada, lo que yo harнa serнa algo asн.
pawn Код:
//=============[Variable global del GM]================//
new Float:AntiAFK[3][MAX_PLAYERS];
forward DetectarAFK(playerid);
new Ausente[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
//Tus funciones.
Ausente[playerid] = 0;
SetTimerEx("DetectarAFK",60000*5,0,"i",playerid);
}
public DetectarAFK(playerid)
{
if(Ausente[playerid] == 0)
{
new Float:PosActual[3][MAX_PLAYERS];
GetPlayerPos(playerid, PosActual[0][playerid],PosActual[1][playerid],PosActual[2][playerid]);
if(PosActual[0][playerid] == AntiAFK[0][playerid] && PosActual[0][playerid] == AntiAFK[1][playerid] && PosActual[2][playerid] == AntiAFK[2][playerid])
{
Ausente[playerid] = 1;
new string[254], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "El usuario %s, estб ahora ausente", name);
SendClientMessageToAll(-1, string);
}
else
{
GetPlayerPos(playerid, AntiAFK[0][playerid],AntiAFK[1][playerid],AntiAFK[2][playerid]);//No estб ausente y no harб falta hacerle nada, guardamos la posiciуn para el proximo timer.
SetTimerEx("DetectarAFK",60000*5,0,"i",playerid);
}
}
return 1;
}
Ese cуdigo lo que harнa serнa que cada 5 minutos comprobara el tiempo, tu allн podrнas aсadirle a tu gusto, que si estб ausente en 5 minutos le empieza a contar en un label el tiempo y demбs. No sй si te saldrб algъn error, lo he hecho sin Pawn y no lo he probado.
EDIT 2:
Lo he compilado y 0 errores, ya estб, ahora toca probar si detecta el AntiAFK, recuerda que la primera vez tardarб cinco minutos en coger las coordenadas y otros cinco mбs en detectar si estб AFK, para reducir el tiempo cambia los Timer's.
Respuesta: Como poner en Pausa [Consulta] -
Maflow - 09.09.2014
No lo probй, pero deberнa funcionar...
pawn Код:
new
PlayerText3D:pTextLabel[MAX_PLAYERS],
tiempoPausa[MAX_PLAYERS],
enPausa[MAX_PLAYERS],
cadena[50];
public OnGameModeInit()
{
SetTimer("timer_1m", 60000, true);
return 1;
}
public OnPlayerUpdate(playerid)
{
enPausa[playerid] = 0;
return 1;
}
forward timer_1m();
public timer_1m()
{
foreach(Player, i)
{
if (enPausa[i] == 1)
{
tiempoPausa[i]++;
format(cadena, sizeof(cadena), "EN PAUSA [%i minutos]", tiempoPausa[i]);
pTextLabel[i] = Create3DTextLabel(cadena, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(pTextLabel[i], i, 0.0, 0.0, 0.5);
} else {
Delete3DTextLabel(pTextLabel[i]);
tiempoPausa[i] = 0;
enPausa[i] = 1;
}
}
return 1;
}
Respuesta: Como poner en Pausa [Consulta] -
Juance - 09.09.2014
Pero йl tiene que detectar cuando el jugador estб en pausa.
Respuesta: Como poner en Pausa [Consulta] -
Maflow - 09.09.2014
Quote:
Originally Posted by Juance
Pero йl tiene que detectar cuando el jugador estб en pausa.
|
El cуdigo que le pase detecta cuando el jugador esta en pausa o no.
Respuesta: Como poner en Pausa [Consulta] -
Juance - 09.09.2014
Explicamelo.
Respuesta: Como poner en Pausa [Consulta] -
Zodiaco - 09.09.2014
Quote:
Originally Posted by Maflow
El cуdigo que le pase detecta cuando el jugador esta en pausa o no.
|
ok lo pruebo haber como me va.
Respuesta: Como poner en Pausa [Consulta] -
Zodiaco - 10.09.2014
Quote:
Originally Posted by Maflow
No lo probй, pero deberнa funcionar...
pawn Код:
new PlayerText3D:pTextLabel[MAX_PLAYERS], tiempoPausa[MAX_PLAYERS], enPausa[MAX_PLAYERS], cadena[50];
public OnGameModeInit() { SetTimer("timer_1m", 60000, true); return 1; }
public OnPlayerUpdate(playerid) { enPausa[playerid] = 0; return 1; }
forward timer_1m(); public timer_1m() { foreach(Player, i) { if (enPausa[i] == 1) { tiempoPausa[i]++; format(cadena, sizeof(cadena), "EN PAUSA [%i minutos]", tiempoPausa[i]); pTextLabel[i] = Create3DTextLabel(cadena, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0); Attach3DTextLabelToPlayer(pTextLabel[i], i, 0.0, 0.0, 0.5); } else { Delete3DTextLabel(pTextLabel[i]); tiempoPausa[i] = 0; enPausa[i] = 1; } } return 1; }
|
pawn Код:
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15499) : error 017: undefined symbol "foreach"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15501) : error 017: undefined symbol "i"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15503) : error 017: undefined symbol "i"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15504) : error 017: undefined symbol "i"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15505) : error 017: undefined symbol "i"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15505) : warning 213: tag mismatch
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15506) : error 017: undefined symbol "i"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15508) : error 017: undefined symbol "i"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15509) : error 017: undefined symbol "i"
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15510) : error 017: undefined symbol "i"
me sale estos errores e.e
Respuesta: Como poner en Pausa [Consulta] -
aoEXE - 10.09.2014
Quote:
Originally Posted by Zodiaco
pawn Код:
C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15499) : error 017: undefined symbol "foreach" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15501) : error 017: undefined symbol "i" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15503) : error 017: undefined symbol "i" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15504) : error 017: undefined symbol "i" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15505) : error 017: undefined symbol "i" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15505) : warning 213: tag mismatch C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15506) : error 017: undefined symbol "i" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15508) : error 017: undefined symbol "i" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15509) : error 017: undefined symbol "i" C:\Users\User\Desktop\Server \gamemodes\Mejorado.pwn(15510) : error 017: undefined symbol "i"
me sale estos errores e.e
|
te falta el include foreach, debes incluirlo
foreach