Mute issue
#1

Mute is expiring too fast
E.g.
I muted you for 2 minutes and your mute expired in 2 seconds.

PHP код:
CMD:mute(playerid,params[])
{
    new 
poruka[256],ID,minute,razlog[50],kalkulator,kalkulator2;
    if(!
IsPlayerConnected(playerid)) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Niste se spojili na server");
    if(
pUlogiran[playerid] != 1) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Niste ulogirani na server.");
    if(
PlayerInfo[playerid][pAdministrator] == 0) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Nemate dozvolu za tu komandu");
    if(
ADuty[playerid] != 1) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Niste uzeli administratorsku duznost (/aduty)");
    if(
sscanf(params,"uds[50]",ID,minute,razlog)) return SendClientMessage(playerid,-1,"{FF0000}Koristenje:{FFFFFF} /mute [ID/Ime] [minute] [razlog]");
    
//if(ID == playerid) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Ne mozete muteati sami sebe.");
     
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Igrac nije spojen na server.");
    if(
pUlogiran[ID] != 1) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Igrac se nije ulogirao na server.");
    
//if(PlayerInfo[ID][pAdministrator] > 0) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Ne mozete muteati ostale administratore");
    
if(PlayerInfo[ID][pSupporter] > 0) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Ne mozete muteati supportere.");
    if(
minute <= || minute 1440) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Odaberite minute muteanja izmedu: 0 i 1440 min");
    if(
strlen(razlog) < || strlen(razlog) > 20) return SendClientMessage(playerid,-1,"{FF0000}Greska:{FFFFFF} Razlog moze sadrzavati minimalno 5 i maximalno 20 slova");
    
    
kalkulator minute*60;
    
    
PlayerInfo[ID][pMute] = 1;
    
PlayerInfo[ID][pMuteVrijeme] = kalkulator;
    
SetTimer("MuteFunkcija",1000,false);
    
kalkulator2 PlayerInfo[ID][pMuteVrijeme]/60;
    
format(poruka,256,"{0080FF}WG:{FFFFFF} Muteani ste od strane administratora %s.Vrijeme: {0080FF}%d{FFFFFF} min.Razlog: %s",GetName(playerid),kalkulator2,razlog);
    
strreplace(poruka,"_"," ");
    
SendClientMessage(ID,-1,poruka);
    
format(poruka,256,"{0080FF}WG:{FFFFFF} Muteali ste igraca %s na vrijeme od {0080FF}%d{FFFFFF} min.Razlog: %s",GetName(ID),kalkulator2,razlog);
    
strreplace(poruka,"_"," ");
    
SendClientMessage(playerid,-1,poruka);
    
format(poruka,256,"{FF0000}[A-INFO]: %s{FFFFFF} %s je muteao igraca %s na vrijeme od {0080FF}%d{FFFFFF} min.Razlog: %s",GetPlayerAdminRank(playerid),GetName(playerid),GetName(ID),kalkulator2,razlog);
    
strreplace(poruka,"_"," ");
    
SendAdminMessage(-1,poruka);
    new 
INI:File INI_Open(UserPath(ID));
    
INI_SetTag(File,"Podatci");
    
INI_WriteInt(File,"pMute",PlayerInfo[ID][pMute]);
    
INI_WriteInt(File,"pMuteVrijeme",PlayerInfo[ID][pMuteVrijeme]);
    
INI_Close(File);
    return 
1;

PHP код:
public MuteFunkcija()
{
    for(new 
ID 0ID MAX_PLAYERSID++)
    {
        if(
IsPlayerConnected(ID))
        {
            if(
pUlogiran[ID] == 1)
            {
                if(
PlayerInfo[ID][pMute] == 1)
                {
                    if(
PlayerInfo[ID][pMuteVrijeme] > 0)
                    {
                        
PlayerInfo[ID][pMuteVrijeme]--;
                    }
                }
            }
        }
    }
    return 
1;

Reply
#2

Change your SetTimer to this:
PHP код:
    SetTimer("MuteFunkcija",minute*1000*60,false); 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)