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

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


Сообщения - Saint

Страницы: 1 2 [3] 4 5 6
31
Общие вопросы / Маркеры (Метки на Карте)
« : Январь 25, 2020, 11:56:30 pm »
возможно ли в вайсе менять прозрачность (альфа канал) маркерам ? как в SA

вот тут это показано https://wiki.sa-mp.com/wiki/Color_list#Alpha_values_.28transparency.29

32
Ну, остается только ковырять устройство этого опкода.
А "не совсем то что нужно" - это из-за ограниченного количества заменяемых объектов? Мб проще взломать этот лимит(понятное дело, что речь не о сейвах, но просто для стабильной работы игры)?

ещё бы знать где он...

.text:00459E19                         ; ---------------------------------------------------------------------------
.text:00459E19
.text:00459E19                         loc_459E19:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+22j
.text:00459E19                                                                 ; DATA XREF: .data:0068A020o
.text:00459E19 8D 45 10                                lea     eax, [ebp+10h]  ; jumptable 00458EE2 case 50
.text:00459E1C 89 E9                                   mov     ecx, ebp
.text:00459E1E 6A 06                                   push    6
.text:00459E20 50                                      push    eax
.text:00459E21 E8 EA 71 FF FF                          call    CRunningScript::CollectParameters(uint *,short)
.text:00459E26 D9 05 38 74 7D 00                       fld     ds:scm_params_1
.text:00459E2C D9 5C 24 7C                             fstp    [esp+218h+var_19C]
.text:00459E30 D9 05 3C 74 7D 00                       fld     ds:scm_params_2
.text:00459E36 D9 9C 24 94 00 00 00                    fstp    [esp+218h+var_184]
.text:00459E3D D9 05 40 74 7D 00                       fld     ds:scm_params_3
.text:00459E43 D9 9C 24 AC 00 00 00                    fstp    [esp+218h+var_16C]
.text:00459E4A D9 84 24 AC 00 00 00                    fld     [esp+218h+var_16C]
.text:00459E51 D8 1D D4 9C 68 00                       fcomp   flt_689CD4
.text:00459E57 DF E0                                   fnstsw  ax
.text:00459E59 F6 C4 04                                test    ah, 4
.text:00459E5C 75 24                                   jnz     short loc_459E82
.text:00459E5E 80 E4 45                                and     ah, 45h
.text:00459E61 F6 C4 41                                test    ah, 41h
.text:00459E64 74 1C                                   jz      short loc_459E82
.text:00459E66 FF B4 24 94 00 00 00                    push    [esp+218h+var_184]
.text:00459E6D FF B4 24 80 00 00 00                    push    [esp+21Ch+var_19C]
.text:00459E74 E8 C7 B6 07 00                          call    CWorld::FindGroundZForCoord(float,float)
.text:00459E79 D9 9C 24 B4 00 00 00                    fstp    [esp+220h+var_16C]
.text:00459E80 59                                      pop     ecx
.text:00459E81 59                                      pop     ecx
.text:00459E82
.text:00459E82                         loc_459E82:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+F9Cj
.text:00459E82                                                                 ; CRunningScript::ProcessCommands900To999(int)+FA4j
.text:00459E82 D9 05 44 74 7D 00                       fld     ds:scm_params_4
.text:00459E88 D9 5C 24 3C                             fstp    [esp+218h+var_1DC]
.text:00459E8C D9 05 E4 9C 68 00                       fld     flt_689CE4
.text:00459E92 D8 4C 24 3C                             fmul    [esp+218h+var_1DC]
.text:00459E96 8B 3D 48 74 7D 00                       mov     edi, ds:scm_params_5
.text:00459E9C 31 ED                                   xor     ebp, ebp
.text:00459E9E 85 FF                                   test    edi, edi
.text:00459EA0 D9 5C 24 38                             fstp    [esp+218h+var_1E0]
.text:00459EA4 7D 12                                   jge     short loc_459EB8
.text:00459EA6 F7 DF                                   neg     edi
.text:00459EA8 8D 04 FD 00 00 00 00                    lea     eax, ds:0[edi*8]
.text:00459EAF 29 F8                                   sub     eax, edi
.text:00459EB1 8B 3C 85 E0 1D 7D 00                    mov     edi, ds:dword_7D1DE0[eax*4]
.text:00459EB8
.text:00459EB8                         loc_459EB8:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+FE4j
.text:00459EB8 8B 35 4C 74 7D 00                       mov     esi, ds:scm_params_6
.text:00459EBE 85 F6                                   test    esi, esi
.text:00459EC0 7D 12                                   jge     short loc_459ED4
.text:00459EC2 F7 DE                                   neg     esi
.text:00459EC4 8D 04 F5 00 00 00 00                    lea     eax, ds:0[esi*8]
.text:00459ECB 29 F0                                   sub     eax, esi
.text:00459ECD 8B 34 85 E0 1D 7D 00                    mov     esi, ds:dword_7D1DE0[eax*4]
.text:00459ED4
.text:00459ED4                         loc_459ED4:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+1000j
.text:00459ED4 8B 44 24 7C                             mov     eax, [esp+218h+var_19C]
.text:00459ED8 89 FB                                   mov     ebx, edi
.text:00459EDA 89 84 24 B4 01 00 00                    mov     [esp+218h+var_64], eax
.text:00459EE1 8B 84 24 AC 00 00 00                    mov     eax, [esp+218h+var_16C]
.text:00459EE8 89 84 24 BC 01 00 00                    mov     [esp+218h+var_5C], eax
.text:00459EEF 8D 84 24 18 01 00 00                    lea     eax, [esp+218h+var_102+2]
.text:00459EF6 6A 00                                   push    0               ; char
.text:00459EF8 6A 00                                   push    0               ; char
.text:00459EFA 6A 00                                   push    0               ; char
.text:00459EFC 6A 00                                   push    0               ; char
.text:00459EFE 6A 01                                   push    1               ; char
.text:00459F00 50                                      push    eax             ; int
.text:00459F01 8D 84 24 2E 01 00 00                    lea     eax, [esp+230h+var_102]
.text:00459F08 6A 10                                   push    10h             ; __int16
.text:00459F0A 50                                      push    eax             ; int
.text:00459F0B 8D 84 24 D4 01 00 00                    lea     eax, [esp+238h+var_64]
.text:00459F12 8B 8C 24 B4 00 00 00                    mov     ecx, [esp+238h+var_184]
.text:00459F19 6A 01                                   push    1               ; int
.text:00459F1B FF 74 24 60                             push    [esp+23Ch+var_1DC] ; float
.text:00459F1F 50                                      push    eax             ; int
.text:00459F20 53                                      push    ebx             ; int
.text:00459F21 89 8C 24 E8 01 00 00                    mov     [esp+248h+var_60], ecx
.text:00459F28 E8 43 C8 07 00                          call    CWorld::FindObjectsOfTypeInRange(uint,CVector  const&,float,bool,short *,short,CEntity **,bool,bool,bool,bool,bool)
.text:00459F2D 83 C4 30                                add     esp, 30h
.text:00459F30 66 83 BC 24 16 01 00 00+                cmp     [esp+218h+var_102], 0
.text:00459F39 75 55                                   jnz     short loc_459F90
.text:00459F3B 8B 44 24 7C                             mov     eax, [esp+218h+var_19C]
.text:00459F3F 8D 8C 24 18 01 00 00                    lea     ecx, [esp+218h+var_102+2]
.text:00459F46 89 84 24 C0 01 00 00                    mov     [esp+218h+var_58], eax
.text:00459F4D 8B 84 24 AC 00 00 00                    mov     eax, [esp+218h+var_16C]
.text:00459F54 89 84 24 C8 01 00 00                    mov     [esp+218h+var_50], eax
.text:00459F5B 8D 84 24 16 01 00 00                    lea     eax, [esp+218h+var_102]
.text:00459F62 51                                      push    ecx             ; int
.text:00459F63 8B 94 24 98 00 00 00                    mov     edx, [esp+21Ch+var_184]
.text:00459F6A 6A 10                                   push    10h             ; __int16
.text:00459F6C 50                                      push    eax             ; int
.text:00459F6D 8D 84 24 CC 01 00 00                    lea     eax, [esp+224h+var_58]
.text:00459F74 6A 01                                   push    1               ; char
.text:00459F76 FF 74 24 4C                             push    [esp+228h+var_1DC] ; float
.text:00459F7A 50                                      push    eax             ; int
.text:00459F7B 89 94 24 DC 01 00 00                    mov     [esp+230h+var_54], edx
.text:00459F82 68 FC 85 97 00                          push    offset dword_9785FC ; int
.text:00459F87 53                                      push    ebx             ; int
.text:00459F88 E8 13 C7 07 00                          call    CWorld::FindObjectsOfTypeInRangeSectorList(uint,CPtrList &,CVector  const&,float,bool,short *,short,CEntity **)
.text:00459F8D 83 C4 20                                add     esp, 20h
.text:00459F90
.text:00459F90                         loc_459F90:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+1079j
.text:00459F90 66 83 BC 24 16 01 00 00+                cmp     [esp+218h+var_102], 0
.text:00459F99 0F 85 98 00 00 00                       jnz     loc_45A037
.text:00459F9F 8B 44 24 7C                             mov     eax, [esp+218h+var_19C]
.text:00459FA3 8B 8C 24 94 00 00 00                    mov     ecx, [esp+218h+var_184]
.text:00459FAA 89 84 24 58 01 00 00                    mov     [esp+218h+var_C0], eax
.text:00459FB1 8B 84 24 AC 00 00 00                    mov     eax, [esp+218h+var_16C]
.text:00459FB8 89 84 24 60 01 00 00                    mov     [esp+218h+var_B8], eax
.text:00459FBF 8D 84 24 58 01 00 00                    lea     eax, [esp+218h+var_C0]
.text:00459FC6 50                                      push    eax
.text:00459FC7 89 8C 24 60 01 00 00                    mov     [esp+21Ch+var_BC], ecx
.text:00459FCE E8 2D 33 08 00                          call    CTheZones::GetLevelFromPosition(CVector  const*)
.text:00459FD3 0F BF C0                                movsx   eax, ax
.text:00459FD6 8B 94 24 80 00 00 00                    mov     edx, [esp+21Ch+var_19C]
.text:00459FDD 59                                      pop     ecx
.text:00459FDE 8B 8C 24 94 00 00 00                    mov     ecx, [esp+218h+var_184]
.text:00459FE5 89 94 24 CC 01 00 00                    mov     [esp+218h+var_4C], edx
.text:00459FEC 8B 94 24 AC 00 00 00                    mov     edx, [esp+218h+var_16C]
.text:00459FF3 89 8C 24 D0 01 00 00                    mov     [esp+218h+var_48], ecx
.text:00459FFA 8D 8C 24 18 01 00 00                    lea     ecx, [esp+218h+var_102+2]
.text:0045A001 89 94 24 D4 01 00 00                    mov     [esp+218h+var_44], edx
.text:0045A008 8D 04 85 00 00 00 00                    lea     eax, ds:0[eax*4]
.text:0045A00F 51                                      push    ecx             ; int
.text:0045A010 05 FC 85 97 00                          add     eax, offset dword_9785FC
.text:0045A015 8D 94 24 1A 01 00 00                    lea     edx, [esp+21Ch+var_102]
.text:0045A01C 8D 8C 24 D0 01 00 00                    lea     ecx, [esp+21Ch+var_4C]
.text:0045A023 6A 10                                   push    10h             ; __int16
.text:0045A025 52                                      push    edx             ; int
.text:0045A026 6A 01                                   push    1               ; char
.text:0045A028 FF 74 24 4C                             push    [esp+228h+var_1DC] ; float
.text:0045A02C 51                                      push    ecx             ; int
.text:0045A02D 50                                      push    eax             ; int
.text:0045A02E 53                                      push    ebx             ; int
.text:0045A02F E8 6C C6 07 00                          call    CWorld::FindObjectsOfTypeInRangeSectorList(uint,CPtrList &,CVector  const&,float,bool,short *,short,CEntity **)
.text:0045A034 83 C4 20                                add     esp, 20h
.text:0045A037
.text:0045A037                         loc_45A037:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+10D9j
.text:0045A037 31 D2                                   xor     edx, edx
.text:0045A039 D9 EE                                   fldz
.text:0045A03B D9 EE                                   fldz
.text:0045A03D D9 EE                                   fldz
.text:0045A03F EB 6D                                   jmp     short loc_45A0AE
.text:0045A041                         ; ---------------------------------------------------------------------------
.text:0045A041
.text:0045A041                         loc_45A041:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+11FBj
.text:0045A041 0F B7 DA                                movzx   ebx, dx
.text:0045A044 8B 84 9C 18 01 00 00                    mov     eax, dword ptr [esp+ebx*4+218h+var_102+2]
.text:0045A04B 83 C0 34                                add     eax, 34h
.text:0045A04E D9 40 08                                fld     dword ptr [eax+8]
.text:0045A051 D8 A4 24 AC 00 00 00                    fsub    [esp+218h+var_16C]
.text:0045A058 DD D9                                   fstp    st(1)
.text:0045A05A D9 40 04                                fld     dword ptr [eax+4]
.text:0045A05D D8 A4 24 94 00 00 00                    fsub    [esp+218h+var_184]
.text:0045A064 DD DA                                   fstp    st(2)
.text:0045A066 D9 00                                   fld     dword ptr [eax]
.text:0045A068 D8 64 24 7C                             fsub    [esp+218h+var_19C]
.text:0045A06C DD DB                                   fstp    st(3)
.text:0045A06E D9 C1                                   fld     st(1)
.text:0045A070 D8 C8                                   fmul    st, st
.text:0045A072 D9 C3                                   fld     st(3)
.text:0045A074 D8 C8                                   fmul    st, st
.text:0045A076 DE C1                                   faddp   st(1), st
.text:0045A078 D9 C1                                   fld     st(1)
.text:0045A07A D8 C8                                   fmul    st, st
.text:0045A07C DE C1                                   faddp   st(1), st
.text:0045A07E D9 FA                                   fsqrt
.text:0045A080 D9 9C 24 B8 00 00 00                    fstp    [esp+218h+var_160]
.text:0045A087 D9 84 24 B8 00 00 00                    fld     [esp+218h+var_160]
.text:0045A08E DD DB                                   fstp    st(3)
.text:0045A090 D9 C2                                   fld     st(2)
.text:0045A092 D8 5C 24 38                             fcomp   [esp+218h+var_1E0]
.text:0045A096 DF E0                                   fnstsw  ax
.text:0045A098 80 E4 05                                and     ah, 5
.text:0045A09B 80 FC 01                                cmp     ah, 1
.text:0045A09E 75 0D                                   jnz     short loc_45A0AD
.text:0045A0A0 D9 C2                                   fld     st(2)
.text:0045A0A2 D9 5C 24 38                             fstp    [esp+218h+var_1E0]
.text:0045A0A6 8B AC 9C 18 01 00 00                    mov     ebp, dword ptr [esp+ebx*4+218h+var_102+2]
.text:0045A0AD
.text:0045A0AD                         loc_45A0AD:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+11DEj
.text:0045A0AD 42                                      inc     edx
.text:0045A0AE
.text:0045A0AE                         loc_45A0AE:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+117Fj
.text:0045A0AE 0F BF 8C 24 16 01 00 00                 movsx   ecx, [esp+218h+var_102]
.text:0045A0B6 0F B7 C2                                movzx   eax, dx
.text:0045A0B9 39 C8                                   cmp     eax, ecx
.text:0045A0BB 7C 84                                   jl      short loc_45A041
.text:0045A0BD 85 ED                                   test    ebp, ebp
.text:0045A0BF 74 1F                                   jz      short loc_45A0E0
.text:0045A0C1 DE D9                                   fcompp
.text:0045A0C3 89 E9                                   mov     ecx, ebp
.text:0045A0C5 56                                      push    esi
.text:0045A0C6 DD D8                                   fstp    st
.text:0045A0C8 E8 E3 DC FA FF                          call    CBuilding::ReplaceWithNewModel(int)
.text:0045A0CD 56                                      push    esi
.text:0045A0CE 57                                      push    edi
.text:0045A0CF 55                                      push    ebp
.text:0045A0D0 E8 BB EC FF FF                          call    CTheScripts::AddToBuildingSwapArray(CBuilding *,int,int)
.text:0045A0D5 83 C4 0C                                add     esp, 0Ch
.text:0045A0D8 EB 15                                   jmp     short loc_45A0EF
.text:0045A0D8                         ; ---------------------------------------------------------------------------
.text:0045A0DA 8D 80 00 00 00 00                       align 10h
.text:0045A0E0
.text:0045A0E0                         loc_45A0E0:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+11FFj
.text:0045A0E0 DE D9                                   fcompp
.text:0045A0E2 68 E8 9C 68 00                          push    offset aFailedToFindBu ; "Failed to find building\n"
.text:0045A0E7 DD D8                                   fstp    st
.text:0045A0E9 E8 12 6F FA FF                          call    _dbgprint
.text:0045A0EE 59                                      pop     ecx
.text:0045A0EF
.text:0045A0EF                         loc_45A0EF:                             ; CODE XREF: CRunningScript::ProcessCommands900To999(int)+1218j
.text:0045A0EF 30 C0                                   xor     al, al
.text:0045A0F1 81 C4 08 02 00 00                       add     esp, 208h
.text:0045A0F7 5D                                      pop     ebp
.text:0045A0F8 5F                                      pop     edi
.text:0045A0F9 5E                                      pop     esi
.text:0045A0FA 5B                                      pop     ebx
.text:0045A0FB C2 04 00                                retn    4
.text:0045A0FE                         ; ---------------------------------------------------------------------------

