PDA

Просмотр полной версии : [CMD] Crash <playerid>



Иван Бубнов
08.02.2016, 18:07
Привет всем, моя первая работа для Pro-Pawn, прошу строго не судить, на случай если что-то сделал не так.

Суть команды очень проста, вызывает ошибки на стороне клиента указанного игрока.

Использование:
/crash <playerid> - ВНИМАНИЕ!!! Команда доступна только для RCON-Администратора!


CMD:crash(playerid, params[])
{//\\ by Иван Бубнов // pro-pawn.ru
if(IsPlayerAdmin(playerid) == 0)
return SendClientMessage(playerid, 0xFF0000FF, "Вы не RCON-Администратор!");

if(sscanf(params, "u", params[0]))
return SendClientMessage(playerid, -1, "Используйте: /crash <playerid>");

if(!IsPlayerConnected(params[0]))
return SendClientMessage(playerid, 0xAFAFAFFF, "Такого игрока нет на сервере!");

if(playerid == params[0])
return SendClientMessage(playerid, -1, "Вы ввели свой ID !");

GameTextForPlayer(params[0], "!@#$%^&*()_+*-+йфяцычувскамиепрьтитюэхъ[]____=\"\"", 1, gettime());

static const fm_str[] = "Администратор %s [%d] крашнул игрока %s [%d] !";

new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(params[0], giveplayer, sizeof(giveplayer));

new string[sizeof(fm_str)+MAX_PLAYER_NAME*2+6+2];
format(string, sizeof(string), fm_str, sendername, playerid, giveplayer, params[0]);
SendClientMessageToAll(-1, string);
//Длина строки, 2 ника, макс длина ИДов игрока * 2 = 6, и 2 на всякий)
print(string);//выводим сообщение в сервер-лог
return 1;
}

#define Crash(%0) GameTextForPlayer(%0, "!@#$%^&*()_+*-+йфяцычувскамиепрьтитюэхъ[]____=\"\"", 1, gettime())

Для работы команды требуется:
1) Командный процессор dc_cmd либо zcmd
2) sscanf плагин.

Автор: Иван Бубнов (http://pro-pawn.ru/member.php?4759-%D0%98%D0%B2%D0%B0%D0%BD-%D0%91%D1%83%D0%B1%D0%BD%D0%BE%D0%B2)
Специально для: Pro-Pawn.Ru (http://pro-pawn.ru)

Копирование данной статьи без разрешения автора запрещено!

Роуди.
08.02.2016, 18:16
Извини, но было (http://pro-pawn.ru/showthread.php?1348-crash)

Иван Бубнов
08.02.2016, 18:18
Извини, но было (http://pro-pawn.ru/showthread.php?1348-crash)

У него там по другому же с:

Profyan
08.02.2016, 18:35
Есть много способов крашнуть игрока.Стоит лишь зайти на wiki и посмотреть на красную рамочку.

Иван Бубнов
08.02.2016, 18:40
Есть много способов крашнуть игрока.Стоит лишь зайти на wiki и посмотреть на красную рамочку.

А я и не говорю что это единственный способ

seriu
08.02.2016, 18:44
static const fm_str[] = "Администратор %s [%d] крашнул игрока %s [%d] !", giveplayer, params[0], sendername, playerid);

Понимаю, копируем чужой код, но нужно быть внимательнее.

п.с.

static const fm_str[] = "Администратор %s [%d] крашнул игрока %s [%d] !";

Иван Бубнов
08.02.2016, 18:50
Понимаю, копируем чужой код, но нужно быть внимательнее.

п.с.

static const fm_str[] = "Администратор %s [%d] крашнул игрока %s [%d] !";

Да вы просто ищете загвоздку чтоб к чему-то придраться. fm_str это что, чья-то собственность?

- - - Добавлено - - -

PS: Ошибка была допущена, да, но я там ни строчку не брал с других скриптов. Ибо команда не так-уж сложная.

- - - Добавлено - - -

Closed.