#1 13-07-2011 12:45

VintProg_Pro
Registered: 17-06-2010
Posts: 153

Вопрос такой!

Вот отрывок:

.text:00455BAA mov     esi, ds:dword_7D7440
.text:00455BB0 xor     bl, bl
.text:00455BB2 imul    esi, 2Eh
.text:00455BB5 mov     ecx, ds:dword_94AD30[esi*8]
.text:00455BBC mov     al, [ecx+14Eh]

Вопрос такой что находится за значение в ecx?

Offline

#2 13-07-2011 14:57

listener
From: Vice City
Registered: 09-11-2006
Posts: 615
Website

Re: Вопрос такой!

А в соответствующую базу заглянуть - никак?

.text:00455BAA 1B8                 mov     esi, ds:opcodeParams
.text:00455BB0 1B8                 xor     bl, bl
.text:00455BB2 1B8                 imul    esi, 2Eh
.text:00455BB5 1B8                 mov     ecx, ds:_players.pPed[esi*8]
.text:00455BBC 1B8                 mov     al, [ecx+CPlayerPed.__parent.field_14E]

C5 - GTA IV/RDR/GTA V script compiler.
~ 60% done.

Offline

#3 14-07-2011 01:57

VintProg_Pro
Registered: 17-06-2010
Posts: 153

Re: Вопрос такой!

Мне надо узнать что за значение, и где его искать в памяти...

Offline

#4 14-07-2011 10:45

Seemann
Registered: 07-08-2006
Posts: 2,073

Re: Вопрос такой!

Тебе же написали

mov     ecx, ds:_players.pPed[esi*8]

в ecx хранится значение элемента массива Players с индексом esi. Грубо говоря, туда записывается указатель на структуру игрока.

Offline

#5 14-07-2011 11:32

VintProg_Pro
Registered: 17-06-2010
Posts: 153

Re: Вопрос такой!

И где-же тут искать выстрелел игрок или нет?

.text:00455B9D     loc_455B9D:                             ; CODE XREF: sub_455030+22j
.text:00455B9D                                             ; DATA XREF: .data:off_6898F8o
.text:00455B9D 1B8                 lea     eax, [ebp+10h]  ; jumptable 00455052 case 22
.text:00455BA0 1B8                 mov     ecx, ebp
.text:00455BA2 1B8                 push    6
.text:00455BA4 1BC                 push    eax
.text:00455BA5 1C0                 call    CScriptThread__getNumberParams
.text:00455BAA 1B8                 mov     esi, ds:dword_7D7440
.text:00455BB0 1B8                 xor     bl, bl
.text:00455BB2 1B8                 imul    esi, 2Eh
.text:00455BB5 1B8                 mov     ecx, ds:dword_94AD30[esi*8]
.text:00455BBC 1B8                 mov     al, [ecx+14Eh]
.text:00455BC2 1B8                 shr     al, 6
.text:00455BC5 1B8                 and     al, 1
.text:00455BC7 1B8                 jz      short loc_455BEF
.text:00455BC9 1B8                 add     ecx, 4
.text:00455BCC 1B8                 push    ds:flt_7D7450   ; float
.text:00455BD2 1BC                 push    ds:flt_7D744C   ; float
.text:00455BD8 1C0                 push    ds:flt_7D7448   ; float
.text:00455BDE 1C4                 push    ds:dword_7D7444 ; float
.text:00455BE4 1C8                 call    sub_4BBA00
.text:00455BE9 1B8                 test    al, al
.text:00455BEB 1B8                 jz      short loc_455BEF
.text:00455BED 1B8                 mov     bl, 1
.text:00455BEF
.text:00455BEF     loc_455BEF:                             ; CODE XREF: sub_455030+B97j
.text:00455BEF                                             ; sub_455030+BBBj
.text:00455BEF 1B8                 mov     ecx, ebp
.text:00455BF1 1B8                 push    ebx
.text:00455BF2 1BC                 call    sub_463F00
.text:00455BF7 1B8                 cmp     ds:flt_7D7454, 0
.text:00455BFE 1B8                 jz      short loc_455C2C
.text:00455C00 1B8                 mov     ebx, ebp
.text:00455C02 1B8                 add     ebx, [ebp+10h]
.text:00455C05 1B8                 push    flt_689808      ; float
.text:00455C0B 1BC                 push    ds:flt_7D7450   ; float
.text:00455C11 1C0                 push    ds:flt_7D744C   ; float
.text:00455C17 1C4                 push    ds:flt_7D7448   ; float
.text:00455C1D 1C8                 push    ds:dword_7D7444 ; float
.text:00455C23 1CC                 push    ebx             ; int
.text:00455C24 1D0                 call    sub_45F080
.text:00455C29 1D0                 add     esp, 18h
.text:00455C2C
.text:00455C2C     loc_455C2C:                             ; CODE XREF: sub_455030+BCEj
.text:00455C2C 1B8                 cmp     ds:byte_A10B4B, 0
.text:00455C33 1B8                 jz      short loc_455C55
.text:00455C35 1B8                 push    ds:flt_7D7450
.text:00455C3B 1BC                 push    ds:flt_7D744C
.text:00455C41 1C0                 push    ds:flt_7D7448
.text:00455C47 1C4                 push    ds:dword_7D7444
.text:00455C4D 1C8                 call    sub_4607F0
.text:00455C52 1C8                 add     esp, 10h
.text:00455C55
.text:00455C55     loc_455C55:                             ; CODE XREF: sub_455030+C03j
.text:00455C55 1B8                 xor     al, al
.text:00455C57 1B8                 add     esp, 1A8h
.text:00455C5D 010                 pop     ebp
.text:00455C5E 00C                 pop     edi
.text:00455C5F 008                 pop     esi
.text:00455C60 004                 pop     ebx
.text:00455C61 000                 retn    4

Offline

#6 15-07-2011 04:31

VintProg_Pro
Registered: 17-06-2010
Posts: 153

Re: Вопрос такой!

.text:00455BBC 1B8                 mov     al, [ecx+CPlayerPed.__parent.field_14E]

А как тут проверить байт, в памяти? Увы все ответа не дождусь!

Offline

#7 16-07-2011 13:48

VintProg_Pro
Registered: 17-06-2010
Posts: 153

Re: Вопрос такой!

И действительно что делает

ds:

?

Offline

Board footer

Powered by FluxBB