Слушайте, у меня есть несколько команд на админке, типа:
Code
if(strcmp(cmd, "/ban", true) == 0) { if(Player[playerid][pAdmin]==1) return SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство tmp = strtok(cmdtext, idx); // Мы объявляем что мы используем strtok для переменной 'tmp' if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Использование: /ban [id]"); // Если ID не был указан giveplayerid = strval(tmp); // Связываем с переменной 'giveplayerid' if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0x919191FF, "Игрок с данным ID не подключен."); // если 'giveplayerid' не онлайн Ban(giveplayerid); return 1; }
как видно я поставил что доступно с 1 лвла, я поставил себе 3, а команда у меня не пашет, как сделать что бы пахала? Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
ну вобще-то ты сделал чтоб доступно было всем админкам (даже 0) кроме 1-й, т.е. сделай так:
Code
if(strcmp(cmd, "/ban", true) == 0) { if(Player[playerid][pAdmin] < 3) return SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство tmp = strtok(cmdtext, idx); // Мы объявляем что мы используем strtok для переменной 'tmp' if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Использование: /ban [id]"); // Если ID не был указан giveplayerid = strval(tmp); // Связываем с переменной 'giveplayerid' if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0x919191FF, "Игрок с данным ID не подключен."); // если 'giveplayerid' не онлайн Ban(giveplayerid); return 1; }
Видео-уроки по pawn: https://www.youtube.com/channel/UCizhZElk8rxIPEcP4BHwdxg
if(strcmp(cmd, "/kick", true) == 0) { if(Player[playerid][pAdmin]>=4) { return SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство tmp = strtok(cmdtext, idx); // Мы объявляем что мы используем strtok для переменной 'tmp' if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Использование: /kick [id]"); // Если ID не был указан giveplayerid = strval(tmp); // Связываем с переменной 'giveplayerid' if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0x919191FF, "Игрок с данным ID не подключен."); // если 'giveplayerid' не онлайн Kick(giveplayerid); return 1; } }
у меня выдаёт ошибку:
Code
warning 225: unreachable code
строчка:
Code
tmp = strtok(cmdtext, idx)
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
if(strcmp(cmd, "/kick", true) == 0) { if(Player[playerid][pAdmin]==1) //тут лв return SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство tmp = strtok(cmdtext, idx); // Мы объявляем что мы используем strtok для переменной 'tmp' if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Использование: /kick [id]"); // Если ID не был указан giveplayerid = strval(tmp); // Связываем с переменной 'giveplayerid' if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0x919191FF, "Игрок с данным ID не подключен."); // если 'giveplayerid' не онлайн Kick(giveplayerid); //тут функция Kick return 1; }
Да блин, не тупите!) Вот эта строчка if(Player[playerid][pAdmin]==1) //тут лв return SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство это тоже самое что и эта if(Player[playerid][pAdmin]==1) //тут лв { SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство return 1; }
т.е. если у игрока Admin == 1 то он не сможет использовать эту команду, а если Admin == 10 или любому числу кроме 1, то сможет) А то что выдает ошибку "warning 225: unreachable code" дак это потому что ты возвращаешь какое-то значение, при этом код что будет ити после него не сработает, т.е. если сделать return 1; и после него написать какой-то код, например SendClientMessage то сообщение не передастся! Решение вот: 1-й вариант
Code
if(strcmp(cmd, "/kick", true) == 0) { if(Player[playerid][pAdmin]>=4) { tmp = strtok(cmdtext, idx); // Мы объявляем что мы используем strtok для переменной 'tmp' if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Использование: /kick [id]"); // Если ID не был указан giveplayerid = strval(tmp); // Связываем с переменной 'giveplayerid' if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0x919191FF, "Игрок с данным ID не подключен."); // если 'giveplayerid' не онлайн Kick(giveplayerid); return 1; } else return SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство }
2-й вариант
Code
if(strcmp(cmd, "/kick", true) == 0) { if(Player[playerid][pAdmin]<4) return SendClientMessage(playerid, 0x919191FF, "Вы не админ."); // проверка на админство tmp = strtok(cmdtext, idx); // Мы объявляем что мы используем strtok для переменной 'tmp' if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Использование: /kick [id]"); // Если ID не был указан giveplayerid = strval(tmp); // Связываем с переменной 'giveplayerid' if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0x919191FF, "Игрок с данным ID не подключен."); // если 'giveplayerid' не онлайн Kick(giveplayerid); return 1; } }
Вот так вот, если что не понятно спрашивайте) Видео-уроки по pawn: https://www.youtube.com/channel/UCizhZElk8rxIPEcP4BHwdxg