Обновление плагина rm_server_cmd_item.sma
( Абсолютно любые, для этого нужно знать имя функции и какие аргументы она принимает, можно использовать для вызова функций даже из закрытых плагинов, используя дисассемблер или декомпилятор достать имя функции и аргументы, и внести их в конфиг )
- Добавлен вызов любых PUBLIC функций из любых плагинов!
- Добавлены примеры использования (см папка rm_server_cmd_item_EXAMPLES)
Добавлен новый предмет: VIP-Статус
Дает указанные флаги игроку до конца карты.
Настраивается как и остальные предметы через INI конфиг.
Моделька с надписью VIP добавлена для этого предмета.
Игрок теряет предмет как и все остальные после выхода из сервера.
Обновление нескольких предметов и рун (gamecms_money,teleport_rune)
Обновление API.
C++:native rm_register_rune // теперь возвращает номер руны! forward rm_give_rune // rm_give_rune(id,ent,rune_id) // где id - игрок, ent - руна(или 0 если нет), rune_id - номер руны forward rm_spawn_rune // rm_spawn_rune(ent,rune_id) // где ent - руна, rune_id - номер руны forward rm_drop_rune // rm_drop_rune (id,rune_id) // где id - игрок, а rune_id - номер руны.
Теперь можно регистрировать несколько рун из одного плагина.
В связи с предыдущим обновлением добавлены новые нативки в API:
C++:/* * Прервано дейтсвие предмета по номеру предмета (руны) * * @param rune_id Номер руны * @param id Номер игрока * * @noreturn */ rm_base_drop_item_by_rune_id_notice(rune_id,id) /* * Добавить в магазин рун по номеру руны * * @param rune_id Номер руны * @param imoney Стоимость руны * * @noreturn */ rm_base_set_rune_cost_by_rune_id(rune_id, imoney)
Так же полностью изменена логика переменной active_rune и часть функций для поддержки работы с несколькими рунами одновременно из одного плагина!
Теперь active_rune это не номер плагина, а номер руны.
- Небольшие фиксы в основном плагине.
Плагин дает возможность создавать большое количество предметов, со своим описанием, моделькой, и серверной командой.
- Добавлен новый плагин rm_server_cmd_item
Пример конфига (настройки находятся в основном конфиге runemod_extended.ini.ini)
Код:[rm_servercmd_item_name] SERVERCMD_COUNT = 1 SERVERCMD1_MODEL = models/w_weaponbox.mdl SERVERCMD1_NAME = rm_servercmd_item_name SERVERCMD1_DESCR = rm_servercmd_item_desc SERVERCMD1_COST = 0 SERVERCMD1_CMD = amx_say NAME:[%username%] PID:[%userid%] ID:[%userid%] IP:[%userip%] STEAM:[%userauth%]
То есть если нужно больше предметов то соответственно увеличиваем SERVERCMD_COUNT.
Так же этот плагин демонстрирует возможности нового API, регистрацию нескольких предметов из одного плагина.
Очередное глобальное обновление!
Были обновлены все руны и предметы!
Добавлен конфиг runemod_extended.ini где содержится много различных настроек для каждой руны и предмета!
Теперь вы сможете настроить модель, звук, стоимость и другие различные параметры рун и предметов.
Например можно установить на сколько ХП будет лечить аптечка, сколько денег будут выдавать предметы MONEY и GAMECMS MONEY, а так же установить рандомную выдачу денег, и многое другое.
![]()
* Улучшения.
— Полноценная поддержка мультиязычности!
— Новые квары: runemod_notify_players,runemod_notify_players_drop,runemod_notify_spawns,
runemod_spawn_nolook и runemod_spawn_lifetime.
Подробнее о них:
runemod_notify_players - отправка текстового уведомления всем игрокам когда кто-то поднимает предмет или руну
runemod_notify_players_drop - отправка текстового уведомления всем игрокам когда кто-то теряет предмет или руну
runemod_notify_spawns - оповещение о появлении на карте новой руны или предмета
runemod_spawn_nolook - создает руны когда никто не видит. (подробнее в конфиге)
runemod_spawn_lifetime - время обновления точки появления рун, то есть для удаление старой и добавление новой. (подробнее в конфиге)
— Улучшение руны защиты - теперь заряд щита указан в процентах.
* Исправления.
(Были исправлены различные баги и опечатки)
* Оптимизации.
(Удалено часть ненужного кода, часть заменено на более удобный вариант)
Изменение главной функции регистрации руны:
Теперь можно указать название для покупки и выдачи из плагинов (RuneGiveName)
Добавление новых нативок:C++:/* * Регистрации новой руны * * @param RuneName Название руны * @param RuneDesc Описание руны * @param RuneColor Цвет руны(подсветка игрока, экрана и модели) * @param rModel Путь к модели, иначе используется стандартная * @param rSound Путь к звуку, иначе используется стандартный * @param rModelID Индекс модели из прекеша (только если указана rModel) * @param RuneGiveName Название руны для выдачи или покупки(без пробелов) * * @noreturn */ rm_register_rune(RuneName[], RuneDesc[], Float:RuneColor[3], rModel[] = "", rSound[] = "", rModelID = -1,RuneGiveName[] = "")
Это позволит выдавать руны и предметы из собственных VIP плагинов.
Получение и выдача руны по RuneGiveName (или же RuneName, если не указано)
C++:/* * Принудительно забрать все предметы у игрока. * * @param id Индекс игрока * * @noreturn */ rm_force_drop_items(id) /* * Принудительно забрать руну у игрока. * * @param id Индекс игрока * * @noreturn */ rm_force_drop_rune(id) /* * Купить руну за игровые деньги по названию * * @param rune_name название руны * * * @return true/false */ rm_buy_rune_by_name(id,rune_name[]) /* * Получить номер руны по названию руны. * * @param rune_name название руны * * * @return номер руны или -1 */ rm_get_rune_by_name(rune_name[]) /* * Выдать руну игроку из внешнего плагина * * @param id индекс игрока * @param rune_id номер руны * * * @return true/false (успешно или руну нельзя выдать) */ bool:rm_give_rune_to_player(player_id, rune_id)
Добавлен плагин rm_base_buy.amxx для быстрой выдачи рун и покупки из дополнительных плагинов (первая версия).
Добавлены новые нативки для вызова из внешних плагинов.
1. rm_get_runes_count() - количество рун и предметов загруженных в данный момент.
2. rm_give_rune_to_player( id , rune_id ) - дать игроку руну или предмет, по индексу от 0 до rm_get_runes_count
3. rm_get_rune_by_name( rune_name [] ) - вернуть индекс предмета или руны по названию.
Пример использования:
C++:new rune_id = rm_get_rune_by_name("rm_teleport_rune_name"); if (rune_id != -1) { if (rm_give_rune_to_player(id,rune_id)) { ...Успешно дали руну телепорта игроку. //Где rm_teleport_rune_name это название руны из rm_register_rune API } }
Добавлен магазин рун! (Квар runemod_rune_shop 1)
Вызывается командой /runeshop (или runeshop)
Обновлены все руны и предметы которые подходят для этого магазина.
- Сильнейшая оптимизация функции описания предметов и рун.
- Удален лиший код из нескольких рун
- Исправление DHUD у зрителей
- Исправление краша случайно добавленного в предыдущем обновлении
(Единственная из функций которая при большом количестве рун и игроков могла нагружать сервер)
- Оптимизация функции описания предметов и рун.
- Обновление руны Защита. Теперь работает с ботами.
- Важное обновление: Теперь зрители (и мертвые игроки) могут видеть какую руну использует игрок!
- Обновление руны Портал. Теперь боты не могут поднять. (Т.к не умеют ей пользоваться)
- Исправлена скорость обновления HUD с описанием руны при наведении прицела.
- Различные исправления в коде.
- Оптимизация модели сапога (Предмет "тихий шаг")
- Добавлен небольшой рандом в спавнах (TODO: сделать хороший рандом)
Добавлена новая нативка для регистрации словарей в предмете и в базовом плагине.