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

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

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

23-апр
10-апр
11-апр
02-дек

2 страниц V   1 2
Раскрутка Counter-Strike 1.6

Runemod: Reloaded

, Мод добавляет руны и предметы в игру.
Статус пользователя karaulov
сообщение 13.10.2021, 14:06
Сообщение #1


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

Плагин добавляет руны в игру.

Стандартный runemod очень старый и заброшен. Там очень сложно пофиксить баги, которые постоянно всплывали при игре
, каждую руну приходилось редактировать что бы она начинала работать или хотя бы компилироваться.
По этому решил сделать свой мод, как можно проще.



Пример написания своей руны:

В plugin_init добавить
Код
rm_register_rune("Название","Описание",/*ЦВЕТ РУНЫ влияет на цвет свечения вокруг модели руны*/ Float:{0.0,0.0,255.0}, /*путь до модели кастомной*/ "модель",/* путь до кастомного звука руны когда игрок ее поднимает */","ID модели из precache");

Добавить 2 форварда:
Код
public rm_give_rune(id)
{
    // игрок id поднял руну
}

public rm_drop_rune(id)
{
    // игрок id потерял руну
}

Если тpебуется принудительно забрать у игрока руну, вызвать:
Код
rm_base_drop_plugin( id /* игрока */);


Так же можно посмотреть примеры уже готовых рун.


На данный момент в стандартный пакет рун добавлены:
Ускорение - благодаря функциям из REAPI дает плавное ускорение не зависящее от cl_forwardspeed и т.п
Защита - дает защиту от любого урона на короткое время. (на 3 попадания)
Портальная пушка - дает пушку из игры Portal (сам плагин позаимствован у "Polarhigh" // aka trofian)
Невидимость - дает невидимость до первой атаки. Частичная невидимость при движении.
Регенерация - когда игрок не двигается, его хп восстанавливается.

Из последних изменений добавлена озвучка и текст когда игрок поднимает или теряет руну.

Руну можно выбросить дважды нажав DROP (клавишу 'g')
Спавны для рун генерируются автоматически. (Переодически получая координаты игроков.)

Скачать можете тут:
https://github.com/UnrealKaraulov/RERUNEMOD

Требования:
Некоторые плагины требуют reapi.
По этому нужен REHLDS + REGAMEDLL + REAPI


Установка:
Скомпилировать все плагины
Скопировать звуки, модели, спрайты на сервер.
Скопировать скомпилированные плагины на сервер
Установить необходимые руны, поставив rm_base.amxx выше всех остальных.
Перезапустить сервер.
Обновить FASTDL


Скриншот: Прикрепленное изображение

В планах:
исправление ошибок если такие обнаружатся
заменить как можно больше функций на оптимизированные
добавление новых рун

Только потом настройки и конфиги.

Pull Request'ы приветствуются конечно же https://github.com/UnrealKaraulov/RERUNEMOD/pulls )

Протестировать можете тут
Сервер закрыт, но мод был очень популярный в связке с CSDM FFA!


Отредактировал: karaulov, - 1.5.2022, 13:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   Цитировать сообщение
Статус пользователя $@NyA
сообщение 13.10.2021, 15:34
Сообщение #2


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

Стаж: 14 лет
Город: Белая Церковь

Сообщений: 959
Благодарностей: 476
Полезность: 972

karaulov,
Цитата
Невидимость - дает невидимость до первой атаки. Частичная невидимость при движении.

Там смотри на будущее - будет такой момент,если игрок невидим и плагин используется backweapons( оружие за спиной ) то увидишь это
Можешь сходу и сделать эту проверку в Рунах...
Cкриншот


МультиМод CS 83.222.97.124:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя d3m37r4
сообщение 13.10.2021, 15:53
Сообщение #3


Стаж: 7 лет 10 месяцев

Сообщений: 299
Благодарностей: 113
Полезность: 591

$@NyA, это надо тот плагин, что отвечает за оружие на спине редактировать, с учетом апи этого плагина, а не наоборот.

Отредактировал: d3m37r4, - 13.10.2021, 15:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 13.10.2021, 16:04
Сообщение #4


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

$@NyA, решение простое, отключить плагин руны невидимости или BackWeapons )

В том плагине нет проверки на прозрачность игрока, значит автор сам должен исправлять свои ошибки. Даже на скриншоте видно что игрок прозрачный а оружие нет.


Оружие не прозрачное


Отредактировал: karaulov, - 13.10.2021, 16:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaHeK
сообщение 13.10.2021, 17:22
Сообщение #5


Стаж: 13 лет

Сообщений: 568
Благодарностей: 502
Полезность: 650

Зачем столько ненужных formatex? copy не канает? И что за костыли вместо форвардов и нативов?


Чуть-чуть нарушаю
http://img-host.su/aoN1.png
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 13.10.2021, 17:45
Сообщение #6


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

Цитата(BaHeK @ 13.10.2021, 18:22) *
Зачем столько ненужных formatex? copy не канает? И что за костыли вместо форвардов и нативов?


Ну это взял из оригинального мода, видимо раньше это вместо форвардов и нативов использовали) форварды/нативы быстрее работают?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 14.10.2021, 7:21
Сообщение #7


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

