Jump to content
  • 0

pomoc Propouštění z Prisonu (Admin Vězení)


Stellet

Dotaz

Ahoj, když dám /prison [id] [čas] [důvod] Vše jde, funguje ale když se odpojí uloží se a když se připojí je tam cca 3sekundy a propustí ho to..

 

OnGameModeInit:

SetTimer("P_Propust", 60000, true);

Public P_Propust:

public P_Propust()
{
    new string[100]; // stačí
    new Pname[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
       if(prisonTime[i] != 0)
       {
            prisonTime[i]--;
       } else {
            if(PlayerInfo[i][pAjail] == 1) // pokud je v base a skončil mu čas
            {
                GetPlayerName(i, Pname, sizeof(Pname));
                format(string, sizeof(string), "/Hraci/%s.ini",Pname);
PlayerInfo[i][pAjail] = 0;
                DOF2_SetString(string,"PJmeno","");
DOF2_SetString(string,"PDuvod","");
DOF2_SetString(string,"PHodnost","");
DOF2_SetInt(string,"PrisonTime", 0);
SetPlayerPos(i,1673.8040,1447.8599,10.7844);
            }
       }
    }
}

Když ho dám do vězení vše jde, když se odpojí a připojí pustí ho to cca za 3sekundy, má to být v minutách (Jinak mu to normálně načte ten čas že tam má být ještě tolik a tolik minut)

Edited by FeedBoss
Link to comment
Share on other sites

3 odpovědí na tuto otázku

Recommended Posts

  • 0

No tak jsem to předělal podle tvé pomoci:

forward P_Propust(playerid);
public P_Propust(playerid)
{
    new string[100]; // stačí
    new Pname[MAX_PLAYER_NAME];
    if(prisonTime[playerid] != 0)
    {
     prisonTime[playerid]--;
    } else {
    if(PlayerInfo[playerid][pAjail] == 1) // pokud je v base a skončil mu čas
    {
     GetPlayerName(playerid, Pname, sizeof(Pname));
     format(string, sizeof(string), "/Hraci/%s.ini",Pname);
PlayerInfo[playerid][pAjail] = 0;
DOF2_SetString(string,"PJmeno","");
DOF2_SetString(string,"PDuvod","");
DOF2_SetString(string,"PHodnost","");
DOF2_SetInt(string,"PrisonTime", 0);
SetPlayerPos(playerid,1673.8040,1447.8599,10.7844);
       }
    }
}

OnPlayerSpawn:

 

public OnPlayerSpawn(playerid)
{
StopAudioStreamForPlayer(playerid);
if(PlayerInfo[playerid][pAjail] == 0)
{
   new string[500];
new Pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Pname, sizeof(Pname));
format(string, sizeof(string), "/Hraci/%s.ini",Pname);
  SetPlayerPos(playerid,DOF2_GetInt(string,"PoziceX"),DOF2_GetInt(string,"PoziceY"),DOF2_GetInt(string,"PoziceZ"));
} else {
new str[300];
new string[500];
new Pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Pname, sizeof(Pname));
format(string, sizeof(string), "/Hraci/%s.ini",Pname);
  SetPlayerPos(playerid, -1790.7722, 567.2419, 333.3382);
  new Cas,Hodnost[300],Jmeno[300],Duvod[300];
Cas = DOF2_GetInt(string,"PrisonTime");
Hodnost = DOF2_GetString(string,"PHodnost");
Jmeno = DOF2_GetString(string,"PJmeno");
Duvod = DOF2_GetString(string,"PDuvod");
SetTimer("P_Propust", Cas, true);
  format(str,sizeof(str)," V prisonu ti zbývá %i minut, zatkl tě %s %s z důvodu %s.",Cas,Hodnost,Jmeno,Duvod);
  SendClientMessage(playerid,B_CERVENA,str);
}
return 1;
}
ale nastaví mu ten timer P_Propust ten Cas, na sekundy.. A já bych potřeboval na minuty, díky za každou pomoc.  :help: Edited by FeedBoss
Link to comment
Share on other sites

  • 0

Tak to jednoduše vynásob 60. Do příkazu zadáš třeba "5", pak si vytvoříš nějakou proměnou a tam to vynásobíš "5 * 60".


//Edit: Samozřejmě počítám už s tím, že máš nějak vyřešené ty milisekundy...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...