[Ajuda] Ir preso ao matar
#1

Boa tarde a todos, estou com um probleminha aqui, uso "isPlayerInArea" para que o player que esta dentro da definida area de dm possa matar um ao outro, so que eu quero saber como faзo para que o player que matar fora da area de dm ir preso automaticamente por 2 minutos!
Espero que me ajudem obrigado !
Reply
#2

PHP код:
forward TirarPrisao(playerid);
new 
LiberarPlayer[MAX_PLAYERS];
public 
OnPlayerDeath(playeridkilleridreason)
{
    if(!
IsPlayerInRangeOfPoint(killeridDistanciaXYZ))
    {
        
RemovePlayerFromVehicle(killerid);
        
SetPlayerVirtualWorld(killerid4);
        
SetPlayerInterior(killerid10);
        
SetPlayerPos(killerid220.0110.0999.1);
        
SendClientMessage(killerid, -1"Vocк foi preso por matar fora da бrea permitida.");
        
LiberarPlayer[playerid] = SetTimerEx("TirarPrisao"1000 60true"i"playerid);
    }
    return 
1;
}
public 
TirarPrisao(playerid)
{
        
SpawnPlayer(playerid);
        
SendClientMessage(playerid, -"Vocк foi solto!");
        return 
1;

Explicando
IsPlayerInRangeOfPoint = Funзгo para ver o local do player
(killerid = quem matou
Distancia = Limite de distвncia da area citada.
X, Y, Z = Local que ele nгo deve estar para ser preso

OBS: Troque Distancia, X, Y, Z por seus respectivos nъmeros/coordernadas.

Espero ter ajudado, abraзos.
Reply
#3

OBRIGADO, irei testar tudo certinho, eu fiz assim , ali em x y z , coloquei as coordenadas da gangzone, isto altera em algo ou tudo ok ?
Reply
#4

Vocк fez o certo, colocou o local que a pessoa deve estбr para nгo ser preso! Teste!
Se der algum erro, ou problema avise-nos aqui nesse post!
Reply
#5

Entгo cara, eu testei aqui e aconteceu a seguinte - o player que mato dentro da area de dm foi preso e o cara que morreu dentro da area de dm fica recebendo a mensagem que ele foi solto e ele spawn pra area que ele foi solto.
Mas acontece o seguinte tambem, qualquer player que esta fora da area de dm ele nao consegue pegar arma nenhuma(isto antes de colocar e mesmo com o seu sistema).
Reply
#6

PHP код:
forward TirarPrisao(playerid);
new 
LiberarPlayer[MAX_PLAYERS];
public 
OnPlayerDeath(playeridkilleridreason)
{
    if(!
IsPlayerInRangeOfPoint(killeridDistanciaXYZ))
    {
        
RemovePlayerFromVehicle(killerid);
        
SetPlayerVirtualWorld(killerid4);
        
SetPlayerInterior(killerid10);
        
SetPlayerPos(killerid220.0110.0999.1);
        
SendClientMessage(killerid, -1"Vocк foi preso por matar fora da бrea permitida.");
        
LiberarPlayer[killerid] = SetTimerEx("TirarPrisao"1000 60true"i"killerid);
    }
    return 
1;
}
public 
TirarPrisao(playerid)
{
        
SpawnPlayer(playerid);
        
SendClientMessage(playerid, -"Vocк foi solto!");
        return 
1;

Tente agora para ver se para o erro do player que morreu ficar recebendo a mensagem e spawnar ao invйs de quem matar.
Reply
#7

oque foi alterado ?
Reply
#8

Quote:
Originally Posted by JFT
Посмотреть сообщение
oque foi alterado ?
PHP код:
LiberarPlayer[killerid] = SetTimerEx("TirarPrisao"1000 60true"i"killerid); 
Reply
#9

sim eu vi depois, entao cara й o seguinte, como meu sistema nao deixa usar arma alguma fora da area de dm, acho que nao й nescessario um outro sistema, concorda ?
Reply
#10

Bom, vocк pode tentar verificar o que estб causando isso, pode ser um Timer ou na public OnPlayerUpdate.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)