Цитата(BaHeK @ 13.10.2021, 18:22) *
Зачем столько ненужных formatex? copy не канает? И что за костыли вместо форвардов и нативов?

Мне интересно как вызвать форвард только для нужного плагина рун? Мой вариант работает именно так как я хочу, а вот форварды я так понял будут вызываться во всех плагинами разом?

Отредактировал: karaulov, - 14.10.2021, 7:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя HipHop
сообщение 14.10.2021, 8:52
Сообщение #8


Стаж: 1 год 8 месяцев
Город: Moscow

Сообщений: 180
Благодарностей: 129
Полезность: 828

Цитата(karaulov)
Регенерация - когда игрок не двигается, его хп восстанавливается.

Подсказали идею как вариант:
Цитата(Agallow)
А может хп будет регенирировать спустя несколько секунд после того, как игрок перестал стрелять/получать урон, но при этом движение не мешает восстановлению?


Отредактировал: HipHop, - 14.10.2021, 8:54


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaHeK
сообщение 14.10.2021, 9:09
Сообщение #9


Стаж: 13 лет

Сообщений: 568
Благодарностей: 502
Полезность: 650

karaulov, в скорости тут врядли какого-то явного преимущества добьешься от нативов/форвардов, но их гораздо удобней использовать, для одного плагина можно использовать CreateOneForward, при регистрации плагина можно будет передать функции форвардов, если они есть


Чуть-чуть нарушаю
http://img-host.su/aoN1.png
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 14.10.2021, 12:38
Сообщение #10


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

BaHeK, в таком случае придется создавать форвард для каждого плагина отдельно я так понял?

Да мне почему-то кажется что вариант что я использую тоже ничего так. Форвард обычный будет вызывать функцию в каждом плагине по этому придется еще и руну передавать вместе с игроком и в функции сравнивать.
А регистрировать для каждого плагина отдельный форвард в принципе можно но тоже не известно стоит ли это того...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя d3m37r4
сообщение 14.10.2021, 14:53
Сообщение #11


Стаж: 7 лет 10 месяцев

Сообщений: 299
Благодарностей: 113
Полезность: 591

karaulov, загугли кнайф мод next21 с кастомными ножами, там есть пример апи того, что тебе нужен тут.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 14.10.2021, 15:12
Сообщение #12


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

Цитата(d3m37r4 @ 14.10.2021, 15:53) *
karaulov, загугли кнайф мод next21 с кастомными ножами, там есть пример апи того, что тебе нужен тут.

да спасибо за пример.

посмотрел вижу, но не кажется что как-то слишком много лишнего кода с этими форвардами? по мне так мой вариант куда проще в использовании, и куда компактнее.

Отредактировал: karaulov, - 14.10.2021, 15:13
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 14.10.2021, 15:58
Сообщение #13


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

Стаж: 14 лет
Город: Белая Церковь

Сообщений: 959
Благодарностей: 476
Полезность: 972

Цитата(d3m37r4 @ 13.10.2021, 15:53) *
$@NyA, это надо тот плагин, что отвечает за оружие на спине редактировать, с учетом апи этого плагина, а не наоборот.

У Turanga_Leela есть также свой плагин Рун - там также Невидимость присутствует
Он мне ещё года 1.5 назад говорил,что "по-хорошему нужно именно в самом плагине,где Невидимость юзается это исправлять"
Возможно тогда,я не так всё понял...

Также у Нордика в плагине Камеры
https://dev-cs.ru/resources/1159/

Цитата
При включённой прозрачности, модели, прикреплённые к игроку - будут тоже прозрачными, например шапки и костюмы. (только с MOVETYPE_FOLLOW & var_owner - прим. для скриптеров)

Правда через Фуллпак
Код:
public FM_AddToFullPack_Post(es, e, ent, host, hostflags, player, pset)
{
if(ent == host && g_bInThirdPerson[ent] && !g_bIsPlayerNoTransparent[ent])
{
set_es(es, ES_RenderMode, kRenderTransTexture);
set_es(es, ES_RenderAmt, g_CvarValue[DEFAULT_TRANSPARENCY]);
}
else if(g_bInThirdPerson[host] && get_es(es, ES_AimEnt) == host && !g_bIsPlayerNoTransparent[host])
{
set_es(es, ES_RenderMode, kRenderTransTexture);
set_es(es, ES_RenderAmt, g_CvarValue[DEFAULT_TRANSPARENCY]);
}
}


