Hello,i got ban system hours and compiled it but it's not works in server it's say: Unknown Command
Код:
#include < a_samp >
#include < izcmd >
#include < sscanf2 >
#include < streamer >
#include < YSI\y_ini >
#define SCMTA SendClientMessageToAll
#define SCM SendClientMessage
#define BanHours_FOLDER "BanHours/%s.ini"
enum bana
{
BanHours,
BanDay
};
new SBanInfo[MAX_PLAYERS][bana];
public OnPlayerConnect(playerid)
{
SBanInfo[playerid][BanDay] = 0;
SBanInfo[playerid][BanHours] = -1;
if(fexist(SBanPath(playerid)))
{
INI_ParseFile(SBanPath(playerid), "LoadSBan", .bExtra = true, .extra = playerid);
if(SBanInfo[playerid][BanHours] > -1)
{
new sati, minute, sekunde;
gettime(sati, minute, sekunde);
new yera, monthb, dayb;
getdate(yera, monthb, dayb);
if(dayb >= SBanInfo[playerid][BanDay])
{
if(SBanInfo[playerid][BanHours] > sati)
{
new string[30];
format(string, sizeof(string), "You are banned from this server for %d hours.", SBanInfo[playerid][BanHours]);
SCM(playerid, -1, string);
Kick(playerid);
}
else
{
SBanInfo[playerid][BanHours] = -1;
SBanInfo[playerid][BanDay] = 0;
SavehBan(playerid);
}
}
else
{
new string[30];
format(string, sizeof(string), "You are banned from this server for %d hours.", SBanInfo[playerid][BanHours]);
SCM(playerid, -1, string);
Kick(playerid);
}
}
}
return 1;
}
forward LoadSBan(playerid,name[],value[]);
public LoadSBan(playerid,name[],value[])
{
INI_Int("BanHours",SBanInfo[playerid][BanHours]);
INI_Int("BanDay",SBanInfo[playerid][BanDay]);
return 1;
}
///////////////////////////////////////////////////////////////////////////
stock SavehBan(playerid)
{
new INI:File = INI_Open(SBanPath(playerid));
INI_WriteInt(File,"BanHours",SBanInfo[playerid][BanHours]);
INI_WriteInt(File,"BanDay",SBanInfo[playerid][BanDay]);
INI_Close(File);
return 1;
}
///////////////////////////////////////////////////////////////////////////
stock SBanPath(playerid)
{
new string[128];
format(string,sizeof(string),BanHours_FOLDER,GetName(playerid));
return string;
}
CMD:hban(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new id, hour, reason[128];
if(sscanf(params, "uis[128]", id, hour, reason)) return SCM(playerid, -1, "Usage: /BanHours [ID/Name] [Hours(max 3)] [Reason]");
if(hour > 3 || hour < 0) return SCM(playerid, -1, "ERROR: You can't ban more than 3 hours or less than 0");
new hourb, minb, secb;
gettime(hourb,minb,secb);
new yearb, monthb, dayb;
getdate(yearb,monthb,dayb);
new houro = hourb+hour;
if(houro == 24)
{
houro=0;
dayb++;
}
if(houro == 25)
{
houro=1;
dayb++;
}
if(houro == 26)
{
houro=2;
dayb++;
}
SBanInfo[id][BanHours] = houro;
SBanInfo[id][BanDay] = dayb;
new str[128];
format(str, sizeof(str), "Admin %s temporary banned %s || Reason: %s || he will be unbanned in: %d hours", GetName(playerid), GetName(id), reason, hour);
SavehBan(id);
SCMTA(-1, str);
new string1[128], string2[128];
format(string1, sizeof(string1), "You've banned player %s | Ban reason: %s", GetName(id), reason);
format(string2, sizeof(string2), "| he will be unbanned in %d hours |", hour);
SCM(playerid, -1, string1);
SCM(playerid, -1, string2);
new string[128];
format(string,sizeof(string), "You have been baned by %s | Reason: %s",GetName(playerid), reason);
new str2[128];
format(str2, sizeof(str2), "You will be unbaned in: %d hours", hour);
SCM(id, 0xFF6347AA, string);
SCM(id, 0xFF6347AA, str2);
Kick(id);
}
else
{
SCM(playerid,-1, "ERROR: You are not allowed to use this command");
}
return 1;
}
CMD:hunban(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1, "ERROR:You are not allowed to use this command!");
new user[50];
new String[128];
new sendername[MAX_PLAYER_NAME];
if(sscanf(params, "s[50]", user)) return SCM(playerid, -1, "Usage: /hunban [Nick]");
format(user, sizeof(user), "BanHours/%s.ini", user);
if(fexist(user))
{
new INI:File = INI_Open(user);
INI_WriteInt(File, "BanHours", -1);
INI_WriteInt(File, "BanDay", 0);
INI_Close(File);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(String, 128, "Admin %s has unbaned player %s(Day - Hours ban).", sendername, user);
SCMTA(-1, String);
return 1;
}
else
{
SCM(playerid,-1, "ERROR: User not found!");
}
return 1;
}
stock GetName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}