Skateboard

Skateboard 1.0.0

Нет прав для скачивания
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
wellasgood добавил(а) новый ресурс:

Skateboard - Плагин позволяет ездить на скейтборде.

По команде создается скейтборд, далее игрок может подойти к нему, нажать E (+use) и ездить по карте.


Управление:
  • W, A, S, D >>> вперед, влево, назад, вправо
  • Space >>> прыжок + анимация трюка
  • Ctrl >>> анимация трюка

Узнать больше об этом ресурсе...
 
Сообщения
494
Реакции
340
Помог
11 раз(а)
Если заюзан модуль "engine", зачем "fakemeta"? И библиотека "xs" уже включена в библиотеку "fakemeta_util".

В целом идея очень и очень гуд, поэтому взял на себя смелось избавиться от модуля fakemeta, если кому вдруг нужно, ибо он тут по моему скромному мнению лишний. Прикладываю ниже вложением.
Код:
fm_get_aim_origin(id, Origin)
->
Код:
stock get_aim_origin(pPlayer, Float: fVecEnd[3])
{
    new Float: fVecStart[3], Float: fVecViewOfs[3]
    get_entvar(pPlayer, var_origin, fVecStart)
    get_entvar(pPlayer, var_view_ofs, fVecViewOfs)
    xs_vec_add(fVecStart, fVecViewOfs, fVecStart)

    get_entvar(pPlayer, var_v_angle, fVecEnd);
    angle_vector(fVecEnd, ANGLEVECTOR_FORWARD, fVecEnd);
    get_global_vector(GL_v_forward, fVecEnd);
  
    xs_vec_mul_scalar(fVecEnd, 8192.0, fVecEnd);
    xs_vec_add(fVecStart, fVecEnd, fVecEnd);

    trace_line(pPlayer, fVecStart, fVecEnd, fVecEnd);
    traceresult(TR_EndPos, fVecEnd);
}
Код:
if(engfunc(EngFunc_PointContents, Origin) == CONTENTS_WATER)
->
Код:
if(point_contents(Origin) == CONTENTS_WATER)
Ну и все функции типа "engfunc" заменены на соответствующие "entity_set_..."
Может, кому-то всё же хотя бы пригодится функция получения координат по взгляду игрока без "fakemeta"

Код:
get_user_aiming(id, Target, Body, 64)
->по аналогии можно
Код:
stock get_aim_ent(pPlayer, Float: fVecEnd[3])
{
    new Float: fVecStart[3], Float: fVecViewOfs[3]
    get_entvar(pPlayer, var_origin, fVecStart)
    get_entvar(pPlayer, var_view_ofs, fVecViewOfs)
    xs_vec_add(fVecStart, fVecViewOfs, fVecStart)

    get_entvar(pPlayer, var_v_angle, fVecEnd);
    angle_vector(fVecEnd, ANGLEVECTOR_FORWARD, fVecEnd);
    get_global_vector(GL_v_forward, fVecEnd);
    
    xs_vec_mul_scalar(fVecEnd, 8192.0, fVecEnd);
    xs_vec_add(fVecStart, fVecEnd, fVecEnd);

    trace_line(pPlayer, fVecStart, fVecEnd, fVecEnd);
    return traceresult(TR_Hit);
}
 

Вложения

Последнее редактирование:
Сообщения
494
Реакции
340
Помог
11 раз(а)
Nordic Warrior, здесь почти всё написано на reapi+engine, я не понял почему автор плагина включил сюда в таком случае fakemeta ради использования пары функций, которые я и заменил.
К тому же хуки событий мною не тронуты, о которых идёт речь в статье.
 
Сообщения
344
Реакции
179
Помог
11 раз(а)
Nordic Warrior, bizon, а зачем вообще там другие модули?
Разве не проще и не логичней использовать 'reapi,fakemeta' для основного функционала, ну и 'xs', для удобной работы с векторами/координатами.
Зачем вообще сторонние модули по типа "engine","fakemeta_util". Часть кода на "fakemeta", часть на реапи и т.д. не проще было бы всё что есть в реапи написать на реапи, работу с моделью(координаты, размеры), оставить на fakemeta?
 