МультиМод CS 83.222.97.124:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 14.10.2021, 16:07
Сообщение #14


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

$@NyA, ну так на главном скрине видно что игрок прозрачный а оружие нет.

Автор плагина "оружий за спиной" должен проверять прозрачность игрока и если он прозрачный то делать оружие тоже прозрачным.

Почему он этого не сделал? Даже пример с тем же resemiclip, оружие ведь прозрачным не становится? Значит попросим автора resemiclip сделать поддержку других плагинов? )))
В каждый плагин с невидимостью будем добавлять поддержку прозрачности оружия?

Почему тебе одному не кажется логичным то что поддержку прозрачности должен добавлять автор плагина с "оружием за спиной"?)))
Это никаких трудностей не вызовет думаю там пару строк кода что бы получить настройки рендера игрока и применить к оружию?

Обновления на гитхабе:
* Добавлена руна телепорт ножом.
* Добавлено свечение игроков с рунами (кроме невидимости)
* Небольшие оптимизации
* Исправлены ошибки
* Портальная пушка теперь не может забросить игроков в нехорошие места. Как и руна телепорта.

Отредактировал: karaulov, - 14.10.2021, 16:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя d3m37r4
сообщение 14.10.2021, 16:21
Сообщение #15


Стаж: 7 лет 10 месяцев

Сообщений: 299
Благодарностей: 113
Полезность: 591

karaulov, когда делаешь инструмент для возможности расширения функционала, тут вопрос не о компактности стоит, а о юзабилити. Почитай про фреймворки, про хелперы в них, фасады и т.д.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 14.10.2021, 16:34
Сообщение #16


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

Цитата(d3m37r4 @ 14.10.2021, 17:21) *
karaulov, когда делаешь инструмент для возможности расширения функционала, тут вопрос не о компактности стоит, а о юзабилити. Почитай про фреймворки, про хелперы в них, фасады и т.д.

Это ты к чему? Ну вот в моем случае что нужно для создания новой руны,

Код
#include <rm_api>
public plugin_init() {
    rm_register_rune("Название","Описание, цвет, модель и звук получения руны",Float:{255.0,255.0,255.0}, _, "runemod/rune.wav");
}

public rm_give_rune(id)
{
    // Игрок поднял руну
}

public rm_drop_rune(id)
{
    // Игрок потерял руну
}
// а нативки
// rm_base_drop_plugin(id) - заставить игрока выбросить руну
// rm_base_highlight_player(id) - заставить игрока светиться


Больше ничего добавлять в код не нужно. Что значит юзабилити в твоем понимании?
Что, сейчас по твоему сложно написать свою руну ? :)

Буквально ничего для этого не нужно делать. Взял готовый "бланк", заполнил и пиши нужный код.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя d3m37r4
сообщение 14.10.2021, 17:04
Сообщение #17


Стаж: 7 лет 10 месяцев

Сообщений: 299
Благодарностей: 113
Полезность: 591

karaulov, у тебя дублирование кода бесконечное, вместо апи.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 14.10.2021, 17:10
Сообщение #18


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

Цитата(d3m37r4 @ 14.10.2021, 18:04) *
karaulov, у тебя дублирование кода бесконечное, вместо апи.

НЕ пойму чем это грозит для того кто захочет написать свою руну, или ты имеешь ввиду что код из всех рун нужно переносить в один файл? Объясни популярно пож)))

Вот выше пример пустой руны, что именно тебя там не устраивает, что ещё нужно для счастья?))

Отредактировал: karaulov, - 14.10.2021, 17:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaHeK
сообщение 14.10.2021, 18:41
Сообщение #19


Стаж: 13 лет

Сообщений: 568
Благодарностей: 502
Полезность: 650

karaulov, в массив сложишь ID форвардов и все

Цитата(karaulov @ 14.10.2021, 19:10) *
НЕ пойму чем это грозит для того кто захочет написать свою руну, или ты имеешь ввиду что код из всех рун нужно переносить в один файл? Объясни популярно пож)))

Вот выше пример пустой руны, что именно тебя там не устраивает, что ещё нужно для счастья?))

Ну как минимум хардкод, если переименовать главный плагин, придется все модули к нему перекомпилировать.


Чуть-чуть нарушаю
http://img-host.su/aoN1.png
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя karaulov
сообщение 14.10.2021, 18:44
Сообщение #20


Стаж: 11 лет

Сообщений: 1002
Благодарностей: 337
Полезность: 215

BaHeK, ну в таком случае да) надо будет в инструкции написать что бы не переименовывали) а в принципе можно поиск по плагинам всем произвести что бы найти главный ) все равно функция регистрации вызывается в init и она не обязательно должна быть очень быстрой))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: