Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Saint

Страницы: [1] 2 3 ... 6
1
Общие вопросы / Re: Лимиты Игры
« : Декабрь 17, 2023, 08:00:03 pm »
xanser, спасибо

2
кто нибуть знает адресс памяти который отвечает за дистанцию отрисовки педа созданного скриптом она равна примерно 168,0

      // .data:0068D758 00 00 28 43             flt_68D758      dd 168.0

      // .data:0068D780 00 00 44 43             flt_68D780      dd 196.0

      // .data:00698E28 00 00 29 43             flt_698E28      dd 169.0

      // .data:0068D9AC 00 00 2A 43             flt_68D9AC      dd 170.0
      // .data:0068E5B8 00 00 2A 43             flt_68E5B8      dd 170.0
      // .data:0068FF04 00 00 2A 43             flt_68FF04      dd 170.0
      // .data:006B2628 00 00 2A 43             flt_6B2628      dd 170.0
      // .data:006DB5C0 00 00 2A 43             flt_6DB5C0      dd 170.0

эти не подходят

3
Общие вопросы / reVC
« : Июнь 29, 2021, 12:08:03 am »
https://github.com/GTAmodding/re3/tree/miami
наверняка все слышали про него, но дело в том что он не работает на WinXP пишет не является приложением win32, кто нибуть пробовал сам компилировать его? и возможно ли это сделать в 10й студии?

4
Видимо кишки опкода не дают тебе заменять столбы и шлагбаумы, поэтому весь код тебе не нужен, а только функция CEntity::ReplaceWithNewModel(). Во вложении пример замены столбов на светофоры при их первом появлении. Кстати кроме объекта ты можешь там же поменять и его координаты. Заметил, что свойства нового объекта остаются теми же, что были у старого. А как удалять объект полностью с карты, я не знаю.

хорошо, спасибо

5
спасибо за ответ, но всё же

в опкоде по замене моделей перед его вызовом я просто занупил  вызов
.text:0045A0D0 E8 BB EC FF FF                          call    CTheScripts::AddToBuildingSwapArray(CBuilding *,int,int)
и тем самым у меня получилось менять на карте более 25 объектов

но как я говорил выше мне нужно не замена, а именно удаление, т.к. опкод не может менять ломающиеся объекты типо фонарных столбов и т.д.

можешь пожалуйста привести пример как удалить допустим так называемый шлагбаум на военной базе?

379, smashbar, 0, -1721.86, -293.002, 15.1086, 1, 1, 1, -0.707107, -0.707107, 4.4827E-8, 4.4827E-8

может конечно то что нельзя подменять ломающиеся объекты както задаётся в этих функциях

.text:00459F28 E8 43 C8 07 00                          call    CWorld::FindObjectsOfTypeInRange(uint,CVector  const&,float,bool,short *,short,CEntity **,bool,bool,bool,bool,bool)
.text:00459F88 E8 13 C7 07 00                          call    CWorld::FindObjectsOfTypeInRangeSectorList(uint,CPtrList &,CVector  const&,float,bool,short *,short,CEntity **)
.text:0045A02F E8 6C C6 07 00                          call    CWorld::FindObjectsOfTypeInRangeSectorList(uint,CPtrList &,CVector  const&,float,bool,short *,short,CEntity **)

если я правильно понимаю то CEntity ** это как раз для получения указателя на найденный объект карты?

6
Общие вопросы / Re: Лимиты Игры
« : Сентябрь 06, 2020, 01:24:19 pm »
cпасибо за ответ, я примерно так и думал

Тут мне кажется, можно создать до 110, поскольку это размер пула машин CPools::pVehiclePool->size

размер пула я увеличил и могу создать хоть 500 машин (тестил до 250) но только одной модели или разных моделей до 50 штук

так же есть ещё такая особенноть если прямо во  время игры создать больше 180 ТС то начинает пропадать звуки у авто

в вайсе модели авто начинаются с 130 до 236 получаем что всего 106 моделей транспортных средств. вообщем создать одновременно можно любые 50 из этих 106

если же превысить этот лимит в 50 моделей ТС игра вылетает с ошибкой Exception At Address: 0x00541109 // превышение лимита моделей авто = 50

в лагине от ThirteenAG есть лимит повышения VehicleModels я думал что это как раз то, что мне нужно, но нет там это лимит моделей для IDE файлов, короче сколько мы можем прописывать моделей в ide

так же чем больше мы увеличаем лимиты, и создаём в игре всего, необходимо увеличивать и StreamMemory

7
Общие вопросы / Лимиты Игры
« : Сентябрь 05, 2020, 03:32:15 pm »
все наверняка знаю такую программу как VC Limit Adjuster от Steve-M и её более новую версию, а так же есть 2 плагина.
1й - это от ThirteenAG и 2й от fastman92 (более продвинутый) но последнии версии этих плагинов не работают на XP

вообщем дело не в этом.

Меня интересует 3 лимита.

1 - это лимит TXD
2 - это лимит ID
3 - лимит модей транспорта которые могут быть созданны в игре одновременно (он равен примерно 50, если создать больше игра зависает)

вообщем программой VC Limit Adjuster я пропатчил exe на первые 2 лимита, нашел все адресса которые программа поменяла значения,

лимит TXD меняет 9 адрессов
лимит ID меня значения в 150 адрессах

