You are not logged in.
Pages: 1
Один из моих первых скриптов=)
{$CLEO .cs}
0000: NOP
:TAXI
wait 0
if
player.Defined($player_char)
jf @TAXI
if and
$ONMISSION == 0 // integer values
not Actor.Driving($PLAYER_ACTOR)
0AB0: key_pressed 120
jf @TAXI
077E: $ACTIVE_INTERIOR = active_interior
if
0038: $ACTIVE_INTERIOR == 0
jf @TAXI
if
010A: player $PLAYER_CHAR money >= 10000
jf @TAXI_6
25@ = 100
26@ = 10000
29@=0
0581: toggle_radar 0
08D4: 9@ = create_panel_with_title 'TAXIST' position 29.0 170.0 width 300.0 columns 2 interactive 1 background 1 alignment 1
08DB: set_panel 9@ column 0 header 'DUMMY' data 'DUMMY' 'TAXI' 'STRETCH' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
08D6: set_panel 9@ column 1 alignment 1
08EE: set_panel 9@ column 1 row 1 text_1number GXT 'DOLLAR' number 25@
08EE: set_panel 9@ column 1 row 2 text_1number GXT 'DOLLAR' number 26@
090E: set_panel 9@ active_row 1
01B4: toggle_player $PLAYER_CHAR can_move 0
09DB: set_panel 9@ column 0 width 230
09DB: set_panel 9@ column 1 width 70
:TAXI_0
wait 0
if
00E1: player 0 pressed_key 16
jf @TAXI_01
08D7: 28@ = panel 9@ active_row
0581: toggle_radar 1
player.Money($player_char)+=-100
gosub @TAXI_RESULT
:TAXI_01
wait 0
if
00E1: player 0 pressed_key 15
jf @TAXI_0
0581: toggle_radar 1
03E6: remove_text_box
08DA: remove_panel 9@
01B4: toggle_player $PLAYER_CHAR can_move 1
wait 1000
jump @TAXI
:TAXI_RESULT
wait 0
if
28@ == 1
jf @TAXI_RESULT_2
17@ = 420
19@=220
13@ = 0
18@ = 3
23@ =-1.5
24@ = 0.5
29@+=-100
jump @TAXI_03
:TAXI_RESULT_2
wait 0
if
28@ == 2
jf @TAXI_RESULT_2
17@ = 409
19@=61
13@ = 2
18@ = 5
23@ =-2.5
24@ =0.5
29@+=-10000
jump @TAXI_03
:TAXI_03
08DA: remove_panel 9@
01B4: toggle_player $PLAYER_CHAR can_move 1
Model.Load(17@)
Model.Load(19@)
Model.Load(#CELLPHONE)
038B: load_requested_models
:TAXI_1
wait 0
if and
model.Available(17@)
model.Available(19@)
model.Available(#CELLPHONE)
jf @TAXI_1
04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 20.0 20.0 0.0
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
02C1: store_to 3@ 4@ 5@ car_path_coords_closest_to 0@ 1@ 2@
02C1: store_to 14@ 15@ 16@ car_path_coords_closest_to 10@ 11@ 12@
car.Create(6@, 17@, 3@, 4@, 5@)
0229: set_car 6@ primary_color_to 6 secondary_color_to 6
car.SetImmunities(6@,1,1,1,1,1)
0129: 7@ = create_actor 4 19@ in_car 6@ driverseat
054A: set_actor 7@ immune_to_car_headshots 1
Player.CanMove($PLAYER_CHAR) = False
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
wait 500
car.DriveTo(6@,14@, 15@, 16@)
car.SetMaxSpeed(6@,10.0)
marker.CreateAboveCar(27@,6@)
marker.SetColor(27@,8)
car.ToggleTaxiLight(6@)=true
:TAXI_11
wait 5000
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0
wait 1000
Player.CanMove($PLAYER_CHAR) = true
:TAXI_2
wait 0
if
0103: actor 7@ stopped_near_point_in_car 14@ 15@ 16@ radius 10.0 10.0 10.0 sphere 1
jf @TAXI_22
0AB6: store_target_marker_coords_to 20@ 21@ 22@ // IF and SET
04E4: unknown_refresh_game_renderer_at 20@ 21@
05CA: AS_actor $PLAYER_ACTOR enter_car 6@ passenger_seat 13@ 30000 ms
0657: car 6@ open_component 18@
marker.Disable(27@)
jump @TAXI_3
:TAXI_22
wait 0
if
0AB0: key_pressed 120
jf @TAXI_2
jump @TAXI_7
:TAXI_3
wait 500
if
actor.InCar($PLAYER_ACTOR,6@)
jf @TAXI_3
0679: put_camera_on_vehicle 6@ offset 0.0 23@ 24@ rotation 0.0 10.0 0.0 0.0 2
player.Money($player_char)+=29@
car.DriveTo(6@,20@, 21@, 22@)
car.SetMaxSpeed(6@,60.0)
car.DoorStatus(6@)=2
car.ToggleTaxiLight(6@)=false
00AE: unknown_set_car 6@ to_ignore_traffic_lights 2
model.Destroy(17@)
model.Destroy(19@)
model.Destroy(#CELLPHONE)
:TAXI_4
wait 0
if or
0AB0: key_pressed 120
actor.Dead(7@)
not player.Defined($player_char)
0103: actor 7@ stopped_near_point_in_car 20@ 21@ 22@ radius 20.0 20.0 1000.0 sphere 1
jf @TAXI_5
03E5: show_text_box 'prie1'
car.SetToNormalDriver(6@)
05CD: AS_actor $PLAYER_ACTOR exit_car 6@
wait 5000
car.DriveTo(6@,3@, 4@, 5@)
car.RemoveReferences(6@)
camera.Restore_WithJumpCut
jump @TAXI
:TAXI_5
wait 0
if
0AB0: key_pressed 32
jf @TAXI_4
02A3: toggle_widescreen 1
fade 0 500
22@+=100
wait 1000
car.PutAt(6@,20@, 21@, 22@)
wait 1000
fade 1 500
wait 500
02A3: toggle_widescreen 0
03E5: show_text_box 'prie1'
car.SetToNormalDriver(6@)
05CD: AS_actor $PLAYER_ACTOR exit_car 6@
wait 5000
car.DriveTo(6@,3@, 4@, 5@)
car.RemoveReferences(6@)
camera.Restore_WithJumpCut
jump @TAXI
:TAXI_6
00BA: text_styled 'NOMONEY' 2000 ms 2
jump @TAXI
:TAXI_7
00BA: text_styled 'prie3' 2000 ms 2
car.DriveTo(6@,0.0, 0.0, 0.0)
car.SetToNormalDriver(6@)
car.RemoveReferences(6@)
camera.Restore_WithJumpCut
model.Destroy(17@)
model.Destroy(19@)
model.Destroy(#CELLPHONE)
marker.Disable(27@)
jump @TAXIНе забудьте скачать текст Cleo_text.rar
Код постоянно меняю.
Использывание:
1.Выбераем на карте точку;
2.Нажимаем Ф9 выбераем такси/лимузин;
3.1.едем;-)
3.2.Если нажать пробел - пропустим поездку
Last edited by Vlad (08-03-2009 18:09)
Offline
Не могу убрать с руки CJя телефон
Открой поиск опкодов, и найди опкод, который содержит " hold_cellphone ".
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
Gyr, если ты про
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0
то он такой же, как и
0729: unknown_action_sequence $PLAYER_ACTOR 0
тоесть телефон все равно не пропадает
Last edited by Vlad (07-03-2009 12:40)
Offline
Я понял в чем проблема: попробуй после 0729: AS_actor $PLAYER_ACTOR hold_cellphone 0 подождать немного (WAIT 500). У тебя актёр просто не успевает убрать телефон в карман. Блок :TAXI_11
P.S.: А такси начинает тупить, когда точка назначение очень далеко (например GROOVE_STREET ==> Werdant Meadows), я прав?
Last edited by Gyr (07-03-2009 14:01)
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
А можете сделать так, чтобы тебя везла тача в которой сидишь, кнопки теже.
Offline
А можете сделать так, чтобы тебя везла тача в которой сидишь, кнопки теже.
В смысле? Чтоб тебя машина без водителя везла?
Я понял в чем проблема: попробуй после 0729: AS_actor $PLAYER_ACTOR hold_cellphone 0 подождать немного (WAIT 500). У тебя актёр просто не успевает убрать телефон в карман. Блок :TAXI_11
Я попробывал, все равно телефон в руке, но спс за мысль=)
P.S.: А такси начинает тупить, когда точка назначение очень далеко (например GROOVE_STREET ==> Werdant Meadows), я прав?
Да. Ты прав, такси тупит когда путь далек:crazy:
Last edited by Vlad (07-03-2009 15:14)
Offline
Порылся в старых скриптах. Короче ждать надо минимум секунду, лучше полторы
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
Скрипт такси уже есть, еще существует вариант где можно вызвать машину или вертолет. У вертолета, конечно, есть преимущество - он "не тупит", т.к. в воздухе нет препятствий. Думаю, что в варианте с автомобилем можно решить эту проблему - например создать на карте сеть ориентировочных точек. От точки к точке машина сможет проехать по любому маршруту.
Offline
Gyr
Скрипт таксиПорылся в старых скриптах. Короче ждать надо минимум секунду, лучше полторы
Я ставил задержку 3 секунды и не пошло
Den_spb
Скрипт такси уже есть, еще существует вариант где можно вызвать машину или вертолет.
Я знаю что есть, но хоьел сделать свой, потренироватся в скриптинге
У вертолета, конечно, есть преимущество - он "не тупит", т.к. в воздухе нет препятствий.
у вертолета будут проблемы с приземлением, а в воздухе много небоскребов=)
Думаю, что в варианте с автомобилем можно решить эту проблему - например создать на карте сеть ориентировочных точек. От точки к точке машина сможет проехать по любому маршруту.
Так можно было бы сделать, если бы такси ехало в уже готовые точки, а тут каждый раз точки разные, так как такси едет туда, куда покажеш на карте. И еще, машина тупит еще сильнее если игратся путями;-)(проверял много раз)
Offline
у вертолета будут проблемы с приземлением, а в воздухе много небоскребов
Нет, я испытывал тот скрипт - проблем с приземлением не было. Кроме того, автор установил вертолету иммунитеты для защиты от повреждений.
Так можно было бы сделать, если бы такси ехало в уже готовые точки, а тут каждый раз точки разные, так как такси едет туда, куда покажеш на карте.
Можно, как вариант, создать точки в тех местах, где начинаются междугородние шоссе. Тогда сначала такси выедет из города на эту точку, а потом уже по шоссе приедет в другой город. На шоссе значительно меньше препятствий, чем в городе.
Last edited by Den_spb (07-03-2009 16:50)
Offline
Можно, как вариант, создать точки в тех местах, где начинаются междугородние шоссе. Тогда сначала такси выедет из города на эту точку, а потом уже по шоссе приедет в другой город. На шоссе значительно меньше препятствий, чем в городе.
Идея хорошая, можно будет проверить;-)
Забыл выложить ссылку на текст:blush: Извеняюсь:blush:
НАШЕЛ.
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 Player.CanMove($PLAYER_CHAR) = False
Нельзя выполнять действия над актером до того, как он уберет с руки телефон, тоесть надо поставить так:
Player.CanMove($PLAYER_CHAR) = False 0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
Код поменял, еще добавил приятную камеру в салоне( ну может кому-то и не приятную=))
Last edited by Vlad (07-03-2009 21:08)
Offline
{$CLEO .cs}
0000: NOP
:TAXI
wait 0
if
player.Defined($player_char)
jf @TAXI
if
//$ONMISSION == 0 // integer values
not Actor.Driving($PLAYER_ACTOR)
0AB0: key_pressed 57
jf @TAXI
077E: $ACTIVE_INTERIOR = active_interior
if
0038: $ACTIVE_INTERIOR == 0
jf @TAXI
if
010A: player $PLAYER_CHAR money >= 10000
jf @TAXI_6
25@ = 100
26@ = 10000
29@=0
0581: toggle_radar 0
08D4: 9@ = create_panel_with_title 'TAXIST' position 29.0 170.0 width 300.0 columns 2 interactive 1 background 1 alignment 1
08DB: set_panel 9@ column 0 header 'DUMMY' data 'DUMMY' 'TAXI' 'STRETCH' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
08D6: set_panel 9@ column 1 alignment 1
08EE: set_panel 9@ column 1 row 1 text_1number GXT 'DOLLAR' number 25@
08EE: set_panel 9@ column 1 row 2 text_1number GXT 'DOLLAR' number 26@
090E: set_panel 9@ active_row 1
01B4: toggle_player $PLAYER_CHAR can_move 0
09DB: set_panel 9@ column 0 width 230
09DB: set_panel 9@ column 1 width 70
:TAXI_0
wait 0
if
00E1: player 0 pressed_key 16
jf @TAXI_01
08D7: 28@ = panel 9@ active_row
0581: toggle_radar 1
player.Money($player_char)+=-100
gosub @TAXI_RESULT
:TAXI_01
wait 0
if
00E1: player 0 pressed_key 15
jf @TAXI_0
0581: toggle_radar 1
03E6: remove_text_box
08DA: remove_panel 9@
01B4: toggle_player $PLAYER_CHAR can_move 1
wait 1000
jump @TAXI
:TAXI_RESULT
wait 0
if
28@ == 1
jf @TAXI_RESULT_2
17@ = 420
19@=220
13@ = 0
18@ = 3
23@ =-1.5
24@ = 0.5
29@+=-100
jump @TAXI_03
:TAXI_RESULT_2
wait 0
if
28@ == 2
jf @TAXI_RESULT_2
17@ = 409
19@=61
13@ = 2
18@ = 5
23@ =-2.5
24@ =0.5
29@+=-10000
jump @TAXI_03
:TAXI_03
08DA: remove_panel 9@
01B4: toggle_player $PLAYER_CHAR can_move 1
Model.Load(17@)
Model.Load(19@)
Model.Load(#CELLPHONE)
038B: load_requested_models
:TAXI_1
wait 0
if and
model.Available(17@)
model.Available(19@)
model.Available(#CELLPHONE)
jf @TAXI_1
04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 20.0 20.0 0.0
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
02C1: store_to 3@ 4@ 5@ car_path_coords_closest_to 0@ 1@ 2@
02C1: store_to 14@ 15@ 16@ car_path_coords_closest_to 10@ 11@ 12@
car.Create(6@, 17@, 3@, 4@, 5@)
0229: set_car 6@ primary_color_to 6 secondary_color_to 6
car.SetImmunities(6@,1,1,1,1,1)
0129: 7@ = create_actor 4 19@ in_car 6@ driverseat
054A: set_actor 7@ immune_to_car_headshots 1
Player.CanMove($PLAYER_CHAR) = False
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
wait 500
car.DriveTo(6@,14@, 15@, 16@)
car.SetMaxSpeed(6@,10.0)
marker.CreateAboveCar(27@,6@)
marker.SetColor(27@,8)
car.ToggleTaxiLight(6@)=true
:TAXI_11
wait 3000
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0
wait 2000
Player.CanMove($PLAYER_CHAR) = true
:TAXI_2
wait 10
if
0103: actor 7@ stopped_near_point_in_car 14@ 15@ 16@ radius 10.0 10.0 10.0 sphere 1
jf @TAXI_22
0AB6: store_target_marker_coords_to 20@ 21@ 22@ // IF and SET
04E4: unknown_refresh_game_renderer_at 20@ 21@
05CA: AS_actor $PLAYER_ACTOR enter_car 6@ passenger_seat 13@ 30000 ms
0657: car 6@ open_component 18@
marker.Disable(27@)
jump @TAXI_3
:TAXI_22
wait 0
if
0AB0: key_pressed 120
jf @TAXI_2
jump @TAXI_7
:TAXI_3
wait 500
if
actor.InCar($PLAYER_ACTOR,6@)
jf @TAXI_3
0679: put_camera_on_vehicle 6@ offset 0.0 23@ 24@ rotation 0.0 10.0 0.0 0.0 2
player.Money($player_char)+=29@
car.DriveTo(6@,20@, 21@, 22@)
car.SetMaxSpeed(6@,60.0)
car.DoorStatus(6@)=2
car.ToggleTaxiLight(6@)=false
00AE: unknown_set_car 6@ to_ignore_traffic_lights 2
model.Destroy(17@)
model.Destroy(19@)
model.Destroy(#CELLPHONE)
:TAXI_4
wait 0
if or
wasted_or_busted
0AB0: key_pressed 120
actor.Dead(7@)
0103: actor 7@ stopped_near_point_in_car 20@ 21@ 22@ radius 20.0 20.0 1000.0 sphere 1
jf @TAXI_5
03E5: show_text_box 'prie1'
car.SetToNormalDriver(6@)
05CD: AS_actor $PLAYER_ACTOR exit_car 6@
wait 5000
car.DriveTo(6@,3@, 4@, 5@)
car.RemoveReferences(6@)
camera.Restore_WithJumpCut
jump @TAXI
:TAXI_5
wait 0
if
0AB0: key_pressed 32
jf @TAXI_4
02A3: toggle_widescreen 1
fade 0 500
22@+=100
wait 1000
car.PutAt(6@,20@, 21@, 22@)
wait 1000
fade 1 500
wait 500
02A3: toggle_widescreen 0
03E5: show_text_box 'prie1'
car.SetToNormalDriver(6@)
05CD: AS_actor $PLAYER_ACTOR exit_car 6@
wait 5000
car.DriveTo(6@,3@, 4@, 5@)
car.RemoveReferences(6@)
camera.Restore_WithJumpCut
jump @TAXI
:TAXI_6
00BA: text_styled 'NOMONEY' 2000 ms 2
jump @TAXI
:TAXI_7
00BA: text_styled 'prie3' 2000 ms 2
car.DriveTo(6@,0.0, 0.0, 0.0)
car.SetToNormalDriver(6@)
car.RemoveReferences(6@)
camera.Restore_WithJumpCut
model.Destroy(17@)
model.Destroy(19@)
model.Destroy(#CELLPHONE)
marker.Disable(27@)
jump @TAXIТеперь он убирает телефон в карман.
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
wasted_or_busted не используется в скриптах, только в миссиях. Вместо него нужно использовать if Player.Defined (опкод 0256:) или соответственно if not Player.Defined (8256:)
Offline
wasted_or_busted не используется в скриптах, только в миссиях. Вместо него нужно использовать if Player.Defined (опкод 0256:) или соответственно if not Player.Defined (8256:)
А я и не знал=)
Offline
wasted_or_busted не используется в скриптах, только в миссиях. Вместо него нужно использовать if Player.Defined (опкод 0256:) или соответственно if not Player.Defined (8256:)
Вот кстати ты сказал, что только в мисиях, но спидометр вылетал, когда CJ умирает или его аристовывают в машине, после того, как я вставил проверку wasted_or_busted все стало норм.=)
Как ты это обьясниш?
Offline
Pages: 1