[Reapi] Molotov

amxx reapi [Reapi] Molotov 2.5.1

Нет прав для скачивания
Установка
  1. Скопируйте файл reapi_molotov_api.inc себе в папку по пути: scripting/include/
  2. Скомпилируйте плагин (инструкция).
  3. Скопируйте скомпилированный файл .amxx в директорию: amxmodx/plugins/
  4. Пропишите .amxx в файле amxmodx/configs/plugins.ini
  5. Скопируйте файл доп. настроек 'reapi_molotov.ini' в директорию: amxmodx/configs/
  6. Скопируйте файл мультиязычности '.txt' в директорию amxmodx/data/lang/
  7. Скопируйте файлы моделей '.mdl' в директорию models/reapi_molotov/
  8. Скопируйте файлы звуков '.wav' в директорию sound/weapons/reapi_molotov/
  9. Скопируйте файлы спрайтов '.spr'(.txt) в директорию sprites/reapi_molotov/
  10. Файл '.cfg' создается автоматически после запуска сервера с данным плагином и будет по пути: configs/plugins/
  11. Смените карту или перезапустите сервер.
Настройки
В .sma:
C++:
//поддержка gamecms купленной услуги
#tryinclude <gamecms5>
Пояснение: если Вам нужно продавать (выдавать) молотов по услугам (флагам отличных от стандартных) на движке GameCMS, то компилировать плагин нужно с #include <gamecms5>, докинуть его в папку по пути: scripting/include/, а взять его можно тут: Плагин АМХХ GameCMS API (если поддержка не нужна, а инклюд у Вас в папке, то можно либо удалить #include <gamecms5> из папки scripting/include/, иначе просто закомментировать строку)

В .cfg (основные):
Код:
// Флаги доступа для использования молотова (команда на выдачу).
// -
// Default: "b"
reapi_molotov_access "b"

// Флаги доступа для использования молотова (получение при спавне).
// -
// Default: "a"
reapi_molotov_access_spawn "a"

// Выпадение молотова после смерти игрока при наличии в слоте (0/1 нет/да)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_use_pickup "1"

// Флаги доступа для возможности поднимать молотов после смерти игрока. (всем-оставить пустым)
// -
// Default: "t"
reapi_molotov_access_pickup "t"

// Действие молотова на свою команду.
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_dmg_tm "0"

// Получаемый урон игроком, когда он в огне. (если 0.0, то активируется рандом урон)
// -
// Default: "3.0"
reapi_molotov_dmg "3.0"

// Рандом урон игроку когда он в огне. (включается при reapi_molotov_dmg=0.0)
// -
// Default: "5.0-10.0"
reapi_molotov_random_dmg "5.0-10.0"

// Выбор способа нанесения урона в огне (0-обычно; 1-эффект огня)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_damage_flags "1"

// Время действия молотова после взрыва.
// -
// Default: "10.0"
reapi_molotov_firetime "10.0"

// Радиус воздействия молотова после взрыва.
// -
// Default: "90.0"
reapi_molotov_radius "90.0"

// Интервал времени, для получения урона (как часто будут отниматься жизни), (1.0 = каждую секунду)
// -
// Default: "0.7"
reapi_molotov_dmg_tick "0.7"

// Интервал времени, для частоты кадров (скорости) анимации огня (1.0 = каждую секунду)
// -
// Default: "1.0"
reapi_molotov_anim_tick "1.0"

// Использование функции наказания за задержку в руках подоженного молотова. (0/1; нет/да)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_long_delay_use "1"

// Время задержки по истечению которого, при броске молотов взорвется около игрока.
// -
// Default: "5.0"
reapi_molotov_long_delay_time "5.0"

// Убивать ли сразу игрока по истечению времени задержки и броска молотова. (0/1; нет/да)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_long_delay_kill "1"

// Время до взрыва молотова после броска. (0.0 - взрыв будет сразу без задержки)
// -
// Default: "0.8"
reapi_molotov_time_of_detonate "0.8"

// Время звука удара молотова до взрыва. (не ставить больших значений, идет зацикливание)
// -
// Default: "0.6"
reapi_molotov_impact_sound_time "0.6"

// Будет ли игрок c доступом к молотову получать молотов каждый спавн? (0/1; нет/да)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_get_in_spawn "0"

// Может ли любой игрок потушить огонь дымовой гранатой? (0/1; нет/да)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_extinguishing "1"

// Время за которое потушится огонь после броска дымовой гранаты.
// -
// Default: "1.0"
reapi_molotov_extinguishing_time "1.0"

// На сколько умножить изначальный радиус поражения для тушения? (влияет на удаление огня)
// -
// Default: "3.0"
reapi_molotov_radius_multiplier "3.0"

// Ограничивать ли по времени использование команды выдачи молотова игроком? (0/1; нет/да)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_restriction_on_use "0"

