Ответ

Внимание! Пока вы просматривали тему, появилось 7 новых ответа. Возможно, вы захотите изменить свое сообщение.
Имя:
E-mail:
Тема:
Иконка:

Вложение:
(Удалить вложение)
(Добавить ещё)
Ограничения: максимум вложений в сообщении — 4, максимальный размер всех файлов — 192 Кбайт, максимальный размер одного файла — 128 Кбайт
Визуальная проверка:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:
О какой игре форум? (три буквы заглавные):
Сколько будет (5*5 + 2) ответ цифрой.:

подсказка: нажмите alt+s для отправки или alt+p для предварительного просмотра сообщения


Сообщения в этой теме

Автор: Saint
« : Декабрь 08, 2018, 03:04:39 am »

спасибо большое за информацию, разобрался, всё работает
Автор: Shagg_E
« : Декабрь 04, 2018, 06:42:13 am »

Хз, в C++ не пробовал создавать. В SCM/CLEO это работает
Автор: Saint
« : Декабрь 03, 2018, 06:32:18 pm »

не могу создать

только код не в клео а С++

// const SCRIPT_COMMAND scatter_particles = { 0x039D, "ifiiiiffffff" }; // scripting.h

ScriptCommand(&scatter_particles, iType, fSize, byteR, byteG, byteB, iTime, PosX, PosY, PosZ, speedX, speedY, speedZ); // = { 0x039D, "ifiiiiffffff" };

в игре ничего нет
Автор: Shagg_E
« : Декабрь 02, 2018, 04:25:15 am »

039D: scatter_particles [int1] [flt1] [int2] [int3] [int4] [int5] at [flt2] [flt3] [flt4] [flt5] [flt6] [flt7]

Создает анимированный партикл(дым, огонь, всплеск воды). Достаточно прописать 1 раз, и парктикл будет анимироваться столько времени, сколько было указано в опкоде.
Цитировать
    [int1]
        номер эффекта (список: 1, 2, 3)
    [flt1]
        размер
    [int2]
        Цвет: Red(0-255)
    [int3]
        Цвет: Green(0-255)
    [int4]
        Цвет: Blue(0-255)
    [int5]
        Длительность эффекта в ms
    [flt2]
        Координаты: X
    [flt3]
        Координаты: Y
    [flt4]
        Координаты: Z
    [flt5]
        Ускорение: X
    [flt6]
        Ускорение: Y
    [flt7]
        Ускорение: Z





0437: scatter_particle 1 size 0.52 at 772.2785 -268.6476 10.3203 speed_XYZ 0.0 0.0 0.0

Создает одиночный партикл. После появления сразу исчезает. Таким образом, для постоянного эффекта необходимо юзать опкод в цикле.
Подробнее о нем, а также список партиклов можно заценить тут.
Автор: Saint
« : Декабрь 02, 2018, 12:26:17 am »

как правильно использовать опкоды 0437 и 039D
Автор: Shagg_E
« : Октябрь 30, 2018, 07:12:25 pm »

egor230> Так оно всегда и бывает. Меня тоже частенько смущает то, что писал раньше)) Успехов в моддинге! И не бойся задавать вопросы, даже если кто-то на это будет возмущаться.
Автор: egor230
« : Октябрь 30, 2018, 07:58:21 am »

Спасибо за ваш ответ. Стрельбу  так и не получилось   реализовать, там много было багов. Потом писал lua скрипты для GTA San Andreas. Там достаточно удобно писать миссии. Например, сделал  функцию, которая проверяет ли запущена, далее  игрок находится в машине, тогда создается маркер,  если нет маркер удаляется, если игрок встал на маркер, его  перемещают  из машины, запускают проверку  в отдельном потоке, который постоянно проверяется жив и игрок или нет? Если игрок умер, запускается функция провала  и выхода из миссии.  Функция возвращает правду.  Конечно на словах всё выглядит запутанно. Всего около 40 строчек кода против около 100 на cleo. Что гораздо удобнее. Сейчас меня очень заинтересовали c++. Он не такой сложный, как я думал, это  не ассемблер))))
 Ещё раз Большое спасибо, чтобы вы мне очень помогли с cleo, сейчас мои вопросы кажутся такими глупыми, краснею когда читаю сообщения годовой давности)))))

https://libertycity.ru/files/gta-san-andreas/119508-prostaja-missija.html
Автор: Shagg_E
« : Июнь 03, 2018, 02:10:03 am »

Попробуй при создании актера заменить 4 pedtype на другой(от полицейского или члена банды). Либо сделать "цель" не объектом, а актером.
Если второе сработает - сделай актера-цель невидимым, затем помести этого невидимого актера в невидимый(модель #NULL) или маленький(модель кастета) объект и отключи у этого объекта коллизию, чтобы этот летающий невидимый актер никому не мешал.
Автор: egor230
« : Июнь 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.  
Автор: Shagg_E
« : Июнь 02, 2018, 11:45:22 pm »

Я планировал сделать свой режим стрельбы(в т.ч. - с выбором 3d точки цели для актера), но это будет еще очень не скоро... Пока же ничем с этим помочь не могу  :(
Автор: egor230
« : Июнь 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.  
Автор: Shagg_E
« : Июнь 02, 2018, 10:49:11 pm »

к большому сожалению, что только не делал происходит вылет.

Я уже приводил пример работы с выводом переменных на экран. Для float вроде нужно писать %.1f
как заставить актера стрелять в определенную точку?

Хз, пока сам не разобрался... Думаю, где-то в исходниках VCMP лежит ответ...
Автор: egor230
« : Май 30, 2018, 06:06:48 am »

Спасибо большое за ваш ответ Уважаемый DK. Но к большому сожалению, что только не делал происходит вылет.  Написание скриптов на sb,  немного отличается от других языков программирования. А подскажите, пожалуйста, как заставить актера стрелять в определенную точку?
Автор: DK
« : Май 21, 2018, 12:31:16 am »

Вылет - из-за того, что ты попутал переменные 0@ и 1@.
И значение там float, а не int (форматировать как %f, и вместо 1065353216 - 1.0).
В общем, написание скриптов, особенно в SB, где у переменных нету названий - это то ещё мучение.
Автор: egor230
« : Май 18, 2018, 03:44:50 pm »

Спасибо большое уважаемый kenking за ваш ответ. Теперь стало понятно почему вылетает. Буду продолжать искать адрес  памяти, который отвечает  за движения вперед. Жаль, нету видео как писать  плагины  для  GTA vice city.