сделал вот такую функцию

Код: C++
  1. void ReCreateGameTXDLimit()
  2. {//------------------------------------------------------------------------------------------------------------------------
  3. /*     
  4.         // TXD Limit
  5.  
  6.         TXD Numbers - multiple instances (3160 bytes)
  7.  
  8.         Maximum number of TXDs allowed in gta3.img.
  9.         When VC loads TXD objects, it assigns ID numbers to them just above the rangeused for map objects.
  10.         Valid values range from the game default of 1385 to 32700.
  11. */
  12.         //---------------------------------------------------------------------------------------------------------------------
  13.  
  14.         DWORD dwNewLimit = 5000;
  15.  
  16.        
  17.         // .text:0041065D 81 FB 69 05 00 00                       cmp     ebx, 569h
  18.         CMemory::InstallPatch<DWORD>( 0x41065D+2 , dwNewLimit);
  19.  
  20.         // .text:00580FD4 81 FB 69 05 00 00                       cmp     ebx, 569h
  21.         CMemory::InstallPatch<DWORD>( 0x580FD4+2 , dwNewLimit);
  22.  
  23.         // .text:0058102C 68 69 05 00 00                          push    569h
  24.         CMemory::InstallPatch<DWORD>( 0x58102C+1 , dwNewLimit);
  25.  
  26.         // .text:0061D98B 68 69 05 00 00                          push    569h
  27.         CMemory::InstallPatch<DWORD>( 0x61D98B+1 , dwNewLimit);
  28.  
  29.         // .text:0061D9E5 68 69 05 00 00                          push    569h
  30.         CMemory::InstallPatch<DWORD>( 0x61D9E5+1 , dwNewLimit);
  31.  
  32.         // .text:0061DAA5 68 69 05 00 00                          push    1385
  33.         CMemory::InstallPatch<DWORD>( 0x61DAA5+1 , dwNewLimit);
  34.  
  35.         // .text:0061DBA5 68 69 05 00 00                          push    569h
  36.         CMemory::InstallPatch<DWORD>( 0x61DBA5+1 , dwNewLimit);
  37.  
  38.         // .text:0061DCFA 81 FB 69 05 00 00                       cmp     ebx, 569h
  39.         CMemory::InstallPatch<DWORD>( 0x61DCFA+2 , dwNewLimit);
  40.  
  41.         // .text:0061DD39 68 69 05 00 00                          push    569h
  42.         CMemory::InstallPatch<DWORD>( 0x61DD39+1 , dwNewLimit);
  43.  
  44.         // end
  45.  
  46. }//------------------------------------------------------------------------------------------------------------------------
  47.  

но при загрузке игры происходит краш


8
может кто помочь переписать опкоды 0363 и 03B6 в нормальный код?

хочется всё таки норм удалять объекты, а не подменять их, так как тем же опкодом 03B6 нельзя заменять объекты карты которые игрок может разрушить.

9
Справочная информация / Re: CFont - Информация.
« : Сентябрь 05, 2020, 03:12:24 pm »
Ребят может кто знает но при использовании функции 0x550100 в VC моя игра просто зависает, в чём дело?

Код: C++
  1.  
  2. // вариант 1
  3.  
  4. void _declspec(naked) Font_SetLineWidth(float width)
  5. {
  6.        
  7. //      _asm mov eax, 0x7194D0 // SA // CFont::SetWrapx(float value)
  8.         _asm mov eax, 0x550100 // VC // CFont::SetWrapx(float wrap)
  9.         _asm jmp eax
  10.  
  11. }
  12.  
  13. // вариант 2
  14.  
  15. void CFont::SetWrapx(float value)
  16. {
  17.  
  18. //      ((void (__cdecl *)(float))0x7194D0)(value); // SA
  19.         ((void (__cdecl *)(float))0x550100)(value); // VC
  20.  
  21. }
  22.  

10
реально круто, молодец

11
Скриптинг / Re: Описание структуры объекта
« : Август 18, 2020, 10:23:08 pm »
Криминальная Россия

структуру объекта можно посмотреть тут https://github.com/DK22Pac/plugin-sdk/blob/master/plugin_vc/game_vc/CObject.h

ответь мне в ВК

12
Скриптинг / Re: Описание структуры объекта
« : Август 16, 2020, 10:51:00 pm »
Shagg_E, спасибо. Попытался сделать динамическую дверь в вайсе: https://youtu.be/lr-4obAvf6w

выглядит круто, что за мод?

13
Почему-то не могу получить 5 или 6 звёзд розыска с помощью скриптовой команды , 

cначало надо установить максимальный уровень розыска https://gtamods.com/wiki/01F0

14
а не подскажешь пожалуйста участок кода который отвечает за посадку игрока в Авто когда он нажимает F
Пока это не разбирал, к сожалению. Ты есть на Discord сервере SDK? Там могут помочь найти этот участок.

пользуюсь только ВК

15
тоесть если мы будем нажимать кнопку огонь (ЛКМ) то игрок не будет выполнять никаких действий?
Да. Будто и нет такой механики. При этом, в отличии от отключения всех драк(ранее в этой теме) - педы не теряют возможности атаковать. Да и игрок под управлением ИИ сможет атаковать.
Т.е. выключается только сама привязка контроллера к атакам.

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

Страницы: [1] 2 3 ... 6