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

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


Сообщения - egor230

Страницы: [1] 2 3 ... 6
1
Общие вопросы / Re: Помощь с CLEO
« : Июнь 03, 2018, 01:25:03 am »
Здравствуйте, уважаемый Shagg_E.  Вы меня направили на верный путь.
 Всё-таки  добился,  чтобы  актер стрелял из машины.  Конечно я тебя только прототип скрипта.
 вот   смотрите https://www.youtube.com/watch?v=Riejcb3uVo0&feature=youtu.be
Только почему он стреляет одиночными выстрелами, а ни очередью? Погулять любовь подсказке.
Код: Javascript
  1. {$CLEO .cs}
  2. 0000:  
  3. :1
  4. wait 0      
  5. 80E0:  player $player_char driving // не в авто
  6. jf @1
  7. 0ADC: test_cheat "xc"
  8. jf @1      
  9. 04C4: create_coordinate 0@ 1@ 2@ from_actor $PLAYER_ACTOR offset 0.0 6.2 0.0
  10. 05F5: call_scm_func @fun params_count 3 0@ 1@ 2@ 3@ 4@        
  11. 0407: create_coordinate 0@ 1@ 2@ from_car 3@ offset 0.0 20.0 1.50 // коор цели
  12. 0107: 5@ = create_object 350 at 0@ 1@ 2@            
  13. 02E2: set_actor 4@ weapon_accuracy_to 10
  14. :2
  15. wait 0
  16. if 8AB0: not key_pressed 0x46 // f
  17. jf @1                                    
  18. 01D8: unknown_actor 4@ unknown_fire_at_target 5@
  19. jump @2                                      
  20. :fun
  21. repeat                        
  22. wait 0
  23. 0247: request_model #SENTXS  
  24. 0247: request_model #WMOST  
  25. 0247: request_model #m4    
  26. 0247: request_model 350                                      
  27. 038B: load_requested_models            
  28. gosub @delay
  29. until gosub @available
  30. 00A5: 3@ = create_car #SENTXS at 0@ 1@ 2@    
  31. 000B: 2@ += 4.0  // floating-point values
  32. 009A: 4@ = create_actor_pedtype 4 model #WMOST at 0@ 1@ 2@        
  33. 01B2: give_actor 4@ weapon 26 ammo 9999 // Load the weapon model before using this    
  34. 0464: put_actor 4@ into_turret_on_car 3@ at_car_offset 0.4242 -0.0679 1.1322 position 0 angle 360.0 with_weapon 26  
  35. 0249: release_model #SENTXS
  36. 0249: release_model #WMOST
  37. 0249: release_model #m4
  38. 0AB2: ret 2 3@ 4@
  39. :delay
  40. 16@ = 0
  41. repeat
  42. wait 0                
  43. until 0029: 16@ >= 3 // задержка
  44. return    
  45. :available
  46. wait 0                
  47. if and
  48. 0248: model #SENTXS available
  49. 0248: model #WMOST available
  50. 0248: model #m4 available    
  51. 0248: model 350 available
  52. jf @available
  53. return                  
  54.  

2
Общие вопросы / Re: Помощь с CLEO
« : Июнь 02, 2018, 10:57:59 pm »
Спасибо большое за ваш ответ уважаемый Shagg_E.  очень  его   ждал.
Просто у меня появилась идея, чтобы  актер в режиме турели  стрелял  в определенные координаты.
 Вот небольшая  заготовка.
 
Код: Javascript
  1. {$CLEO .cs}
  2. 0000:
  3. :1
  4. wait 0
  5. 80E0: player $player_char driving // не в авто
  6. jf @1
  7. 0ADC: test_cheat "xc"
  8. jf @1
  9. 04C4: create_coordinate 0@ 1@ 2@ from_actor $PLAYER_ACTOR offset 0.0 6.2 0.0
  10. 05F5: call_scm_func @fun params_count 3 0@ 1@ 2@ 3@ 4@
  11. :2
  12. wait 0
  13. if 0AB0: key_pressed 0x46 // f
  14. jf @2
  15. 0407: create_coordinate 0@ 1@ 2@ from_car 3@ offset 0.0 20.0 1.50 // коор цели
  16. опкод чтоб стрелял в координаты
  17.  
  18. 0acd: show_text_high_priority "time" time 1000
  19. jump @1
  20. :fun
  21. repeat
  22. wait 0
  23. 0247: request_model #SENTXS
  24. 0247: request_model #WMOST
  25. 0247: request_model #ROCKETLA
  26. 038B: load_requested_models
  27. gosub @delay
  28. until gosub @available
  29. 00A5: 3@ = create_car #SENTXS at 0@ 1@ 2@
  30. 000B: 2@ += 4.0 // floating-point values
  31. 009A: 4@ = create_actor_pedtype 4 model #WMOST at 0@ 1@ 2@
  32. 01B2: give_actor 4@ weapon 30 ammo 9999 // Load the weapon model before using this
  33. 0464: put_actor 4@ into_turret_on_car 3@ at_car_offset 0.4242 -0.0679 1.1322 position 0 angle 360.0 with_weapon 30
  34. 0249: release_model #SENTXS
  35. 0249: release_model #WMOST
  36. 0249: release_model #ROCKETLA
  37. 0AB2: ret 2 3@ 4@
  38. :delay
  39. 16@ = 0
  40. repeat
  41. wait 0
  42. until 0029: 16@ >= 3 // задержка
  43. return
  44. :available
  45. wait 0
  46. if and
  47. 0248: model #SENTXS available
  48. 0248: model #WMOST available
  49. 0248: model #ROCKETLA available
  50. jf @available
  51. return
  52.  

