[Ajuda] problema com ant /q em bt
#1

Ele nao ta setando a cadeia quando o cara desconecta.
OnPlayerTakeDamage
pawn Код:
if(issuerid != INVALID_PLAYER_ID && weaponid != 0)
        {
            LevouDano[playerid] = true;
            SendClientMessage(playerid, -1, "Voce entrou em batalha, so pode deslogar depois de 1 minuto");
            DanoTimer[playerid] = SetTimerEx("PermitirDeslog", 60000, false, "d", playerid);
        }
OnPlayerDisconnect
pawn Код:
if(deslogouembt[playerid])
    {
        LevouDano[playerid] = true;
        {
            ResetPlayerWeapons(playerid);
            PlayerInfo[playerid][pJailed] = 4;
            PlayerInfo[playerid][pJailTime] += 3600;
            PlayerInfo[playerid][pVPreso] += 1;
            PlayerInfo[playerid][pTPreso] += 3600;
            WantedLevel[playerid] = 0;
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,8.2388210296631, -4852.91015625, 28.8671875);
        }
     }
Reply
#2

Basta salvar que ele saiu em batalha, e entгo aplicar a cadeia apenas quando ele logar.
Reply
#3

fdsda no seu outro tуpico, postei um mйtodo melhor de fazer o cуdigo paga ver se estava em batalha, que nгo utiliza Timer.
Reply
#4

Quote:
Originally Posted by Ever_SH
Посмотреть сообщение
fdsda no seu outro tуpico, postei um mйtodo melhor de fazer o cуdigo paga ver se estava em batalha, que nгo utiliza Timer.
bah, o seu da o mesmo, o kra desconecta e nao acontece nada..
Reply
#5

Quote:
Originally Posted by fdsda
Посмотреть сообщение
bah, o seu da o mesmo, o kra desconecta e nao acontece nada..
Й que й assim, o meu sistema, funciona como esse dai, ele sу й feito de um jeito melhor, usando uma variavel para armazenar o tempo atual, em vez de timer. Jб a parte de punir, precisa fazer algum salvamento, logo edito aki te ajudando melhor.
Reply
#6

Quote:
Originally Posted by Ever_SH
Посмотреть сообщение
Й que й assim, o meu sistema, funciona como esse dai, ele sу й feito de um jeito melhor, usando uma variavel para armazenar o tempo atual, em vez de timer. Jб a parte de punir, precisa fazer algum salvamento, logo edito aki te ajudando melhor.
obrigado, estou no aguardo..
Reply
#7

Olha, fiz uma boa base, leia tudo, entenda, adapte ao seu Gamemode e Complete la no finalzinho a parte de aplicar a prisгo.

