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

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

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

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

2 страниц V   1 2

Steam Bonus

, Выдача бонусов игрокам со стимом
Статус пользователя gudaus
сообщение 24.4.2015, 14:54
Сообщение #1


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

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

Настройка под себя
1)Качаем исходник.
2)Строка 89
Код:
if(round_number>=3)

3 - это раунд, с которого будет выдаваться бонус.
3)Смотрим на функцию public fw_CS_RoundRespawn_Post(id)
В ней есть блоки типа
Код:
  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_bonus.sma ( 9,93 килобайт ) Кол-во скачиваний: 428


Отредактировал: gudaus, - 26.4.2015, 0:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 9 раз
   Цитировать сообщение
Skywrath
сообщение 24.4.2015, 15:02
Сообщение #2
Стаж: 11 лет

Сообщений: 1058
Благодарностей: 419
Полезность: < 0

gudaus,
Код:
#define PREFIX	"Ваш бонус за использование стим:"

По точнее можно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 24.4.2015, 15:06
Сообщение #3
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(Skywrath @ 24.4.2015, 16:02) *
gudaus,
Код:
#define PREFIX	"Ваш бонус за использование стим:"

По точнее можно?

Судя по скриншоту, это надпись которая выводится в чат
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 24.4.2015, 15:12
Сообщение #4


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Skywrath, это то, что ты выводишь в чат. Сперва префикс, а потом название самого бонуса.
К примеру,
Код:
 ChatColor(id, "^3%s ^4 2000$", PREFIX); 

Тебе выведет Ваш бонус за использование стим: 2000$

Отредактировал: gudaus, - 24.4.2015, 15:13
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
dimka198
сообщение 24.4.2015, 15:24
Сообщение #5
Стаж: 12 лет

Сообщений: 1541
Благодарностей: 283
Полезность: 13

gudaus, с вип плагином конфликтовать не будет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 24.4.2015, 15:26
Сообщение #6


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Не знаю, у меня никаких вип-плагинов не стоит. Что мешает проверить? Врядли будет, он просто чекает игроки на стим, и если стим - выдаёт что-нибудь. Оружие не выкидывает, за исключением стандартных глока и usp. А вип этот игрок или не вип, ему всё равно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
dimka198
сообщение 24.4.2015, 15:27
Сообщение #7
Стаж: 12 лет

Сообщений: 1541
Благодарностей: 283
Полезность: 13

gudaus, просто вип плагин автоматически выдаёт оружие игрокам в начале.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BornToBeFree
сообщение 24.4.2015, 17:59
Сообщение #8


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

Меценат Меценат

Иммунитет для VIP тогда прописать надо


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Skywrath
сообщение 24.4.2015, 22:11
Сообщение #9
Стаж: 11 лет

Сообщений: 1058
Благодарностей: 419
Полезность: < 0

Немножко отзыва об плагине от игроков!
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 24.4.2015, 22:13
Сообщение #10


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Skywrath, читаем внимательно
Цитата
Чем выше скилл, тем меньше бонус и меньше шанс его получить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Skywrath
сообщение 24.4.2015, 22:15
Сообщение #11
Стаж: 11 лет

Сообщений: 1058
Благодарностей: 419
Полезность: < 0

GOOD FELLOW,
пасибо)
Скилл как считать по статистике или за карту?

Отредактировал: Skywrath, - 24.4.2015, 22:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 24.4.2015, 22:21
Сообщение #12


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Заменён Ham_CS_RoundRespawn на Ham_Spawn во избежание багов при отсутствии рестартов , поправлена одна мелочь. В первом посту рассказал, как править исходник, чтобы бонус выдавался когда охота, хоть каждый раунд.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 25.4.2015, 11:15
Сообщение #13


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Ещё раз перезалил исходник, не без добрых людей поправил некоторые ошибки.

Отредактировал: gudaus, - 25.4.2015, 11:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 31.5.2015, 0:46
Сообщение #14


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

А если на карте awp_india,35hp даст дигл или гренки,то с этим как быть?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Topgear
сообщение 31.5.2015, 2:49
Сообщение #15


Стаж: 11 лет

Сообщений: 193
Благодарностей: 83
Полезность: 94

ThePhoenix, в addons/amxmodx/configs создаешь папку с названием maps, в ней создаёшь файл plugins-awp.ini
Там пишешь имя_плагина.amxx disabled
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 31.5.2015, 11:47
Сообщение #16


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Цитата(Topgear @ 31.5.2015, 3:49) *
ThePhoenix, в addons/amxmodx/configs создаешь папку с названием maps, в ней создаёшь файл plugins-awp.ini
Там пишешь имя_плагина.amxx disabled

А если набор карт большой?)Не хочется много файлов создавать :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 31.5.2015, 11:50
Сообщение #17
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

ThePhoenix, plugins-awp - означает то, что на картах с префиксом awp_ не будут действовать плагины, которые ты пропишешь туда для отключения, либо другие квары.
А вообще, вот - Ставим плагин на паузу (Пост #644518) изучай)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 31.5.2015, 12:27
Сообщение #18


Стаж: 14 лет

Сообщений: 1571
Благодарностей: 1211
Полезность: 741

Желательно это делать так, как советует Хулиган. Можно сделать отключение на картах _awp в самом плагине, но это хуже. Дело в том, что по совету Хулигана плагин там где не надо вообще не загрузится, а если сделать отключение в плагине, то он сперва загрузится, а потом встанет на паузу. Не хочу создавать лишнюю нагрузку.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 31.5.2015, 12:48
Сообщение #19


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Цитата(gudaus @ 31.5.2015, 13:27) *
Желательно это делать так, как советует Хулиган. Можно сделать отключение на картах _awp в самом плагине, но это хуже. Дело в том, что по совету Хулигана плагин там где не надо вообще не загрузится, а если сделать отключение в плагине, то он сперва загрузится, а потом встанет на паузу. Не хочу создавать лишнюю нагрузку.

Я уже понял,спасибо,сделаю так,как советует Хулиган smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 1.6.2015, 20:58
Сообщение #20
Стаж: 14 лет
Город: Moscow

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

Запомнился этот бонус за игру с лицензии, поскольку базируется на уникальной идее good.gif Саф одобряет crazy.gif

Этот код - лишний
Код
    new szAuthid[34];
    get_user_authid(id, szAuthid, charsmax(szAuthid));
    
    return (containi(szAuthid, "LAN") < 0);


Скрытый текст
Ещё одна идея 'выделись из толпы плагином раздачи халявы в тщетной попытке привлечь Steam-игроков' - стимовцы не получают ничего, а у пираток в новом раунде что-то отнимают (причём так, чтобы они точно заметили) crazy.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: