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_122-й скрипт.
{$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