#176 23-05-2015 18:49

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

Re: CLEO для GTA III

Sergey81 wrote:

Ну вообще да, но пусть будет. Я кстати переписал парочку своих скриптов, вроде бы все работает, так что если никто не возражает, могу собрать архивы с парой примеров да выложить. Или Seemann'у скинуть, чтоб обновил на сайте. А то скоро сессия, некогда будет.

Выложи тут, посмотрим, потестируем. Если все пойдет хорошо, я конечно залью на cleo.li

Offline

#177 23-05-2015 20:10

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

III.CLEO.zip 
VC.CLEO.zip 

На данный момент поддерживается только версия exe 1.0. Поддержка других версий скорее всего появится позже.

Пара примеров:
Пикапы для VC -

{$CLEO .cs}
0000:
//0A8C: write_memory 0x488D1F size 5 value 0x90 virtual_protect 1  //CPickups::DoPickUpEffects(CEntity *) for weapon pickups
0A8C: write_memory 0x4889C5 size 5 value 0x90 virtual_protect 1  //CPickups::DoPickUpEffects(CEntity *) for money pickups

0A8C: write_memory 0x43FAD5 size 1 value 0xE9 virtual_protect 1
0A8C: write_memory 0x43FAD6 size 4 value 0x00000546 virtual_protect 1  

0A8C: write_memory 0x43F44B size 5 value 0x90 virtual_protect 1   //coronas
0A8C: write_memory 0x43F65A size 5 value 0x90 virtual_protect 1
0A8C: write_memory 0x43F757 size 5 value 0x90 virtual_protect 1
0A8C: write_memory 0x43F8A8 size 5 value 0x90 virtual_protect 1
0A8C: write_memory 0x43FF7D size 5 value 0x90 virtual_protect 1
0A8C: write_memory 0x43FFCD size 5 value 0x90 virtual_protect 1   

0A8C: write_memory 0x43F54C size 5 value 0x90 virtual_protect 1 //static shadows
0A8C: write_memory 0x43F860 size 5 value 0x90 virtual_protect 1   

0A8C: write_memory 0x43F61B size 5 value 0x90 virtual_protect 1 //point light

while true
wait 0

9@ = 0x945D30
10@ = 0x94A13C

for 0@ = 9@ to 10@ step 0x34 
    0A8E: 5@ = 0@ + 0x0 // int
    0A8D: 1@ = read_memory 5@ size 4 virtual_protect 0  //x
    0A8E: 5@ = 0@ + 0x4 // int
    0A8D: 2@ = read_memory 5@ size 4 virtual_protect 0  //y
    0A8E: 5@ = 0@ + 0x8 // int
    0A8D: 3@ = read_memory 5@ size 4 virtual_protect 0  //z
    0A8E: 5@ = 0@ + 0x10 // int 
    0A8D: 6@ = read_memory 5@ size 4 virtual_protect 0  //6@ - [POINTER] - CObjectVC* pObject
    0A8E: 5@ = 0@ + 0x22 // int
    0A8D: 7@ = read_memory 5@ size 2 virtual_protect 0 //7@ - [WORD] - wModelId
      if and
       1@ <> 0.0
       2@ <> 0.0
       3@ <> 0.0
       6@ <> 0
      then
       0AEC: 8@ = object_struct 6@ handle
        if
         03CA:   object 8@ exists
        then
         if
          00EC:   actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 60.0 60.0
         then
          if or
           00EC:   actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 45.0 45.0
           02CC:   object 8@ bounding_sphere_visible
          then
           02CE: 4@ = ground_z 1@ 2@ 3@
           inc(4@, 0.05)
           0A8E: 5@ = 0@ + 8 // int
           0A8C: write_memory 5@ size 4 value 4@ virtual_protect 0 //z
            if
             7@ <> 337 //#MONEY
            then
             0453: set_object 8@ XY_rotation 90.0 0.0 angle 134.0
            else
             0453: set_object 8@ XY_rotation 0.0 0.0 angle 5.0 
            end
            0AB1: call_scm_func @createParticleForWeapon params_count 4 wModelId 7@ coords 1@ 2@ 4@ 
          end
         end
        end
      end
end // for

end

:createParticleForWeapon
0605: 4@ = model 0@ weapon id
if
 4@ == -1
then
 4@ = 37
end

4@ *= 8
4@ += 0x688098
0A8D: 5@ = read_memory 4@ size 1 virtual_protect 0
4@ += 1
0A8D: 6@ = read_memory 4@ size 1 virtual_protect 0
4@ += 1
0A8D: 7@ = read_memory 4@ size 1 virtual_protect 0

if
 0@ == 337 //#MONEY
then
 5@ = 0
 6@ = 155
 7@ = 0
end 
 
016F: create_particle 3 rotation_factor 0.0 size 0.5 intensity 255 color 5@ 6@ 7@ at 1@ 2@ 3@
0AB2: ret 0

Скомпилированная версия - ivpickups.cs 

Пикапы для III -

{$CLEO .cs}
0000:
//0A8C: write_memory 0x0047467D size 5 value 0x90 virtual_protect 1  //CPickups::DoPickUpEffects(CEntity *) for weapon pickups
0A8C: write_memory 0x0047459C size 5 value 0x90 virtual_protect 1  //CPickups::DoPickUpEffects(CEntity *) for money pickups

0A8C: write_memory 0x431B25 size 1 value 0xE9 virtual_protect 1
0A8C: write_memory 0x431B26 size 4 value 0x000000AF virtual_protect 1 

0A8C: write_memory 0x43179D size 5 value 0x90 virtual_protect 1 //static shadows
0A8C: write_memory 0x431863 size 5 value 0x90 virtual_protect 1 //point light
0A8C: write_memory 0x43196C size 5 value 0x90 virtual_protect 1 //coronas

while true
wait 0

9@ = 0x878C98
10@ = 0x87B124

for 0@ = 9@ to 10@ step 0x1C
    0A8E: 5@ = 0@ + 0x10 // int
    0A8D: 1@ = read_memory 5@ size 4 virtual_protect 0  //x
    0A8E: 5@ = 0@ + 0x14 // int
    0A8D: 2@ = read_memory 5@ size 4 virtual_protect 0  //y
    0A8E: 5@ = 0@ + 0x18 // int
    0A8D: 3@ = read_memory 5@ size 4 virtual_protect 0  //z
    0A8E: 5@ = 0@ + 0x4 // int 
    0A8D: 6@ = read_memory 5@ size 4 virtual_protect 0  //6@ - [POINTER] - CObjectVC* pObject
    0A8E: 5@ = 0@ + 0x0C // int
    0A8D: 7@ = read_memory 5@ size 2 virtual_protect 0 //7@ - [WORD] - wModelId
      if
       6@ <> 0
      then
       0AEC: 8@ = object_struct 6@ handle
        if
         03CA:   object 8@ exists
        then
         if
          00EC:   actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 80.0 80.0
         then
          if or
           00EC:   actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 45.0 45.0
           02CC:   object 8@ bounding_sphere_visible
          then
           02CE: 4@ = ground_z 1@ 2@ 3@
           inc(4@, 0.09)
           0A8E: 5@ = 6@ + 0x3C // int
           0A8C: write_memory 5@ size 4 value 4@ virtual_protect 0 //z
            if
             7@ <> 1323 //#MONEY
            then
             0453: set_object 8@ XY_rotation 90.0 0.0 angle 134.0
            else
             0453: set_object 8@ XY_rotation 0.0 0.0 angle 5.0 
            end
            dec(4@, 0.05)
            0AB1: call_scm_func @createParticleForWeapon params_count 4 wModelId 7@ coords 1@ 2@ 4@ 
          end
         end
        end
      end
end // for

end

:createParticleForWeapon
0605: 4@ = model 0@ weapon id
if
 4@ == -1
then
 4@ = 11
end

4@ += 0x5EDEBC
0A8D: 5@ = read_memory 4@ size 1 virtual_protect 0
4@ += 1
0A8D: 6@ = read_memory 4@ size 1 virtual_protect 0
4@ += 1
0A8D: 7@ = read_memory 4@ size 1 virtual_protect 0

if
 0@ == 1323 //#MONEY
then
 5@ = 0
 6@ = 155
 7@ = 0
end 
 
016F: create_particle 3 rotation_factor 0.0 size 0.5 intensity 255 color 5@ 6@ 7@ at 1@ 2@ 3@
0AB2: ret 0

Скомпилированная версия - ivpickups.cs

DMqpiAh.jpg  FPA6Qcd.jpg 

На всякий случай прикладываю свои scm.ini + opcodes.txt - vc.zip   |   gta3.zip 

Новые опкоды(включая дублирующие из клео4):

;CLEO2 opcodes
0600=-1,create_custom_thread %1s%
0601=1,  is_button_pressed_on_pad %1d%
0602=2,  emulate_button_press_on_pad %1d% sensitivity %2d%
0604=2,%2d% = weapon %1d% model
0605=2,%2d% = model %1d% weapon id
0606=3, set_mem_offset memory pointer %1d% memory to point %2d% virtual protect %3d%
0607=1, %1d% = get_current_weather
0608=3,show_text_position %1d% %2d% text %3d%
0609=-1,show_formatted_text_position %1d% %2d% text %3d%

;CLEO4 duplicate opcodes
0A8C=4,write_memory %1d% size %2d% value %3d% virtual_protect %4d%
0A8D=4,%4d% = read_memory %1d% size %2d% virtual_protect %3d%
0A8E=3,%3d% = %1d% + %2d% ; int
0A8F=3,%3d% = %1d% - %2d% ; int
0A90=3,%3d% = %1d% * %2d% ; int
0A91=3,%3d% = %1d% / %2d% ; int
0A92=-1,create_custom_thread %1s%
0A93=0,end_custom_thread
0A96=2,%2d% = actor %1h% struct
0A97=2,%2d% = car %1h% struct
0A98=2,%2d% = object %1h% struct
0A9F=1,%1d% = current_thread_pointer
0AA2=2,%2h% = load_library %1d% // IF and SET
0AA3=1,free_library %1h%
0AA4=3,%3d% = get_proc_address %1d% library %2d% // IF and SET
0AA5=-1,call %1d% num_params %2h% pop %3h%
0AA7=-1,call_function %1d% num_params %2h% pop %3h%
0AA6=-1,call_method %1d% struct %2d% num_params %3h% pop %4h%
0AA8=-1,call_function_method %1d% struct %2d% num_params %3h% pop %4h%
0AAA=2,%2d% = thread %1s% pointer
0AAB=1,  file_exists %1d%
0AB0=1, key_pressed %1d%  //VK_...
0AB1=-1,call_scm_func %1p% params_count %2d%
0AB2=-1,ret %1d%
0ABA=1,end_custom_thread_named %1s%
0AC6=2, %2d% = label %1p% offset
0AC7=2, %2d% = var %1d% offset
0ACA=1,show_text_box %1d%
0ACB=3,show_styled_text %1d% time %2d% style %3d%
0ACC=2,show_text_lowpriority %1d% time %2d%
0ACD=2,show_text_highpriority %1d% time %2d%
0ACE=-1,show_formatted_text_box %1d%
0ACF=-1,show_formatted_styled_text %1d% time %2d% style %3d%
0AD0=-1,show_formatted_text_lowpriority %1d% time %2d%
0AD1=-1,show_formatted_text_highpriority %1d% time %2d%
0ADB=2,%2d% = car_model %1o% name
0ADC=1, test_cheat %1d%
0ADF=2,add_dynamic_GXT_entry %1d% text %2d%
0AE0=1, remove_dynamic_GXT_entry %1d%
0AE1=7,%7d% = random_actor_near_point %1d% %2d% %3d% in_radius %4d% find_next %5h% pass_deads %6h% //IF and SET
0AE2=7,%7d% = random_vehicle_near_point %1d% %2d% %3d% in_radius %4d% find_next %5h% pass_wrecked %6h% //IF and SET
0AE3=6,%6d% = random_object_near_point %1d% %2d% %3d% in_radius %4d% find_next %5h% //IF and SET
0AE9=1,%1d% = pop_float
0AEA=2,%2h% = ped_struct %1d% handle
0AEB=2,%2h% = vehicle_struct %1d% handle
0AEC=2,%2h% = object_struct %1d% handle
0AEE=3,%3d% = %1d% exp %2d% //all floats
0AEF=3,%3d% = log %1d% base %2d% //all floats
0AF0=4,%4d% = get_int_from_ini_file %1s% section %2s% key %3s%
0AF1=4,write_int %1d% to_ini_file %2s% section %3s% key %4s%
0AF2=4,%4d% = get_float_from_ini_file %1s% section %2s% key %3s%
0AF3=4,write_float %1d% to_ini_file %2s% section %3s% key %4s%
0AF4=4,%4d% = read_string_from_ini_file %1s% section %2s% key %3s%
0AF5=4,write_string %1s% to_ini_file %2s% section %3s% key %4s%
0B10=3, %3d% = %1d% AND %2d%
0B11=3, %3d% = %1d% OR %2d%
0B12=3, %3d% = %1d% XOR %2d%
0B13=2, %2d% = NOT %1d%
0B14=3, %3d% = %1d% MOD %2d%
0B15=3, %3d% = %1d% SHR %2d%
0B16=3, %3d% = %1d% SHL %2d%

