Fix Anim Parachute

Статус
В этой теме нельзя размещать новые ответы.

ThePatton

Известный
Автор темы
215
38
ХАй, в чём проблема, по какой то причине анимация приземления воспроизводиться некорректно, знаю что существует некий fix но найти его я не в состоянии, надеюсь на вашу помощь
 

JEEMBО

Известный
Друг
1,239
584
Установил, не помогло, что могло пойти не так (в сампе не работает, в сингле не проверял)
Код:
{$cleo}
0000:

while true
    wait 0
    0AAA: 0@ = thread 'PLCHUTE' pointer
    if 0@ <> 0
    jf continue
      
    0@ += 16   //base ip  
    0A8D: 0@ = read_memory 0@ size 4 vp 0
   
    0@ += 4948 //offset
   
    if gosub @HasNotBeenModified
    jf continue
   
{
0812: AS_actor -1 perform_animation "PARA_LAND" IFP "PARACHUTE" framedelta 10.0 loopA 0 lockX 1 lockY 1 lockF 0 time -2
12 08 04 FF 0E 09 50 41 52 41 5F 4C 41 4E 44 0E 09 50 41 52 41 43 48 55 54 45 06 00 00 20 41 04 00 04 01 04 01 04 00 04 FE
}
   
    0A8C: write_memory 0@ size 2 value 0x0812 vp 0      // opcode (0812:)
    0@ += 2                                                          
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                        
    0A8C: write_memory 0@ size 1 value 0xFF vp 0        // -1
    0@++                                                          
    0A8C: write_memory 0@ size 1 value 0x0E vp 0        // datatype (variable-length string)
    0@++                                                               
    0A8C: write_memory 0@ size 1 value 0x09 vp 0        // 9 bytes
    0@++                                                          
    0A8C: write_memory 0@ size 1 value 0x50 vp 0        // P
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x52 vp 0        // R
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x5F vp 0        // _
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x4C vp 0        // L
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x4E vp 0        // N
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x44 vp 0        // D
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x0E vp 0        // datatype (variable-length string) 
    0@++                                                           
    0A8C: write_memory 0@ size 1 value 0x09 vp 0        // 9 bytes
    0@++                                                          
    0A8C: write_memory 0@ size 1 value 0x50 vp 0        // P
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x52 vp 0        // R
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x43 vp 0        // C
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x48 vp 0        // H
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x55 vp 0        // U  
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x54 vp 0        // T
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x45 vp 0        // E
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x06 vp 0        // datatype (32-bit floating-point)
    0@++                                                  
    0A8C: write_memory 0@ size 4 value 0x41200000 vp 0  // 10.0  
    0@ += 4                                               
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x00 vp 0        // 0
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x01 vp 0        // 1
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x01 vp 0        // 1
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x00 vp 0        // 0
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                             
    0A8C: write_memory 0@ size 1 value 0xFE vp 0        // -2
    0@++                                                             
    0A8C: write_memory 0@ size 37 value 0x00 vp 0       // NOP (delete the second opcode and fill the blank)
end

:HasNotBeenModified
0085: 1@ = 0@
1@ += 6
0A8D: 1@ = read_memory 1@ size 1 virtual_protect 0
if 1@ == 0x46 // "F"
return
 

ThePatton

Известный
Автор темы
215
38
Код:
{$cleo}
0000:

while true
    wait 0
    0AAA: 0@ = thread 'PLCHUTE' pointer
    if 0@ <> 0
    jf continue
     
    0@ += 16   //base ip 
    0A8D: 0@ = read_memory 0@ size 4 vp 0
  
    0@ += 4948 //offset
  
    if gosub @HasNotBeenModified
    jf continue
  
