Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Чуток поправить плагин

Статус пользователя Nebo
сообщение 29.6.2013, 12:09
Сообщение #1


Стаж: 13 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

Вообщем, можно ли так сделать, что бы игрок с флагом h, мог всем сделать скрины, включая и игроков с флагом i, ниже исходник плагина. Щас же игроки с флагом i могут делать только простым игрокам. Если такое возможно, сделайте пожалуйста :)
Исходник
Код:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Screen Shot"
#define VERSION "1.1"
#define AUTHOR "Stimul"

#define ID_TASK 10203040

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd("say /screen","Cmd_ScreenShot", ADMIN_CHAT);
}

public Cmd_ScreenShot(id,level,cid)
{
if (!cmd_access(id, level, cid, 1))
return

new i_Menu = menu_create("\yКому будем делать скрин?", "menu_handler");
new s_Players[32], i_Num, i_Player;
new s_Name[32], s_Player[10];

get_players(s_Players, i_Num);

for(new i; i < i_Num; i++)
{
i_Player = s_Players[i];
get_user_name(i_Player, s_Name, charsmax(s_Name));
num_to_str(i_Player, s_Player, charsmax(s_Player));
if(!(get_user_flags(i_Player) & ADMIN_CHAT))
menu_additem(i_Menu, s_Name, s_Player, 0);
}
menu_setprop(i_Menu, MPROP_BACKNAME, "Назад");
menu_setprop(i_Menu, MPROP_NEXTNAME, "Дальше");
menu_setprop(i_Menu, MPROP_EXITNAME, "Выход");
menu_display(id, i_Menu, 0);
}

public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}

new s_Data[6], s_Name[64], s_Time[32], i_Access, i_Callback;
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback);
new i_Player = str_to_num(s_Data);
get_time("%d/%m/%Y - %H:%M:%S", s_Time, charsmax(s_Time));

if(is_user_connected(i_Player))
{
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 5.0, 5.0, 0.1, 1.0);
show_hudmessage(i_Player, "%s^nВам были сделаны скрины^nДля разбана посетите vk.com/nypogodi", s_Time);
set_task(0.1, "ScreenShotUser", i_Player + ID_TASK);
set_task(1.0, "ScreenShotUser", i_Player + ID_TASK);
set_task(2.0, "ScreenShotUser", i_Player + ID_TASK);
}

menu_destroy(menu);
return PLUGIN_HANDLED;
}

public ScreenShotUser(TaskId)
{
new id = TaskId - ID_TASK;
if(is_user_connected(id))
client_cmd(id, "snapshot");
}

public client_disconnect(id)
{
if(task_exists(id + ID_TASK))
remove_task(id + ID_TASK);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fintok
сообщение 29.6.2013, 12:55
Сообщение #2


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Как то так
Скрытый текст
Код:

#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Screen Shot"
#define VERSION "1.1"
#define AUTHOR "Stimul & Fintok!"

#define ID_TASK 10203040

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd("say /screen","Cmd_ScreenShot", ADMIN_CFG || ADMIN_CHAT);
}

public Cmd_ScreenShot(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
return

new i_Menu = menu_create("\yКому будем делать скрин?", "menu_handler");
new s_Players[32], i_Num, i_Player;
new s_Name[32], s_Player[10];

get_players(s_Players, i_Num);

for(new i; i < i_Num; i++)
{
i_Player = s_Players[i];
get_user_name(i_Player, s_Name, charsmax(s_Name));
num_to_str(i_Player, s_Player, charsmax(s_Player));
if(!(get_user_flags(i_Player) & ADMIN_CFG))
menu_additem(i_Menu, s_Name, s_Player, 0);
}

menu_setprop(i_Menu, MPROP_BACKNAME, "Назад");
menu_setprop(i_Menu, MPROP_NEXTNAME, "Дальше");
menu_setprop(i_Menu, MPROP_EXITNAME, "Выход");
menu_display(id, i_Menu, 0);
}

public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}

new s_Data[6], s_Name[64], s_Time[32], i_Access, i_Callback;
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback);
new i_Player = str_to_num(s_Data);
get_time("%d/%m/%Y - %H:%M:%S", s_Time, charsmax(s_Time));

if(is_user_connected(i_Player))
{
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 5.0, 5.0, 0.1, 1.0);
show_hudmessage(i_Player, "%s^nВам были сделаны скрины^nДля разбана посетите vk.com/nypogodi", s_Time);
set_task(0.1, "ScreenShotUser", i_Player + ID_TASK);
set_task(1.0, "ScreenShotUser", i_Player + ID_TASK);
set_task(2.0, "ScreenShotUser", i_Player + ID_TASK);
}

menu_destroy(menu);
return PLUGIN_HANDLED;
}

public ScreenShotUser(TaskId)
{
new id = TaskId - ID_TASK;
if(is_user_connected(id))
client_cmd(id, "snapshot");
}

public client_disconnect(id)
{
if(task_exists(id + ID_TASK))
remove_task(id + ID_TASK);
}



Отредактировал: Fintok, - 29.6.2013, 12:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 29.6.2013, 14:00
Сообщение #3


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

edit: перепутал..

Отредактировал: Andrei, - 29.6.2013, 14:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nebo
сообщение 29.6.2013, 14:02
Сообщение #4


Стаж: 13 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

Andrei, Вроде и так работает :)
Fintok, Спасибо!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: