Winsto
Умник
на Mysql R7
PHP:
else if(strcmp(cmd,"/ban", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >=7)
{
new tmp2[128];
tmp=strtok(cmdtext,idx);
tmp2=strtok(cmdtext,idx);
if((!strlen(tmp)) || (!strlen(tmp2)))
{
SendClientMessage(playerid,COLOR_GREY,"Используйте: /ban [id] [дни] [причина]");
return 1;
}
if(IsPlayerConnected(playerid))
{
new playeri,day,y,m,d,yy,mm,dd,nameme[MAX_PLAYER_NAME];
playeri = strval(tmp);
day = strval(tmp2);
if(IsPlayerConnected(playeri))
{
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[playeri][pAdmin])
{
SendClientMessage(playerid,COLOR_GREY,"Нельзя забанить админа, который старше вас!");
return 1;
}
if(day <= 0)
{
day = 10;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
new playername[MAX_PLAYER_NAME];
GetPlayerName(playeri,nameme,sizeof(nameme));
GetPlayerName(playerid,playername,sizeof(playername));
if(!strlen(result))
{
format(string,sizeof(string),"Администратор %s забанил %s на %d дней. Причина: несоблюдение правил сервера",playername,nameme,day);
SendClientMessageToAll(COLOR_LIGHTRED,string);
}
else
{
format(string,sizeof(string),"Администратор %s забанил %s на %d дней. Причина: %s",playername,nameme,day,(result));
SendClientMessageToAll(COLOR_LIGHTRED,string);
}
new year, month, days,hour,minuite;
new mtext[20];
getdate(year, month, days);
gettime(hour,minuite);
if(month == 1) { mtext = "Января"; }
else if(month == 2) { mtext = "Февраля"; }
else if(month == 3) { mtext = "Марта"; }
else if(month == 4) { mtext = "Апреля"; }
else if(month == 5) { mtext = "Мая"; }
else if(month == 6) { mtext = "Июня"; }
else if(month == 7) { mtext = "Июля"; }
else if(month == 8) { mtext = "Августа"; }
else if(month == 9) { mtext = "Сентября"; }
else if(month == 10) { mtext = "Октября"; }
else if(month == 11) { mtext = "Ноября"; }
else if(month == 12) { mtext = "Декабря"; }
new coordsstring1[512];
new msg1[] = "{ff0000}Ваш аккаунт заблокирован\n\n{ffffff}Администратор: {1e90ff}%s\n{ffffff}Срок: {1e90ff}%d {ffffff}дней\nПричина: {1e90ff}%s\nДата: {1e90ff}%d %s %d\n{FFFFFF}Время: {1e90ff} %d:%d";
format(coordsstring1, sizeof coordsstring1, msg1, playername,day,(result),days,mtext,year,hour,minuite);
SPD(playeri,9999,DIALOG_STYLE_MSGBOX,"{1e90ff}Блокировка аккаунта",coordsstring1,"Скрыть","");
getdate(y,m,d);
dd = d;
mm = m;
yy = y;
dd = dd + day;
while(dd > GetDayMount(m,y))
{
mm++;
if(mm > 12)
{
mm=1;
yy++;
}
dd = dd-GetDayMount(mm,yy);
}
format(string,sizeof(string),"%d,%d,%d",dd,mm,yy);
new File = iniOpen("tempbans.ini");
iniSet(File,nameme,string);
iniClose(File);
GKick(playeri);
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Нет такого игрока!");
}
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Вы не уполномочены использовать эту команду!");
}
return 1;
}
PHP:
else if(strcmp(cmd, "/warn", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /warn [id] [причина]");
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(IsMessageSent[playerid] == 1){
SendClientMessage(playerid,COLOR_GREY, "Не Флуди");
return false;}
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "{22ff00}» {bbbbbb}Введите{FFFFFF}: /warn [id] [причина]");
if(PlayerInfo[playerid][pAdmin] <= PlayerInfo[giveplayerid][pAdmin]) return SendClientMessage(playerid, COLOR_GRAD2, "Администраторe старше вас нельзя выдать варн!");
PlayerInfo[giveplayerid][pWarns] += 1;
PlayerInfo[giveplayerid][pRp] -=5;
if(PlayerInfo[giveplayerid][pWarns] >= 3)
{
new playeri,y,m,d,yy,mm,dd,nameme[MAX_PLAYER_NAME];
new ip[128];
PlayerInfo[playerid][pWarna] +=1;
format(string, sizeof(string), "Администратор %s забанил игрока %s. Причина: [3/3 Warns] %s ", sendername,giveplayer, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
GetPlayerIp(giveplayerid,ip,sizeof(ip));
PlayerInfo[giveplayerid][pRp] -=20;
format(string, sizeof(string), "- Ник: [%s] IP: [%s]",nameme,ip);
ABroadCast(COLOR_LIGHTRED,string,1);
PlayerInfo[giveplayerid][pMember] = 0;
PlayerInfo[giveplayerid][pLeader] = 0;
PlayerInfo[giveplayerid][pJob] = 0;
new year,month,dayss,hour,minuite;
new mtext[20];
getdate(year, month, dayss);
gettime(hour,minuite);
if(month == 1) { mtext = "Января"; }
else if(month == 2) { mtext = "Февраля"; }
else if(month == 3) { mtext = "Марта"; }
else if(month == 4) { mtext = "Апреля"; }
else if(month == 5) { mtext = "Мая"; }
else if(month == 6) { mtext = "Июня"; }
else if(month == 7) { mtext = "Июля"; }
else if(month == 8) { mtext = "Августа"; }
else if(month == 9) { mtext = "Сентября"; }
else if(month == 10) { mtext = "Октября"; }
else if(month == 11) { mtext = "Ноября"; }
else if(month == 12) { mtext = "Декабря"; }
new coordsstring1[512];
new msg1[] = "{ff0000}Ваш аккаунт был кикнут\n\n{ffffff}Администратор: {1e90ff}%s{ffffff}\nПричина: {1e90ff}%s{ffffff}\nДата: {1e90ff}%d %s %d\n{FFFFFF}Время: {1e90ff} %d:%d";
format(coordsstring1, sizeof coordsstring1, msg1, sendername,(result),dayss,mtext,year,hour,minuite);
SPD(playeri,9999,DIALOG_STYLE_MSGBOX,"{1e90ff}Warn аккаунта",coordsstring1,"Скрыть","");
getdate(y,m,d);
dd = d;
mm = m;
yy = y;
dd = dd + 5;
while(dd > GetDayMount(m,y))
{
mm++;
if(mm > 12)
{
mm=1;
yy++;
}
dd = dd-GetDayMount(mm,yy);
}
format(string,sizeof(string),"%d,%d,%d",dd,mm,yy);
new File = iniOpen("tempbans.ini");
iniSet(File,nameme,string);
iniClose(File);
GKick(playeri);
return true;
}
format(string, sizeof(string), "Администратор %s выдал warn %s. Причина: %s", sendername, giveplayer, (result));
PlayerInfo[playerid][pWarna] +=1;
new year, month, day,hour,minuite;
new mtext[20];
getdate(year, month, day);
gettime(hour,minuite);
if(month == 1) { mtext = "Января"; }
else if(month == 2) { mtext = "Февраля"; }
else if(month == 3) { mtext = "Марта"; }
else if(month == 4) { mtext = "Апреля"; }
else if(month == 5) { mtext = "Мая"; }
else if(month == 6) { mtext = "Июня"; }
else if(month == 7) { mtext = "Июля"; }
else if(month == 8) { mtext = "Августа"; }
else if(month == 9) { mtext = "Сентября"; }
else if(month == 10) { mtext = "Октября"; }
else if(month == 11) { mtext = "Ноября"; }
else if(month == 12) { mtext = "Декабря"; }
new coordsstring1[512];
new msg1[] = "{ff0000}Ваш аккаунт был кикнут\n\n{ffffff}Администратор: {1e90ff}%s{FFFFFF}\nПричина: {1e90ff}%s{FFFFFF}\nДата: {1e90ff}%d %s %d\n{FFFFFF}Время: {1e90ff} %d:%d";
format(coordsstring1, sizeof coordsstring1, msg1, sendername,(result),day,mtext,year,hour,minuite);
SPD(giveplayerid,9999,DIALOG_STYLE_MSGBOX,"{1e90ff}Warn аккаунта",coordsstring1,"Скрыть","");
SendClientMessageToAll(COLOR_LIGHTRED,string);
PlayerInfo[giveplayerid][pMember] = 0;
PlayerInfo[giveplayerid][pLeader] = 0;
PlayerInfo[giveplayerid][pJob] = 0;
GKick(giveplayerid);
return true;
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Игрок не найден!");
}
}
return true;
}
PHP:
else if(strcmp(cmd, "/del", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 12)
{
new akk[128],ssss[128];
akk = strtok(cmdtext, idx);
if(!strlen(akk)) return SendClientMessage(playerid,COLOR_GREY,"{22ff00}» {bbbbbb}Введите{FFFFFF}: /del [ник]");
if(giveplayerid == playerid) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя удалить свой аккаунт!");
if(PlayerInfo[playerid][pAdmin] <= PlayerInfo[giveplayerid][pAdmin]) return SendClientMessage(playerid, COLOR_GRAD2, "{F70000}x {ADAEAD}Аккаунт администратора не может быть удален!");
format(string,sizeof(string),"users/%s.ini",akk);
if(!fexist(string)) return SendClientMessage(playerid,COLOR_RED,"{F70000}x {ADAEAD}Такого аккаунта не существует!");
fremove(string);
format(ssss,sizeof(ssss),"Аккаунт %s был успешно удален",akk);
SendClientMessage(playerid,COLOR_RED,ssss);
}
return true;
}
Последнее редактирование:
