Jump to content
  • 0

pomoc Problém s banom a kickom


Chriss-.-

Dotaz

Zdravím, mám menší problém. Keď niekoho zabanujem alebo kicknem na mojom servery. Tak mu to nevypíše dôvod banu/kicku. V pawne nemám žiadny error/warning. Potrebujem stým nejak pomôcť prosím vás. Tu je kód banu a kicku:

BAN:

 

CMD:ban(playerid, params[])

{

 

new id, reason[35], name2[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME], string[128];

if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD2,"* Na tento příkaz potřebuješ vyšší Admin Level");

if(sscanf(params,"uz", id, reason)) return SendClientMessage(playerid, COLOR_WHITE,"Použití: /ban [playerid/PartOfName] [Reason]");

if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen!");

else

{

if(PlayerInfo[id][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_GRAD2, " Nemužeš zabanovat adminy z většim levelem !");

new year, month, day;

new logstring[256];

getdate(year, month, day);

GetPlayerName(id, name2, sizeof(name2));

GetPlayerName(playerid, name1, sizeof(name1));

format(string, sizeof(string), "AdmCmd: %s byl zabanován adminem | reason: %s", name2, reason);

format(logstring, sizeof(logstring), "AdmCmd: %s byl zabanován adminem %s | reason: %s (%d-%d-%d).", name2, GetName(playerid), reason, month, day, year);

BanLog(logstring);

SendClientMessageToAll(COLOR_LIGHTRED, string);

new plrIP[16];

GetPlayerIp(id,plrIP, sizeof(plrIP));

SendClientMessage(id,COLOR_YELLOW,"|___________[bAN INFO]___________|");

format(string, sizeof(string), "Tvoje jméno: %s.",name2);

SendClientMessage(id, COLOR_WHITE, string);

format(string, sizeof(string), "Tvoje IP: %s.",plrIP);

SendClientMessage(id, COLOR_WHITE, string);

format(string, sizeof(string), "Důvod: %s.",reason);

SendClientMessage(id, COLOR_WHITE, string);

SendClientMessage(id,COLOR_YELLOW,"|___________[bAN INFO]___________|");

format(string,sizeof(string),"Prosím udělejte si screenshot tejto správy (F8) a vložte ho do žiadosti o unban.",GetName(playerid));

SendClientMessage(playerid, COLOR_YELLOW,string);

Ban(id);

}

return 1;

}

KICK:

 

CMD:kick(playerid,params[])

{

 

new id,name1[MAX_PLAYER_NAME], reason[35], string[128], logstring[256];

if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD2,"* Na tento příkaz potřebuješ vyšší Admin Level");

else if(sscanf(params,"uz",id,reason)) return SendClientMessage(playerid, COLOR_WHITE,"Použití: /kick [playerid/PartOfName] [důvod]");

else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen !");

else if(PlayerInfo[id][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_GRAD2, " Nemužeš kicknout admina s vyšším levelem !");

else

{

new year, month, day;

getdate(year, month, day);

GetPlayerName(id,name1,sizeof(name1));

format(string, sizeof(string),"AdmCmd: %s byl kicknut adminem | reason: %s",name1, reason);

SendClientMessageToAll(COLOR_LIGHTRED,string);

Kick(id);

format(logstring, sizeof(logstring), "AdmCmd: %s byl kicknut adminem %s | reason: %s (%d-%d-%d).", name1, GetName(playerid), reason, month, day, year);

KickLog(logstring);

}

return 1;

}

 

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

Diky za snahu ale nepomohlo to... stále to nič nevypisuje tomu kto bol kicknutý

tak ja už nevim skus zvětšit velikost stringu reason

jinak if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen!");

je kravina invalid player id je snad od 500 výš když max hráčů je 500 mam pocit když jsem začínal tak jsem to skoušel a stejně to nefungovalo nevim jak u tebe ale mě ne

spíš tam dej if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen!");

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

tak ja už nevim skus zvětšit velikost stringu reason

jinak if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen!");

je kravina invalid player id je snad od 500 výš když max hráčů je 500 mam pocit když jsem začínal tak jsem to skoušel a stejně to nefungovalo nevim jak u tebe ale mě ne

spíš tam dej if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen!");

Zmenené diky...

ale stále to nejde... dám kick a napíše to iba "Server closed the connection" nič iné.

Link to comment
Share on other sites

  • 0

Ahoj mne to robilo tiež a kamarát mi povedal že nech to skúsim spraviť cez timer a ide to..

 

Takže niejak takto:

 

 

 

forward ban1(id);

 

 

public ban1(id)

