ASI FPSUP: OptimizeSampLoops

g305noobo

Известный
Модератор
309
486
после игрового опыта около 6 месяцев, а также по сообщениям других людей, использующих сборку от меня, могу сказать, что плагин хороший, но с парочкой неприятных моментов:
- иногда, когда на машине давишь бегающего игрока он может пропасть
- редкость, но краши тоже случались. судя по бектрейсу это связано с пулом объектов, учтя ещё что эти краши были на мероприятиях, с большим количеством маппинга

p.s видел сообщение выше о том, что на плагин забили
надеюсь когда-то это все доделается🧐
 
  • Нравится
Реакции: Z3roKwq и Ya Zaregalsya

Внучка Марка

Известный
675
114
после игрового опыта около 6 месяцев, а также по сообщениям других людей, использующих сборку от меня, могу сказать, что плагин хороший, но с парочкой неприятных моментов:
- иногда, когда на машине давишь бегающего игрока он может пропасть
- редкость, но краши тоже случались. судя по бектрейсу это связано с пулом объектов, учтя ещё что эти краши были на мероприятиях, с большим количеством маппинга

p.s видел сообщение выше о том, что на плагин забили

надеюсь когда-то это все доделается🧐
Игрокам Аризоне то есть придется отказаться от скрипта? Ибо слишком много объектов там на мероприятиях.
 

SR_team

like pancake
Автор темы
BH Team
4,809
6,488

SR_team

like pancake
Автор темы
BH Team
4,809
6,488
Как тут поднимать темы? Так и не починили для модеров....

Обновил плагин - теперь вместо кастомных виртуальных таблиц используется маппинг индекса сущностей в игровых пулах на ID самповских сущностей.
Это не std::map и подобный маппинг, а просто вектор индексов с обращением по элементу без перебора. Работает за счет того, что все игровые сущности хранятся в пулах и для них можно получить индекс в этих пулах простым вычитанием указателей без перебора.

P.S. @kizn не грусти
 
  • Влюблен
Реакции: kizn и kyrtion

kyrtion

Известный
1,005
369
Обновил плагин - теперь вместо кастомных виртуальных таблиц используется маппинг индекса сущностей в игровых пулах на ID самповских сущностей.
Это не std::map и подобный маппинг, а просто вектор индексов с обращением по элементу без перебора. Работает за счет того, что все игровые сущности хранятся в пулах и для них можно получить индекс в этих пулах простым вычитанием указателей без перебора.
После того когда я заменил старый луп на новый (плагин), игра уже вылетела. И у меня нет вроде плагин чтобы логгировались, есть идеи насчет логи?
0.3.7 R1
 

SR_team

like pancake
Автор темы
BH Team
4,809
6,488
После того когда я заменил старый луп на новый (плагин), игра уже вылетела. И у меня нет вроде плагин чтобы логгировались, есть идеи насчет логи?
0.3.7 R1
I don't have the samp of R1 version to test this plugin. Help me please with found problematic part of code.

Here 3 versions of plugin:
1. Optimized only loops used for players/actors
2. Optimized only loops used for vehicles
3. Optimized only loops used for objects
Please test all this versions one-by-one (don't install both) and say what versions is work and what crashes
 

Вложения

  • OptimizeSampLoopsOnlyPeds.asi
    61 KB · Просмотры: 10
  • OptimizeSampLoopsOnlyVehs.asi
    61 KB · Просмотры: 7
  • OptimizeSampLoopsOnlyObjects.asi
    61 KB · Просмотры: 6

kyrtion

Известный
1,005
369
ti menya obidel( zachem tak delaesh(( u menya je narishenie rechi i daje ne ojidal chto ti takoe pisheh((
sha zaidu i protestiruy


UPD: плагин на объект игра крашнулась, * после инициализации игры
UPD2: адрес краша которое вызывало в самповском, они все динамически, а в регистре не поменялось
Мб тебе это пригодится:
Registers:
EAX: 0x00000000 EBX: 0x00000001 ECX: 0x0F78ADB8 EDX: 0x005647F0
ESI: 0x1572C234 EDI: 0x00000000 EBP: 0x0177FD4C ESP: 0x0177FD0C
EFLAGS: 0x00210246
 
Последнее редактирование:
  • Нравится
Реакции: SR_team

kyrtion

Известный
1,005
369
Исправил работу на R1
странно что так, после успешного коннекта сервера игра впала
пришли еще 3 исправленные плагины и снова протестирую

кажется из-за ultimate asi на последнем версии
 
Последнее редактирование:

SR_team

like pancake
Автор темы
BH Team
4,809
6,488
странно что так, после успешного коннекта сервера игра впала
пришли еще 3 исправленные плагины и снова протестирую

кажется из-за ultimate asi на последнем версии


Там кароче сигнатуры функций в R1 отличаются. Вроде подогнал, но один хуй не работает. Пока что дропаю R1. Мб когда-нибудь потом поправлю, или найдется желающий заслать MR на гитлаб. Эта версия без проблем собирается в VisualStudio
 

Вложения

  • OptimizeSampLoopsOnlyPeds.asi
    61 KB · Просмотры: 9
  • OptimizeSampLoopsOnlyVehs.asi
    61 KB · Просмотры: 8
  • OptimizeSampLoopsOnlyObjs.asi
    61 KB · Просмотры: 9
Последнее редактирование:

WestSide

Новичок
11
4
Работает ли это с подключенными лимит аджастерами?
из 3 плагинов, игра не вылетает только на OptimizeSampLoopsOnlyVehs.asi

Следующий код не получает ID транспорта:
cpp:
Events::vehicleSetModelEvent.before += [](CVehicle* vehicle, int modelId)//plugin-sdk
{
    unsigned short vehicleid = OptimizeSampPools::get_vehicle_id(vehicle);
    printf("vehicleid - %d", vehicleid);//65535
};
 

SR_team

like pancake
Автор темы
BH Team
4,809
6,488
Работает ли это с подключенными лимит аджастерами?
из 3 плагинов, игра не вылетает только на OptimizeSampLoopsOnlyVehs.asi

Следующий код не получает ID транспорта:
cpp:
Events::vehicleSetModelEvent.before += [](CVehicle* vehicle, int modelId)//plugin-sdk
{
    unsigned short vehicleid = OptimizeSampPools::get_vehicle_id(vehicle);
    printf("vehicleid - %d", vehicleid);//65535
};
Все варианты R1 не работают. Там сигнатуры функций отличаются из-за того что в R3 появилась начальная поддержка загрузки моделей, как в 0.3dl.

Поддержки R1 пока нет. Если хочешь - можешь поправить на гитлабе и отправить MR
 
  • Нравится
Реакции: ARMOR

WestSide

Новичок
11
4
Есть баг на samp 037R3, объектам не применяется прозрачный фон (SetObjectMaterailText)
1729971162968.png


Есть баг на samp 037R3, объектам не применяется прозрачный фон (SetObjectMaterailText)
1729971162968.png
Понял в чем ошибка. Переменная перезаписывается. Исправляется просто:
1729981384278.png
 
Последнее редактирование:
  • Нравится
Реакции: SR_team