33
извиняюсь, вообщем вся проблема была в моей невнимательности.

я неправильно добавил опкод

const SCRIPT_COMMAND replace_model = { 0x036B, "ffffii" }; // 6
а надо было так

const SCRIPT_COMMAND replace_model = { 0x03B6, "ffffii" }; // 6
теперь всё работает, но всё равно это не совсем то что нужно...

34
только мне это нужно делать не в Клео

35
-127 и -126 - это прописанные референсы в начале main.scm. Попробуй вместо них сразу юзать id из ide

ScriptCommand(&replace_model, 117.991, -362.461,  10.179, 80.0, 3908, 3964); // стройка // test

последние 2 параметра это и есть сразу id

36
Общие вопросы / Re: Ошибка
« : Январь 16, 2020, 01:17:41 pm »
Вау! Что за база?

незнаю, давно уже откуда-то скачивал, но большинство этих адрессов функций есть уже давно https://gtamods.com/wiki/Function_Memory_Addresses_(VC)

37
Ой, я совсем забыл про этот опкод:
Код: Text
  1. 03B6: replace_model_at 117.991 -362.461 10.179 radius 80.0 from #BLDNGST2MESH to #BLDNGST2MESHDAM
  2.  
Он вроде вместе с col-файлом заменяет. По крайней мере, гаитянский наркозавод вроде и коллизию менял после дебоша Томми(сам лично еще не юзал этот опкод, поэтому 100% не скажу).

