Dedicated-Server.RU  


Ответ
 
Опции темы Опции просмотра
Старый 28.07.2016, 20:21   #91
Не проверенный
 
Регистрация: 01.06.2015
Адрес: Москва
Сообщений: 163
Сказал спасибо: 67
Поблагодарили 5 раз(а) в 5 сообщениях
По умолчанию

Reapi всё делают, а плагинов под него почти нет.
Валера вне форума   Ответить с цитированием
Старый 29.07.2016, 02:39   #92
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

Валера, в чем проблема возьмите да сделайте, ждать пока другой сделает, это обычно 95 процентов всех кто связан как то с этой сферой так поступают.

ну и так же оно делается на будущие, а кто сейчас его использует то для себя свои плагины перевел и не скидывает их в паблик.
Adidasman вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 08.08.2016, 22:39   #93
с доступом к форуму безопасности
 
Регистрация: 01.07.2012
Адрес: г. Пермь, Ленинский р-н
Сообщений: 997
Сказал спасибо: 343
Поблагодарили 390 раз(а) в 210 сообщениях
По умолчанию

Хотел бы сообщить о некорректной работе как минимум одной константы:

PHP код:
#include <amxmodx>
#include <engine>
#include <reapi>

#pragma semicolon 1

new const ENT_MODEL[] = "models/chick.mdl";

public 
plugin_precache() {
    
precache_model(ENT_MODEL);
}

public 
plugin_init() {
    
register_clcmd("say /ent""CmdEnt");
}