Также восстановлены следующие опкоды:
VC: 016F, 0349.
III: 0400, 0407, 04C4.

Last edited by Sergey81 (24-05-2015 20:51)

Offline

#178 24-05-2015 06:57

kenking
From: Казахстан
Registered: 28-06-2010
Posts: 253

Re: CLEO для GTA III

Новые опкоды(включая дублирующие из клео4):

Если я правильно понял, то в этой версии получается некоторые опкоды прописаны дважды? Т.е. например: 05E7 и 0A97

прикладываю свои scm.ini + opcodes.txt

Посмотрел scm.ini и opcodes.txt, там:
0400=1,save_mayhem_time %1d%
0407=1,time_taken_defuse_mission = %1d%

а вот 

Также восстановлены следующие опкоды:

подразумевалось это?
0400: create_coordinate $448 $449 $450 from_object $714 offset -0.277 -16.662 3.152
0407: create_coordinate $1202 $1203 $1200 from_car $1185 offset 0.0 -20.0 0.0

Offline

#179 24-05-2015 10:04

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

kenking wrote:

Если я правильно понял, то в этой версии получается некоторые опкоды прописаны дважды? Т.е. например: 05E7 и 0A97

Да, можно адаптировать код между версиями, не занимаясь переименованием опкодов. Вот например примеры выше для SA:

{$CLEO .cs}
0000:
//0A8C: write_memory 0x00536541 size 5 value 0x90 virtual_protect 1  //CPickups::DoPickUpEffects(CEntity *)
0A8C: write_memory 0x00457485 size 3 value 0x90 virtual_protect 1 //object->__parent.physical.entity.placeable.m_pCoords->pos.z = outVec.z;
0A8C: write_memory 0x005361B5 size 4 value 0x537628 virtual_protect 1   // movzx edx,word ptr [008CD59C]

0A8C: write_memory 0x455C07 size 1 value 0xE9 virtual_protect 1
0A8C: write_memory 0x455C08 size 4 value 0x00000209 virtual_protect 1 

