[Ajuda] Saida de Interior
#1

Eu queria colocar no meu GameMode um sistema tipo:

Ele sai de um interior e fica congelado por 5 segundos e depois aparecesse a mensagem "Objetos carregados"
mas nгo sei como faзo, alguem poderia me ajudar?
Reply
#2

Crie uma stock Pausar(playerid):

pawn Код:
new Carregado[MAX_PLAYERS];
forward CarregarInterior();
pawn Код:
stock Pausar(playerid)
{
    Carregado[playerid] = 1;
    TogglePlayerControllable(playerid, false);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetPlayerPos(playerid,x,y,z+2); // Aumentar o z para que o player nгo "caia"
    SetTimer("CarregarInterior",4000,false);
}
pawn Код:
public CarregarInterior()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(Carregado[i] == 1)
            {
                TogglePlayerControllable(i, true);
                Carregado[i] = 0;
            }
        }
    }
}
E insira no momento da entrada do seu player no interior, ou use 'IsPlayerInRangeOfPoint':
pawn Код:
Pausar(playerid);
pawn Код:
GameTextForPlayer(playerid,"Objetos sendo carregados.",1500,4);
Reply
#3

SetTimerEx
TogglePlayerControllable
Reply
#4

Quote:
Originally Posted by rm0203
Посмотреть сообщение
Crie uma stock Pausar(playerid):

pawn Код:
new Carregado[MAX_PLAYERS];
pawn Код:
stock Pausar(playerid)
{
    Carregado[playerid] = 1;
    TogglePlayerControllable(playerid, false);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetPlayerPos(playerid,x,y,z+2); // Aumentar o z para que o player nгo "caia"
    SetTimer("CarregarInterior",4000,false);
}
pawn Код:
public CarregarInterior()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(Carregado[playerid] == 1)
            {
                TogglePlayerControllable(playerid, true);
                Carregado[playerid] = 0;
            }
        }
    }
}
E insira no momento da entrada do seu player no interior, ou use 'IsPlayerInRangeOfPoint':
pawn Код:
Pausar(playerid);
pawn Код:
GameTextForPlayer(playerid,"Objetos sendo carregados.",1500,4);
Creio que com todo esse ensinamento ele ainda irб pedir ajuda .
Reply
#5

Quote:
Originally Posted by Alwe
Creio que com todo esse ensinamento ele ainda irб pedir ajuda .
Eu nгo esperava que ele entendesse de primeira mesmo, rs.
Reply
#6

Entendi, entгo em cada entrada/saida de interior eu teria que adicionar uma linha contendo
pawn Код:
Pausar(playerid);
??
Reply
#7

Onde quer que vocк queira que ele fique congelado para carregar algo.
Reply
#8

Ok, valeu.

OBS: Faltou algumas coisas mas jб arrumei:

forward CarregarInterior e na public CarregarInterior vocк fez um pra ser reconhecido como "i" e colocou playerid. Mas mesmo assim, quis ajudar +REP
Reply
#9

Faz sentido, normalmente programo aqui no fуrum mesmo e os erros passam despercebidos. De qualquer forma, vou corrigir.
Reply
#10

Quote:
Originally Posted by rm0203
Посмотреть сообщение
Crie uma stock Pausar(playerid):

pawn Код:
new Carregado[MAX_PLAYERS];
forward CarregarInterior();
pawn Код:
stock Pausar(playerid)
{
    Carregado[playerid] = 1;
    TogglePlayerControllable(playerid, false);
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetPlayerPos(playerid,x,y,z+2); // Aumentar o z para que o player nгo "caia"
    SetTimer("CarregarInterior",4000,false);
}
pawn Код:
public CarregarInterior()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(Carregado[i] == 1)
            {
                TogglePlayerControllable(i, true);
                Carregado[i] = 0;
            }
        }
    }
}
E insira no momento da entrada do seu player no interior, ou use 'IsPlayerInRangeOfPoint':
pawn Код:
Pausar(playerid);
pawn Код:
GameTextForPlayer(playerid,"Objetos sendo carregados.",1500,4);
Й mais fбcil usar o SetTimerEx.

Na callback CarregarInterior por que a loop?
Se um player estiver esperando a callback CarregarInterior ser chamada e para outro player a callback jб foi chamda ele vai poder se mover sem precisar os 5 segundos.

Vocк sу errou na callback o resto parece estar certo.

@Edit
Vocк nгo retornou a callback a verdadeiro e nem a falso.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)