public 
CmdEnt(const id) {
    if(
is_user_alive(id)) {
        new 
Ent rg_create_entity("info_target");
        if(
Ent) {
            new 
Float:Origin[3];
            
get_entvar(idvar_originOrigin);
            
set_entvar(Entvar_classname"_new_temp_ent");
            
set_entvar(Entvar_modelENT_MODEL);
            
//entity_set_model(Ent, ENT_MODEL);
            
set_entvar(Entvar_originOrigin);
            
drop_to_floor(Ent);
        }
    }

var_model, объект мы не увидим, в случае же с entity_set_model всё хорошо. И ещё одна вещь. При помощи rg_create_entity, как я понял из описания, сразу можно создать объект с нестандартным класснеймом, например, так:

PHP код:
rg_create_entity("_new_temp_ent"true); 
Однако, это не работает, объект не создаётся. Верно ли я понял описание?

Добавлено: И ещё есть небольшое пожелание к будущим версиям: сейчас в Reapi уже реализовано очень много констант, оффсетов, нативов, которые позволяют почти полностью избежать работы с engine, например, в некоторых случаях. Очень бы хотелось видеть полный функционал этого модуля.
Subb98 вне форума   Ответить с цитированием
Старый 08.08.2016, 23:20   #94
Не проверенный
 
Регистрация: 11.11.2013
Адрес: Иваново
Сообщений: 516
Сказал спасибо: 12
Поблагодарили 194 раз(а) в 132 сообщениях
По умолчанию

@Subb98, SetModel как минимум ещё modelindex выставляет. rg_create_entity работает почти также как и обычный create_entity.
ReAPI в первую очередь создан для расшаривания API ReHLDS и ReGameDLL, а не для замены имеющегося функционала.
PRoSToTeM@ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 09.08.2016, 00:05   #95
с доступом к форуму безопасности
 
Регистрация: 01.07.2012
Адрес: г. Пермь, Ленинский р-н
Сообщений: 997
Сказал спасибо: 343
Поблагодарили 390 раз(а) в 210 сообщениях
По умолчанию

Цитата:
Сообщение от PRoSToTeM@ Посмотреть сообщение
@Subb98, SetModel как минимум ещё modelindex выставляет.
Речь про entity_set_model? То есть, в случае с set_entvar нужно ещё устанавливать modelindex? Можно подробнее?

Цитата:
Сообщение от PRoSToTeM@ Посмотреть сообщение
rg_create_entity работает почти также как и обычный create_entity.
Тогда для чего второй аргумент?

Цитата:
Сообщение от PRoSToTeM@ Посмотреть сообщение
ReAPI в первую очередь создан для расшаривания API ReHLDS и ReGameDLL, а не для замены имеющегося функционала.
Но раз уж модуль имеет столько возможностей, почему бы не добавить ещё некоторые для того, чтобы в перспективе отказаться от некоторых стандартных?

Добавлено: П.с.: с индексом понятно, вроде, но откуда его брать?
Subb98 вне форума   Ответить с цитированием
Старый 09.08.2016, 00:12   #96
Администратор
 
Регистрация: 20.10.2010
Адрес: Москва
Сообщений: 2,702
Сказал спасибо: 420
Поблагодарили 2,170 раз(а) в 701 сообщениях
По умолчанию

Прекэш дает индекс.
Asmodai на форуме   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 09.08.2016, 00:12   #97
с доступом к форуму безопасности
 
Регистрация: 01.07.2012
Адрес: г. Пермь, Ленинский р-н
Сообщений: 997
Сказал спасибо: 343
Поблагодарили 390 раз(а) в 210 сообщениях
По умолчанию

Asmodai, благодарю.
Subb98 вне форума   Ответить с цитированием
Старый 09.08.2016, 02:22   #98
Не проверенный
 
Регистрация: 11.11.2013
Адрес: Иваново
Сообщений: 516
Сказал спасибо: 12
Поблагодарили 194 раз(а) в 132 сообщениях
По умолчанию

В крайнем случае можно воспользоваться движковой ModelIndex.

Цитата:
Сообщение от Subb98 Посмотреть сообщение
Но раз уж модуль имеет столько возможностей, почему бы не добавить ещё некоторые для того, чтобы в перспективе отказаться от некоторых стандартных?
В принципе я с этим согласен, неплохо было бы добавить наиболее используемые функции и перехваты. Можно даже копирнуть Think и Touch регистрируемые для конкретных класснеймов и добавить подобное для других частовызываемых функций, если будет необходимость (для ShouldCollide, например).

Цитата:
Сообщение от Subb98 Посмотреть сообщение
Тогда для чего второй аргумент?
Второй аргумент нужен для того, чтобы внутри gamedll нормально работал поиск энтити с помощью хеш-таблицы. Т.е., например, если ты используешь rg_create_entity для того, чтобы создать стандартную (известную) энтити (типа weaponbox, armoury_entity и т.д.), то необходимо использовать второй аргумент. А если ты создаёшь тот же info_target для использования под свои нужды с изменением класснейма, то второй аргумент должен быть false (значение по умолчанию).
PRoSToTeM@ вне форума   Ответить с цитированием
5 пользователей сказали cпасибо:
Показать/Скрыть список поблагодаривших
Старый 09.08.2016, 10:33   #99
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 302
Сказал спасибо: 99
Поблагодарили 961 раз(а) в 168 сообщениях
По умолчанию

Цитата:
Сообщение от PRoSToTeM@ Посмотреть сообщение
Цитата:
Сообщение от Subb98 Посмотреть сообщение
Тогда для чего второй аргумент?
Второй аргумент нужен для того, чтобы внутри gamedll нормально работал поиск энтити с помощью хеш-таблицы. Т.е., например, если ты используешь rg_create_entity для того, чтобы создать стандартную (известную) энтити (типа weaponbox, armoury_entity и т.д.), то необходимо использовать второй аргумент. А если ты создаёшь тот же info_target для использования под свои нужды с изменением класснейма, то второй аргумент должен быть false (значение по умолчанию).
еще дополню...

Не обязательно нужно создавать (известную) энтити с использованием хеш-таблицы.
Это все зависит от поставленной задачи, возьмем пример:
Если создать "weaponbox" через обычный create_entity, gamedll об этом практически ничего не узнает, поскольку ее нет в хеш-таблице и поиск по нём

PHP код:
new ent rg_find_ent_by_class(NULLENT"weaponbox"true); 
не увенчается успехом, таким образом, в следующем раунде weaponbox не удалится, как делает это по умолчанию gamedll (удаление всего weaponbox в начале раунда).
А если же, создавать с rg_create_entity, то очистка weaponbox непременно произойдет. (Также нужно учитывать, что поиск по хеш-таблице быстрее, чем движковый, этим можно убедиться с встроенным бенчмарком в gamedll, вводя в консоль "perf_test")

Последний раз редактировалось s1lent; 10.08.2016 в 00:21.
s1lent вне форума   Ответить с цитированием
5 пользователей сказали cпасибо:
Показать/Скрыть список поблагодаривших
Старый 09.08.2016, 23:18   #100
с доступом к форуму безопасности
 
Регистрация: 01.07.2012
Адрес: г. Пермь, Ленинский р-н
Сообщений: 997
Сказал спасибо: 343
Поблагодарили 390 раз(а) в 210 сообщениях
По умолчанию

Корректная работа:
PHP код:
new Float:Health get_entvar(idvar_health);
set_entvar(idvar_healthHealth 10.0); 
Трэш:
PHP код:
set_entvar(idvar_healthget_entvar(idvar_health) + 10.0); 
Subb98 вне форума   Ответить с цитированием
Старый 09.08.2016, 23:45   #101
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 302
Сказал спасибо: 99
Поблагодарили 961 раз(а) в 168 сообщениях
По умолчанию

Цитата:
Сообщение от Subb98 Посмотреть сообщение
Трэш:
PHP код:
set_entvar(idvar_healthget_entvar(idvar_health) + 10.0); 

PHP код:
set_entvar(idvar_healthFloat:get_entvar(idvar_health) + 10.0); 
s1lent вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 09.08.2016, 23:45   #102
Не проверенный
 
Регистрация: 11.11.2013
Адрес: Иваново
Сообщений: 516
Сказал спасибо: 12
Поблагодарили 194 раз(а) в 132 сообщениях
По умолчанию

Цитата:
Сообщение от Subb98 Посмотреть сообщение
Корректная работа:
PHP код:
new Float:Health get_entvar(idvar_health);
set_entvar(idvar_healthHealth 10.0); 
Трэш:
PHP код:
set_entvar(idvar_healthget_entvar(idvar_health) + 10.0); 
PHP код:
set_entvar(idvar_healthFloat:get_entvar(idvar_health) + 10.0); 
PRoSToTeM@ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 09.08.2016, 23:46   #103
с доступом к форуму безопасности
 
Регистрация: 01.07.2012
Адрес: г. Пермь, Ленинский р-н
Сообщений: 997
Сказал спасибо: 343
Поблагодарили 390 раз(а) в 210 сообщениях
По умолчанию

С var_flags тоже непонятка.

PHP код:
set_entvar(Entvar_fragsFL_KILLME);
//entity_set_int(Ent, EV_INT_flags, FL_KILLME);
//force_use(Ent, Ent);
call_think(Ent); 
Engine работает и с force_use, и с call_think. set_entvar не работает вообще, впечатление, что флаги не устанавливаются.

Добавлено: s1lent, PRoSToTeM@, спасибо, не могу привыкнуть к неопределённому тегу пока. извиняюсь.
Subb98 вне форума   Ответить с цитированием
Старый 09.08.2016, 23:50   #104
Не проверенный
 
Регистрация: 11.11.2013
Адрес: Иваново
Сообщений: 516
Сказал спасибо: 12
Поблагодарили 194 раз(а) в 132 сообщениях
По умолчанию

@Subb98, var_flags, а не var_frags.
PRoSToTeM@ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 09.08.2016, 23:54   #105
с доступом к форуму безопасности
 
Регистрация: 01.07.2012
Адрес: г. Пермь, Ленинский р-н
Сообщений: 997
Сказал спасибо: 343
Поблагодарили 390 раз(а) в 210 сообщениях
По умолчанию

PRoSToTeM@, кошмар, пора спать мне сегодня, похоже. Столько ошибок на ровном месте... Спасибо ещё раз.
Subb98 вне форума   Ответить с цитированием
Ответ

Метки
amxx module, regamedll, rehlds, reunion, vtc


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 13:47. Часовой пояс GMT +3.


Лицензия принадлежит Dedicated-Server.Ru