Я почти уверен, что это именно то, что нужно было Saint и daniel_360. Остается только найти объекты-пустышки, на которые нужно заменить удаляемые объекты. Для тех, кто не знает - имена объектов, типа "#BLDNGST2MESH" можно просто заменить на их id(это и делает компилятор при компиляции).

Но в случае daniel_360 может помочь и простая замена объектов в ipl, т.к. в его ситуации вроде не обязательно заменять объекты "на лету", если я правильно всё помню.

пробовал его использовать, но у меня ничего не вышло.

добавил я его файл scripting.h (опкод хук от spookie)

const SCRIPT_COMMAND replace_model = { 0x036B, "ffffii" }; // 6
ну и использование

// 03B6: replace_model_at  117.991 -362.461  10.179 radius  80.0 from -127 (BLDNGST2MESH) to -126 (BLDNGST2MESHDAM) // строка из main.scm

ScriptCommand(&request_model, 3964);
ScriptCommand(&load_requested_models);
ScriptCommand(&replace_model, 117.991, -362.461,  10.179, 80.0, 3908, 3964); // стройка // test
ScriptCommand(&release_model, 3908);

эффекта никакого к сожалению  :(

38
Общие вопросы / Re: Ошибка
« : Январь 16, 2020, 12:40:23 pm »
Может уже неактуально, но я сегодня схватил такую же ошибку. У меня причина - некорректное название модели машины в carcols.dat, поправил - все пошло. Для теста можно вообще удалить цвета машин, в игре они будут просто черные (например танк).
Ага, в том то и дело, что у меня все правильно было с названиями, проверял. У меня тут новый трабл, помогите узнать где. Заранее благодарю :)