{

Ban(id);

}

 

 

 

 

CMD:ban(playerid, params[])

{

 

new id, reason[35], name2[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME], string[128];

if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD2,"* Na tento příkaz potřebuješ vyšší Admin Level");

if(sscanf(params,"uz", id, reason)) return SendClientMessage(playerid, COLOR_WHITE,"Použití: /ban [playerid/PartOfName] [Reason]");

if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen!");

else

{

if(PlayerInfo[id][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_GRAD2, " Nemužeš zabanovat adminy z většim levelem !");

new year, month, day;

new logstring[256];

getdate(year, month, day);

GetPlayerName(id, name2, sizeof(name2));

GetPlayerName(playerid, name1, sizeof(name1));

format(string, sizeof(string), "AdmCmd: %s byl zabanován adminem | reason: %s", name2, reason);

format(logstring, sizeof(logstring), "AdmCmd: %s byl zabanován adminem %s | reason: %s (%d-%d-%d).", name2, GetName(playerid), reason, month, day, year);

BanLog(logstring);

SendClientMessageToAll(COLOR_LIGHTRED, string);

new plrIP[16];

GetPlayerIp(id,plrIP, sizeof(plrIP));

SendClientMessage(id,COLOR_YELLOW,"|___________[bAN INFO]___________|");

format(string, sizeof(string), "Tvoje jméno: %s.",name2);

SendClientMessage(id, COLOR_WHITE, string);

format(string, sizeof(string), "Tvoje IP: %s.",plrIP);

SendClientMessage(id, COLOR_WHITE, string);

format(string, sizeof(string), "Důvod: %s.",reason);

SendClientMessage(id, COLOR_WHITE, string);

SendClientMessage(id,COLOR_YELLOW,"|___________[bAN INFO]___________|");

format(string,sizeof(string),"Prosím udělejte si screenshot tejto správy (F8) a vložte ho do žiadosti o unban.",GetName(playerid));

SendClientMessage(playerid, COLOR_YELLOW,string);

SetTimerEx("ban1",2000,false,"i",id);

}

return 1;

}

 

 

Ak som ti pomohol +REP

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

Ahoj mne to robilo tiež a kamarát mi povedal že nech to skúsim spraviť cez timer a ide to..

 

Takže niejak takto:

 

 

 

forward ban1(id);

 

 

public ban1(id)

{

Ban(id);

}

 

 

 

 

CMD:ban(playerid, params[])

{

 

new id, reason[35], name2[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME], string[128];

if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD2,"* Na tento příkaz potřebuješ vyšší Admin Level");

if(sscanf(params,"uz", id, reason)) return SendClientMessage(playerid, COLOR_WHITE,"Použití: /ban [playerid/PartOfName] [Reason]");

if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY,"Tento hráč není připojen!");

else

{

if(PlayerInfo[id][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, COLOR_GRAD2, " Nemužeš zabanovat adminy z většim levelem !");

new year, month, day;

new logstring[256];

getdate(year, month, day);

GetPlayerName(id, name2, sizeof(name2));

GetPlayerName(playerid, name1, sizeof(name1));

format(string, sizeof(string), "AdmCmd: %s byl zabanován adminem | reason: %s", name2, reason);

format(logstring, sizeof(logstring), "AdmCmd: %s byl zabanován adminem %s | reason: %s (%d-%d-%d).", name2, GetName(playerid), reason, month, day, year);

BanLog(logstring);

SendClientMessageToAll(COLOR_LIGHTRED, string);

new plrIP[16];

GetPlayerIp(id,plrIP, sizeof(plrIP));

SendClientMessage(id,COLOR_YELLOW,"|___________[bAN INFO]___________|");

format(string, sizeof(string), "Tvoje jméno: %s.",name2);

SendClientMessage(id, COLOR_WHITE, string);

format(string, sizeof(string), "Tvoje IP: %s.",plrIP);

SendClientMessage(id, COLOR_WHITE, string);

format(string, sizeof(string), "Důvod: %s.",reason);

SendClientMessage(id, COLOR_WHITE, string);

SendClientMessage(id,COLOR_YELLOW,"|___________[bAN INFO]___________|");

format(string,sizeof(string),"Prosím udělejte si screenshot tejto správy (F8) a vložte ho do žiadosti o unban.",GetName(playerid));

SendClientMessage(playerid, COLOR_YELLOW,string);

SetTimerEx("ban1",2000,false,"i",id);

}

return 1;

}

 

 

Ak som ti pomohol +REP

asi ti to necvaklo ban jde ale nevypíše to reason při zabanování :d

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