// Время в секундах, после которого игрок снова сможет использовать команду выдачи молотова.
// -
// Default: "15"
reapi_molotov_time_limit_on_usage "15"

// Флаги доступа для бесконечного использования молотова (команда на выдачу).
// -
// Default: "ab"
reapi_molotov_infinite_flags "ab"

// Значение пламени при поджоге молотова (когда зажали кнопку атака)
// -
// Default: "0.05"
reapi_molotov_effect_scale "0.05"

// Режим покупки молотова за игровые деньги для всех игроков (0-выкл; 1-вкл)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_buy_mode "1"

// Цена молотова
// -
// Default: "10000"
reapi_molotov_cost "10000"

// С какого раунда можно получить молотов по командам покупки?
// -
// Default: "4"
reapi_molotov_rnd_limit_buy "4"

// С какого раунда можно получить молотов по командам выдачи?
// -
// Default: "3"
reapi_molotov_rnd_limit_issuing "3"

// Воспроизведение звука когда молотов нельзя получить (0-выкл; 1-вкл)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_play_err_sound "1"

// Режимы воспроизведения: (1-покупка; 2-получение; 3-не хватает денег; 4-при всех; 5-для 1, 2; 6-для 1, 3; 7-для 2,3)
// -
// Default: "6"
reapi_molotov_err_snd_mode "6"

// Пишем путь и имя звука, который есть на сервере и на клиенте в папке valve.
// -
// Default: "buttons/blip2.wav"
reapi_molotov_err_snd_path_name "buttons/blip2.wav"

// Покупка молотова только в зоне покупки (выкл-0; вкл-1)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_checking_buy_zone "1"

// Время от начала раунда на покупку молотова в зоне покупки (время в секундах; 0-убирает лимит)
// -
// Default: "10"
reapi_molotov_time_to_buy "10"

// Сколько раз игроку можно брать молотов по командам выдачи? (0-убирает лимит)
// -
// Default: "3"
reapi_molotov_give_limit "3"

// Выдача молотова только в зоне покупки (выкл-0; вкл-1)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_give_buy_zone "1"

// Время от начала раунда на выдачу молотова в зоне покупки (время в секундах; 0-убирает лимит)
// -
// Default: "15"
reapi_molotov_give_time_to_buy "15"

// Использование эффекта цветного круга в огне для обозначения команды (0-выкл; 1-вкл)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_eff_team_designation "1"

// Режим цвета круга для обеих команд (возможные значения: 0-всегда один цвет; 1-всегда рандом цвет)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
reapi_molotov_eff_circle_color_modes "1"

// Цвет круга (RGB) для обеих команд (указываются цифры, порядок: КТ(3), Т(3))
// -
// Default: "255 43 43 0 0 255"
reapi_molotov_eff_color "255 43 43 0 0 255"

// Рандом цвет круга (RGB) для обеих команд (указываются мин и макс цифры, порядок: КТ(6), Т(6))
// -
// Default: "50 255 100 200 30 165 30 170 150 255 60 180"
reapi_molotov_eff_color_rnd "50 255 100 200 30 165 30 170 150 255 60 180"

// Остальные настройки для круга: (по порядку: время появления, жизнь (время исчезновения), размер, яркость)
// -
// Default: "2 11 45 230"
reapi_molotov_other_eff_settings "2 11 45 230"
В .cfg (доп. квары если c поддержкой GameCMS):
Код:
// Наименование флага созданной услуги на сайте Game CMS (доступ к молотову будет по нему)
// -
// Default: "_molotov_name1"
reapi_molotov_game_cms_services "_molotov_name1"

// Наименование флага созданной услуги на сайте Game CMS (бесконечный доступ к молотову)
// -
// Default: "_molotov_name2"
reapi_molotov_infinite_flags_gamecms "_molotov_name2"
В .ini:
INI:
; Файлы моделей, звуков и спрайтов, а также, настройки команд выдачи, покупки и тушения огня для работы плагина REAPI_MOLOTOV.
; Нельзя менять местами строки! Они должны быть именно в таком порядке, в котором изначально.
; Если Вы хотите заменить модель, звук или спрайт, просто поменяйте здесь наименование и загрузите новое в нужную папку.

[Модели]
; v_ игрок сам видит у себя в руках молотов (view)
; p_ другие игроки видят в руках молотов (player)
; w_ когда молотов летит или лежит на земле (world)

models/reapi_molotov/v_molotov.mdl
models/reapi_molotov/p_molotov.mdl
models/reapi_molotov/w_molotov.mdl

[Звуки]
; 1, 2 - звуки взрыва молотова.
; 3, 4 - звуки удара об змелю до взрыва (рандом между ними)
; 5 - звук когда игрок с молотовым в руках зажал кнпоку атака (молотов поджегся но еще не брошен)
; 6 - звук когда игрок получил молотов
; 7 - звук когда игрок получил патрон.
; 8 - звук горения огня после взрыва (время звука должно быть равно или больше времени горения огня, которое выставляется в кваре 'reapi_molotov_firetime')