.text:00401010                         ; =============== S U B R O U T I N E =======================================
.text:00401010
.text:00401010
.text:00401010                         CAnimBlendAssocGroup::CopyAnimation(unsigned int) proc near
.text:00401010                                                                 ; CODE XREF: CAnimManager::BlendAnimation(RpClump *,AssocGroupId,AnimationId,float)+188p
.text:00401010                                                                 ; CAnimManager::AddAnimation(RpClump *,AssocGroupId,AnimationId)+1Bp
.text:00401010
.text:00401010                         arg_0           = dword ptr  4
.text:00401010
.text:00401010 53                                      push    ebx
.text:00401011 8B 5C 24 08                             mov     ebx, [esp+4+arg_0]
.text:00401015 2B 59 0C                                sub     ebx, [ecx+0Ch]
.text:00401018 6B DB 3C                                imul    ebx, 3Ch
.text:0040101B 03 59 04                                add     ebx, [ecx+4]
.text:0040101E 85 DB                                   test    ebx, ebx
.text:00401020 74 22                                   jz      short loc_401044
.text:00401022 8B 43 14                                mov     eax, [ebx+14h]
.text:00401025 50                                      push    eax
.text:00401026 E8 95 4A 00 00                          call    CAnimManager::UncompressAnimation(CAnimBlendHierarchy *)
.text:0040102B 59                                      pop     ecx
.text:0040102C 6A 3C                                   push    3Ch
.text:0040102E E8 7D F3 23 00                          call    __nw
.text:00401033 85 C0                                   test    eax, eax
.text:00401035 59                                      pop     ecx
.text:00401036 74 08                                   jz      short loc_401040
.text:00401038 89 C1                                   mov     ecx, eax
.text:0040103A 53                                      push    ebx
.text:0040103B E8 10 0A 00 00                          call    CAnimBlendAssociation::CAnimBlendAssociation(CAnimBlendAssociation&)
.text:00401040
.text:00401040                         loc_401040:                             ; CODE XREF: CAnimBlendAssocGroup::CopyAnimation(uint)+26j
.text:00401040 5B                                      pop     ebx
.text:00401041 C2 04 00                                retn    4
.text:00401044                         ; ---------------------------------------------------------------------------
.text:00401044
.text:00401044                         loc_401044:                             ; CODE XREF: CAnimBlendAssocGroup::CopyAnimation(uint)+10j
.text:00401044 31 C0                                   xor     eax, eax
.text:00401046 5B                                      pop     ebx
.text:00401047 C2 04 00                                retn    4
.text:00401047                         CAnimBlendAssocGroup::CopyAnimation(unsigned int) endp
.text:00401047
.text:00401047                         ; ---------------------------------------------------------------------------
.text:0040104A 00 00 00 00 00 00                       align 10h
.text:00401050


