Como poner en Pausa [Consulta]
#1

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
Reply
#2

Podrнas obtener la tecla ESC que es cuando el juego ya se pone en pausa y colocar ese label.
Reply
#3

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.
Reply
#4

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;
}
Reply
#5

Pero йl tiene que detectar cuando el jugador estб en pausa.
Reply
#6

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.
Reply
#7

Explicamelo.
Reply
#8

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.
Reply
#9

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
Reply
#10

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

pawn Код:
#include <foreach>
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)