0A8C: write_memory 0x45584E size 5 value 0x90 virtual_protect 1 //coronas

while true
wait 0

9@ = 0x9788C0         
10@ = 0x97D620

for 0@ = 9@ to 10@ step 0x20 
    0A8E: 5@ = 0@ + 0x10 // int
    0A8D: 1@ = read_memory 5@ size 2 virtual_protect 0  //x
    1@ *= 0.125
    0A8E: 5@ = 0@ + 0x12 // int
    0A8D: 2@ = read_memory 5@ size 2 virtual_protect 0  //y
    2@ *= 0.125
    0A8E: 5@ = 0@ + 0x14 // int
    0A8D: 3@ = read_memory 5@ size 2 virtual_protect 0  //z
    3@ *= 0.125
    0A8E: 5@ = 0@ + 0x4 // int 
    0A8D: 6@ = read_memory 5@ size 4 virtual_protect 0  //6@ - [POINTER] - CObjectVC* pObject
    0A8E: 5@ = 0@ + 0x18 // int
    0A8D: 7@ = read_memory 5@ size 2 virtual_protect 0 //7@ - [WORD] - wModelId
      if and
       1@ <> 0.0
       2@ <> 0.0
       3@ <> 0.0
       6@ <> 0
      then
       0AEC: 8@ = object_struct 6@ handle
        if
         03CA:   object 8@ exists
        then
        01BB: store_object 8@ position_to 1@ 2@ 3@
         if
          00EC:   actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 80.0 80.0
         then
          if or
           00EC:   actor $PLAYER_ACTOR sphere 0 near_point 1@ 2@ radius 45.0 45.0
           02CC:   object 8@ bounding_sphere_visible
          then
           02CE: 4@ = ground_z 1@ 2@ 3@
           inc(4@, 0.05)
           01BC: put_object 8@ at 1@ 2@ 4@
            if
             7@ <> 1212 //#MONEY
            then
             0453: set_object 8@ XY_rotation 90.0 0.0 angle 134.0
            else
             0453: set_object 8@ XY_rotation 0.0 0.0 angle 5.0 
            end
            0AB1: call_scm_func @createParticleForWeapon params_count 4 wModelId 7@ coords 1@ 2@ 4@ 
          end
         end
        end
      end
end // for

end

:createParticleForWeapon
for 10@ = 0 to 46
0AA7: call_function 0x454AC0 num_params 1 pop 1 10@ 12@    //weapon id to model id
 if
  003B: 0@ == 12@
 then
  0085: 4@ = 10@
  break
 end 
end

if
 4@ == 0
then
 4@ = 37
end

4@ *= 8
4@ += 0x688098
0A8D: 5@ = read_memory 4@ size 1 virtual_protect 0
4@ += 1
0A8D: 6@ = read_memory 4@ size 1 virtual_protect 0
4@ += 1
0A8D: 7@ = read_memory 4@ size 1 virtual_protect 0

if
 0@ == 1212 //#MONEY
then
 5@ = 0
 6@ = 155
 7@ = 0
end 
 
016F: create_particle 3 rotation_factor 0.0 size 0.5 intensity 255 color 255 6@ 7@ at 1@ 2@ 3@
0AB2: ret 0

а вот 

подразумевалось это?
0400: create_coordinate $448 $449 $450 from_object $714 offset -0.277 -16.662 3.152
0407: create_coordinate $1202 $1203 $1200 from_car $1185 offset 0.0 -20.0 0.0

Хм, а ведь точно, я посмотрел что 04C4 нет в GTA3, и добавил два других на автомате. Поменяю тогда на новые id и перезалью.

EDIT: Перезалил, теперь так(только в GTA3):

04C2: create_coordinate $448 $449 $450 from_object $714 offset -0.277 -16.662 3.152 
04C3: create_coordinate $1202 $1203 $1200 from_car $1185 offset 0.0 -20.0 0.0
04C4: create_coordinate $896 $897 $898 from_actor $854 offset 0.0 1.2 0.0

Last edited by Sergey81 (24-05-2015 10:30)

Offline

#180 24-05-2015 12:46

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

Нашел баг, стандартный опкод

00E1:

не пашет. На первый взгляд мне именно так показалось, версия для Вайса. Не для всех клавиш. Странно сейчас проверил - работает. Видимо проблема была в другом, выясняю...

Нашел косяк... Проблема в том что локальная переменная обнуляется после wait, такая проблема уже была у DK при тестах, но это было до того как он потерял исходники, видимо проблема вернулась снова, решайте как нибудь ее...

Last edited by mfisto (24-05-2015 13:17)


I know everything and nothing...

Offline

#181 24-05-2015 13:50

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Выложи пример скрипта, где так происходит.

Offline

#182 24-05-2015 14:18

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

Re: CLEO для GTA III

Я тут подумал, если номера опкодов совпадают, и нет нужды ставить аси лоадер, то может сделать одну asi на обе игры? Думаю, нет большой проблемы узнать в контексте какой игры загружена библиотека и соответственно поменять адреса памяти.

Offline

#183 24-05-2015 14:28

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

{$CLEO .cs}
0000:

:Noname_5
wait 0 
if 
   Player.Defined($player_char)
jf @Noname_5
if 
   Player.Controllable($player_char)
jf @Noname_5
if 
   not Actor.Driving($player_actor)
jf @Noname_5
if 
00E1:   player 0 pressed_button 15
jf @Noname_5_1
03F0: enable_text_draw 1 
0609: show_formatted_text_position 50.0 50.0 text "%d" 6@
set_actor_obj_no_obj $player_actor
05F5: call_scm_func @findnearestcar params_count 0 4@
if
    not Car.Wrecked(4@)
jf @Noname_5
if 
   6@ == 0 // integer values 
jf @Noname_5_0
16@ = 0 
6@ = 1 // integer values

:Noname_5_0
if
    6@ == 1
jf @Noname_5
if
    16@ >= 500
jf @Noname_5
6@ = 2
jump @Noname_5

:Noname_5_1
// здесь я код сократил для теста он не нужен
jump @Noname_5

:findnearestcar
7@ = -1
8@ = 15.0
0054: store_player $PLAYER_CHAR position_to 12@ 13@ 14@
if
    05F0: 15@ = random_vehicle_near_point 12@ 13@ 14@ in_radius 8@ find_next 0 pass_wrecked 1 //IF and SET
then
    repeat
        Car.StorePos(15@, 9@, 10@, 11@)
        0063: 9@ -= 12@  // (float)
        006B: 9@ *= 9@  // (float)
        0063: 10@ -= 13@  // (float)
        006B: 10@ *= 10@  // (float)
        0063: 11@ -= 14@  // (float)
        006B: 11@ *= 11@  // (float)
        005B: 9@ += 10@  // (float)
        005B: 9@ += 11@  // (float)
        01FB: 9@ = square_root 9@
        if
            0025:   8@ > 9@ // (float)
        then 
            0085: 8@ = 9@ // (int) 
            0085: 7@ = 15@ // (int) 
        end
    until 85F0: not 15@ = random_vehicle_near_point 12@ 13@ 14@ in_radius 8@ find_next 1 pass_wrecked 1 //IF and SET
end
05F6: ret 1 7@

Повторяю именно для Вайса, для трехи данный код срабатывает. Хотя как оказалось для трехи код не срабатывает там вообще ничего не выводится.

Last edited by mfisto (24-05-2015 15:30)


I know everything and nothing...

Offline

#184 24-05-2015 15:31

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

mfisto wrote:

Повторяю именно для Вайса, для трехи данный код срабатывает.

Понял в чем дело, опкоды поиска не работают корректно, т.к. там смещения не поменяны.

