Saida de Interior -
ipsLuan - 26.06.2014
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?
Re: Saida de Interior -
rm0203 - 26.06.2014
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 Код:
GameTextForPlayer(playerid,"Objetos sendo carregados.",1500,4);
Re: Saida de Interior -
UPsamp - 26.06.2014
SetTimerEx
TogglePlayerControllable
Re: Saida de Interior -
Alwe - 26.06.2014
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 Код:
GameTextForPlayer(playerid,"Objetos sendo carregados.",1500,4);
|
Creio que com todo esse ensinamento ele ainda irб pedir ajuda .
Re: Saida de Interior -
rm0203 - 26.06.2014
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.
Re: Saida de Interior -
ipsLuan - 26.06.2014
Entendi, entгo em cada entrada/saida de interior eu teria que adicionar uma linha contendo
??
Re: Saida de Interior -
rm0203 - 26.06.2014
Onde quer que vocк queira que ele fique congelado para carregar algo.
Re: Saida de Interior -
ipsLuan - 26.06.2014
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
Re: Saida de Interior -
rm0203 - 26.06.2014
Faz sentido, normalmente programo aqui no fуrum mesmo e os erros passam despercebidos. De qualquer forma, vou corrigir.
Re: Saida de Interior -
MultiKill - 26.06.2014
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 Код:
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.