Сообщения
192
Реакции
148
Помог
1 раз(а)
Сообщения
494
Реакции
340
Помог
11 раз(а)
b0t., зачем там другие модули - вопрос к автору.
А проще было бы, если бы в reapi завезли подобные функции вроде установки модели/размеров и прочее, чего нет, тогда надобность в engine/fakemeta отпала бы.
А если бы еще завезли аналоги вроде ExecuteHam и иные аналоги хама, которых сейчас нет в реапи, тогда и использование хама можно было бы свести на нет.
 
Сообщения
344
Реакции
179
Помог
11 раз(а)
bizon, почему же нет?

rg_create_entity -- Создаёт модель
var_solid/var_movetype / var_origin -- всё это поможет задать свойства модели.

Единственное, что это установка размеров... Через var_mins/var_max у меня не очень хорошо получилось задать размеры...(хотя может это я косячник), зато через EngFunc_SetSize, всё работает прекрасно
 
Сообщения
1,021
Реакции
819
Помог
10 раз(а)
b0t. в EngFunc_SetSize есть какая то линковка SV_LinkEdict, которая необходима для взаимодействия с ent, обычным var_mins/var_max не обойтись, хотя зависит от задачи, эта же линковка есть и в EngFunc_SetOrigin, что наверное тоже будет правильнее юзать чем просто var_origin, тестить надо
18 Фев 2022
b0t., да и модель заодно поставить через EngFunc_SetModel наверное тоже, одним моделиндексом реапишном возможно не обойтись, во всяком случае у меня в задаче пропадали модели в новых раундах, потому оставил SetModel, так что реапи иногда это больше зло чем пользы
 
Сообщения
344
Реакции
179
Помог
11 раз(а)
Javekson, да, я так и делаю. Свойства задаю через реапи, а размеры,координаты,модель ставлю через мету. Ибо как и ты сталкивался с проблемами если работу с моделью реализовывал полностью через реапи.

P.S.
Разве наши диалоги не являются "ОффТоп`ом? :)"
 
Сообщения
494
Реакции
340
Помог
11 раз(а)
Javekson, почему сразу зло? Просто нет такого функционала. EngFunc_SetOrigin ещё и координаты в текущем кадре вешает, а не в следующем.
b0t., в том и прикол, что, reapi не до конца позволяет работать с энтити-обьектами без помощи других модулей.
Почему оффтоп? Будем считать, что эти рассуждения касаются как реализации обсуждаемого плагина, так и в общем целом.
 
Сообщения
344
Реакции
179
Помог
11 раз(а)
bizon, на счёт установки координат в следующем кадре... Конечно может это костыль, но всё же есть RequestFrame
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
bizon, енджин для камеры от 3го лица..

В остальном там свои нюансы работы, о которых выше уже написали..

Что факеметой с моделями там, ну размер да.. В общем как то так.
 
Сообщения
494
Реакции
340
Помог
11 раз(а)
wellasgood, если ты подключил енджин для камеры, то хуки событий уже будут вызываться (о которых писали выше и кидали ссыль), тогда уже нет смысла не использовать весь оставшийся потенциал энджина, используя фм, со свойствами он работает быстрее.
 

d3m37r4

111111
Сообщения
1,430
Реакции
1,170
Помог
10 раз(а)
bizon, автор использует то, что имеется в интернетах, в примерах, готов 2008-х, и не думает, что профитней юзать. Поэтому не нужно логику использования искать. То, как модуль енджин реализован
Это не модуль, а инклуд со стоками фейкметы)

А если бы еще завезли аналоги вроде ExecuteHam и иные аналоги хама, которых сейчас нет в реапи, тогда и использование хама можно было бы свести на нет.
Hamsandwich ты не заменишь реапи, т.к. там вирт хуки, которые можно регать для конкретной энтити, хам удобен, если его правильно использовать.

Вообще тут надо вести разговор не о колличестве используемых модулей, а о целесообразности и правильности использования. Как уже много раз говорилось в разных темах reapi - не панацея,а лишь еще один амхх модуль, созданный для удобства при работе с функциями движка и геймлибы.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу