You are not logged in.
А ну да, подходит. Спасибо за ссылку.
Кто нибудь видел или нет?
@Capushon
Нет, полностью переписывать скрипт я не собираюсь
@flashTrash
3амечания учел, спасибо за поправки.
Гы, про F4 и вправду не заметил Просто на F4 забинден скрипт сохранения. If надо ставить перед каждой проверкой. Про анимацию - загружаю её всегда так, вылетов не замечал при такой загрузке, поэтому и использую.
{$CLEO} :load wait 0 04ED: load_animation "PARACHUTE" 038B: load_requested_models :anim wait 0 if 04EE: animation "PARACHUTE" loaded jf @anim :check wait 0 if and 0AB0: key_pressed 0x74 not actor.Driving($PLAYER_ACTOR) jf @check :check_2 wait 0 if 8AB0: not key_pressed 0x73 jf @check_2 actor.LockInCurrentPosition($PLAYER_ACTOR,true) actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@) 3@ += 10.5 actor.PutAt($PLAYER_ACTOR,1@,2@,3@) :levi wait 0 068D: get_camera_position_to 4@ 5@ 6@ actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@) 000f: 1@ -= 4@ 000f: 2@ -= 5@ 000f: 3@ -= 6@ 1@ *= 15.0 2@ *= 15.0 3@ *= 15.0 3@ += 4.5 0604: get_Z_angle_for_point 1@ 2@ store_to 7@ actor.Angle($PLAYER_ACTOR) = 7@ 0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_ACCEL" IFP_file "PARACHUTE" 1.0 loopA 0 lockX 0 lockY 0 lockF 1 time 15 0494: get_joystick 0 data 28@ 29@ 30@ 31@ if 0 > 29@ jf @checkquit 02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 0 CP 1 MP 0 actor.LockInCurrentPosition($PLAYER_ACTOR,false) 083C: set_actor $PLAYER_ACTOR velocity_in_direction_XYZ 1@ 2@ 3@ jump @levi :checkquit wait 0 actor.LockInCurrentPosition($PLAYER_ACTOR,true) 02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 0 CP 0 MP 0 if 0AB0: key_pressed 0x74 jf @levi :quit wait 0 if 8AB0: not key_pressed 0x74 jf @quit actor.LockInCurrentPosition($PLAYER_ACTOR, false) actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@) 3@ += 0.01 actor.PutAt($PLAYER_ACTOR,1@,2@,3@) jump @check
Исправил ошибки. Убрал огонь из одного места, добавил нужные проверки, загрузил как надо анимацию итп.
Чтобы убрать огонь удали строку:
066A: 8@ = attach_particle "gunflash" to_actor $PLAYER_ACTOR with_offset 0.0 -0.3 -0.05 rotation 0.0 -1.0 0.0 flag 1
Лучше стереть это:
066A: 8@ = attach_particle "gunflash" to_actor $PLAYER_ACTOR with_offset 0.0 -0.3 -0.05 rotation 0.0 -1.0 0.0 flag 1 064C: make_particle 8@ visible
ок, все работает, спасибо
Добавил по просьбам трудящихся.
{$CLEO} :1 wait 0 0000: NOP thread 'mltbase' :2 wait 100 if Player.Defined($PLAYER_CHAR) jf @2 Model.Load(#ARMY) Model.Load(#M4) 038B: load_requested_models :3 wait 100 if and Model.Available(#ARMY) Model.Available(#M4) jf @3 :4 wait 1000 1@ = Actor.Create(Cop, #ARMY, 112.39, 1931.193, 17.77) 01B2: give_actor 1@ weapon 31 ammo 9999 // Load the weapon model before using this 0648: unknown_actor 1@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 114.51 1914.793 18.8 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 112.39 1931.193 18.77 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 1@ to_animation_path_with_walk_mode 4 route_mode 3 074E: unknown_actor 1@ unknown_set 20.0 unknown_flag 1 2@ = Actor.Create(Cop, #ARMY, 125.135, 1916.59, 17.9) 01B2: give_actor 2@ weapon 31 ammo 99999 // Load the weapon model before using this 0648: unknown_actor 2@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 124.716 1890.25 18.33 animation "NONE" IFP_file "NONE" 0755: add_animation_path_3D_coord 159.0 1887.9 19.5 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 161.32 1914.42 18.6 animation "NONE" IFP_file "NONE" 0755: add_animation_path_3D_coord 125.135 1916.59 18.9 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 2@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(2@) = 85 074E: unknown_actor 2@ unknown_set 30.0 unknown_flag 1 3@ = Actor.Create(Cop, #ARMY, 131.37, 1821.139, 16.6) 01B2: give_actor 3@ weapon 31 ammo 99999 // Load the weapon model before using this 0648: unknown_actor 3@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 130.62 1855.297 17.73 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 102.09 1858.6 17.7 animation "NONE" IFP_file "NONE" 0755: add_animation_path_3D_coord 102.94 1839.78 17.6 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 131.37 1821.139 17.6 animation "NONE" IFP_file "NONE" 0817: assign_actor 3@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(3@) = 80 074E: unknown_actor 3@ unknown_set 30.0 unknown_flag 1 4@ = Actor.Create(Cop, #ARMY, 163.458, 1824.58, 17.64) Actor.Angle(4@) = 180.123 01B2: give_actor 4@ weapon 31 ammo 99999 // Load the weapon model before using this 0648: unknown_actor 4@ task_set 200.0 // float Actor.WeaponAccuracy(4@) = 85 074E: unknown_actor 4@ unknown_set 30.0 unknown_flag 1 5@ = Actor.Create(Cop, #ARMY, 189.91, 1916.399, 16.64) 01B2: give_actor 5@ weapon 31 ammo 9999 // Load the weapon model before using this 0648: unknown_actor 5@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 168.0187 1916.279 18.37 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 189.91 1916.399 17.64 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 5@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(5@) = 85 074E: unknown_actor 5@ unknown_set 30.0 unknown_flag 1 6@ = Actor.Create(Cop, #ARMY, 191.535, 1809.588, 16.641) 01B2: give_actor 6@ weapon 31 ammo 9999 // Load the weapon model before using this 0648: unknown_actor 6@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 131.24 1811.194 17.6 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 191.535 1809.588 17.641 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 6@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(6@) = 85 074E: unknown_actor 6@ unknown_set 30.0 unknown_flag 1 7@ = Actor.Create(Cop, #ARMY, 195.36, 1872.92, 16.64) 01B2: give_actor 7@ weapon 31 ammo 9999 // Load the weapon model before using this 0648: unknown_actor 7@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 231.095 1872.9 17.64 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 195.36 1872.92 17.64 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 7@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(7@) = 85 074E: unknown_actor 7@ unknown_set 20.0 unknown_flag 1 8@ = Actor.Create(Cop, #ARMY, 108.673, 1886.18, 17.04) 01B2: give_actor 8@ weapon 31 ammo 99999 // Load the weapon model before using this 0648: unknown_actor 8@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 107.065 1865.8 17.78 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 126.78 1864.25 17.8 animation "NONE" IFP_file "NONE" 0755: add_animation_path_3D_coord 127.842 1885.04 18.027 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 108.673 1886.18 18.04 animation "NONE" IFP_file "NONE" 0817: assign_actor 8@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(8@) = 85 074E: unknown_actor 8@ unknown_set 30.0 unknown_flag 1 9@ = Actor.Create(Cop, #ARMY, 173.671, 1886.841, 19.9) 01B2: give_actor 9@ weapon 31 ammo 9999 // Load the weapon model before using this 0648: unknown_actor 9@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 174.25 1866.51 20.7 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 173.671 1886.841 20.9 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 9@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(9@) = 85 074E: unknown_actor 9@ unknown_set 30.0 unknown_flag 1 10@ = Actor.Create(Cop, #ARMY, 249.99, 1874.78, 19.6) 01B2: give_actor 10@ weapon 31 ammo 9999 // Load the weapon model before using this 0648: unknown_actor 10@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 250.99 1906.56 20.6 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 249.99 1874.78 20.6 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 10@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(10@) = 85 074E: unknown_actor 10@ unknown_set 30.0 unknown_flag 1 11@ = Actor.Create(Cop, #ARMY, 224.26, 1916.79, 16.64) 01B2: give_actor 11@ weapon 31 ammo 99999 // Load the weapon model before using this 0648: unknown_actor 11@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 204.475 1915.9 17.64 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 204.628 1904.521 17.64 animation "NONE" IFP_file "NONE" 0755: add_animation_path_3D_coord 221.645 1905.13 17.64 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 224.26 1916.79 17.64 animation "NONE" IFP_file "NONE" 0817: assign_actor 11@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(11@) = 85 074E: unknown_actor 11@ unknown_set 30.0 unknown_flag 1 12@ = Actor.Create(Cop, #ARMY, 209.07, 1833.63, 16.64) Actor.Angle(12@) = 346.579 01B2: give_actor 12@ weapon 31 ammo 99999 // Load the weapon model before using this 0648: unknown_actor 12@ task_set 200.0 // float Actor.WeaponAccuracy(12@) = 85 074E: unknown_actor 12@ unknown_set 30.0 unknown_flag 1 13@ = Actor.Create(Cop, #ARMY, 268.027, 1862.269, 17.64) 01B2: give_actor 13@ weapon 31 ammo 9999 // Load the weapon model before using this 0648: unknown_actor 13@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 266.9 1822.3 17.64 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 268.027 1862.269 17.64 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 13@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(13@) = 85 074E: unknown_actor 13@ unknown_set 30.0 unknown_flag 1 14@ = Actor.Create(Cop, #ARMY, 221.16, 1858.28, 20.63) 01B2: give_actor 14@ weapon 31 ammo 9999 // Load the weapon model before using this Actor.WeaponAccuracy(14@) = 90 0648: unknown_actor 14@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 198.711 1857.64 19.633 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 221.16 1858.28 20.63 animation "ROADCROSS" IFP_file "PED" 0817: assign_actor 14@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(14@) = 90 074E: unknown_actor 14@ unknown_set 30.0 unknown_flag 1 15@ = Actor.Create(Cop, #ARMY, 218.45, 1820.78, 16.64) 01B2: give_actor 15@ weapon 31 ammo 9999 // Load the weapon model before using this Actor.WeaponAccuracy(15@) = 90 0648: unknown_actor 15@ task_set 200.0 // float 0754: define_new_animation_path 0755: add_animation_path_3D_coord 250.31 1821.924 17.64 animation "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 218.45 1820.78 17.64 animation "NONE" IFP_file "NONE" 0817: assign_actor 15@ to_animation_path_with_walk_mode 4 route_mode 3 Actor.WeaponAccuracy(15@) = 80 074E: unknown_actor 15@ unknown_set 30.0 unknown_flag 1 :5 wait 100 if or 0118: actor $PLAYER_ACTOR dead 0741: actor $PLAYER_ACTOR busted jf @5 Actor.RemoveReferences(1@) Actor.RemoveReferences(2@) Actor.RemoveReferences(3@) Actor.RemoveReferences(4@) Actor.RemoveReferences(5@) Actor.RemoveReferences(6@) Actor.RemoveReferences(7@) Actor.RemoveReferences(8@) Actor.RemoveReferences(9@) Actor.RemoveReferences(10@) Actor.RemoveReferences(11@) Actor.RemoveReferences(12@) Actor.RemoveReferences(13@) Actor.RemoveReferences(14@) Actor.RemoveReferences(15@) Model.Destroy(#ARMY) Model.Destroy(#M4) jump @2
Осталось добавить вышки, а так нормально, проводится патруль территории. Практически скопипастил с оригинальной миссии Black Project (где надо было проникнуть в лабораторию и угнать jetpack).
Хорошо было бы сократить этот опкод 038B: load_requested_models поставив, что-то типа Models.Load.
Еще надо поставить дождь как погодный эффект. Ведь после ядерного взрыва часто идут дожди.
Имхо, тормозить будет да и этот форум в плане функционирования неплохой. Может быть на IPB административных возможностей больше, но основная аудитория - обычные пользователи Выбираешь конечно ты, но я бы хорошо взвесил минусы и плюсы перед принятием такого решения
После загрузки анимации поставь 038B: load_requested_models Странно как она вообще у тебя работает (анимация).
PriMan, вот Клео скрипт
{$CLEO} :4523242 wait 100 thread '000' 0000: NOP :PoliceMegafon wait 100 if Player.WantedLevel($PLAYER_CHAR) > 1 jf @PoliceMegafon 03CF: load_wav 15855 as 2 038B: load_requested_models :PoliceMegafon2 while true wait 500 04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 60.0 60.0 0.0 04C4: create_coordinate 4@ 5@ 6@ from_actor $PLAYER_ACTOR offset -60.0 -60.0 0.0 10@ = -1 053E: 10@ = get_random_car_with_actors -1 in_area 1@ 2@ 4@ 5@ if 10@ <> -1 then if or Car.Id(10@) == #COPCARLA Car.Id(10@) == #COPCARRU Car.Id(10@) == #COPCARSF Car.Id(10@) == #COPCARVG then :PoliceMegafon3 wait 200 if and 056E: car 10@ defined 8119: not car 10@ wrecked 03D0: wav 2 loaded jf @PoliceMegafon3 0A16: (unknown) 2 10@ 03D1: play_wav 2 :PoliceMegafon4 wait 100 if 03D2: wav 2 ended jf @PoliceMegafon4 :PoliceMegafon5 wait 100 040D: unload_wav 2 end end jump @PoliceMegafon
Как можно убрать прицел?
Можно ли добиться улучшения детализации текстур? Если да то редактированием какого адреса памяти?
Ну вот, прочти сообщение Sanchez`a. и юзай его.
0184: actor 35@ health >= 119
где 119 - жизни актера.
ЗЫ. Задавай вопросы в соответствующем топике "Вопросы по опкодам".
Вобщем, так.
При низком уровне жизней у авто должен выключаться двигатель. В моему случае, если жизни ниже половины.
Но когда я сажусь в автомобиль игра выходит с ошибкой. Лично я ошибку не нашел.
{$CLEO} :ENOFF wait 100 thread 'EnOff' 0000: NOP :ENOFF2 wait 200 if Player.Defined($PLAYER_CHAR) jf @ENOFF2 if Actor.Driving($PLAYER_ACTOR) jf @ENOFF2 03C0: 1@ = actor $PLAYER_ACTOR car :ENOFF3 wait 500 0227: 2@ = car 1@ health if 801C: not 2@ >= 500.0 jf @ENOFF3 3@ = 5000.0 4@ = 6000.0 5@ = 2000.0 6@ = 4000.0 0209: 7@ = random_int_in_ranges 3@ 6@ wait 7@ 02D4: car 1@ turn_off_engine :ENOFF4 wait 100 Car.RemoveReferences(1@) jump @ENOFF2
В чем может заключаться ошибка?
хм, не понимаю...
Какие проверки? На расстояние от игрока? или на дефинед машин и акторов?
Ok, заменил твоей версией.
Вот еще фичу придумал. В каждом городе люди останавливают такси, садятся в него и едут. То же самое теперь может происходить и на улицах SA.
{$CLEO} :PASS1 wait 100 thread 'PASS_ACTIVE1' 0000: NOP :PASS2 wait 100 if Player.Defined($PLAYER_CHAR) jf @PASS2 wait 5000 0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 1@ closest_ped_to 2@ 046C: 3@ = car 1@ driver if or Car.Model(1@) == #TAXI Car.Model(1@) == #CABBIE jf @PASS3 if and 3@ <= 0 80DF: not actor 2@ driving jf @PASS3 05CA: AS_actor 2@ enter_car 1@ passenger_seat 0 10000 ms :PASS3 wait 100 Actor.RemoveReferences(2@) Actor.RemoveReferences(3@) Car.RemoveReferences(1@) wait 5000 jump @PASS2
и еще, есть такие иконки с мигалками, 20 и 30. Они вообще где-нибудь используются в игре?
да, используются в миссии в San Fierro.
Кстати, PedEvent 30 по-моему чисто для галочки присут.?
запиши координаты гаража/объекта и проверяй на каком расстоянии находится игрок, затем открывай.
Возможно придется активировать гараж:
0299: activate_garage 'example'
Где-то это фича обсуждалсь на форуме, также почитай СБ3 от Александра.
+ поставь гаражу тип 32
это делается:
02FA: set_garage 'example' type 32
Открыть гараж
0360: open_garage 'BURG_LK'
где BURG_LK - имя гаража.
Проверка на открытость гаража:
03B0: garage 'BODLAWN' door_open
Как было сделать чтобы не просто возпроизводилась анимация, а действ. совершалось действие?
Т.е.: Если использовать анимацию прыжка, нужно так сделать, чтобы актер действительно прыгнул, а не просто воспроизвел анимацию.