39
Моды / III.VC.SA.TransparentMenu.asi
« : Январь 12, 2020, 05:37:38 pm »
есть такой III.VC.SA.TransparentMenu.asi от Автора ThirteenAG (https://github.com/ThirteenAG)

ссылка на мод https://gamemodding.com/ru/gta-san-andreas/graphic/65343-prozrachnoe-menyu.html

сюда по описанию мод работает только с ASI лоадером от него же, но на Win XP этот самый ASI лоадер не работает

и исходников мода у него нет на его джит хабе.

Вопрос: как работает этот мод? как сделать тоже самое?

40
спасибо за ваши ответы, но увы это не то, нужно именно удаление (с коллизией т.е. полностью) как буд-то бы мы его удалили вручную из фалов data перед запуском игры, но надо всё это дело делать уже в процессе игры.

41
возможно ли как-то в процессе игры удалять или редактировать (например заменить модель определёного объекта) объекты карты?

42
Общие вопросы / Re: Части Тела
« : Июль 10, 2019, 07:26:30 pm »
Цитировать
но базы под gta3 у меня нет

http://public.sannybuilder.com/gtasa_exe_idb/gta_3/


спасибо

вот что получилось когда я сравнил 2 базы


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

// NOP jump to loc_4EA99F [Player recieves the same type of damage as an NPC]                                        // GTA 3   // GTA VC
05DF: 0x4EA4FF 2 0x9090 1       // -----------------------------------------------------------------> 0x0F74         // .text:004EA4FF                 jz      short loc_4EA510 // .text:00525CBB 74 13                                   jz      short loc_525CD0     
05DF: 0x4EA739 2 0x9090 1       // -----------------------------------------------------------------> 0x0C75         // .text:004EA739                 jnz     short loc_4EA747 // .text:00525CEA 75 28                                   jnz     short loc_525D14
05DF: 0x4EA8D7 4 0x90909090 1   // -----------------------------------------------------------------> 0xC2840F                                                                  // .text:0052631B 0F 84 C2 00 00 00                       jz      loc_5263E3
05DF: 0x4EA8DB 2 0x9090 1       // -----------------------------------------------------------------> 0x00                                // .text:0052631B 0F 84 C2 00 00 00                       jz      loc_5263E3
05DF: 0x4EA8E6 4 0x90909090 1   // -----------------------------------------------------------------> 0xB3850F        // .text:0052632A 0F 85 B3 00 00 00                       jnz     loc_5263E3
05DF: 0x4EA8EA 2 0x9090 1       // -----------------------------------------------------------------> 0x00         
05DF: 0x4EA8F3 4 0x90909090 1   // -----------------------------------------------------------------> 0xA6850F              // .text:00526337 0F 85 A6 00 00 00                       jnz     loc_5263E3
05DF: 0x4EA8F7 2 0x9090 1       // -----------------------------------------------------------------> 0x00         
05DF: 0x4EA916 4 0x90909090 1   // -----------------------------------------------------------------> 0x83850F        // .text:0052635A 0F 85 83 00 00 00                       jnz     loc_5263E3
05DF: 0x4EA91A 2 0x9090 1       // -----------------------------------------------------------------> 0x00

с поставил нупы на схожие адресса в вайсе (там отключается проверка на игрока в функции CPed::InflictDamage

а именно на вот эти:

// .text:00525CBB 74 13                                   jz      short loc_525CD0     
// .text:00525CEA 75 28                                   jnz     short loc_525D14

// .text:0052631B 0F 84 C2 00 00 00                       jz      loc_5263E3
// .text:0052632A 0F 85 B3 00 00 00                       jnz     loc_5263E3       
// .text:00526337 0F 85 A6 00 00 00                       jnz     loc_5263E3       
// .text:0052635A 0F 85 83 00 00 00                       jnz     loc_5263E3

но что-то ничего не вышло  :(

43
Общие вопросы / Re: Части Тела
« : Июнь 27, 2019, 06:01:03 pm »
для GTA 3 это было написано на CLEO

{$CLEO}
0000: GLIII                                                                                                                                               

REPEAT
    wait 250
UNTIL 0256: player $PLAYER_CHAR defined

gosub @GoreLevel

// standardCrosshairAimFix
05DF: 0x6FAE98 4 0.4499999881 1 // Y pos------------------------------------------------------------> 0.400000006
05DF: 0x6FAE94 4 0.5 1          // X pos------------------------------------------------------------> 0.5299999714

6@ = 0x885B90

WHILE TRUE
    wait 0   
    gosub @WeaponIndex
    IF OR
        1@ == 0xAD // #COLT45
        1@ == 0xB2 // #UZI
    THEN
        05E0: 1@ = read_memory 0x4EAE30 size 4 virtual_protect 0
        IF  1@ <> 0x90909090
        THEN     
        05DF: write_memory 0x4EAE30 size 4 value 0x90909090 virtual_protect 1   // componentVisibility
        05DF: write_memory 0x4EAE34 size 1 value 0x90 virtual_protect 1
        05DF: write_memory 0x4EB075 size 2 value 0x9090 virtual_protect 1       // componentVisibility     
        END
    ELSE   
        05E0: 1@ = read_memory 0x4EAE30 size 4 virtual_protect 0                                   
        IF  1@ == 0x90909090
        THEN     
        05DF: write_memory 0x4EAE30 size 4 value 0x0B750BE8 virtual_protect 1   // componentVisibility
        05DF: write_memory 0x4EAE34 size 1 value 0x00 virtual_protect 1
        05DF: write_memory 0x4EB075 size 2 value 0x0A72 virtual_protect 1       // componentVisibility
        END

        gosub @WeaponIndex
        IF  1@ == 0xB4 // #M16
        THEN
            05E0: 1@ = read_memory 0x4EA7EC size 1 virtual_protect 0
            IF  1@ <> 0x19
            THEN
            // M16 deathAnimIDs
            05DF: write_memory 0x4EA7EC size 1 value 0x19 virtual_protect 1         // headshot---------------------------------------------------------> 0x11   
            05DF: write_memory 0x4EA81B size 1 value 0x12 virtual_protect 1         // stomack----------------------------------------------------------> 0x12   
            05DF: write_memory 0x4EA82C size 1 value 0x1A virtual_protect 1         // LeftArm----------------------------------------------------------> 0x13   
            05DF: write_memory 0x4EA849 size 1 value 0x18 virtual_protect 1         // RightArm---------------------------------------------------------> 0x14   
           
            05DF: write_memory 0x4EA866 size 1 value 0x1B virtual_protect 1         // LeftLeg----------------------------------------------------------> 0x15   
            05DF: write_memory 0x4EA883 size 1 value 0x1B virtual_protect 1         // RightLeg---------------------------------------------------------> 0x16   
            05DF: write_memory 0x4EA876 size 4 value 0x90909090 virtual_protect 1   // LeftLeg jumpTo RightLeg------------------------------------------> 0x0380E9
            05DF: write_memory 0x4EA87A size 1 value 0x90 virtual_protect 1         // -----------------------------------------------------------------> 0x00
            05DF: write_memory 0x5F9E80 size 4 value 0x4EA85E virtual_protect 1     // LeftLegToRightLegSwitch------------------------------------------> 0x7B
            END
           
            IF 4@ <> 240.0
            THEN
            0006: 3@ = 0
            0007: 4@ = 240.0
            gosub @setNewCrosshair
            05DF: write_memory 0x4F1F74 size 1 value 6 virtual_protect 1 // instantHit
            END   
        ELSE
            IF 4@ <> 210.0
            THEN
            0006: 3@ = 255
            0007: 4@ = 210.0
            gosub @setNewCrosshair
            END 
                   
            05E0: 1@ = read_memory 0x4EA7EC size 1 virtual_protect 0
            IF  1@ <> 0x11
            THEN
            // M16 deathAnimIDs
            05DF: write_memory 0x4EA7EC size 1 value 0x11 virtual_protect 1         // headshot---------------------------------------------------------> 0x11   
            05DF: write_memory 0x4EA81B size 1 value 0x12 virtual_protect 1         // stomack----------------------------------------------------------> 0x12   
            05DF: write_memory 0x4EA82C size 1 value 0x13 virtual_protect 1         // LeftArm----------------------------------------------------------> 0x13   
            05DF: write_memory 0x4EA849 size 1 value 0x14 virtual_protect 1         // RightArm---------------------------------------------------------> 0x14   
           
            05DF: write_memory 0x4EA866 size 1 value 0x15 virtual_protect 1         // LeftLeg----------------------------------------------------------> 0x15   
            05DF: write_memory 0x4EA883 size 1 value 0x16 virtual_protect 1         // RightLeg---------------------------------------------------------> 0x16   
            05DF: write_memory 0x4EA876 size 4 value 0x0380E9 virtual_protect 1     // LeftLeg jumpTo RightLeg------------------------------------------> 0x0380E9
            05DF: write_memory 0x4EA87A size 1 value 0x00 virtual_protect 1         // -----------------------------------------------------------------> 0x00
            05DF: write_memory 0x5F9E80 size 4 value 0x4EA87B virtual_protect 1     // LeftLegToRightLegSwitch------------------------------------------> 0x7B
            END
        END
    END
   
    // crosshair 
    05E0: 0@ = read_memory 0x8472A1 size 1 virtual_protect 0 // RMB     
    IF  0@ <> 0
    THEN 
        gosub @WeaponIndex
        IF 1@ == 0xB4 // #M16                                                                               
        THEN
            gosub @CurrentStatus                                                                                       
            IF                                                                                       
                5@ <> 7                                                                             
            THEN                                                                                     
            05DF: write_memory 0x48E18D size 1 value 6 virtual_protect 1 // sniperBacgroundActivated
            05DF: write_memory 0x4F0149 size 1 value 6 virtual_protect 1                             
            0157: camera_on_player $PLAYER_CHAR 7 2                                                 
            0006: 5@ = 7                                                                             
            END
        END
    ELSE                                                               
        05E0: 0@ = read_memory 0x48E18D size 1 virtual_protect 0
        IF 0@ <> 7
        THEN                                                 
        05DF: write_memory 0x48E18D size 1 value 7 virtual_protect 1     
        05DF: write_memory 0x4F0149 size 1 value 6 virtual_protect 1     
        // 05DF: write_memory 0x4F1F74 size 1 value 6 virtual_protect 1 
            IF 82E9:   NOT  cutscene_reached_end
            THEN
            015A: restore_camera                                             
            END
            0006: 5@ = 1
        END
    END

    gosub @WeaponIndex
    IF OR
        1@ == 0xAA // #GRENADE
        1@ == 0xAF // #ROCKET
    THEN
        05E0: 1@ = read_memory 0x4C476C size 1 virtual_protect 0 
        IF  1@ <> 0x4E
        THEN
        05DF: write_memory 0x43E298 size 1 value 0x4E virtual_protect 1     
        05DF: write_memory 0x4D38A0 size 1 value 0x4E virtual_protect 1
        05DF: write_memory 0x4C476C size 4 value 35.0 virtual_protect 1   // CPed.physical.fMass, 70.0
        05DF: write_memory 0x4C477A size 4 value 35.0 virtual_protect 1   // CPed.physical.fTurnMass, 100.0
        05DF: write_memory 0x4C47A0 size 4 value 0.00625 virtual_protect 1 // CPed.physical.Elasticy, 0.050000001
        END
    ELSE
        05E0: 1@ = read_memory 0x4D38A0 size 1 virtual_protect 0 
        IF  1@ <> 0x30
        THEN
        05DF: write_memory 0x43E298 size 1 value 0x30 virtual_protect 1     
        05DF: write_memory 0x4D38A0 size 1 value 0x30 virtual_protect 1
        05DF: write_memory 0x4C476C size 4 value 70.0 virtual_protect 1   // CPed.physical.fMass, 70.0
        05DF: write_memory 0x4C477A size 4 value 100.0 virtual_protect 1   // CPed.physical.fTurnMass, 100.0
        05DF: write_memory 0x4C47A0 size 4 value 0.050000001 virtual_protect 1 // CPed.physical.Elasticy, 0.050000001   
        END
    END   
   
    05E6: 0@ = actor $PLAYER_ACTOR struct
    0@ += 0x4F2 // componentID
    05E0: 1@ = read_memory 0@ size 1 virtual_protect 0
    IF  1@ <> 0xFF // componentLost?
    THEN
        05DF: write_memory 0x4D38A0 size 1 value 0x30 virtual_protect 1
        05E6: 0@ = actor $PLAYER_ACTOR struct
        0@ += 0x224 //
        05E0: 1@ = read_memory 0@ size 1 virtual_protect 1
        IF  1@ <> 0x31
        THEN
        05DF: write_memory 0@ size 1 value 0x31 virtual_protect 1
        END

        05E0: 1@ = read_memory 0x5F6AA0 size 4 virtual_protect 1
        IF  1@ <> 0x31303038
        THEN
        05DF: write_memory 0x5F6AA0 size 4 value 0x31303038 virtual_protect 1 // wasted GXT ID
        // fadeIn                                   
        05DF: write_memory 0x4214AB size 1 value 0x80 virtual_protect 1 // R
        05DF: write_memory 0x4214A6 size 1 value 0x20 virtual_protect 1 // G
        05DF: write_memory 0x4214A1 size 1 value 0x20 virtual_protect 1 // B
        // fadeOut                                   
        05DF: write_memory 0x421649 size 1 value 0x80 virtual_protect 1 // R
        05DF: write_memory 0x421644 size 1 value 0x20 virtual_protect 1 // G
        05DF: write_memory 0x42163F size 1 value 0x20 virtual_protect 1 // B
        END
    ELSE
    05DF: write_memory 0x5F6AA0 size 4 value 0x44414544 virtual_protect 1 // wasted GXT ID 
    // fadeIn                                   
    05DF: write_memory 0x4214AB size 1 value 0xC8 virtual_protect 1 // R
    05DF: write_memory 0x4214A6 size 1 value 0xC8 virtual_protect 1 // G
    05DF: write_memory 0x4214A1 size 1 value 0xC8 virtual_protect 1 // B
    // fadeOut                                   
    05DF: write_memory 0x421649 size 1 value 0xC8 virtual_protect 1 // R
    05DF: write_memory 0x421644 size 1 value 0xC8 virtual_protect 1 // G
    05DF: write_memory 0x42163F size 1 value 0xC8 virtual_protect 1 // B 
    END
       
    IF  0117:   player $PLAYER_CHAR wasted
    THEN
    05E0: 1@ = read_memory 0x4214C8 size 2 virtual_protect 0 // fadeTime
    wait 1@
    0054: store_player $PLAYER_CHAR position_to 12@ 13@ 14@
    000F: 14@ -= 1.0
    009B: destroy_actor_instantly $PLAYER_ACTOR
    0053: $PLAYER_CHAR = create_player #NULL at 12@ 13@ 14@
    01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR
    05E6: 0@ = actor $PLAYER_ACTOR struct
    0@ += 0x4F2
    05DF: write_memory 0@ size 1 value 0xFF virtual_protect 0
   
    05E6: 0@ = actor $PLAYER_ACTOR struct
    0@ += 0xC0
    05DF: write_memory 0@ size 4 value 70.0 virtual_protect 0
    0@ += 0x04 // 0xC4
    05DF: write_memory 0@ size 4 value 100.0 virtual_protect 0
    0@ += 0x0C // 0xD0
    05DF: write_memory 0@ size 4 value 0.050000001 virtual_protect 0
    // 0222: set_player $PLAYER_CHAR health_to 3@
    ELSE
        // 0ADC: test_cheat 'ENABLEGORE'   
        // 0ADC: test_cheat 'DISABLEGORE'
        05E0: 0@ = read_memory 6@ size 4 virtual_protect 0       
        6@ += 0x04                                                   
        05E0: 1@ = read_memory 6@ size 4 virtual_protect 0       
        6@ -= 0x04                                                   
        IF AND                                                   
            0@ == 0x474F5245 // GORE                             
            1@ == 0x41424C45 // ABLE                             
        THEN                                                     
            6@ += 0x08                                               
            05E0: 0@ = read_memory 6@ size 2 virtual_protect 0   
            6@ += 0x02                                               
            05E0: 1@ = read_memory 6@ size 1 virtual_protect 0   
            6@ -= 0x0A                                             
            IF AND                                               
                0@ == 0x4953 // IS
                1@ == 0x44 // D                                                 
            THEN
                IF 0351:   gore_enabled
                THEN
                03E5: text_box 'CHEAT1'
                gosub @DisableGore
                END
            ELSE
                6@ += 0x08                                               
                05E0: 0@ = read_memory 6@ size 2 virtual_protect 0       
                6@ -= 0x08                                                                                 
                IF 0@ == 0x454E // EN                                                                   
                THEN
                    IF 8351:   NOT   gore_enabled
                    THEN
                    03E5: text_box 'GORLEV'
                    gosub @GoreLevel // 
                    END                                                           
                END
            END
        END
    END
END

:GoreLevel
05DF: write_memory 0x5FE408 size 4 value -100.0 virtual_protect 1
   // ADDRESS                      [DESCRIPTION]                                                      [DEFAULT]                 
05DF: 0x5F4DD4 4 1 1            // nastyGame--------------------------------------------------------> 0x00         
05DF: 0x4A1310 1 1 1            // wasted Style-----------------------------------------------------> 0x02         
05DF: 0x4D39F9 2 0x9090 1       // Player DropsWeaponsAfterDeath------------------------------------> 0x0E74       
05DF: 0x42148E 2 0x1200 1        // wastedFadeIn-----------------------------------------------------> 0x800       
05DF: 0x421495 2 0x1200 1        // wastedFadeOut----------------------------------------------------> 0x800       
05DF: 0x4214C8 2 0x1500 1       // wastedFadeTotal--------------------------------------------------> 0x1000       
                                                                                                                                 
// meny seetings                                                                                                                 
05DF: 0x47A983 4 0x90909090 1   // -----------------------------------------------------------------> 0x9B850F     
05DF: 0x47A987 2 0x9090 1       // -----------------------------------------------------------------> 0x00         
                                                                                                                                 
// NOP jump to loc_4EA99F [Player recieves the same type of damage as an NPC]                                                   
05DF: 0x4EA4FF 2 0x9090 1       // -----------------------------------------------------------------> 0x0F74       
05DF: 0x4EA739 2 0x9090 1       // -----------------------------------------------------------------> 0x0C75       
05DF: 0x4EA8D7 4 0x90909090 1   // -----------------------------------------------------------------> 0xC2840F     
05DF: 0x4EA8DB 2 0x9090 1       // -----------------------------------------------------------------> 0x00                             
05DF: 0x4EA8E6 4 0x90909090 1   // -----------------------------------------------------------------> 0xB3850F     
05DF: 0x4EA8EA 2 0x9090 1       // -----------------------------------------------------------------> 0x00         
05DF: 0x4EA8F3 4 0x90909090 1   // -----------------------------------------------------------------> 0xA6850F     
05DF: 0x4EA8F7 2 0x9090 1       // -----------------------------------------------------------------> 0x00         
05DF: 0x4EA916 4 0x90909090 1   // -----------------------------------------------------------------> 0x83850F     
05DF: 0x4EA91A 2 0x9090 1       // -----------------------------------------------------------------> 0x00         
                                                                                                                                 
                                                                                                                                 
// Particles                                                                                                                     
// 05DF: 0xAFE80000 4 0.0 1       // bloodBrightnessFromBulletHit(crashes)----------------------------> 0xAFE80000 
// 05DF: 0x5FE46C 4 50.0 1      // bloodSplash------------------------------------------------------> -50.0         
05DF: 0x4CFE57 1 0x12 1         // bleedSpeed-------------------------------------------------------> 0x12         
05DF: 0x4CFE3E 4 0x02A7840F 1   // constant bleed from fatal wounds---------------------------------> 0x02A7840F   
05DF: 0x4CFE42 2 0x0000 1       //  -II-------------------------------------------------------------> 0x0000       
05DF: 0x55FE07 4 0x06EF840F 1   //  enablesBlood while nastyGame is set to 0------------------------> 0x06EF840F   
05DF: 0x55FE0B 2 0x0000 1       //  -II-------------------------------------------------------------> 0x0000       
                                                                                                                                 
05DF: 0x55FED8 1 0x7D 1         // bloodDensity-----------------------------------------------------> 0x08         
05DF: 0x603108 4 0.2 1          // how far will blood fall + spread speed---------------------------> 0.00999999978
05DF: 0x603060 4 0.012 1        // sizeOfBlood&BulletImpact-----------------------------------------> 0.0           
05DF: 0x6E98C8 4 2.5 1          // bloodSpread------------------------------------------------------> -1.0         
                                                                                                                                 
05DF: 0x560210 1 0x7D 1         // bulletDensity----------------------------------------------------> 0x10         
05DF: 0x603070 4 0.5 1          // shotgunBlastSparkSize--------------------------------------------> 0.200000003   
05DF: 0x603074 4 4.0 1          // shotgunPushPedForce, wideness of bullet spread, distance shot----> 1.0           
                                                                                                                                 
// new weapon effect                                                                                                             
05DF: 0x5F9EC0 4 0x4EA605 1     // pistol effect----------------------------------------------------> 0x4EA719     
05DF: 0x5F9EC4 4 0x4EA7D0 1     // uzi effect [M16 style]-------------------------------------------> 0x4EA719     
05DF: 0x5F9EC8 4 0x4EA9EC 1     // shotgun effect---------------------------------------------------> 0x4EA719     
05DF: 0x5F9ECC 4 0x4EA7D0 1     // AK47 effect [M16 style]------------------------------------------> 0x4EA719       
// 05DF: 0x5F9ED0 4 0x4EA8D0 1  // M16 effect [explosion style]-------------------------------------> 0x4EA719     
05DF: 0x5F9ED4 4 0x4EACF3 1     // sniper effect [instant death by a single shot]-------------------> 0x4EA719     
05DF: 0x5F9EDC 4 0x4EA815 1     // flame thrower effect [stomack anim]------------------------------> 0x4EA898     
                                                                                                                                 
// 05DF: 0x4D38A0 1 0x4E 1      // explosion effects dead bodies------------------------------------> 0x30         
// 05DF: 0x43E298 1 0x4E 1      // opcode_0118_(actor dead?)----------------------------------------> 0x30         
05DF: 0x4EAF26 2 0x9090 1       // spawnsHeadComponent----------------------------------------------> 0x1074       
return

:DisableGore
   // ADDRESS                      [DESCRIPTION]                                                      [DEFAULT]
05DF: write_memory 0x5FE408 size 4 value 100.0 virtual_protect 1
05DF: 0x5F4DD4 4 0 1            // nastyGame--------------------------------------------------------> 0x00                     
05DF: 0x4A1310 1 0x02 1            // wasted Style-----------------------------------------------------> 0x02                   
05DF: 0x4D39F9 2 0x0E74 1       // Player DropsWeaponsAfterDeath------------------------------------> 0x0E74                   
05DF: 0x42148E 2 0x800 1        // wastedFadeIn-----------------------------------------------------> 0x800                     
05DF: 0x421495 2 0x800 1        // wastedFadeOut----------------------------------------------------> 0x800                     
05DF: 0x4214C8 2 0x1000 1       // wastedFadeTotal--------------------------------------------------> 0x1000                   
                                                                                                                               
// meny seetings                                                                                                               
05DF: 0x47A983 4 0x9B850F 1   // -----------------------------------------------------------------> 0x9B850F                   
05DF: 0x47A987 2 0x00 1       // -----------------------------------------------------------------> 0x00                               
                                                                                                                                       
// NOP jump to loc_4EA99F [Player recieves the same type of damage as an NPC]                                                         
05DF: 0x4EA4FF 2 0x0F74 1       // -----------------------------------------------------------------> 0x0F74                           
05DF: 0x4EA739 2 0x0C75 1       // -----------------------------------------------------------------> 0x0C75                           
05DF: 0x4EA8D7 4 0xC2840F 1   // -----------------------------------------------------------------> 0xC2840F                           
05DF: 0x4EA8DB 2 0x00 1       // -----------------------------------------------------------------> 0x00                               
05DF: 0x4EA8E6 4 0xB3850F 1   // -----------------------------------------------------------------> 0xB3850F                           
05DF: 0x4EA8EA 2 0x00 1       // -----------------------------------------------------------------> 0x00                               
05DF: 0x4EA8F3 4 0xA6850F 1   // -----------------------------------------------------------------> 0xA6850F                           
05DF: 0x4EA8F7 2 0x00 1       // -----------------------------------------------------------------> 0x00                               
05DF: 0x4EA916 4 0x83850F 1   // -----------------------------------------------------------------> 0x83850F                           
05DF: 0x4EA91A 2 0x00 1       // -----------------------------------------------------------------> 0x00                               
                                                                                                                               
                                                                                                                               
// Particles                                                                                                                   
// 05DF: 0x4EA91A 4 0xAFE80000 1       // bloodBrightnessFromBulletHit(crashes)----------------------------> 0xAFE80000         
// 05DF: 0x5FE46C 4 -50.0 1      // bloodSplash------------------------------------------------------> -50.0                   
05DF: 0x4CFE57 1 0x12 1         // bleedSpeed-------------------------------------------------------> 0x12                     
05DF: 0x4CFE3E 4 0x02A7840F 1   // constant bleed from fatal wounds---------------------------------> 0x02A7840F               
05DF: 0x4CFE42 2 0x0000 1       //  -II-------------------------------------------------------------> 0x0000                   
05DF: 0x55FE07 4 0x06EF840F 1   //  enablesBlood while nastyGame is set to 0------------------------> 0x06EF840F               
05DF: 0x55FE0B 2 0x0000 1       //  -II-------------------------------------------------------------> 0x0000                   
05DF: 0x55FED8 1 0x08 1         // bloodDensity-----------------------------------------------------> 0x08                     
05DF: 0x603108 4 0.00999999978 1          // how far will blood fall + spread speed---------------------------> 0.00999999978   
05DF: 0x603060 4 0.0 1        // sizeOfBlood&BulletImpact-----------------------------------------> 0.0                         
05DF: 0x6E98C8 4 -1.0 1          // bloodSpread------------------------------------------------------> -1.0                     
                                                                                                                               
05DF: 0x560210 1 0x10 1         // bulletDensity----------------------------------------------------> 0x10                     
05DF: 0x603070 4 0.200000003 1          // shotgunBlastSparkSize--------------------------------------------> 0.200000003       
05DF: 0x603074 4 1.0 1          // shotgunPushPedForce, wideness of bullet spread, distance shot----> 1.0                       
                                                                                                                               
// new weapon effect                                                                                                           
// 05DF: 0x5F9EC0 4 0x4EA719 1     // pistol effect----------------------------------------------------> 0x4EA719                 
// 05DF: 0x5F9EC4 4 0x4EA719 1     // uzi effect [M16 style]-------------------------------------------> 0x4EA719                 
// 05DF: 0x5F9EC8 4 0x4EA719 1     // shotgun effect---------------------------------------------------> 0x4EA719                 
// 05DF: 0x5F9ECC 4 0x4EA719 1     // AK47 effect [M16 style]------------------------------------------> 0x4EA719                 
// 05DF: 0x5F9ED0 4 0x4EA719 1  // M16 effect [explosion style]-------------------------------------> 0x4EA719                 
// 05DF: 0x5F9ED4 4 0x4EA719 1     // sniper effect [instant death by a single shot]-------------------> 0x4EA719                 
// 05DF: 0x5F9EDC 4 0x4EA898 1     // flame thrower effect [stomack anim]------------------------------> 0x4EA898                 
                                                                                                                               
// 05DF: 0x4D38A0 1 0x30 1      // explosion effects dead bodies------------------------------------> 0x30                     
// 05DF: 0x43E298 1 0x30 1      // opcode_0118_(actor dead?)----------------------------------------> 0x30                     
05DF: 0x4EAF26 2 0x1074 1       // spawnsHeadComponent----------------------------------------------> 0x1074                   
return

:setNewCrosshair
// RGBA
// ULC
05DF: write_memory 0x505AB7 size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505AB2 size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505AAD size 1 value 3@ virtual_protect 1
// URC
05DF: write_memory 0x505BA6 size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505BA1 size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505B9C size 1 value 3@ virtual_protect 1
// LLC
05DF: write_memory 0x505C8E size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505C89 size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505C84 size 1 value 3@ virtual_protect 1
// LRC
05DF: write_memory 0x505D6C size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505D71 size 1 value 3@ virtual_protect 1
05DF: write_memory 0x505D76 size 1 value 3@ virtual_protect 1
// shape
05DF: write_memory 0x5FDB78 size 4 value 4@ virtual_protect 1
return

:WeaponIndex 
05E6: 0@ = actor $PLAYER_ACTOR struct   
0@ += 0x4C0 // currentWeaponModelIndex 
05E0: 1@ = read_memory 0@ size 1 virtual_protect 0
return

:CurrentStatus
05E6: 0@ = actor $PLAYER_ACTOR struct   
0@ += 0x224 // CurrentStatus 
05E0: 1@ = read_memory 0@ size 1 virtual_protect 0
return

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

44
Общие вопросы / Части Тела
« : Июнь 23, 2019, 06:07:43 pm »
как определить в какую часть тела я попал?

для определения из какого оружия и кто именно попал я использую оффсеты 0x598 и 0x59C из CPed

возможно ли сделать так: что когда в тебя (игрока) стреляет актёр и попадает в голову, то у нашего героя взрывалась бы голова и он сразу умирал как актёры когда им попадаешь в голову?


45
ИЛИ можно попробовать найти в exe эту привязку col-файлов к зонам и отрубить это.

отличное было бы решение

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