3
Общие вопросы / Re: Помощь с CLEO
« : Май 30, 2018, 06:06:48 am »
Спасибо большое за ваш ответ Уважаемый DK. Но к большому сожалению, что только не делал происходит вылет.  Написание скриптов на sb,  немного отличается от других языков программирования. А подскажите, пожалуйста, как заставить актера стрелять в определенную точку?

4
Общие вопросы / Re: Помощь с CLEO
« : Май 18, 2018, 03:44:50 pm »
Спасибо большое уважаемый kenking за ваш ответ. Теперь стало понятно почему вылетает. Буду продолжать искать адрес  памяти, который отвечает  за движения вперед. Жаль, нету видео как писать  плагины  для  GTA vice city.

5
Общие вопросы / Re: Помощь с CLEO
« : Май 17, 2018, 03:30:14 pm »
Спасибо вам большое уважаемый DK за ваш ответ.  Как жаль, что нельзя этого сделать. Скажите пожалуйста, вот  адрес памяти, который отвечает за газ на машине, 0x1F0.  Когда машина стоит Значение 0, когда машина едет значение следующее 1065353216.
 При попытке  установить это значение  для машины, она не едет вперед, а игра вылетает.  Подскажите мне пожалуйста.

Код: Javascript
  1.  
  2. {$CLEO .cs}
  3. 0000:  
  4. :1
  5. wait 0      
  6. 80E0:  player $player_char driving // не в атво
  7. jf @1
  8. if 0AB0: key_pressed 0x46 // f
  9. jf @1      
  10. 0054: store_player $player_char position_to 0@ 1@ 2@
  11. :2
  12. 05F0: 3@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 10.0 find_next 0 pass_wrecked 0 //IF and SET
  13. jf @1  
  14. 0186: 4@ = create_marker_above_car 3@
  15. :3
  16. wait 0    
  17. if 0AB0: key_pressed 0x4a // j
  18. jf @3
  19. 05E7: 0@ = car 3@ struct //получаем структуру этой машины
  20. 0@ += 0x1F0  //прибавляем смещение
  21. 05E0: 1@ = read_memory 0@ size 4 virtual_protect 0 //считыванием состоянием
  22. 0ACF: show_formatted_styled_text "%d" time 1000  style 3 1@      
  23. :4
  24. wait 0
  25. 05DF: write_memory 1@ size 4 value 1065353216 virtual_protect 0
  26. jump @1    
  27.  

6
Общие вопросы / Re: Помощь с CLEO
« : Май 15, 2018, 12:48:17 pm »
Здравствуйте уважаемый Shagg_E.  Мне помог вариант номер 2.  Переделал, конечно его. Чтобы бы русские названия миссии.
Сейчас бьюсь над решением следующей проблемы вывод звуков через функцию.
Например.
Код: Javascript
  1. {$CLEO .cs}
  2. 0000:                          
  3. :1
  4. wait 0
  5. if 0AB0: key_pressed 0x46 // f
  6. jf @1                        
  7. 03CF: load_wav 'FIN_1a' as 1
  8. wait 0
  9. if 03D0:  wav 1 loaded
  10. then 03D1: play_wav 1
  11. if 03D2:  wav 1 ended
  12. then 040D: unload_wav 1        
  13. end
  14. end                
  15. jump @1                
  16.  


 Так вроде всё работает, но я хочу просто название звука передать в функцию. Мне всегда нравилась краткость.
Так вы же красивее и понятнее.