Seemann wrote:

Я тут подумал, если номера опкодов совпадают, и нет нужны ставить аси лоадер, то может сделать одну asi на обе игры? Думаю, нет большой проблемы узнать в контексте какой игры загружена библиотека и соответственно поменять адреса памяти.

Лучше пусть раздельно будет, меньше путаницы как по мне.

Offline

#185 24-05-2015 16:00

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

А что насчет трехи: там не выводится текст.

0609: show_formatted_text_position 50.0 50.0 text "%d" 6@

I know everything and nothing...

Offline

#186 24-05-2015 16:50

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Обновил ссылку на версию для вайса, проверяй.

mfisto wrote:

А что насчет трехи: там не выводится текст.

0609: show_formatted_text_position 50.0 50.0 text "%d" 6@

У меня выводится, только в центре экрана. Это вроде как баг вайдскрин фикса, надо будет исправить.

Offline

#187 24-05-2015 17:06

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

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


I know everything and nothing...

Offline

#188 24-05-2015 17:37

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

mfisto wrote:

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

Как так, я использую твой скрипт и все работает. Может ошибка в измененном скрипте?

Offline

#189 24-05-2015 17:57

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

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


I know everything and nothing...

Offline

#190 24-05-2015 18:27

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Работает у меня так. На каком адресе вылет?

Offline

#191 24-05-2015 18:46

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

Всегда вылетает на строчке с регистрацией custom текста. Каждый раз разная, в этот раз вот эта:

Registered custom text: "VCSGNS", "Pay ~h~$2000~w~ bribe to get back your weapons?

Убрал текст вообще, теперь вылет при Allocated memory f... А где можно адрес посмотреть? А все нашел... 00430c5e.

Last edited by mfisto (24-05-2015 19:01)


I know everything and nothing...

Offline

#192 24-05-2015 19:23

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Давай еще раз по порядку, какой скрипт нужен и что надо сделать чтоб вылетело(и чтобы я смог воспроизвести).

Offline

#193 24-05-2015 19:33

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

Смотри бери мой скрипт, компилируй его и засовывай в игру, затем запускай новую игру, затем удаляй строчки с текстом, компилируй и снова запускай новую игру, будет ошибка 00430c5e. Но я как-то смог запустить один раз...


I know everything and nothing...

Offline

#194 24-05-2015 19:51

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Но эта ошибка в функции CGarage::Update(), странно как-то. А до последнего обновления также было или вылета не было?

Offline

#195 24-05-2015 19:56

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

Также вроде было.


I know everything and nothing...

Offline

#196 24-05-2015 20:07

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

А установлен ли мой пример скрипта пикапов? У меня с ним действительно вылетает, если несколько раз начать новую игру, правда с другим адресом. Что-то связанное с рендером теней, создаваемых опкодом 016F. Буду разбираться.
EDIT: Скрипт обновил, там если радиус проверки снизить немного, то работает нормально.

Last edited by Sergey81 (24-05-2015 20:52)

Offline

#197 25-05-2015 13:43

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

Пример пикапов не установлен, перепробовал все: переименовывал файлы, скрипты убирал, ошибка та же. Заметил, что если какой-то файл переименовать, убрать расширение, то игра нормально без ошибок работает. Но это разово, затем все повторяется, при повторном запуске та же ошибка.


I know everything and nothing...

Offline

#198 25-05-2015 14:12

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Очень странно, выложи тогда дамп, сгенерированный после вылета: http://dk22pac.blogspot.ru/2013/02/how- … files.html

Offline

#199 25-05-2015 14:34

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

Вот дамп


I know everything and nothing...

Offline

#200 25-05-2015 15:23

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Судя по дампу, вылетает на 0x66A702, но как это связано с клео я не очень понимаю. Воспроизводится ли вылет без скриптов, только с клео?

Offline

Board footer

Powered by FluxBB