Биляш
Умник
Приветствую. Вот переделываю мод RLS. Полностью убрал команду /mute которая в ней находилась и написал новую (с помощью этого форума конечно).
Собственно вот код
Как вставить проверку в /mute, чтобы если у игрока есть бан чата, то ему сново нельзя было его дать. И в /unmute, если у игрока нету бана чата, то его не возможно было снять.
Проверку делал, куда бы её не вставил везде выдает ошибки. Прошу помощи. + не обижу.
Спасибо зарание!
Собственно вот код
PHP:
if(strcmp(cmd, "/mute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "» {00a8ff}Используйте команду:{ffffff} /mute [PlayerID/PlayerName] [Time (min)] [Reason]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(money < 1 || money > 1000)
{
SendClientMessage(playerid, COLOR_GREY, "[Adm] - Минимальное время кляпа - 1 минута, максимальное время кляпа - 1000 минут");
return 1;
}
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(!strlen(result))
{
SendClientMessage(playerid, COLOR_WHITE, "» {00a8ff}Используйте команду:{ffffff} /mute [PlayerID/PlayerName] [Time (min)] [Reason]");
return 1;
}
if(PlayerInfo[giveplayerid][pMuted] == 0)
printf("Администрация: %s заткнул %s",sendername, giveplayer);
format(string, sizeof(string), "Игрок %s получил кляп на %d минут от администратора %s - {ffffff}%s",giveplayer, money ,sendername, (result));
BroadCast(COLOR_ADM,string);
PlayerInfo[playa][pMuteTime] = money*60;
PlayerInfo[playa][pMuted] = 1;
}
}
}
}
}
PHP:
if(strcmp(cmd, "/unmute", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "» {00a8ff}Используйте команду:{ffffff} /unmute [PlayerID/PlayerName]");
return 1;
}
new playa;
playa = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
SendClientMessage(playerid, COLOR_WHITE, "» {00a8ff}Используйте команду:{ffffff} /unmute [PlayerID/PlayerName]");
return 1;
}
format(string, sizeof(string), "У Игрока %s снят кляп администратором %s",giveplayer ,sendername);
BroadCast(COLOR_ADM,string);
PlayerInfo[playa][pMuted] = 0;
}
}
}
}
}
Проверку делал, куда бы её не вставил везде выдает ошибки. Прошу помощи. + не обижу.
Спасибо зарание!