Код: Javascript
  1. {$CLEO .cs}
  2. 0000:                          
  3. :1
  4. wait 0
  5. if 0AB0: key_pressed 0x46 // f
  6. jf @1                                  
  7. 0AB1: call_scm_func @fun 1 "FIN_1a"
  8. jump @1          
  9. :fun
  10. 0AC8: 0@ = allocate_memory_size 64
  11. 0AD3: 0@ = format 0@      
  12. 0AD4: 0@ = scan_string 0@ format "%S"
  13. 03CF: load_wav 0@ as 1
  14. wait 0
  15. if 03D0:  wav 1 loaded
  16. then 03D1: play_wav 1
  17. if 03D2:  wav 1 ended
  18. then 040D: unload_wav 1        
  19. end
  20. end                                    
  21. 0AC9: free_allocated_memory 0@
  22. 0AB2: ret 0      
  23.  

7
Общие вопросы / Re: Помощь с CLEO
« : Май 12, 2018, 02:03:04 pm »
Спасибо вам большое уважаемый Shagg_E за решения моей проблемы.   Вся проблема  в  значениях глобальных перемен.  Теперь благодаря скрипту,  всё стало ясно. Теперь понял в каком направлении двигаться.  Вы мне очень помогли.

8
Общие вопросы / Re: Помощь с CLEO
« : Май 10, 2018, 02:37:28 pm »
Спасибо большое за ваш ответ уважаемый Shagg_E. Как жалко, что не все объекты можно двигать. Продолжаю писать cleo скрипты. Сталкиваюсь с новым проблемами, например, пишу скрипт, выбор миссий, вроде  всё хорошо,  тут вдруг  при выборе 8 миссии,  бах вылет.  Сидишь, ломаешь голову,  почему вылетает?  Если у вас будет время,  подскажите, пожалуйста, будьте так  добрее.
Сама идея кажется не такой плохой. Вот демонстрация https://www.youtube.com/watch?v=DkYeYo0m9b0&feature=youtu.be
Код: Javascript
  1. {$CLEO .cs}
  2. 0000:  
  3. :1
  4. wait 0          
  5. if and    
  6. 80E0:  player $player_char driving // не в атво    
  7. 0038: $onmission == 0 // integer values  
  8. jf @1
  9. 0AB0: key_pressed 0x46 // f
  10. jf @1  
  11. 05E0: 0@ = read_memory 0x978810 size 4 virtual_protect 0 // читать текущий интерьер      
  12. jf @1    
  13. 0@ == 0  
  14. jf @1
  15. 1@ = 2
  16. :2
  17. wait 0
  18. 0AB0: key_pressed 0x6b // +            
  19. jf @3    
  20. :21
  21. wait 0
  22. 8AB0: not key_pressed 0x6b // +
  23. jf @21      
  24. 1@ +=1  
  25. gosub @select_missions    
  26. :3
  27. 0AB0: key_pressed 0x6d // -
  28. jf @4  
  29. :31
  30. wait 0
  31. 8AB0: not key_pressed 0x6d // -
  32. jf @31  
  33. 1@ -=1                  
  34. gosub @select_missions    
  35. :4
  36. 0AB0: key_pressed 0x47 // j
  37. jf @2        
  38. :41
  39. wait 0
  40. if 8AB0: not key_pressed 0x47 // j
  41. jf @41                        
  42. 0417: start_mission 1@  // Initial
  43. jump @1  
  44.  
  45. :select_missions        
  46. wait 0        
  47. if 1@ == 3
  48. then  00BC: show_text_highpriority GXT 'LAW_1' time 2700 flag 1  // Text
  49. else if 1@ == 4
  50. then 00BC: show_text_highpriority GXT 'LAW_2' time 2700 flag 1    
  51. else if 1@ == 5
  52. then 00BC: show_text_highpriority GXT 'LAW_3' time 2700 flag 1      
  53. else if 1@ == 6
  54. then 00BC: show_text_highpriority GXT 'LAW_4' time 2700 flag 1  
  55. else if 1@ == 7
  56. then 00BC: show_text_highpriority GXT 'COL_1' time 2700 flag 1  
  57. else if 1@ == 8
  58. then 00BC: show_text_highpriority GXT 'COL_2' time 2700 flag 1          
  59. end                                
  60. end                        
  61. end              
  62. end        
  63. end
  64. end
  65. return
  66.  
  67.  

9
Общие вопросы / Re: Помощь с CLEO
« : Май 05, 2018, 01:56:12 pm »
Здравствуйте всем. Скажите пожалуйста, можно ли  через cleo двигать объекты?  дело в том, что у промзоны  есть  ворота, их я пытаюсь закрыть через cleo, но они даже не находятся через поиск объектов.  Может кто-то их двигать. стало интересно, почему не получается?
https://www.youtube.com/watch?v=sQGHC1DLG7k&feature=youtu.be

Код: Javascript
  1. {$CLEO .cs}
  2. 0000:  
  3. :1
  4. wait 0      
  5. 80E0: not player $player_char driving // íå â àòâî
  6. jf @1
  7. if 0AB0: key_pressed 0x46 // f
  8. jf @1
  9. :2
  10. 05F1: 3@ = random_object_near_point -719.3805 -1279.2191 11.075 in_radius 5.0 find_next 0 //IF and SET
  11. jf @1                                    
  12. 01BB: store_object 3@ position_to 0@ 1@ 2@      
  13. 0acd: show_text_high_priority "god" time 1000    
  14. gosub @Open
  15.  
  16. jump @1        
  17. :Open                
  18. while if 84E6: not object 0@ near_point -749.4312 -1279.8885 11.0874 radius 0.01 0.01 0.01 flag 0  
  19. wait 0                                                                  
  20. 034E: move_object 0@ to -749.4312 -1279.8885 11.0874 speed 0.09 0.07 0.05 collision_check 0
  21. end
  22. 018E: stop_sound 4@
  23. 018C: play_sound 5 at 1@ 2@ 3@
  24. return  
  25.  

10
Общие вопросы / Re: Помощь с CLEO
« : Апрель 07, 2018, 05:51:31 pm »
Здравствуйте, уважаемый Shagg_E.
Да, вы правы дубликат был лишним,  всё прекрасно работает.
Благодаря вашему мудрому совету, нашёл адрес который отвечает за ущерб имуществу.  Кому нужен вот он 0x00975404.
Стоимость машины находится по смещению от  структуры  автомобиля.

