You are not logged in.
2 CLEO скрипта.
В штате среди муниципалитета ездит одна полиция, данные скрипты должны исправить эту ситуацию.
Первый скрипт отвечает за спавн медицинского транспорта, изображающего усиленную деятельность на благо штата. By jayrocc aka Altman
2-й - за пожарников.
1-скрипт.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 {$VERSION 3.1.0027} {$CLEO .cs} //-------------MAIN--------------- 0000: NOP :AMBUL_5 thread 'AMBUL' wait 0 :AMBUL_12 wait 500 if Player.Defined($PLAYER_CHAR) jf @AMBUL_12 if 0154: actor $PLAYER_ACTOR in_zone 'SF' else_jump @AMBUL_13 Model.Load(276) Model.Load(416) 038B: load_requested_models :AMBUL_22 wait 200 if and Model.Available(416) Model.Available(276) else_jump @AMBUL_22 20@ = 276 jump @AMBUL_26 :AMBUL_13 if 0154: actor $PLAYER_ACTOR in_zone 'LA' else_jump @AMBUL_14 Model.Load(274) Model.Load(416) 038B: load_requested_models :AMBUL_23 wait 200 if and Model.Available(416) Model.Available(274) else_jump @AMBUL_23 20@ = 274 jump @AMBUL_26 :AMBUL_14 if 0154: actor $PLAYER_ACTOR in_zone 'VE' else_jump @AMBUL_15 Model.Load(275) Model.Load(416) 038B: load_requested_models :AMBUL_24 wait 200 if and Model.Available(416) Model.Available(275) else_jump @AMBUL_24 20@ = 275 jump @AMBUL_26 :AMBUL_15 Model.Load(274) Model.Load(416) 038B: load_requested_models :AMBUL_25 wait 200 if and Model.Available(416) Model.Available(274) else_jump @AMBUL_25 20@ = 274 jump @AMBUL_26 :AMBUL_26 wait 1000 0208: 1@ = random_float_in_ranges -90.0 90.0 0208: 2@ = random_float_in_ranges -90.0 90.0 04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 1@ 2@ 0.0 02C1: store_to 6@ 7@ 8@ car_path_coords_closest_to 3@ 4@ 5@ 9@ = Car.Create(416, 6@, 7@, 8@) 0129: 12@ = create_actor_pedtype 18 model 20@ in_car 9@ driverseat Car.SetDriverBehaviour(9@, FollowRoad) :AMBUL_186 wait 400 if or 82CA: not car 9@ bounding_sphere_visible Car.Wrecked(9@) else_jump @AMBUL_186 Actor.RemoveReferences(20@) Car.RemoveReferences(9@) Model.Destroy(416) Model.Destroy(274) Model.Destroy(275) Model.Destroy(276) 0209: 11@ = random_int 50000 300000 wait 11@ jump @AMBUL_12
2-й скрипт.
{$CLEO} :EMERGACTIVATE wait 0 thread 'EMERGACTIVATE3' 0000: NOP :EMERGACTIVATE1 wait 100 if Player.Defined($PLAYER_CHAR) jf @EMERGACTIVATE1 :EMERGACTIVATECONTROL wait 200 while true gosub @EMERGACTIVATE2 gosub @EMERGACTIVATE3 gosub @EMERGACTIVATE4 end :EMERGACTIVATE2 wait 200 if 04A3: $CURRENT_TOWN_NUMBER == 1 // $ == any else_jump @EMERGACTIVATE3 Model.Load(#LAFD1) Model.Load(#FIRETRUK) 038B: load_requested_models wait 100 if and Model.Available(#FIRETRUK) Model.Available(#LAFD1) else_jump @EMERGACTIVATE2 wait 7000 0208: 1@ = random_float_in_ranges -90.0 90.0 0208: 2@ = random_float_in_ranges -90.0 90.0 04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 1@ 2@ 0.0 02C1: store_to 6@ 7@ 8@ car_path_coords_closest_to 3@ 4@ 5@ 9@ = Car.Create(#FIRETRUK, 6@, 7@, 8@) 0129: 10@ = create_actor_pedtype 18 model #LAFD1 in_car 9@ driverseat Car.SetDriverBehaviour(9@, FollowRoad) 00AE: set_car 9@ traffic_behaviour_to 2 Car.SetSpeedInstantly(9@, 20.0) Actor.RemoveReferences(10@) gosub @CHECK_TOWN_1 return :CHECK_TOWN_1 wait 200 if Car.Wrecked(9@) jf @CHECK_TOWN_1 Model.Destroy(#FIRETRUK) Model.Destroy(#LAFD1) wait 100000 return :EMERGACTIVATE3 wait 200 if 04A3: $CURRENT_TOWN_NUMBER == 2 // $ == any jf @EMERGACTIVATE4 Model.Load(#SFFD1) Model.Load(#FIRETRUK) 038B: load_requested_models wait 100 if and Model.Available(#FIRETRUK) Model.Available(#SFFD1) else_jump @EMERGACTIVATE3 wait 7000 0208: 1@ = random_float_in_ranges -90.0 90.0 0208: 2@ = random_float_in_ranges -90.0 90.0 04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 1@ 2@ 0.0 02C1: store_to 6@ 7@ 8@ car_path_coords_closest_to 3@ 4@ 5@ 9@ = Car.Create(#FIRETRUK, 6@, 7@, 8@) 0129: 10@ = create_actor_pedtype 18 model #SFFD1 in_car 9@ driverseat Car.SetDriverBehaviour(9@, FollowRoad) 00AE: set_car 9@ traffic_behaviour_to 2 Car.SetSpeedInstantly(9@, 20.0) Actor.RemoveReferences(10@) gosub @CHECK_TOWN_2 return :CHECK_TOWN_2 wait 500 if Car.Wrecked(9@) jf @CHECK_TOWN_2 Model.Destroy(#FIRETRUK) Model.Destroy(#SFFD1) wait 100000 return :EMERGACTIVATE4 wait 200 if 04A3: $CURRENT_TOWN_NUMBER == 3 // $ == any else_jump @EMERGACTIVATE2 Model.Load(#LVFD1) Model.Load(#FIRETRUK) 038B: load_requested_models wait 100 if and Model.Available(#FIRETRUK) Model.Available(#LVFD1) else_jump @EMERGACTIVATE4 wait 7000 0208: 1@ = random_float_in_ranges -90.0 90.0 0208: 2@ = random_float_in_ranges -90.0 90.0 04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 1@ 2@ 0.0 02C1: store_to 6@ 7@ 8@ car_path_coords_closest_to 3@ 4@ 5@ 9@ = Car.Create(#FIRETRUK, 6@, 7@, 8@) 0129: 10@ = create_actor_pedtype 18 model #LVFD1 in_car 9@ driverseat Car.SetDriverBehaviour(9@, FollowRoad) 00AE: set_car 9@ traffic_behaviour_to 2 Car.SetSpeedInstantly(9@, 20.0) Actor.RemoveReferences(10@) gosub @CHECK_TOWN_3 return :CHECK_TOWN_3 wait 200 if Car.Wrecked(9@) jf @CHECK_TOWN_3 Model.Destroy(#FIRETRUK) Model.Destroy(#LVFD1) wait 100000 return
Все тестировалось и должно работать.
КОД ПОЖАРНИКОВ ОТРЕДАКТИРОВАН
Last edited by Agenzvell (06-02-2008 04:16)
Offline
2Agenzvell:
Если в закольцованном цикле "EMERGACTIVATE5" машина 9@ взорвётся - скрипт зависнет, т.к. перед прочими проверками в этом цикле нужно проверять есть ли вообще такая машина и не повреждена ли она, не горит, не в воде и т.д. ...
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
хороший скрипт,
только там нет разделения по городам, т.е. во всех городах приезжают одни и те же медики пожарные с надписью LAFD. А было бы хорошо, чтобы была проверка на нахождения игрока в определенном городе и уже в зависимости от этого загрузка моделей отдельно для каждого города. Для разнообразия хорошо бы использовать 2 пожарные машины, чтобы они спаунились рэндомно - FIRELA и FIRETRUK
Last edited by jayrocc (17-01-2008 13:20)
Offline
Да машины то пожарные могут рэндомные для каждого раза во всех городах ездить, а вот сами пожарные и медики должны как раз меняться в зависимости от города, тогда все круто будет.
PEDS.IDE
274, laemt1, laemt1, MEDIC, STAT_MEDIC - LA medic 275, lvemt1, lvemt1, MEDIC, STAT_MEDIC - LV Medic 276, sfemt1, sfemt1, MEDIC, STAT_MEDIC - SF Medic 277, lafd1, lafd1, FIREMAN, STAT_FIREMAN - LA Fireman 278, lvfd1, lvfd1, FIREMAN, STAT_FIREMAN - LV Fireman 279, sffd1, sffd1, FIREMAN, STAT_FIREMAN - SF Fireman
Last edited by jayrocc (23-01-2008 21:32)
Offline
Людей заменить легко, см. скрипт пожарников.
Насчет рэндома. Я же пишу, что слабо представляю себе эту возможность и не вижу иного выхода кроме как использовать противный wait
P.S: Скрипт с копами удален из-за своей неактуальности.
Offline
Мне кажется можно как-то сделать, чтобы не копировать один и тот же код несколько раз. Например:
7@ = 277 8@ = 278 9@ = 279 0209: 1@ = random_int 7@ 9@ .... 0129: 10@ = create_actor_pedtype 18 model 1@ in_car 9@ driverseat
а перед этим грузишь все модели не по именам, а по номерам...
Last edited by jayrocc (24-01-2008 18:21)
Offline
я тут скрипт твой порубошил немного, в итоге все работает с разными водителями в разных городах, в за пределами городов я поставил дефолтно форму из Лос Анджелеса, т.к. не помню в чем они там реально ездят..
Задержку появления машин поставил плавающую, чтобы было интереснее...
Не хотелось бы останавливаться на достигнутом, хорошо бы еще присобачить возможность, чтобы некоторые машины появлялись на задании с включенными мигалками и игнорирующие светофоры, но не очень часто...
да и таймер нужно бы сделать внутренним @32, а не wait
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 {$VERSION 3.1.0027} {$CLEO .cs} //-------------MAIN--------------- 0000: NOP :AMBUL_5 thread 'AMBUL' wait 0 :AMBUL_12 wait 500 if Player.Defined($PLAYER_CHAR) jf @AMBUL_12 if 0154: actor $PLAYER_ACTOR in_zone 'SF' else_jump @AMBUL_13 Model.Load(276) Model.Load(416) 038B: load_requested_models :AMBUL_22 wait 200 if and Model.Available(416) Model.Available(276) else_jump @AMBUL_22 20@ = 276 jump @AMBUL_26 :AMBUL_13 if 0154: actor $PLAYER_ACTOR in_zone 'LA' else_jump @AMBUL_14 Model.Load(274) Model.Load(416) 038B: load_requested_models :AMBUL_23 wait 200 if and Model.Available(416) Model.Available(274) else_jump @AMBUL_23 20@ = 274 jump @AMBUL_26 :AMBUL_14 if 0154: actor $PLAYER_ACTOR in_zone 'VE' else_jump @AMBUL_15 Model.Load(275) Model.Load(416) 038B: load_requested_models :AMBUL_24 wait 200 if and Model.Available(416) Model.Available(275) else_jump @AMBUL_24 20@ = 275 jump @AMBUL_26 :AMBUL_15 Model.Load(274) Model.Load(416) 038B: load_requested_models :AMBUL_25 wait 200 if and Model.Available(416) Model.Available(274) else_jump @AMBUL_25 20@ = 274 jump @AMBUL_26 :AMBUL_26 wait 1000 0208: 1@ = random_float_in_ranges -90.0 90.0 0208: 2@ = random_float_in_ranges -90.0 90.0 04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 1@ 2@ 0.0 02C1: store_to 6@ 7@ 8@ car_path_coords_closest_to 3@ 4@ 5@ 9@ = Car.Create(416, 6@, 7@, 8@) 0129: 12@ = create_actor_pedtype 18 model 20@ in_car 9@ driverseat Car.SetDriverBehaviour(9@, FollowRoad) :AMBUL_186 wait 400 if or 82CA: not car 9@ bounding_sphere_visible Car.Wrecked(9@) else_jump @AMBUL_186 Actor.RemoveReferences(20@) Car.RemoveReferences(9@) Model.Destroy(416) Model.Destroy(274) Model.Destroy(275) Model.Destroy(276) 0209: 11@ = random_int 50000 300000 wait 11@ jump @AMBUL_12
Last edited by jayrocc (03-02-2008 21:38)
Offline
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
Offline
2Agenzvell:
Где проверки?
wait 5000 jump @PASS2
твои
Actor.RemoveReferences(2@)
Actor.RemoveReferences(3@)
Car.RemoveReferences(1@)
сработают только на значительном расстоянии от игрока, а ты без проверок, уже через 5 секунд отлавливаешь новых актёров для тех-же переменных. IMHO - опасно ...
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Кстати такси неработает!Вот!Но нормально работает муниципалки!Блин народ!А вы можете еще раздел CLEO создать и туда сами клео выкладывать!А то я как заведенный бегаю по сайтам!*Кстати если есть то ссылку дайти плз*
Offline
а че пажарники ездят как бешаные?
Offline
Поидее они пожáрники или кто?
GTA VC - ЭТО НАСТОЯЩАЯ ГТА!
Offline
тупые уроды которые незнаю пдд.. да и с амбулами такаяже история..
Offline
Мне не нравится то, что пожарные машины и амбулянсы споунятся везде, вытесняя другие тачки.:mad:
Кто мне подскажет, что нужно изменить в коде, чтоб FRETRUK строго споунился около пожарных департаментов, а AMBULAN около госпиталей.=)
Моды - вот что украшает игру!
Offline