{
0812: AS_actor -1 perform_animation "PARA_LAND" IFP "PARACHUTE" framedelta 10.0 loopA 0 lockX 1 lockY 1 lockF 0 time -2
12 08 04 FF 0E 09 50 41 52 41 5F 4C 41 4E 44 0E 09 50 41 52 41 43 48 55 54 45 06 00 00 20 41 04 00 04 01 04 01 04 00 04 FE
}
  
    0A8C: write_memory 0@ size 2 value 0x0812 vp 0      // opcode (0812:)
    0@ += 2                                                         
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                       
    0A8C: write_memory 0@ size 1 value 0xFF vp 0        // -1
    0@++                                                         
    0A8C: write_memory 0@ size 1 value 0x0E vp 0        // datatype (variable-length string)
    0@++                                                              
    0A8C: write_memory 0@ size 1 value 0x09 vp 0        // 9 bytes
    0@++                                                         
    0A8C: write_memory 0@ size 1 value 0x50 vp 0        // P
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x52 vp 0        // R
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x5F vp 0        // _
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x4C vp 0        // L
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x4E vp 0        // N
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x44 vp 0        // D
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x0E vp 0        // datatype (variable-length string)
    0@++                                                          
    0A8C: write_memory 0@ size 1 value 0x09 vp 0        // 9 bytes
    0@++                                                         
    0A8C: write_memory 0@ size 1 value 0x50 vp 0        // P
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x52 vp 0        // R
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x41 vp 0        // A
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x43 vp 0        // C
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x48 vp 0        // H
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x55 vp 0        // U 
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x54 vp 0        // T
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x45 vp 0        // E
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x06 vp 0        // datatype (32-bit floating-point)
    0@++                                                 
    0A8C: write_memory 0@ size 4 value 0x41200000 vp 0  // 10.0 
    0@ += 4                                              
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x00 vp 0        // 0
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x01 vp 0        // 1
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x01 vp 0        // 1
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x00 vp 0        // 0
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0x04 vp 0        // datatype (8-bit signed int)
    0@++                                                            
    0A8C: write_memory 0@ size 1 value 0xFE vp 0        // -2
    0@++                                                            
    0A8C: write_memory 0@ size 37 value 0x00 vp 0       // NOP (delete the second opcode and fill the blank)
end

:HasNotBeenModified
0085: 1@ = 0@
1@ += 6
0A8D: 1@ = read_memory 1@ size 1 virtual_protect 0
if 1@ == 0x46 // "F"
return
Не пашит
 

ThePatton

Известный
Автор темы
215
38
Значит только для сингла
Компилировал скрипт, может у меня Сони настроен неправильно, после этого исходник превращается вот в это, могло это повлиять на работу скрипта?
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:Noname_2
0001: wait 0 ms
0AAA: 0@ = thread 'PLCHUTE' pointer
00D6: if
8039:   not  0@ == 0
004D: jump_if_false @Noname_766
000A: 0@ += 16
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 4948
00D6: if
0050: gosub @Noname_773
004D: jump_if_false @Noname_766
0A8C: write_memory 0@ size 2 value 2066 virtual_protect 0
000A: 0@ += 2
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 255 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 14 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 9 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 80 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 82 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 95 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 76 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 78 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 68 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 14 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 9 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 80 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 82 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 67 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 72 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 85 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 84 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 69 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 6 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 4 value 1092616192 virtual_protect 0
000A: 0@ += 4
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 0 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 1 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 1 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 0 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 254 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 37 value 0 virtual_protect 0

:Noname_766
0002: jump @Noname_2

:Noname_773
0085: 1@ = 0@ // (int)
000A: 1@ += 6
0A8D: 1@ = read_memory 1@ size 1 virtual_protect 0
00D6: if
0039:   1@ == 70
0051: return
 

JEEMBО

Известный
Друг
1,239
584
Компилировал скрипт, может у меня Сони настроен неправильно, после этого исходник превращается вот в это, могло это повлиять на работу скрипта?
CLEO:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:Noname_2
0001: wait 0 ms
0AAA: 0@ = thread 'PLCHUTE' pointer
00D6: if
8039:   not  0@ == 0
004D: jump_if_false @Noname_766
000A: 0@ += 16
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 4948
00D6: if
0050: gosub @Noname_773
004D: jump_if_false @Noname_766
0A8C: write_memory 0@ size 2 value 2066 virtual_protect 0
000A: 0@ += 2
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 255 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 14 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 9 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 80 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 82 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 95 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 76 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 78 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 68 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 14 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 9 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 80 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 82 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 65 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 67 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 72 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 85 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 84 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 69 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 6 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 4 value 1092616192 virtual_protect 0
000A: 0@ += 4
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 0 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 1 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 1 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 0 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 4 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 1 value 254 virtual_protect 0
000A: 0@ += 1
0A8C: write_memory 0@ size 37 value 0 virtual_protect 0

:Noname_766
0002: jump @Noname_2

:Noname_773
0085: 1@ = 0@ // (int)
000A: 1@ += 6
0A8D: 1@ = read_memory 1@ size 1 virtual_protect 0
00D6: if
0039:   1@ == 70
0051: return
Нет
 
Статус
В этой теме нельзя размещать новые ответы.