11
Общие вопросы / Re: Помощь с CLEO
« : Апрель 03, 2018, 12:36:19 pm »
Здравствуйте уважаемый Shagg_E.  Очень признательны вам за Ваш ответ. Да, действительно проблема была в радиусе. Но я решил  полностью переделать скрипт, на это ушло очень много времени.  Вроде всё работает. Пытался написать не только рабочий код, но и  краткий, красивый, хорошо оптимизированный,  тестил его, всё вроде работает как надо. Дубликат опкода 018E нужен, чтобы точно избежать зависание  звука.  Спасибо большое теперь изменил  звук  на 5,  звучит хорошо.
Вот сам код.
Код: Javascript
  1. {$CLEO}      
  2. const
  3. x = -847.231812 // Координаты внутри гаража  
  4. y = -901.642578 // Координаты внутри гаража  
  5. z = 11.103406  // Координаты внутри гаража  
  6. a = -834.576294 // Координаты гаража
  7. b = -902.218567 // Координаты гаража
  8. c = 11.103406 // Координаты  гаража
  9. end
  10. 0000:      
  11. :1
  12. wait 0        
  13. 0164: disable_marker 13@ // удалить маркер
  14. if 00E0: player $PLAYER_CHAR driving // за рулем
  15. jf @1
  16. gosub @tag // создать маркер
  17. if 00F7: player $player_char sphere 0 near_point_in_car a b c radius 20.0 20.0 3.0 sphere 0 // на авто около гаража
  18. jf @1              
  19. gosub @garage // open        
  20. :2
  21. wait 0      
  22. if 00F7: player $player_char sphere 0 near_point_in_car a b c radius 30.0 30.0 3.0 sphere 0 // на авто около гаража
  23. jf @5          
  24. :3
  25. if 0103: actor $PLAYER_ACTOR in_sphere x y z radius 4.0 4.0 3.0 sphere 0 stopped_in_car //стоп авто внутри гаража
  26. jf @2              
  27. gosub @camera // set camera            
  28. gosub @garage// закрыть                    
  29. gosub @Chec // проверки                            
  30. :6  
  31. wait 0            
  32. if 80E3: not player $player_char in_sphere 0 near_point a b radius 17.0 17.0      
  33. jf @6                  
  34. :5                
  35. gosub @garage// закрыть гараж
  36. if 6@ == 1
  37. jf @1
  38. :7
  39. wait 0
  40. if and            
  41. 02D8: actor $PLAYER_ACTOR current_weapon == 34
  42. 00E1: player 0 pressed_button 17
  43. jf @7      
  44. 020B: explode_car 5@              
  45. 01C3: remove_references_to_car 5@  
  46. jump @1          
  47.  
  48. :Chec
  49. wait 0    
  50. if or
  51. 0495: vehicle 5@ burning
  52. 03CE: car 5@ stuck
  53. 8256: not player $PLAYER_CHAR defined  
  54. 0119: car 5@ wrecked
  55. 80DC: not player $player_char driving 5@
  56. 81C1: not car 5@ stopped
  57. jf @Checkes1    
  58. gosub @garage              
  59. gosub @return_camera        
  60. return
  61.  
  62. :Checkes1
  63. wait 0        
  64. if 0AB0: key_pressed 0x61// 1      
  65. then 0AB1: call_scm_func @opcode_0242 2 5@ 1 6@                
  66. else
  67. if 0AB0: key_pressed 0x62// 2                        
  68. then 0AB1: call_scm_func @opcode_0242 2 5@ 2 6@    
  69. else
  70. if 0AB0: key_pressed 0x63// 3                        
  71. then 0AB1: call_scm_func @opcode_0242 2 5@ 3 6@    
  72. else
  73. if 0AB0: key_pressed 0x64// 4          
  74. then gosub @super_properties            
  75. else
  76. if 0AB0: key_pressed 0x65// 5                        
  77. then 0AB1: call_scm_func @opcode_0242 2 5@ 0 6@  
  78. end  
  79. end  
  80. end  
  81. end
  82. end
  83. jump @Chec
  84.  
  85. :opcode_0242 // Установить тип бомбы 0@ (car handle) 1@ (bomb stage)    
  86. gosub @text
  87. 05E7: 0@ = car 0@ struct
  88. 0@ += 0x1FE  // car bomb offset
  89. 05E0: 2@ = read_memory 0@ size 1 virtual_protect 0  // store previous value
  90. 05F9: 1@ = 1@ AND 7  // keep only the first three bits from input param
  91. 05F9: 2@ = 2@ AND 0xF8  // exclude the first three bits in stored value
  92. 05FA: 2@ = 2@ OR 1@  // replace the first three bits of stored value with input param
  93. 05DF: write_memory 0@ size 1 value 2@ virtual_protect 0  // set to new value
  94. 05F6: ret 1 15@        
  95. :text                                          
  96. if 0039: 1@ == 1 // integer values
  97. then 0acd: show_text_high_priority "Timed detonation" time 1000    
  98. else
  99. if 0039: 1@ == 2                        
  100. then 0acd: show_text_high_priority "Engine ignition detonation" time 1000      
  101. else
  102. if 0039: 1@ == 3                        
  103. then gosub @fun
  104. 0acd: show_text_high_priority "Remote detonation" time 1000  
  105. 15@ = 1  
  106. else
  107. if 0039: 1@ == 0                        
  108. then 0acd: show_text_high_priority "to remove mine with the car" time 1000      
  109. end
  110. end  
  111. end  
  112. end  
  113. return
  114. :super_properties      
  115. 053F: set_car 5@ tires_vulnerable 0
  116. 02AC: set_car 5@ immunities 1 1 1 1 1
  117. 01EC: make_car 5@ very_heavy 1
  118. 0acd: show_text_high_priority "super properties are set" time 1000    
  119. return
  120. :fun
  121. repeat
  122. wait 0
  123. Model.Load(#bomb)                            
  124. 038B: load_requested_models
  125. gosub @delay
  126. until Model.Available(#bomb)
  127. 01B1: give_player $PLAYER_CHAR weapon 34 ammo 1
  128. Model.Destroy(#bomb)
  129. return
  130. gosub @delay
  131. :delay
  132. 16@ = 0
  133. repeat
  134. wait 0                
  135. until 0029: 16@ >= 10 // задержка
  136. return
  137. :return_camera    
  138. 015A: restore_camera
  139. 02EB: restore_camera_with_jumpcut
  140. return    
  141. :tag
  142. 0570: 13@ = create_asset_radar_marker_with_icon 8 at x y z  // Внутри гаража        
  143. 03C1: 5@ = player $PLAYER_CHAR car_no_save // получить хендл авто
  144. return                                      
  145. :garage
  146. 0AE3: 0@ = random_object_near_point -836.77 -901.84 12.05 in_radius 4.0 find_next 0 //IF and SET
  147. jf gosub @Check1                    
  148. 01BB: store_object 0@ position_to 1@ 2@ 3@
  149. 018D: 4@ = create_sound 2 at 1@ 2@ 3@                        
  150. wait 0
  151. if 0043: 3@ == 12.03
  152. then
  153. 0007: 3@ = 15.95              
  154. gosub @Open
  155. else
  156. if 0043: 3@ == 15.95
  157. then
  158. 01BB: store_object 0@ position_to 1@ 2@ 3@
  159. 0007: 3@ = 12.03  
  160. gosub @Open
  161. end
  162. end    
  163. return  
  164. :Open                
  165. while if 84E6: not object 0@ near_point 1@ 2@ 3@ radius 0.01 0.01 0.01 flag 0  
  166. wait 0                                                                  
  167. 034E: move_object 0@ to 1@ 2@ 3@ speed 0.0 0.0 0.05 collision_check 0
  168. end
  169. 018E: stop_sound 4@
  170. 018C: play_sound 5 at 1@ 2@ 3@
  171. 018E: stop_sound 4@  
  172. return  
  173. :Check1
  174. wait 0
  175. return
  176.  
  177.  
  178. :camera                                          
  179. 015F: set_camera_position -817.4 -905.55 13.86 0.0 rotation 0.0 0.0
  180. 0160: point_camera -3982.5 -238.75 63.44 switchstyle 2    
  181. 0164: disable_marker 13@                                                                                
  182. 0ACE: show_formatted_text_box "~h~~t~The press 1 for install timed bomb~t~ ~h~press 2 for install ignition bomb, ~t~ ~y~ press 3 for install detonation bomb~x~ ~t~~h~press 4 to set super properties car~h~~b~~t~ press 5 to remove mine with the car.~b~ "
  183. return    
  184.                
  185. /*
  186. //0 -0  CARBOMB_NONE    Без бомбы
  187. 1       CARBOMB_TIMED   Неактивная бомба, рассчитанная по времени, может быть получена из гаражного типа 2
  188. 2       CARBOMB_ONIGNITION      Неактивная зажигательная бомба может быть получена из гаражного типа 3
  189. 3       CARBOMB_REMOTE  Удаленная детонационная бомба может быть получена из гаражного типа 4
  190. 4       CARBOMB_TIMEDACTIVE     Активная импульсная бомба, активированная из бомбы типа 1
  191. 5       CARBOMB_ONIGNITIONACTIVE        Активная зажигательная бомба, активированная из бомбы типа 2          
  192.  
Тут появилась одна идея. В разделе статистика, есть строка ущерб имуществу. ее значение увеличивается  после  взрыва автомобиля.
Допустим мы заезжаем в гараж. Гаснет экран, игрока перемещаем из авто. Читаем  адрес памяти, которая отвечает за сумму ущерба, сохраняем ее в переменную,  взрываем авто, опять читаем адрес памяти, результат записываем в другую переменную. Находим разность их, чтобы грубо говоря найти стоимость авто. ее  получить  игрок в виде денег, можно называть это  утилизация автомобиля. Всё это можно легко реализовать,  только нужно знать адрес  памяти.  Везде искал его, так и не нашел.

12
Общие вопросы / Re: Помощь с CLEO
« : Март 30, 2018, 01:32:47 pm »
Здравствуйте уважаемый Shagg_E.
 Спасибо большое за ваш скрипт,  Он помог мне понять В каком направлении двигаться.
Он открывает ворота нажатием двое фабрика мороженого. Решил  его переделать,  чтобы ворота  поднимались вверх, Всё работало.  Но  при  замены координат  на  двери  гаража  Кема джонса,  звук  зависал https://www.youtube.com/watch?v=CJ50v0rn_x8&feature=youtu.be

Но я решил не успокаивается, разобраться в чём проблема.  Написал следующий  скрипт, вот  его видео демонстрация https://www.youtube.com/watch?v=cWsmvt61gKY&feature=youtu.be
всё это поместил в gosub. Может кому-то этот gosub  поможет
Вообще cleo здорово освежило игру, выдохнула в неё новую жизнь. Но почему-то в cleo встречаются какие-то баги, ошибки.
Конечно для GTA San Andreas, cleo обладает более широкими функциями. Изучить cleo достаточно легко. Но я надеюсь ему появится достойные альтернативы.
Код: Javascript
  1. {$CLEO .cs}
  2. 0000:
  3. :Check
  4. wait 0        
  5. 0AB0: key_pressed 69  
  6. jf @Check      
  7. gosub @garage
  8. jump @Check  
  9.                                      
  10. :garage
  11. 0AE3: 0@ = random_object_near_point -836.77 -901.84 12.05 in_radius 4.0 find_next 0 //IF and SET
  12. jf gosub @Check1                    
  13. 01BB: store_object 0@ position_to 1@ 2@ 3@
  14. 018D: 4@ = create_sound 2 at 1@ 2@ 3@                        
  15. wait 0
  16. if 0043: 3@ == 12.03
  17. then
  18. 0007: 3@ = 15.95              
  19. gosub @Open
  20. else
  21. if 0043: 3@ == 15.95
  22. then
  23. 01BB: store_object 0@ position_to 1@ 2@ 3@
  24. 0007: 3@ = 12.03  
  25. gosub @Open
  26. end
  27. end    
  28. return  
  29. :Open                
  30. while if 84E6: not object 0@ near_point 1@ 2@ 3@ radius 0.01 0.01 0.01 flag 0  
  31. wait 0                                                                  
  32. 034E: move_object 0@ to 1@ 2@ 3@ speed 0.0 0.0 0.05 collision_check 0
  33. end
  34. 018E: stop_sound 4@
  35. 018C: play_sound 3 at 1@ 2@ 3@
  36. 018E: stop_sound 4@  
  37. return  
  38. :Check1
  39. wait 0
  40. return
  41.  

13
Общие вопросы / Re: Помощь с CLEO
« : Март 25, 2018, 05:44:25 pm »
Здравствуйте , уважаемый Shagg_E.  Благодарю вас за ваше сообщение. Эта очень полезные ссылки.  жалко мало информации  по  ida,  по сравнению с cleo, так сказать, чтобы облегчить трудный путь нубов. Ну и чтож будем мы искать, Google в помощь как говорится.
несколько дней пытался, задать Вектор движения объекта через память.  Брал структуру  объекта, добавлял это смещение, вылетало  ко сожалению. Значит, что-то делал не так,  буду копаться.
Уважаемый xanser, чем больше будет информации в доступном виде, тем больше людей,   буду делать моды,  будет больше интересных идей.
раньше  программирование   считалось чем-то очень сложным сложным, теперь благодаря Ютубу и форумам, разобраться становится легче.  Сколько уроков по cleo, благодаря чему бы написано большое количество скриптов. На сайте https://libertycity.ru/  их более 3000 для GTA San Andreas.  А сколько asi  плагинов?  Мало. где писать? как их написать? мало кто знает.  Я и стараюсь тоже помочь начинающим, советом,  они порой, совершают настолько грубые ошибки, но в тот момент,  вспоминаю   какими зелёным  новичкам был, отвечаю на вопрос, чтобы у человека не пропала охота,   когда что-то долго не получается,  желание пропадает.  аудиторию надо расширять, чем больше людей, тем больше идей. одна голова хорошо, а  1000  ещё лучше.  Сам пытаюсь копать,  но иногда на  что-то натыкаешься  и не можешь найти решение проблемы.
Спасибо за ответ по IDA  теперь буду пытаться разобраться в этом.
DK,  с большим удовольствием читаю ваши посты  на разных сайтах. Глубоко поражён  вашим умом, насколько  Вы хорошо разбираетесь  в программировании.  жаль, что еще не дорос писать плагины  на с++, там наверно миссии  можно писать.
 Продолжаю работать с дверями гаража  Кема   Джонса. Хотел написать  scm функцию, в которую передаешь  допустим число 1, и двери   гаража  открываются.  Но в  scm  функциях, нельзя использовать цикл,  чтобы открыть дверь.  Приходится использовать scm  функцию и gosub.  Потом решил добавить звук,  как при открытии  любых гаражей,  хорошо что  нашел  это https://www.gtamodding.com/wiki/018C http://www.gtamodding.com/wiki/018D  тут тоже было много проблем, звуки wav  воспроизводится гораздо легче.  Но звук не удаляется опкодом 018E: stop_sound 6@, решил это немного странно, остаются  какие-то звуки.Также нашел кое-что интересное  если написать 0394: play_music 176// волна 103   то начинает играть Радиостанция  волна  103 когда вы находитесь не в машине.
Может я опять ошибся?
Код: Javascript
  1. {$CLEO .cs}
  2. 0000:
  3. :1
  4. wait 0
  5. if 0AB0: key_pressed 69
  6. jf @1                    
  7. 018D: 6@ = create_sound 4 at -836.77 -901.84 12.05    
  8. 0AB1: call_scm_func @garage 1 1 2@ 3@ 4@ 5@
  9. gosub @door                                                    
  10. wait 20          
  11. 018E: stop_sound 6@
  12. jump @1
  13.  
  14. :door          
  15. 0AE3: 0@ = random_object_near_point 2@ 3@ 4@ in_radius 2.0 find_next 0 //IF and SET
  16. repeat
  17. 034E: move_object 0@ to 2@ 3@ 5@ speed 0.0 0.0 0.05 collision_check 0  
  18. wait 4                    
  19. until 034E: move_object 0@ to 2@ 3@ 5@ speed 0.0 0.0 0.05 collision_check 0                
  20. return  
  21. :garage
  22. if 0039: 0@ == 1
  23. then
  24. 3@ = 12.05
  25. 4@ = 15.95
  26. else
  27. 3@ = 15.95
  28. 4@ = 12.05
  29. end        
  30. 1@ = -836.77
  31. 2@ = -901.84            
  32. 0AB2: ret 4 1@ 2@ 3@ 4@
  33.  
  34.  

14
Общие вопросы / Re: Помощь с CLEO
« : Март 15, 2018, 11:36:15 am »
Здравствуйте уважаемый Shagg. Очень-очень рад вашему ответу, так его ждали и меня от Вас.
Благодарю Вас за такие подробные объяснения, всё становится более понятным, ясным благодаря им.
Да, со звуком надо учиться работать. Думаю, тут  можно много сделать чего интересного. Жаль на всё это не хватает времени. Спасибо вам большое, что объяснили мне как вывести значения переменной на экран, то очень поможет в изучении работы с памятью. Жалко их очень мало, хотелось бы больше уроков по работе ida  базой. Там много чего можно отыскать интересного для будущих модов. Сколько я не бы бился получается выпустить ракету по прямой  по прямой траектории. Может как-то можно задать движения через память? Вы написали очень хороший мод по работе с объектами игры.

15
Общие вопросы / Re: Помощь с CLEO
« : Март 04, 2018, 01:39:09 pm »
Благодарю Вас уважаемый Shagg, за Ваш искренний ответ.
Попробовать эмулировать передвижения ракеты "вручную".
Все получилось, но ракета летит как-то "криво", а не прямо.
Как добавить звук выстрела? Есть таблица звуков?
Видео демонстрация https://www.youtube.com/watch?v=H_FmtrYXBLU&feature=youtu.be
Код: Javascript
  1. {$CLEO}
  2. 0000:
  3. :1                                                                                              
  4. 01C4: remove_references_to_object 3@ // This object will now disappear when the player looks away    
  5. wait 0        
  6. if 00E0: player $player_char driving
  7. jf @1            
  8. if 00E1:  player 0 pressed_button 17
  9. jf @1    
  10. 03C1: 4@ = player $player_char car_no_save    
  11. 0174: 15@ = car 4@ z_angle
  12. 0407: create_coordinate 0@ 1@ 2@ from_car 4@ offset 0.0 0.0 0.50
  13. 0AB1: call_scm_func @fun 4 273 0@ 1@ 2@ 3@        
  14. 0177: set_object 3@ z_angle_to 15@
  15. 0382: set_object 3@ collision_detection 1
  16. 04D9: object 3@ set_scripted_collision_check 0                          
  17. 0400: create_coordinate 5@ 6@ 7@ from_object 3@ offset 0.0 80.0 0.0  // коор цели    
  18. :2
  19. wait 0                                                            
  20. 034E: move_object 3@ to 5@ 6@ 7@ speed 0.31 0.31 0.0 collision_check 0    
  21. 0392: object 3@ toggle_in_moving_list 0 // отключить физику объекта              
  22. if 04E6: object 3@ near_point 5@ 6@ 7@ radius 7.5 7.5 7.5 flag 1                
  23. jf @3                                              
  24. 0acd: show_text_high_priority "god" time 1000      
  25. jump @boom                                    
  26. :3
  27. if 05EF: 14@ = random_actor_near_point 5@ 6@ 7@ in_radius 0.10 find_next 0 pass_deads 0 //IF and SET      
  28. jf @4    
  29. jump @boom      
  30. :4
  31. if 05F0: 14@ = random_vehicle_near_point 5@ 6@ 7@ in_radius 0.10 find_next 0 pass_wrecked 0 //IF and SET            
  32. jf @5    
  33. if 8039: NOT 3@ == 0@    
  34. jf @5  
  35. jump @boom      
  36. :5
  37. if 05F1: 14@ = random_object_near_point 5@ 6@ 7@ in_radius 0.10 find_next 0 //IF and SET
  38. jf @2
  39. :boom  
  40. 020C: create_explosion_with_radius 6 at 5@ 6@ 7@      
  41. 01BC: put_object 3@ at 0.0 0.0 0.0
  42. jump @1
  43. :fun
  44. repeat
  45. wait 0
  46. Model.Load(0@)                            
  47. 038B: load_requested_models
  48. gosub @delay
  49. until Model.Available(0@)
  50. 0107: 4@ = create_object 0@ at 1@ 2@ 3@    
  51. Model.Destroy(0@)  
  52. 0453: object 4@ set_rotation 180.0 0.0 0.0
  53. 0AB2: ret 1 4@
  54. :delay
  55. 16@ = 0
  56. repeat
  57. wait 0                
  58. until 0029: 16@ >= 10 // задержка      
  59. return                      
  60.  

Хочу научить управлять авто дистанционно через память.

как вывести значение переменной на экран?
Код: Javascript
  1. {$CLEO}
  2. 0000:
  3. :1
  4. wait 0
  5. if 00E0: player $player_char driving
  6. jf @1
  7. if 00E1: player 0 pressed_button 17
  8. jf @1
  9. 03C0: 0@ = actor $PLAYER_ACTOR car //
  10. 05E7: 0@ = car 0@ struct //
  11. 0@ += 0x1F0 //
  12. 05E0: 11@ = read_memory 0@ size 1 virtual_protect 0
  13. 0acd: show_text_high_priority "11@ %d" time 1000
  14. jump @1
  15.  


Помогите, пожалуйста.

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

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