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

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

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

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

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

qpi3ik

Создатель
Команда форума
Гл.Администратор
Лучшие ответы
0
Плагин 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.


 

Вложения

  • steam_bonus.sma
    13,3 KB · Просмотры: 25

BeZmOzGoF* | FIREMAN17

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