Jump to content
  • 0

pomoc /var


Niki

Dotaz

Ahoj vedel by mi prosím vás niekto pomôcť s príkazom /var ?

COMMAND:var(playerid, params[])
{
        new ID;
        new pname[128];
        GetPlayerName(ID, pname, sizeof(pname));
        new string[128],dovod[128];
        if(alevel[playerid] < 1) return  SCM(playerid,RED, "[ ! ] Nemáš dostatočné Admin Práva");
		{
                if(sscanf(params,"iz",ID,dovod)) return SCM(playerid, RED, "Použi: /var [ID] [Dôvod]");
                if(!IsPlayerConnected(ID)) return SCM(playerid, RED, "Hráč s týmto id neni online");
                if(varovanie[playerid] == 2)
                {
                        format(string,sizeof(string),"Administrátor %s vyhodil hráča %s [Dôvod: %s]",PlayerName(playerid),PlayerName(ID),dovod);
                        SCMTA(RED, string);
                        varovanie[playerid] +=1;
                        Kick(ID);
                        return 1;
                }
                if(varovanie[playerid] == 1)
                {
                        format(string,sizeof(string),"Administrátor %s napomenul hráča %s [Dôvod: %s]",PlayerName(playerid),PlayerName(ID),dovod);
                        SCMTA(RED, string);
                        varovanie[playerid] +=1;
                        return 1;
                }
                if(varovanie[playerid] == 0)
                {
                        format(string,sizeof(string),"Administrátor %s napomenul hráča %s [Dôvod: %s]",PlayerName(playerid),PlayerName(ID),dovod);
                        SCMTA(RED, string);
                        varovanie[playerid] +=1;
                        return 1;
                }
        }
        return 1;
}

Problém je v tom že napomeniem jedneho hráča 2x a druheho hráča 1x a ono ho to rovno vyhodí

Link to comment
Share on other sites

9 odpovědí na tuto otázku

Recommended Posts

  • 0
COMMAND:var(playerid, params[])
{
        new ID;
        new pname[128];
        GetPlayerName(ID, pname, sizeof(pname));
        new string[128],dovod[128];
        if(alevel[playerid] < 1) return  SCM(playerid,RED, "[ ! ] Nemáš dostatočné Admin Práva");
		{
                if(sscanf(params,"u",ID,dovod)) return SCM(playerid, RED, "Použi: /var [ID] [Dôvod]");
                if(!IsPlayerConnected(ID)) return SCM(playerid, RED, "Hráč s týmto id neni online");
                if(varovanie[playerid] == 2)
                {
                        format(string,sizeof(string),"Administrátor %s vyhodil hráča %s [Dôvod: %s]",PlayerName(playerid),PlayerName(ID),dovod);
                        SCMTA(RED, string);
                        varovanie[playerid] +=1;
                        Kick(ID);
                        return 1;
                }
                if(varovanie[playerid] == 1)
                {
                        format(string,sizeof(string),"Administrátor %s napomenul hráča %s [Dôvod: %s]",PlayerName(playerid),PlayerName(ID),dovod);
                        SCMTA(RED, string);
                        varovanie[playerid] +=1;
                        return 1;
                }
                if(varovanie[playerid] == 0)
                {
                        format(string,sizeof(string),"Administrátor %s napomenul hráča %s [Dôvod: %s]",PlayerName(playerid),PlayerName(ID),dovod);
                        SCMTA(RED, string);
                        varovanie[playerid] +=1;
                        return 1;
                }
        }
        return 1;
}

A čo ešte ?

Link to comment
Share on other sites

  • 0

Skús:

COMMAND:var(playerid, params[])
{
    new ID, dovod[128];
    new string[128];
    if(alevel[playerid] < 1) return SCM(playerid,RED, "[ ! ] Nemáš dostatočné Admin Práva");
    {
        if(sscanf(params,"us",ID,dovod)) return SCM(playerid, RED, "Použi: /var [ID] [Dôvod]");       
        if(!IsPlayerConnected(ID)) return SCM(playerid, RED, "Hráč s týmto id neni online");        
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(ID, pname, sizeof(pname));
        
        if(varovanie[ID] == 2)
        {
            format(string,sizeof(string),"Administrátor %s vyhodil hráča %s [Dôvod: %s]",PlayerName(playerid),pname,dovod);
            SCMTA(RED, string);
            varovanie[ID] ++;
            Kick(ID);
            return 1;
        }

        if(varovanie[ID] == 1)
        {
            format(string,sizeof(string),"Administrátor %s napomenul hráča %s [Dôvod: %s]",PlayerName(playerid),pname,dovod);
            SCMTA(RED, string);
            varovanie[ID] ++;
            return 1;
        }

        if(varovanie[ID] == 0)
        {
            format(string,sizeof(string),"Administrátor %s napomenul hráča %s [Dôvod: %s]",PlayerName(playerid),pname,dovod);
            SCMTA(RED, string);
            varovanie[ID] ++;
            return 1;
        }
    }
    return 1;
}
Link to comment
Share on other sites

  • 0

Ak ti to v konzoli serveru píše sscanf warning nahraď tento riadok

if(sscanf(params,"us[128]",ID,dovod)) return SendClientMessage(playerid, RED, "Použi: /var [ID] [Dôvod]");
Link to comment
Share on other sites

  • 0

Nechápu význam, proč jí sem napíšeš celý kód.. Já jsem jí řekl, kde má chybu v přičítání napomenutí, pak tu napíše stejný kód akorát změněným sscanf a ty jí tu postneš celý kod.. Tím se opravdu nic nenaučí..

Link to comment
Share on other sites

  • 0

ano.... proč to dělat Jednoduše když to jde i složite :)

 

/*Nekam uplne nahoru mimo public a command.*/
stock GetName(playerid)
{
	new nick[MAX_PLAYER_NAME];
	GetPlayerName(playerid,nick,sizeof(nick));
	return nick;
}
CMD:var(playerid, params[])
{
    new ID;
    if(alevel[playerid] < 1) return SCM(playerid,RED, "[ ! ] Nemáš dostatočné Admin Práva");
    else if(sscanf(params,"us",ID,params)) return SCM(playerid, RED, "Použi: /var [ID] [Dôvod]");
    else if(!IsPlayerConnected(ID)) return SCM(playerid, RED, "Hráč s týmto id neni online");
    varovanie[ID] ++;
    if(varovanie[ID] == 3)
    {
        new string[128];
	    format(string,sizeof(string),"Administrátor %s[ID %i] Vyhodil Hráče %s[ID %i] Důvod %s",GetName(playerid),playerid,GetName(ID),ID,params);
	    SCMTA(RED, string);
     	varovanie[ID] = 0;
	    Kick(ID);
	   	}else{
		new str[128];
  		format(str,sizeof(str),"Administrátor %s[ID %i] Napomenul Hráče %s[ID %i] Důvod %s %i/3",GetName(playerid),playerid,GetName(ID),ID,params,varovanie[ID]);
	    SCMTA(RED, str);
	}
    return 1;
}
Link to comment
Share on other sites

  • 0
COMMAND:var(playerid, params[])
{
new ID, dovod[128];
new string[128];
if(alevel[playerid] < 1) return SCM(playerid,RED, "[ ! ] Nemáš dostatočné Admin Práva");
    {
if(sscanf(params,"us",ID,dovod)) return SCM(playerid, RED, "Použi: /var [ID] [Dôvod]"); 
if(!IsPlayerConnected(ID)) return SCM(playerid, RED, "Hráč s týmto id neni online"); 
new pname[MAX_PLAYER_NAME];
GetPlayerName(ID, pname, sizeof(pname));
varovanie[ID] ++;
if(varovanie[ID] >= 3)
{
format(string,sizeof(string),"Administrátor %s vyhodil hráča %s [Dôvod: %s]",PlayerName(playerid),pname,dovod);
SCMTA(RED, string);
Kick(ID);
return 1;
}else{
format(string,sizeof(string),"Administrátor %s napomenul hráča %s [Dôvod: %s]",PlayerName(playerid),pname,dovod);
SCMTA(RED, string);
return 1;
}
}
return 1;
}

jednodušeji

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...