• Добро Пожаловать к нам на Форум Гость! Если вы еще не зарегистрировались просим вас зарегистрироваться!

  • Для того что бы скачивать с нашего форума, нужно зарегистрироватся!

  • Цены на серверах: Админка 35грн/мес Випка 20грн/мес.

  • Девушкам играющим на сервере Випка Бесплатно!

Steam Bonus (бонусы игрокам STEAM)

qpi3ik

Создатель
Команда форума
Гл.Администратор
Плагин SteamBonus писал вчера вечером чисто для своего сервера. Потом решил выложить сюда, мало ли кому понадобится.
За основу был взят SteamBonus 1.2 by Stimul.
Выдаёт бонусы в виде брони, денег, гранат, дигла в зависимости от скилла игрока. Сообщает о бонусе игроку, получившему его, в чат. Скилл считается как фраги/смерти. Чем выше скилл, тем меньше бонус и меньше шанс его получить. Если смертей 0, то выдаются деньги в сумме фраги*200. Если фрагов 0 и смертей 0, то ничего не происходит).
Код простой, под себя подредактировать сможет каждый, не забаненный в гугле.
С плагинами типа вип конфликтовать по идее не должен.

Особенности:
  1. Выдача бонуса игрокам STEAM каждый раунд. Ну или почти каждый, он скилла зависит.
  2. Бонус выдаётся случайно из определённого набора бонусов.
  3. Бонус выдаётся в зависимости от скилла игрока. Чем выше скилл, тем меньше бонус и меньше шанс его получить.
  4. Игроку, получившему бонус, выдаётся сообщение в чат.
  5. Минимальная нагрузка на сервер.
  6. Встроенный колорчат.
1) Качаем исходник.

2) Строка 89
PHP:
if(round_number>=3)
3 - это раунд, с которого будет выдаваться бонус.

3) Смотрим на функцию public fw_CS_RoundRespawn_Post(id)
В ней есть блоки типа
PHP:
else  if (soot == 1)
{
switch(random(5))
{
case 0:
{
cs_set_user_money(id, cs_get_user_money(id) + 1500);
ChatColor(id, "^3%s ^4 1500$", PREFIX);
}
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
ChatColor(id, "^3%s ^4HE + 2FLASH", PREFIX);
}
case 2:
{
cs_set_user_armor(id, 100, CsArmorType:2);
ChatColor(id, "^3%s ^4Броня и Шлем", PREFIX);
}
case 3:
{
get_player_deagle(id);
}
default: return;
}
}
switch(random(5)) загадывает случайное число в диапазоне от 0 до 4.
case 0: - что произойдёт если выпадет 0, case 1: - если выпадет 1, case 2: - если выпадет 2, case 3: - если выпадет 3. А для 4 своего case нету, поэтому, если выпадет 4, игрок не получит ничего. Именно так реализована вероятность получения бонуса за скилл. Конкретно в этом участке кода вероятность получения 4 из 5. Хотите вероятность 100% - замените switch(random(5)) на switch(random(4)). default: return; нужен, если (random(N) больше, чем число case. То есть если загадывется 5 чисел (switch(random(5))) , а выпадает 4 числа(case 0..case 3), то нужен. Если загадывается 5 чисел и выпадает 5, то можете убрать.
if (soot == 1) говорит о том, что будет рассматривать игроков, у которых соотношение фрагов к смертям [1;2).
soot = округлённое в меньшую сторону соотношение фраги/смерти. К примеру, 19/10=1, 10/10=1.
Всего в коде 4 подобных участка. Каждый участок определяет скилл, после чего - вероятность бонуса и сам бонус.

cs_set_user_money(id, cs_get_user_money(id) + get_user_frags(id)*200); - если у игрока 0 смертей, то даём ему денег = фраги*200

Установка и настройка:
  • скачиваем исходник плагина.
  • меняем настройки по своему усмотрению. Как и что менять - описано выше.
  • компилируем.
  • ставим на сервер и привлекаем игроков STEAM.


 

Вложения

Справедливая бонусная система, буду чаще заходить к Вам в гости на сервер и форум. Спасибо.
 
Сверху