You are not logged in.
2 CLEO скрипта.
В штате среди муниципалитета ездит одна полиция, данные скрипты должны исправить эту ситуацию.
Первый скрипт отвечает за спавн медицинского транспорта, изображающего усиленную деятельность на благо штата. By jayrocc aka Altman
2-й - за пожарников.
1-скрипт.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | // 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-й скрипт.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | { $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
1 2 3 4 5 6 | 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
Мне кажется можно как-то сделать, чтобы не копировать один и тот же код несколько раз. Например:
1 2 3 4 5 6 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | // 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | { $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:
Где проверки?
1 2 | 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