djneketos
Ученик
Перейду сразу к делу. Я написал вот такой вот код для варна:
else if(!strcmp(cmd, "/варн", true))
{
new plid, wntime, reason[64];
sscanf(params, "ds[64]", plid, reason);
if(PI[playerid][Admin] < 500) return SendClientMessage(playerid, COLOR_SYSTEM, "Тебе нельзя использовать эту команду");
else if(emptyMessage(params)) return SendClientMessage(playerid, COLOR_SYSTEM, "/варн [ID] [причина]");
else if(PI[playerid][Admin] <= PI[plid][Admin] && plid != playerid) return SendClientMessage(playerid, COLOR_SYSTEM, "Игрок администратор");
else if(!InGame(plid)) return SendClientMessage(playerid, COLOR_SYSTEM, "Такого игрока нет");
else
{
if(wntime < 0 || wntime > 259200) wntime = 259200;
//if(PI[playerid][Admin] < 500 && mctime > 300) mctime = 300;
//else if(PI[playerid][Admin] < 700 && mctime > 36000) mctime = 36000;
if(PI[playerid][Admin] < 700) return SendClientMessage(playerid, COLOR_SYSTEM, "Тебе нельзя снимать варны");
if(PIpen[plid][MuteCMD] > 0) return SendClientMessage(playerid, COLOR_SYSTEM, "У игрока уже есть варн");
if(PIpen[playerid][WarnCount] != 0)
{
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d]", Name(playerid), playerid, Name(plid), plid);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d], причина: %s", Name(playerid), playerid, Name(plid), plid, reason);
}
SendClientMessageToAll(COLOR_ADMIN, glstr);
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d]", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID]);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d], причина: %s", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID], reason);
}
alog(glstr, 0);
PIpen[plid][WarnTime] = 86400;
PIpen[plid][WarnCount] = 1;
PI[plid][Faction] = 0;
PI[plid][Rank] = 0;
SetPlayerFactionColor(plid);
SetLeaderSkin(plid);
format(query1, sizeof(query1), "UPDATE `users` SET `Faction` = '0', `Rank` = '0' WHERE `ID` = '%d'", PI[plid][ID]);
format(query1, sizeof(query1), "UPDATE `penalty` SET `WarnTime` = '18600', `WarnCount` = '1' WHERE `ID` = '%d'", PI[plid][ID]);
mysql_query(query1);
}
if(PIpen[playerid][WarnCount] != 1)
{
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d]", Name(playerid), playerid, Name(plid), plid);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d], причина: %s", Name(playerid), playerid, Name(plid), plid, reason);
}
SendClientMessageToAll(COLOR_ADMIN, glstr);
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d]", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID]);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d], причина: %s", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID], reason);
}
alog(glstr, 0);
PIpen[plid][WarnTime] = 172800;
PIpen[plid][WarnCount] = 2;
PI[plid][Faction] = 0;
PI[plid][Rank] = 0;
SetPlayerFactionColor(plid);
SetLeaderSkin(plid);
format(query1, sizeof(query1), "UPDATE `users` SET `Faction` = '0', `Rank` = '0' WHERE `ID` = '%d'", PI[plid][ID]);
format(query1, sizeof(query1), "UPDATE `penalty` SET `WarnTime` = '172800', `WarnCount` = '2' WHERE `ID` = '%d'", PI[plid][ID]);
mysql_query(query1);
}
if(PIpen[playerid][WarnCount] != 2)
{
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d]", Name(playerid), playerid, Name(plid), plid);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d], причина: %s", Name(playerid), playerid, Name(plid), plid, reason);
}
SendClientMessageToAll(COLOR_ADMIN, glstr);
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d]", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID]);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d], причина: %s", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID], reason);
}
alog(glstr, 0);
PIpen[plid][WarnTime] = 259200;
PIpen[plid][WarnCount] = 3;
PI[plid][Faction] = 0;
PI[plid][Rank] = 0;
SetPlayerFactionColor(plid);
SetLeaderSkin(plid);
format(query1, sizeof(query1), "UPDATE `users` SET `Faction` = '0', `Rank` = '0' WHERE `ID` = '%d'", PI[plid][ID]);
format(query1, sizeof(query1), "UPDATE `penalty` SET `WarnTime` = '259200', `WarnCount` = '3' WHERE `ID` = '%d'", PI[plid][ID]);
mysql_query(query1);
}
}
return true;
}
Суть его должна была быть такой: Кидаеш на игрока 1 раз варн - оно выдает 1,кидаеш еще раз на того же игрока - оно выдает 2,кидаеш 3 раз на того же игрока и оно кидает 3,но действует почемуто так:
Уже перепробовал разные варианты,гуглил и т.д,но никак не смог исправить,поэтому обращаюсь сюда. Помогите пожалуйста!
else if(!strcmp(cmd, "/варн", true))
{
new plid, wntime, reason[64];
sscanf(params, "ds[64]", plid, reason);
if(PI[playerid][Admin] < 500) return SendClientMessage(playerid, COLOR_SYSTEM, "Тебе нельзя использовать эту команду");
else if(emptyMessage(params)) return SendClientMessage(playerid, COLOR_SYSTEM, "/варн [ID] [причина]");
else if(PI[playerid][Admin] <= PI[plid][Admin] && plid != playerid) return SendClientMessage(playerid, COLOR_SYSTEM, "Игрок администратор");
else if(!InGame(plid)) return SendClientMessage(playerid, COLOR_SYSTEM, "Такого игрока нет");
else
{
if(wntime < 0 || wntime > 259200) wntime = 259200;
//if(PI[playerid][Admin] < 500 && mctime > 300) mctime = 300;
//else if(PI[playerid][Admin] < 700 && mctime > 36000) mctime = 36000;
if(PI[playerid][Admin] < 700) return SendClientMessage(playerid, COLOR_SYSTEM, "Тебе нельзя снимать варны");
if(PIpen[plid][MuteCMD] > 0) return SendClientMessage(playerid, COLOR_SYSTEM, "У игрока уже есть варн");
if(PIpen[playerid][WarnCount] != 0)
{
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d]", Name(playerid), playerid, Name(plid), plid);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d], причина: %s", Name(playerid), playerid, Name(plid), plid, reason);
}
SendClientMessageToAll(COLOR_ADMIN, glstr);
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d]", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID]);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [1/3] %s [%d], причина: %s", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID], reason);
}
alog(glstr, 0);
PIpen[plid][WarnTime] = 86400;
PIpen[plid][WarnCount] = 1;
PI[plid][Faction] = 0;
PI[plid][Rank] = 0;
SetPlayerFactionColor(plid);
SetLeaderSkin(plid);
format(query1, sizeof(query1), "UPDATE `users` SET `Faction` = '0', `Rank` = '0' WHERE `ID` = '%d'", PI[plid][ID]);
format(query1, sizeof(query1), "UPDATE `penalty` SET `WarnTime` = '18600', `WarnCount` = '1' WHERE `ID` = '%d'", PI[plid][ID]);
mysql_query(query1);
}
if(PIpen[playerid][WarnCount] != 1)
{
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d]", Name(playerid), playerid, Name(plid), plid);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d], причина: %s", Name(playerid), playerid, Name(plid), plid, reason);
}
SendClientMessageToAll(COLOR_ADMIN, glstr);
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d]", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID]);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [2/3] %s [%d], причина: %s", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID], reason);
}
alog(glstr, 0);
PIpen[plid][WarnTime] = 172800;
PIpen[plid][WarnCount] = 2;
PI[plid][Faction] = 0;
PI[plid][Rank] = 0;
SetPlayerFactionColor(plid);
SetLeaderSkin(plid);
format(query1, sizeof(query1), "UPDATE `users` SET `Faction` = '0', `Rank` = '0' WHERE `ID` = '%d'", PI[plid][ID]);
format(query1, sizeof(query1), "UPDATE `penalty` SET `WarnTime` = '172800', `WarnCount` = '2' WHERE `ID` = '%d'", PI[plid][ID]);
mysql_query(query1);
}
if(PIpen[playerid][WarnCount] != 2)
{
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d]", Name(playerid), playerid, Name(plid), plid);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d], причина: %s", Name(playerid), playerid, Name(plid), plid, reason);
}
SendClientMessageToAll(COLOR_ADMIN, glstr);
if(emptyMessage(reason))
{
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d]", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID]);
} else {
format(glstr, sizeof(glstr), "Админ %s [%d] выдал предупреждение нарушения RP [3/3] %s [%d], причина: %s", Name(playerid), PI[playerid][ID], Name(plid), PI[plid][ID], reason);
}
alog(glstr, 0);
PIpen[plid][WarnTime] = 259200;
PIpen[plid][WarnCount] = 3;
PI[plid][Faction] = 0;
PI[plid][Rank] = 0;
SetPlayerFactionColor(plid);
SetLeaderSkin(plid);
format(query1, sizeof(query1), "UPDATE `users` SET `Faction` = '0', `Rank` = '0' WHERE `ID` = '%d'", PI[plid][ID]);
format(query1, sizeof(query1), "UPDATE `penalty` SET `WarnTime` = '259200', `WarnCount` = '3' WHERE `ID` = '%d'", PI[plid][ID]);
mysql_query(query1);
}
}
return true;
}
Суть его должна была быть такой: Кидаеш на игрока 1 раз варн - оно выдает 1,кидаеш еще раз на того же игрока - оно выдает 2,кидаеш 3 раз на того же игрока и оно кидает 3,но действует почемуто так:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Уже перепробовал разные варианты,гуглил и т.д,но никак не смог исправить,поэтому обращаюсь сюда. Помогите пожалуйста!
