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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

выдача флагов доступа

, рандомно
Статус пользователя ExtraSens
сообщение 25.5.2015, 19:52
Сообщение #1


Стаж: 11 лет

Сообщений: 227
Благодарностей: 32
Полезность: 24

Здравствуйте, форумчане!
Скажите есть ли такой плагин, который рандомно каждый раунд выдает одному игроку флаг t и по окончанию раунда его забирает и в следующем раунде уже другой игрок играет с этим флагом доступа!?
Интересный был бы плагин. Если есть такой или можно изменить подходящий, то отпишитесь. Сам я правда не разбираюсь в скриптинге, но думаю многие бы его забрали и были бы благодарны!)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Stimul1
сообщение 25.5.2015, 20:41
Сообщение #2


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

Пробуй, не тестировал.
Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Random Give Access"
#define VERSION "1.0"
#define AUTHOR "Stimul"
#define PREFIX "^1[^4Сервер^1]"

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define reset_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

#if AMXX_VERSION_NUM < 183
#include <colorchat>

#define client_print_color ColorChat
#define print_team_blue BLUE
#endif

#define MAX_CLIENTS 32

new g_iLastID;

new g_bFlags;

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

register_event("HLTV", "EventNewRound", "a", "1=0", "2=0");
register_logevent("EventEndRound", 2, "1=Round_End");
}

public EventNewRound()
{
new iPlayers[MAX_CLIENTS], iNum;
get_players(iPlayers, iNum, "c");

if(iNum)
{
new id;

while((id = iPlayers[random_num(0, iNum - 1)]) == g_iLastID) {}

g_iLastID = id;

set_user_flags(id, ADMIN_LEVEL_H);

new szName[32];
get_user_name(id, szName, charsmax(szName));

client_print_color(0, print_team_blue, "%s Счастливчик ^3%s ^1получил флаг ^4't'", PREFIX, szName);
}
}

public EventEndRound()
{
new iPlayers[MAX_CLIENTS], iNum;
get_players(iPlayers, iNum, "c");

if(iNum)
{
for(new i; i < iNum; i++)
{
if(get_bit(g_bFlags, iPlayers[i]))
{
remove_user_flags(iPlayers[i], ADMIN_LEVEL_H);

new szName[32];
get_user_name(iPlayers[i], szName, charsmax(szName));

client_print_color(0, print_team_blue, "%s У игрока ^3%s ^1отобран флаг ^4't'", PREFIX, szName);

break;
}
}
}
}

public client_putinserver(id)
get_user_flags(id) & ADMIN_LEVEL_H ? set_bit(g_bFlags, id) : reset_bit(g_bFlags, id);

public client_disconnect(id)
if(get_bit(g_bFlags, id))
remove_user_flags(id, ADMIN_LEVEL_H);


Отредактировал: Stimul1, - 25.5.2015, 20:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 25.5.2015, 21:13
Сообщение #3
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Stimul1, когда игрок 1 на сервере - будет LOL smile.gif
Заюзай мою функцию, чисто по приколу smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: