SA-MP Forums Archive
[Ajuda] tempo. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] tempo. (/showthread.php?tid=451810)



tempo. - Cromado - 18.07.2013

Bom galera eu queria que quando um policial prendi-se um jogador queria que ele fosse preso altomaticamente por 10 minutos jб tenho o cod pronto mais nгo sei como colocar o tempo altomatico
pawn Код:
if(strcmp(cmd, "/prender", true) == 0)
{
    new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
    format(file, sizeof(file), P_CONTAS, aname);
    if(dini_Int(file, "Profissao") == Policial_C || dini_Int(file, "Profissao") == Policial_F || dini_Int(file, "Profissao") == Recruta || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Rotam || dini_Int(file, "Profissao") == Policial_M || dini_Int(file, "Profissao") == FBI || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "pAdm01") == 1)
    {
    new plid;
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)){
    SendClientMessage(playerid, Vermelho, "* Use: /prender [id]");
    return 1;
    }
    plid = strval(tmp);
    if(plid == playerid)
    {
    SendClientMessage(playerid, Vermelho, "| ERRO | Vocк nгo pode prender vocк mesmo.");
    return 1 ;
    }
    if(!IsPlayerConnected(plid)){
    SendClientMessage(playerid, Vermelho, "| ERRO | Jogador nгo conectado.");
    return 1;
    }
    if(GetPlayerWantedLevel(plid) < 1){
    SendClientMessage(playerid, Vermelho, "| ERRO | Esse jogador nгo estб procurado.");
    return 1;
    }
    if(GetPlayerWantedLevel(plid) < 2){
    SendClientMessage(playerid, Vermelho, "| ERRO | Й preciso que o jogador esteja com mais de 2 lйveis de procurado, e ele sу tem 1 level de procurado!");
    return 1 ;
    } else {
    if(GetDistanceBetweenPlayers(plid,playerid) < 10){
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(plid, pname, MAX_PLAYER_NAME);
    format(file, sizeof(file), P_CONTAS, pname);
    format(string, sizeof(string), "| INFO | O(a) policial %s prendeu vocк.", aname);
    SendClientMessage(plid, 0xC0C0C0AA, string);
    SetPlayerPos(plid, 263.8820,77.4002,1001.0391);
    SetPlayerInterior(plid, 6);
    ResetPlayerWeapons(plid);
    dini_IntSet(file, "Preso", 1);
    SendClientMessage(playerid, 0xC0C0C0AA, "| INFO | Jogador(a) Preso(a) com sucesso.");
    SetPlayerWantedLevel(plid, 0);
    GameTextForPlayer(plid,"~w~Preso(a)!",4000, 0);
    Preso[plid] = 1;
    new crg[256];
    format(crg, sizeof(crg), "| Policial | O(a) policial '%s' prendeu o jogador '%s'.", aname, pname);
    TogglePlayerControllable(plid, 1);
    if(Procurados[plid] == 1){
    GivePlayerGrana(playerid,100);
    Procurados[plid] = 0;
    SendClientMessage(playerid, 0xC0C0C0AA, "| INFO | Vocк prendeu um(a) procurado(a), e ganhou 300R$ de recompensa.");
    dini_IntSet(file, "Procurado", 0);
    GivePlayerGrana(playerid, 300);
    }
    return 1;
    } else {
    SendClientMessage(playerid,Vermelho,"| ERRO | Vocк estб muito longe!");
    return 1;
    }
    }
    } else {
    SendClientMessage(playerid,Vermelho,"| ERRO | Vocк nгo й policial!");
    return 1;
    }
}




pawn Код:
forward AtualizarCadeia1(playerid);
public AtualizarCadeia1(playerid)
{
    if(TempoCadeia1[playerid] <  1)
    {
       return 0;
    }
    if(Cadeia1[playerid] == 1 && TempoCadeia1[playerid] >= 1)
    {
        TempoCadeia1[playerid]--;
        format(file2,sizeof(file2),"~n~ ~n~ ~n~ ~n~ ~g~Preso: ~w~%d",TempoCadeia1[playerid]);
        GameTextForPlayer(playerid,file2,2000,0);

        if(TempoCadeia1[playerid] == 0)
        {
            Cadeia1[playerid] = 0;
            GameTextForPlayer(playerid, "~w~ Livre", 5000, 6);
            SpawnPlayer(playerid);
        }
    }
    return 1;
}
aqui quando ele prendise altomaticamente o tempo preso fosse 10 minutos tipo /prender id ai ele ia preso por 10 minutos altomaticamente

REP


Re: tempo. - GReeN_WOoD - 18.07.2013

Tenta ae:

PHP код:
if(strcmp(cmd, "/prender", true) == 0){
    new 
aname[MAX_PLAYER_NAME];
    
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
    
format(file, sizeof(file), P_CONTAS, aname);
    if(
dini_Int(file, "Profissao") == Policial_C || dini_Int(file, "Profissao") == Policial_F || dini_Int(file, "Profissao") == Recruta || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Rotam || dini_Int(file, "Profissao") == Policial_M || dini_Int(file, "Profissao") == FBI || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "pAdm01") == 1){
        new 
plid, tmp[256];
        
tmp = strtok(cmdtext, idx);
        if(!
strlen(tmp)) return SendClientMessage(playerid, Vermelho, "* Use: /prender [id]");
        
plid = strval(tmp);
        if(
plid == playerid) return SendClientMessage(playerid, Vermelho, "| ERRO | Vocк nгo pode prender vocк mesmo.");
        if(!
IsPlayerConnected(plid)) return SendClientMessage(playerid, Vermelho, "| ERRO | Jogador nгo conectado.");
        if(
GetPlayerWantedLevel(plid) < 1) return SendClientMessage(playerid, Vermelho, "| ERRO | Esse jogador nгo estб procurado.");
        if(
GetPlayerWantedLevel(plid) < 2) return SendClientMessage(playerid, Vermelho, "| ERRO | Й preciso que o jogador esteja com mais de 2 lйveis de procurado, e ele sу tem 1 level de procurado!");
        if(
GetDistanceBetweenPlayers(plid,playerid) < 10){
            new 
pname[MAX_PLAYER_NAME];
            
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
            
format(file, sizeof(file), P_CONTAS, pname);
            
format(string, sizeof(string), "| INFO | O(a) policial %s prendeu vocк.", aname);
            
SendClientMessage(plid, 0xC0C0C0AA, string);
            
SetPlayerPos(plid, 263.8820,77.4002,1001.0391);
            
SetPlayerInterior(plid, 6);
            
ResetPlayerWeapons(plid);
            
dini_IntSet(file, "Preso", 1);
            
SendClientMessage(playerid, 0xC0C0C0AA, "| INFO | Jogador(a) Preso(a) com sucesso.");
            
SetPlayerWantedLevel(plid, 0);
            
GameTextForPlayer(plid,"~w~Preso(a)!",4000, 0);
            
Preso[plid] = 1;
            new 
crg[256];
            
format(crg, sizeof(crg), "| Policial | O(a) policial '%s' prendeu o jogador '%s'.", aname, pname);
            
TogglePlayerControllable(plid, 1);
            
TempoCadeia1[plid] == 600; // Aqui й o tempo preso, 10 minutos como pedido.. 10 x 60 segundos. = 600 segundos =D
            
SetTimerEx("ChamarCadeia", 1000, true, "i", playerid);
            if(
Procurados[plid] == 1){
                
GivePlayerGrana(playerid,100);
                
Procurados[plid] = 0;
                
SendClientMessage(playerid, 0xC0C0C0AA, "| INFO | Vocк prendeu um(a) procurado(a), e ganhou 300R$ de recompensa.");
                
dini_IntSet(file, "Procurado", 0);
                
GivePlayerGrana(playerid, 300);
            }
            return 
true;
        }
        else return 
SendClientMessage(playerid,Vermelho,"| ERRO | Vocк estб muito longe!");
    }
    else return 
SendClientMessage(playerid,Vermelho,"| ERRO | Vocк nгo й policial!");
}
forward ChamarCadeia(playerid);
public 
ChamarCadeia(playerid){
    if(
TempoCadeia1[playerid] <  1) return false;
    if(
Cadeia1[playerid] == 1 && TempoCadeia1[playerid] >= 1){
        
TempoCadeia1[playerid]--;
        
format(file2,sizeof(file2),"~n~ ~n~ ~n~ ~n~ ~g~Preso: ~w~%d",TempoCadeia1[playerid]);
        
GameTextForPlayer(playerid,file2,2000,0);
        if(
TempoCadeia1[playerid] == 0){
            
Cadeia1[playerid] = 0;
            
GameTextForPlayer(playerid, "~w~ Livre", 5000, 6);
            
SpawnPlayer(playerid);
            
KillTimer(SetTimerEx("ChamarCadeia", 1000, true, "i", playerid));
        }
    }
    return 
true;
} 



Re: tempo. - Cromado - 18.07.2013

nгo funciona nem aparece o tempo que ele estб preso suasuausuasuau


Re: tempo. - GReeN_WOoD - 18.07.2013

@COD ATUALIZADO.. ESQUECI DE POR O O TIMER.. TENTA LБ.


Re: tempo. - Cromado - 18.07.2013

ainda ta a mesma coisa vou postar como ele funciona

pawn Код:
new Cadeia1[MAX_PLAYERS];
new TempoCadeia1[MAX_PLAYERS];

SetTimerEx("AtualizarCadeia1",1000,1,"i",i);

forward ChamarCadeia(playerid);
public ChamarCadeia(playerid){
    if(TempoCadeia1[playerid] <  1) return false;
    if(Cadeia1[playerid] == 1 && TempoCadeia1[playerid] >= 1){
        TempoCadeia1[playerid]--;
        format(file2,sizeof(file2),"~n~ ~n~ ~n~ ~n~ ~g~Preso: ~w~%d",TempoCadeia1[playerid]);
        GameTextForPlayer(playerid,file2,2000,0);
        if(TempoCadeia1[playerid] == 0){
            Cadeia1[playerid] = 0;
            GameTextForPlayer(playerid, "~w~ Livre", 5000, 6);
            SpawnPlayer(playerid);
            KillTimer(SetTimerEx("ChamarCadeia", 1000, true, "i", playerid));
        }
    }
    return true;
}