PHP код:
new UltimoDano[MAX_PLAYERS]; 
public 
OnPlayerTakeDamage(playeridissueridFloatamountweaponidbodypart

    if(
issuerid != INVALID_PLAYER_ID//ID Valido
    

        
UltimoDano[playerid] = gettime();//Pegamos o tempo em que ele tomou ultimo dano 
    

    return 
1

public 
OnPlayerDisconnect(playerid

    
UltimoDano[playerid] +=60;//Ele pode deslogar 60 seg apos o tomar dano 
    
if(UltimoDano[playerid] > gettime()) //Ve se passou 60 segundos 
    

        
//Nгo passou 60 seg, entгo vamos agendar uma puniзгo para quando ele logar denovo.
        
new PlayerNome[MAX_PLAYER_NAME]; //Aki vamos armazenar o Nick do Player
        
new File[MAX_PLAYER_NAME +12]; //Aki vamos armazenar o local do arquivo
        
GetPlayerName(playeridPlayerNomeMAX_PLAYER_NAME); //Pegamos o Nick do Player
        
format(Filesizeof(File), "Presos/%s.ini"PlayerNome); //Formatamos o Local do Arquivo, exemplo: Presos/Ever_SH.ini
        
DOF2_CreateFile(File); //Criamos o Arquivo
        
DOF2_SetString(File"Motivo""Deslogou em Combate"); //Salvamos o motivo
        
DOF2_SetInt(File"Tempo"3600); //Salvamos o tempo
        
DOF2_SaveFile(File); //Salvamos o arquivo
        
return 1
    } 
     return 
1
}  
public 
OnPlayerSpawn(playerid)
{
    new 
PlayerNome[MAX_PLAYER_NAME]; //Aki vamos armazenar o Nick do Player
    
new File[MAX_PLAYER_NAME +12]; //Aki vamos armazenar o local do arquivo
    
GetPlayerName(playeridPlayerNomeMAX_PLAYER_NAME); //Pegamos o Nick do Player
    
format(Filesizeof(File), "Presos/%s.ini"PlayerNome); //Formatamos o Local do Arquivo, exemplo: Presos/Ever_SH.ini
    
if(DOF2_FileExists(File)) //Vamos ver se ele tem algum agendamento de cadeia, para isto й sу ver se o arquivo existe.
    
{
        
//Caso ele tenha
        
new Motivo[50], TempoPreso//Vamos armazenar o Motivo e o Tempo.
        
format(Motivo50"%s"DOF2_GetString(File"Motivo"))//Pegamos o Motivo
        
TempoPreso DOF2_GetInit(File"Tempo"); //Pegamos o Tempo
        
new MsgCadeia[128];
        
format(MsgCadeia128"Vocк estб preso por %d Segundos, Motivo: %s"TempoPresoMotivo);
        
SendClientMessage(playerid, -1MsgCadeia);
        
//Agora apartir daki й sу vocк fazer de acordo com seu GM
        //Teleportar para prisгo, setar o tempo e etc
        
DOF2_DeleteFile(File); //Aqui deletamos o agendamento, pois a prisгo foi aplicada e nгo precisamos mais disso
    
}
    return 
1;

Obs: Nгo testei, pode ocorrer algum erro.
Reply
#8

Quote:
Originally Posted by Ever_SH
Посмотреть сообщение
Olha, fiz uma boa base, leia tudo, entenda, adapte ao seu Gamemode e Complete la no finalzinho a parte de aplicar a prisгo.

PHP код:
new UltimoDano[MAX_PLAYERS]; 
public 
OnPlayerTakeDamage(playeridissueridFloatamountweaponidbodypart

    if(
issuerid != INVALID_PLAYER_ID//ID Valido
    

        
UltimoDano[playerid] = gettime();//Pegamos o tempo em que ele tomou ultimo dano 
    

    return 
1

public 
OnPlayerDisconnect(playerid

    
UltimoDano[playerid] +=60;//Ele pode deslogar 60 seg apos o tomar dano 
    
if(UltimoDano[playerid] > gettime()) //Ve se passou 60 segundos 
    

        
//Nгo passou 60 seg, entгo vamos agendar uma puniзгo para quando ele logar denovo.
        
new PlayerNome[MAX_PLAYER_NAME]; //Aki vamos armazenar o Nick do Player
        
new File[MAX_PLAYER_NAME +12]; //Aki vamos armazenar o local do arquivo
        
GetPlayerName(playeridPlayerNomeMAX_PLAYER_NAME); //Pegamos o Nick do Player
        
format(Filesizeof(File), "Presos/%s.ini"PlayerNome); //Formatamos o Local do Arquivo, exemplo: Presos/Ever_SH.ini
        
DOF2_CreateFile(File); //Criamos o Arquivo
        
DOF2_SetString(File"Motivo""Deslogou em Combate"); //Salvamos o motivo
        
DOF2_SetInt(File"Tempo"3600); //Salvamos o tempo
        
DOF2_SaveFile(File); //Salvamos o arquivo
        
return 1
    } 
     return 
1
}  
public 
OnPlayerSpawn(playerid)
{
    new 
PlayerNome[MAX_PLAYER_NAME]; //Aki vamos armazenar o Nick do Player
    
new File[MAX_PLAYER_NAME +12]; //Aki vamos armazenar o local do arquivo
    
GetPlayerName(playeridPlayerNomeMAX_PLAYER_NAME); //Pegamos o Nick do Player
    
format(Filesizeof(File), "Presos/%s.ini"PlayerNome); //Formatamos o Local do Arquivo, exemplo: Presos/Ever_SH.ini
    
if(DOF2_FileExists(File)) //Vamos ver se ele tem algum agendamento de cadeia, para isto й sу ver se o arquivo existe.
    
{
        
//Caso ele tenha
        
new Motivo[50], TempoPreso//Vamos armazenar o Motivo e o Tempo.
        
format(Motivo50"%s"DOF2_GetString(File"Motivo"))//Pegamos o Motivo
        
TempoPreso DOF2_GetInit(File"Tempo"); //Pegamos o Tempo
        
new MsgCadeia[128];
        
format(MsgCadeia128"Vocк estб preso por %d Segundos, Motivo: %s"TempoPresoMotivo);
        
SendClientMessage(playerid, -1MsgCadeia);
        
//Agora apartir daki й sу vocк fazer de acordo com seu GM
        //Teleportar para prisгo, setar o tempo e etc
        
DOF2_DeleteFile(File); //Aqui deletamos o agendamento, pois a prisгo foi aplicada e nгo precisamos mais disso
    
}
    return 
1;

Obs: Nгo testei, pode ocorrer algum erro.
contem um erro amigo, ao logar, mesmo nao estando em batalha, ele й preso 0 min mitovo: em branco
Reply
#9

Quote:
Originally Posted by fdsda
Посмотреть сообщение
contem um erro amigo, ao logar, mesmo nao estando em batalha, ele й preso 0 min mitovo: em branco
Bom, deixei a parte de prender para vocк completar, isso de prender sem motivo por 0 minutos, pode ser algo que vocк fez. Poste a parte que vocк adicionou.
Reply
#10

Quote:
Originally Posted by Ever_SH
Посмотреть сообщение
Bom, deixei a parte de prender para vocк completar, isso de prender sem motivo por 0 minutos, pode ser algo que vocк fez. Poste a parte que vocк adicionou.
o erro que da й esse, quando dou /lvagaorg - dai ele loga e fica preso asssim e da erro.
http://prntscr.com/9qa2t5
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)