weapons/reapi_molotov/explode-1.wav
weapons/reapi_molotov/explode-2.wav
weapons/reapi_molotov/hit-1.wav
weapons/reapi_molotov/hit-2.wav
weapons/reapi_molotov/on-fire-new.wav
weapons/reapi_molotov/gunpickup2.wav
weapons/reapi_molotov/9mmclip1.wav
weapons/reapi_molotov/molotov_fire_ground.wav

[Спрайты]
; 1, 2 спрайты при взрыве
; 3, 4 для отображения иконки (спрайт + txt с инструкцией)
; 5, 6 - спрайты при взрыве
; 7 - спрайт поджега молотова (огня), когда игрок зажимает кнопку атака, но еще не бросает + при взрыве
; 8 - спрайт появляется когда огонь перестает гореть (эффект дыма после огня, потушился)

sprites/reapi_molotov/fire.spr
sprites/reapi_molotov/fire_ground.spr
sprites/reapi_molotov/hud_molotov.spr
sprites/reapi_molotov/weapon_molotov.txt
sprites/reapi_molotov/fire_ball.spr
sprites/reapi_molotov/fire_explode.spr
sprites/reapi_molotov/fire_column.spr
sprites/reapi_molotov/steam1.spr

[Команды выдачи]
; Команды на получение молотова. (с возможностью ограничений)
; Если команда для чата, то необходимо указать аргумент перед основной командой (say или say_team)

say /give_molotov
say_team /give_molotov
give_molotov
say /molotov
say_team /molotov
molotov

[Команды на прямую выдачу]
; Команды на получение молотова без доступа по флагам и других ограничений (т.е сразу выдаеся молотов игроку).
; Если команда для чата, то необходимо указать аргумент перед основной командой (say или say_team)
; Если указать так, по формату: команда~srvcmd (команда выполнится от сервера, для поддержки других плагинов, единственный доступный аргумент после команды для подстановки "userid" игрока, т.е например в плагине бонусов скальпеля делаете так: "srvcmd" "100" "molotov #%userid%" "" "0" "1" "Купить Коктейль молотова")

amx_give_molotov
molotov~srvcmd

[Команды покупки]
; Команды на покупку молотова за игровые деньги.
; Внимание! Если режим покупки отключен (квар 'reapi_molotov_buy_mode'), то команды можно просто стереть. (дабы они не регистрировались вообще)
; Если команда для чата, то необходимо указать аргумент перед основной командой (say или say_team)

say /buy_molotov
say_team /buy_molotov
buy_molotov
say /pay_molotov
say_team /pay_molotov
buy_molotov

[тушение огня]
;Вводить только наименования модели гранаты для тушения. (все перечисленные будут тушить огонь)

w_smokegrenade
API
C:
/*
*
* reapi_molotov
*
* api
*
*/

#if defined _reapi_molotov_api_included
#endinput
#endif

#define _reapi_molotov_api_included

/*
*
* Gives the player a Molotov cocktail immediately (provided that he is alive)
*
* Parameter: Player ID
*
* @returns nothing
*
*/
native rp_getting_molotov(const player_id);

/*
*
* Check if the player has a Molotov cocktail
*
* Parameter: Player ID
*
* @returns 1 if present, 0 if not.
*
*/
native rp_molotov_check(const player_id);

/*
*
* Intercept an event when the player is in the epicenter of the explosion and takes damage.
*
* Parameter: ID attacker, ID victim, damage
*
* @sends information about the attacker, victim and damage
*
*/
forward rp_player_takes_damage(const attacker, const victim, const Float:damage);

/*
*
* Interception of the event, at the moment when the molotov explodes.
*
* Parameter: ID attacker
*
* @sends information about the attacker who threw the molotov
*
*/
forward rp_molotov_exploded(const attacker);

/*
*
* Interception of an event when a molotov dropped from a player after death.
*
* Parameter: Player ID, Entity ID
*
* @sends information about the player who was killed (or died) and he had a molotov and he fell out
*
*/
forward rp_molotov_dropped(const player_id, const entity);

/*
*
* Interception of the event, at the moment when the player threw a molotov.
*
* Parameter: Player ID, Entity ID
*
* @sends information about the player who threw the molotov
*
*/
forward rp_player_threw_molotov(const player_id, const entity);

/*
*
* Intercept the event when the player received a molotov.
*
* Parameter: Player ID, Item ID
*
* @sends information about the player when he received molotov.
*
*/
forward rp_player_received_molotov(const player_id, const item);

/*
*
* Interception of the event when the player raises the molotov
*
* Parameter: Player ID, Item ID
*
* @sends information about the player when he picks up the molotov
*
*/
forward rp_raising_molotov(const player_id, const item);
Сверху Снизу