#26 Re: Модификации » [SA|REL] Штраф за превышение скорости в городе » 19-12-2007 01:04

я бы еще не поленился добавить

2@ == 72 // COPS SEEN YOU
then  
if and
          Actor.Driving($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
84A9: not actor $PLAYER_ACTOR driving_helicopter
      not Actor.DrivingPoliceVehicle($PLAYER_ACTOR)
      not Actor.DrivingPlane($PLAYER_ACTOR)
then
03C0: 0@ = actor $PLAYER_ACTOR car

чтобы полиция не пыталась ловить вас, когда вы пролетаете мимо, или едете на коповской тачке. Кстати, 84C8 включает в себя 84A9 и Actor.DrivingPlane?

#27 Re: Модификации » [SA | REL] Air Traffic mod - оживление неба и аэропортов » 17-12-2007 23:34

Ловите update мода. В архив сложил скрипт, самолет Dimazzza (надеюсь, что он не обидится) и 2 комплекта скинов.
http://westcoast-4-life.msk.ru/Air_Traffic_Mod_20.rar

#28 Re: Модификации » Автосалон 2.0 » 12-12-2007 23:20

EDIT: Новый код, короткий и рабочий, я еще добавил код продавца, который стоит на площаке, но после его добавления скрипт перестал работать :)

все равно в этом ничерта не просто разобраться - логика многих вещей отличается от обычного построения main'a.

[strike]Вот попробовал доработать скрипт, а) чтобы панель убиралась, когда появляется сообщение о нехватке денег б) чтобы Карл не убирался из сферы, а просто была проверка после покупки машины, стоит ли он в сфере, и пока он стоит перехода на начало скрипта не происходит. Только чего-то после выбора машины игра вылетает... ;( нашел очень мало инфы по массивам и такому построению if... then... end...[/strike]
а вообще спасибо, что помогаете, в финале раскидаю автосалоны по всему штату в виде отдельных CLEO скриптов.

{$CLEO .cs}

0000: NOP

12@ = 2132.0 
13@ = -1149.3 
14@ = 24.2

15@ = Marker.CreateIconAndSphere(57, 12@, 13@, 14@)

0@ = 4300 
1@ = 6100 
2@ = 4200 
3@ = 6200 
4@ = 6500 
5@ = 5100 
6@ = 4900 
7@ = 500 
8@ = 5300 
9@ = 7400 
10@ = 5300 
11@ = 8000 
20@ = 547 
21@ = 479 
22@ = 541 
23@ = 482 
24@ = 419 
25@ = 492 
26@ = 566 
27@ = 516 
28@ = 600 
29@ = 475 
30@ = 576 
31@ = 518 

:NONAME_236
wait 0 
if and
      Player.Defined($PLAYER_CHAR)   
00FE: actor $PLAYER_ACTOR 0 2132.0 -1149.3 24.2 radius 200.0 200.0 200.0 
jf @NONAME_236

:NONAME_237
wait 0 
Model.Load(#HMOST)
038B: load_requested_models
if
   Model.Available(#HMOST)
jf @NONAME_237 
$AUTO_DEAL1 = Actor.Create(CivMale, #HMOST, 2132.0, -1149.3, 24.2)

:NONAME_240
if 
0102: actor $PLAYER_ACTOR stopped_near_point_on_foot 2131.9434 2131.9434 24.4603 radius 1.0 1.0 2.0 sphere 0
jf @NONAME_239
jump @NONAME_365

:NONAME_239
if 
80FE: not actor $PLAYER_ACTOR 0 2132.0 -1149.3 24.2 radius 200.0 200.0 200.0
jf @NONAME_240
Actor.DestroyWithFade($AUTO_DEAL1)

:NONAME_365 
Player.CanMove($PLAYER_CHAR) = False
03E6: remove_text_box 
08D4: 16@ = create_panel_with_title 'DEALCAR' position 29.0 165.0 width 60.0 columns 2 interactive 1 background 1 alignment 1 
08D6: set_panel 16@ column 0 alignment 1 
09DB: set_panel 16@ column 0 width 140 
08DB: set_panel 16@ column 0 header 'DUMMY' data 'PRIMO' 'REGINA' 'BULLET' 'BURRITO' 'ESPERAN' 'GREENWO' 'TAHOMA' 'NEBULA' 'PICADOR' 'SABRE' 'TORNADO' 'BUCCANE'  // Primo // Regina // Bullet // Burrito // Esperanto // Greenwood // Tahoma // Nebula // Picador // Sabre // Tornado // Buccaneer
08D6: set_panel 16@ column 1 alignment 2 
08DB: set_panel 16@ column 1 header 'COST' data 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'  // Cost
18@ = 0 

:NONAME_694
08EE: set_panel 16@ column 1 row 18@ text_1number GXT 'DOLLAR' number 0@(18@,12i)  // $~1~
18@ += 1 
  18@ > 11 
jf @NONAME_694 
090E: set_panel 16@ active_row 0 

:NONAME_695
wait  0
if  0
00E1:   player 0 pressed_key 15
jf @NONAME_778
08DA: remove_panel 16@
03E6: remove_text_box
jump @NONAME_1120

:NONAME_778
if 
00E1:   player 0 pressed_key 16 
jf @NONAME_695 
08D7: 17@ = panel 16@ active_row 
0085: 19@ = 0@(17@,12i) // (int) 
if 
   not Player.Money($PLAYER_CHAR) > 19@
jf @NONAME_857
08DA: remove_panel 16@
03E6: remove_text_box 
00BC: show_text_highpriority GXT 'IE07' time 3500 flag 1  // ~r~You don't have enough cash!
jump @NONAME_1120 

:NONAME_857
19@ *= -1 
Player.Money($PLAYER_CHAR) += 19@

:NONAME_904
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 
0169: set_fade_color_RGB 0 0 0 
fade 0 1500 

:NONAME_926
fading 
jf @NONAME_946 
wait 0 
jump @NONAME_926 

:NONAME_946
Model.Load(20@(17@,12i))

:NONAME_955
   not Model.Available(20@(17@,12i))
jf @NONAME_982 
wait 0 
jump @NONAME_955 

:NONAME_982
wait 100
08DA: remove_panel 16@
03E6: remove_text_box
0395: clear_area 1 at 2126.3237 -1144.1848 24.8206 radius 2.0
Actor.PutAt($PLAYER_ACTOR, 2126.3237, -1144.1848, 24.8206)
Actor.Angle($PLAYER_ACTOR) = 41.6
0395: clear_area 1 at 2123.8 -1140.3 26.5 radius 2.0 
19@ = Car.Create(20@(17@,12i), 2123.8, -1140.3, 26.5)
Car.Angle(19@) = 351.0
Camera.SetPosition(2127.2, -1149.4, 26.2, 0, 0, 0)
Camera.PointAt(2123.8, -1140.3, 26.5, 2)
wait 2000 
fade 1 1500 

:NONAME_1097
fading 
jf @NONAME_1117 
wait 0 
jump @NONAME_1097 

:NONAME_1117
wait 1000 
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
Car.RemoveReferences(19@)
Model.Destroy(20@(17@,12i))
wait 1000 

:NONAME_1120
wait  250
Player.CanMove($PLAYER_CHAR) = True
if  0
0102:   actor $PLAYER_ACTOR stopped_near_point_on_foot 12@ 13@ 14@ radius  1.5  1.5  1.5 sphere 0
jf @NONAME_236
jump @NONAME_1120

#29 Re: Sanny Builder и CLEO » CLEO не работает! » 10-12-2007 22:11

Переименовал scmlog.cleo в scmlog.asi, положил в папку c exe и игра стала вылетать при запуске...
scm500k.asi я вообще убрал... хз.
если в папке cleo лежит, то работает, но ничего не мониторит... показал время запуска, время окончания, а между ничего... да еще и версию 1.04, хотя у меня 1.05 скачанная стоит

#30 Re: Модификации » Автосалон 2.0 » 10-12-2007 21:47

да уж массивы для меня штука непонятная...


{$CLEO}

:DEAL1_1
03A4: name_thread 'CHEAP'
0006: 4@ =  2132.0  // integer values
0006: 5@ =  -1149.3  // integer values
0006: 6@ =  24.2  // integer values 
04CE: $CDICON = create_icon_marker_without_sphere  57 at  4@ 5@ 6@
03BC: 10@ = create_sphere  4@ 5@ 6@  1.5

:DEAL1_2
wait  250
00D6: if  0
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @DEAL1_2
00D6: if  0
03EE:   player $PLAYER_CHAR controllable
004D: jump_if_false @DEAL1_2
00D6: if  0
0102:   actor $PLAYER_ACTOR stopped_near_point_on_foot 4@ 5@ 6@ radius  1.5  1.5  1.5 sphere 0
004D: jump_if_false @DEAL1_2
jump @DEAL1_3

:DEAL1_3
var
    0@: Array 12 of Integer
    20@: Array 12 of Integer
end
0@ = 4300
1@ = 6100
2@ = 4200
3@ = 6200
4@ = 6500
5@ = 5100
6@ = 4900
7@ = 500
8@ = 5300
9@ = 7400
10@ = 5300
11@ = 8000

20@ = #PRIMO
21@ = #REGINA
22@ = #BULLET
23@ = #BURRITO
24@ = #ESPERANT
25@ = #GREENWOO
26@ = #TAHOMA
27@ = #NEBULA
28@ = #PICADOR
29@ = #SABRE
30@ = #TORNADO
31@ = #BUCCANEE

while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
            00E1:   player 0 pressed_key 4 
        then
            Player.CanMove($PLAYER_CHAR) = False
            08D4: 12@ = create_panel_with_title 'DEALCAR' position 29.0 165.0 width 60.0 columns 2 interactive 1 background 1 alignment 1
            08D6: set_panel 12@ column 0 alignment 1
            09DB: set_panel 12@ column 0 width 140
            08DB: set_panel 12@ column 0 header 'DUMMY' data 'PRIMO' 'REGINA' 'BULLET' 'BURRITO' 'ESPERAN' 'GREENWO' 'TAHOMA' 'NEBULA' 'PICADOR' 'SABRE' 'TORNADO' 'BUCCANE'
            08D6: set_panel 12@ column 1 alignment 2
            08DB: set_panel 12@ column 1 header 'COST' data 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
            for 13@ = 0 to 11 
                08EE: set_panel 12@ column 1 row 13@ text_1number GXT 'DOLLAR' number 0@[13@]  // $~1~
            end
            while true
                wait 0
                if
                    00E1:   key_pressed  0  15
                then
                    Break            
                end
                if
                    00E1:   key_pressed  0  16
                then
                    08D7: 14@ = panel 12@ active_row
                    13@ = 0@[14@]
                    13@ *= -1
                    Player.Money($PLAYER_CHAR) += 13@
                    0AA5: call 0x43A0B6 num_params 1 pop 1 20@[14@]
                    Break
                end 
            end
            08DA: remove_panel 12@
            03E6: remove_text_box
            Player.CanMove($PLAYER_CHAR) = True 
        end       
    end    
end

в этом случае после входа в сферу нужно еще нажимать кнопку Action - не знаю как убрать
Кроме того проверки денег нет, т.е. они отнимаются в нужном объеме, но уходят в минус.
И еще машина появляется врезанной в здание wink

#31 Re: Sanny Builder и CLEO » CLEO не работает! » 10-12-2007 08:53

2 Seemann:
у меня такая странная проблема, не работает scmlog, CLEO работает прекрасно, но логи не ведутся. Просто в /CLEO/ появляется такой файл scmlog.log с таким содержанием и все...
После запуска игры меняется только время вверху. Версия scm loga 1.0.5, только скачана с сайта.

************ SCM LOG ************
> Logging started: 22:50:31
*********************************

*********************************
> Total opcodes: 0
> Logging finished: 22:50:59
  Powered by SCMLog v1.04
*********************************

#32 Re: Модификации » Автосалон 2.0 » 08-12-2007 17:32

Очень интересно, но можно ли обойтись без минусов перед названиями?

IMPALA - это машина, которую я добавил (не заменил) в игру

#33 Re: Модификации » Автосалон 2.0 » 08-12-2007 11:38

2 flashTrash

Понимаешь, я не могу указывать цену машины в куске скрипта с ее созданием и проверкой цены - этот кусок должен быть единственным для всех машин. Поэтому я должен указать цену машины в лейбле на который можной перейти с помощью 0871: init_jump_table.
А потом с уже загруженной переменной цены мне нужно перейти к куску создания машины и проверки денег.

2 flashTrash и Alexander

Я попробовал оба варианта, машины появляются, но проверка денег не делается - деньги не отнимаются.

{$CLEO}

:DEAL1_1
03A4: name_thread 'CHEAP'
0006: 4@ =  2132.0  // integer values
0006: 5@ =  -1149.3  // integer values
0006: 6@ =  24.2  // integer values 
04CE: $CDICON = create_icon_marker_without_sphere  57 at  4@ 5@ 6@
03BC: 10@ = create_sphere  4@ 5@ 6@  1.5

:DEAL1_2
wait  250
00D6: if  0
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @DEAL1_2
00D6: if  0
03EE:   player $PLAYER_CHAR controllable
004D: jump_if_false @DEAL1_2
00D6: if  0
0102:   actor $PLAYER_ACTOR stopped_near_point_on_foot 4@ 5@ 6@ radius  1.5  1.5  1.5 sphere 0
004D: jump_if_false @DEAL1_2
jump @DEAL1_3
return

:DEAL1_3
01B4: set player $PLAYER_CHAR frozen_state  0 (frozen)
08D4: $deal1_handle = create_panel_with_title 'DEALCAR' position 29.0 165.0 width 60.0 columns 2 interactive 1 background 1 alignment 1
08D6: set_panel $deal1_handle column 0 alignment 1
09DB: set_panel $deal1_handle column 0 width 140
08DB: $deal1_handle 0 'DUMMY' 'PRIMO' 'REGINA' 'IMPALA' 'BURRITO' 'ESPERAN' 'GREENWO' 'TAHOMA' 'NEBULA' 'PICADOR' 'SABRE' 'TORNADO' 'BUCCANE'
08D6: set_panel $deal1_handle column 1 alignment 2
08DB: $deal1_handle 1 'COST' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
10@ = 4300
11@ = 6100
12@ = 4200
13@ = 6200
14@ = 6500
15@ = 5100
16@ = 4900
17@ = 500
18@ = 5300
19@ = 7400
20@ = 5300
21@ = 8000
08EE: set_panel $deal1_handle column 1 row 0 text_1number 'DOLLAR' 10@  // $~1~
08EE: set_panel $deal1_handle column 1 row 1 text_1number 'DOLLAR' 11@  // $~1~
08EE: set_panel $deal1_handle column 1 row 2 text_1number 'DOLLAR' 12@  // $~1~
08EE: set_panel $deal1_handle column 1 row 3 text_1number 'DOLLAR' 13@  // $~1~
08EE: set_panel $deal1_handle column 1 row 4 text_1number 'DOLLAR' 14@  // $~1~
08EE: set_panel $deal1_handle column 1 row 5 text_1number 'DOLLAR' 15@  // $~1~
08EE: set_panel $deal1_handle column 1 row 6 text_1number 'DOLLAR' 16@  // $~1~
08EE: set_panel $deal1_handle column 1 row 7 text_1number 'DOLLAR' 17@  // $~1~
08EE: set_panel $deal1_handle column 1 row 8 text_1number 'DOLLAR' 18@  // $~1~
08EE: set_panel $deal1_handle column 1 row 9 text_1number 'DOLLAR' 19@  // $~1~
08EE: set_panel $deal1_handle column 1 row 10 text_1number 'DOLLAR' 20@  // $~1~
08EE: set_panel $deal1_handle column 1 row 11 text_1number 'DOLLAR' 21@  // $~1~

:DEAL1_4
wait  0
if  0
00E1:   key_pressed  0  15
004D: jump_if_false @DEAL1_5
08DA: remove_panel $deal1_handle
03E6: remove_text_box
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
0002: jump @DEAL1_END

:DEAL1_5
if  0
00E1:   key_pressed  0  16
004D: jump_if_false @DEAL1_4
08D7: 7@ = panel $deal1_handle active_row
08DA: remove_panel $deal1_handle
03E6: remove_text_box
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
0871: init_jump_table 7@ total_jumps  12  0 @PRIMO jumps  0 @PRIMO  1 @REGINA  2 @IMPALA  3 @BURRITO  4 @ESPERAN  5 @GREENWO  6 @TAHOMA
0872: jump_table_jumps  7 @NEBULA  8 @PICADOR  9 @SABRE  10 @TORNADO  11 @BUCCANE  -1 @PRIMO  -1 @PRIMO  -1 @PRIMO  -1 @PRIMO

:PICKERZ2
wait 250
03BF: set_player $PLAYER_CHAR ignored_by_everyone_to  1 (true)
01B4: set_player $PLAYER_CHAR frozen_state  0 (frozen)
0169: set_fade_color  0  0  0
fade   0 1500
0006: 1@ =  2123.8  // integer values
0006: 2@ =  -1140.3  // integer values
0006: 3@ =  26.5  // integer values 

:PICKERZ3
if
fading
else_jump @PICKERZ4
wait  0
jump @PICKERZ3

:PICKERZ4
return

:PRIMO
wait 100
0085: 10@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:REGINA
wait 100
0085: 11@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:IMPALA
wait 100
0085: 12@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:BURRITO
wait 100
0085: 13@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:ESPERAN
wait 100
0085: 14@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:GREENWO
wait 100
0085: 15@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:TAHOMA
wait 100
0085: 16@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:NEBULA
wait 100
0085: 17@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:PICADOR
wait 100
0085: 18@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:SABRE
wait 100
0085: 19@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:TORNADO
wait 100
0085: 20@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:BUCCANE
wait 100
0085: 21@ = 22@
23@ = 547 // integer values
jump @DEAL1_6

:DEAL1_6
010B: 33@ = player $PLAYER_CHAR money
002D: 33@ >= 22@
004D: jump_if_false @NOMONEY
0085: 33@ = 22@
0012: 33@ *= -1 
0109: player $PLAYER_CHAR money += 33@
wait  10
gosub @PICKERZ2
jump @DEAL1_7

:DEAL1_7
Model.Load(23@)
038B: load_requested_models 
       
:DEAL1_8
if
   not Model.Available(23@)
004D: jump_if_false @DEAL1_9
wait  0
jump @DEAL1_7

:DEAL1_9
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car 23@ at  1@ 2@ 3@
jump @NEXTRI
     
:NEXTRI
wait  0
0175: set_car 8@ z_angle_to  351.0
015F: set_camera_position  2127.2 -1149.4  26.2  0  0  0
0160: point_camera  1@ 2@ 3@  2
wait  2000
fade  1 1500

:TRI_566
if  0
fading
004D: jump_if_false @TRI_576
wait  0
jump @TRI_566

:TRI_576
00A1: put_actor $PLAYER_ACTOR at  2132.3 -1147.4  24.7
0173: set_actor $PLAYER_ACTOR z_angle_to  40.4
wait  1000
02EB: restore_camera_with_jumpcut
0373: set_camera_directly_behind_player

:TRI_583
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
03BF: set_player $PLAYER_CHAR ignored_by_everyone_to  0 (false)
01C3: remove_references_to_car 8@
wait  1000
jump @DEAL1_2     
                    
:NOMONEY
00BC: text_highpriority 'IE07'  2000 ms  1
wait  3000
jump @DEAL1_2                    
                   
:DEAL1_END
wait  250
if  0
0102:   NOT actor $PLAYER_ACTOR stopped_near_point_on_foot 4@ 5@ 6@ radius  1.5  1.5  1.5 sphere 0
004D: jump_if_false @DEAL1_2
jump @DEAL1_END

#34 Re: Модификации » Автосалон 2.0 » 07-12-2007 23:24

Хотел все это оптимизировать но столкнулся с проблемой: не могу понять как я могу заменить количество отнмимаемых денег у игрока на переменную, которая будет браться из таблицы (10@ = 4300)

Если подставить 10@ вместо 4300 игра вылетает...

:DEAL1_6
// selected button 'PRIMO' (0)
if  
010A:   player $PLAYER_CHAR money >  4299
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -4300
wait  10
gosub @PICKERZ2
jump @PRIMO

#35 Re: Модификации » Автосалон 2.0 » 07-12-2007 13:41

спасибо! попробую пофиксить на досуге

#36 Re: Модификации » Автосалон 2.0 » 06-12-2007 22:50

вот блин, я его фигово написал, т.к. не знаю как лучше - мне просто нужно сделать перед покупкой машины проверку и вычет денег игрока...
Как я могу сделать, чтобы код создания машины был один?
а глобальные переменные поправлю.. спасибо

#37 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 06-12-2007 22:02

ну в общем понятно...

я тут хотел в моде поменять многокнопочные комбинации клавиш, но не нашел как можно проверить, что кнопка не нажата

0AB0:  key_pressed 143

- просто проверяет, что нажата, что делать с таким исходным скриптом, когда используется проверка NOT?

wait 0 
if and
80E1:   not key_pressed 0 16 
80E1:   not key_pressed 0 18 
else_jump @NONAME_3_59

#38 Модификации » Автосалон 2.0 » 06-12-2007 20:36

jayrocc
Replies: 18

Вот решил переделать свой старый код автосалона. Подходишь, выбираешь из меню машину, покупаешь, рядом появляется купленная машина. Скрипт не сложный, но не оптимизированный. По сравнению с Grotti Street Autos не тормозит, т.к. все машины не грузятся разом, а только после покупки. Когда код оптитмизирую раскидаю штук 5 автосалонов по штату с разными по калибру машинами.

EDIT: Поправил весь скрипт, в CLEO работает прекрасно. Добавил вторую колонку с ценой, исправил цены, убрал глобальные переменные.

Impala это моя добавленная тачка в игру, если хотите, замените ее на что-нибудь другое

{$CLEO}

:DEAL1_1
03A4: name_thread 'CHEAP'
0006: 4@ =  2132.0  // integer values
0006: 5@ =  -1149.3  // integer values
0006: 6@ =  24.2  // integer values 
04CE: $CDICON = create_icon_marker_without_sphere  57 at  4@ 5@ 6@
03BC: 10@ = create_sphere  4@ 5@ 6@  1.5

:DEAL1_2
wait  250
00D6: if  0
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @DEAL1_2
00D6: if  0
03EE:   player $PLAYER_CHAR controllable
004D: jump_if_false @DEAL1_2
00D6: if  0
0102:   actor $PLAYER_ACTOR stopped_near_point_on_foot 4@ 5@ 6@ radius  1.5  1.5  1.5 sphere 0
004D: jump_if_false @DEAL1_2
jump @DEAL1_3
return

:DEAL1_3
01B4: set player $PLAYER_CHAR frozen_state  0 (frozen)
08D4: $deal1_handle = create_panel_with_title 'DEALCAR' position 29.0 165.0 width 60.0 columns 2 interactive 1 background 1 alignment 1
08D6: set_panel $deal1_handle column 0 alignment 1
09DB: set_panel $deal1_handle column 0 width 140
08DB: $deal1_handle 0 'DUMMY' 'PRIMO' 'REGINA' 'IMPALA' 'BURRITO' 'ESPERAN' 'GREENWO' 'TAHOMA' 'NEBULA' 'PICADOR' 'SABRE' 'TORNADO' 'BUCCANE'
08D6: set_panel $deal1_handle column 1 alignment 2
08DB: $deal1_handle 1 'COST' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
10@ = 4300
11@ = 6100
12@ = 4200
13@ = 6200
14@ = 6500
15@ = 5100
16@ = 4900
17@ = 500
18@ = 5300
19@ = 7400
20@ = 5300
21@ = 8000
08EE: set_panel $deal1_handle column 1 row 0 text_1number 'DOLLAR' 10@  // $~1~
08EE: set_panel $deal1_handle column 1 row 1 text_1number 'DOLLAR' 11@  // $~1~
08EE: set_panel $deal1_handle column 1 row 2 text_1number 'DOLLAR' 12@  // $~1~
08EE: set_panel $deal1_handle column 1 row 3 text_1number 'DOLLAR' 13@  // $~1~
08EE: set_panel $deal1_handle column 1 row 4 text_1number 'DOLLAR' 14@  // $~1~
08EE: set_panel $deal1_handle column 1 row 5 text_1number 'DOLLAR' 15@  // $~1~
08EE: set_panel $deal1_handle column 1 row 6 text_1number 'DOLLAR' 16@  // $~1~
08EE: set_panel $deal1_handle column 1 row 7 text_1number 'DOLLAR' 17@  // $~1~
08EE: set_panel $deal1_handle column 1 row 8 text_1number 'DOLLAR' 18@  // $~1~
08EE: set_panel $deal1_handle column 1 row 9 text_1number 'DOLLAR' 19@  // $~1~
08EE: set_panel $deal1_handle column 1 row 10 text_1number 'DOLLAR' 20@  // $~1~
08EE: set_panel $deal1_handle column 1 row 11 text_1number 'DOLLAR' 21@  // $~1~

:DEAL1_4
wait  0
if  0
00E1:   key_pressed  0  15
004D: jump_if_false @DEAL1_5
08DA: remove_panel $deal1_handle
03E6: remove_text_box
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
0002: jump @DEAL1_END

:DEAL1_5
if  0
00E1:   key_pressed  0  16
004D: jump_if_false @DEAL1_4
08D7: 7@ = panel $deal1_handle active_row
08DA: remove_panel $deal1_handle
03E6: remove_text_box
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
0871: init_jump_table 7@ total_jumps  12  0 @DEAL1_6 jumps  0 @DEAL1_6  1 @DEAL1_7  2 @DEAL1_8  3 @DEAL1_9  4 @DEAL1_10  5 @DEAL1_11  6 @DEAL1_12
0872: jump_table_jumps  7 @DEAL1_13  8 @DEAL1_14  9 @DEAL1_15  10 @DEAL1_16  11 @DEAL1_17  -1 @DEAL1_6  -1 @DEAL1_6  -1 @DEAL1_6  -1 @DEAL1_6

:PICKERZ2
wait 250
03BF: set_player $PLAYER_CHAR ignored_by_everyone_to  1 (true)
01B4: set_player $PLAYER_CHAR frozen_state  0 (frozen)
0169: set_fade_color  0  0  0
fade   0 1500
0006: 1@ =  2123.8  // integer values
0006: 2@ =  -1140.3  // integer values
0006: 3@ =  26.5  // integer values 

:PICKERZ3
if
fading
else_jump @PICKERZ4
wait  0
jump @PICKERZ3

:PICKERZ4
return

:DEAL1_6
// selected button 'PRIMO' (0)
if  
010A:   player $PLAYER_CHAR money >  4299
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -4300
wait  10
gosub @PICKERZ2
jump @PRIMO 

:PRIMO
0247: request_model #PRIMO
       
:PRIMO2
if  0
8248:   NOT   model #PRIMO available
004D: jump_if_false @PRIMO3
wait  0
jump @PRIMO

:PRIMO3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #PRIMO at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_7
// selected button 'REGINA' (1)
if  0
010A:   player $PLAYER_CHAR money >  6099
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -6100
wait  10
gosub @PICKERZ2
jump @REGINA 

:REGINA
0247: request_model #REGINA
       
:REGINA2
if  0
8248:   NOT   model #REGINA available
004D: jump_if_false @REGINA3
wait  0
jump @REGINA

:REGINA3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #REGINA at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_8
// selected button 'IMPALA' (2)
00D6: if  0
010A:   player $PLAYER_CHAR money >  5099
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -5100
wait  10 ms
gosub @PICKERZ2
jump @BLISTAC 

:BLISTAC
0247: request_model #IMPALA
       
:BLISTAC2
if  0
8248:   NOT   model #IMPALA available
004D: jump_if_false @BLISTAC3
wait  0
jump @BLISTAC

:BLISTAC3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #IMPALA at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_9
// selected button 'BURRITO' (3)
if  0
010A:   player $PLAYER_CHAR money >  4199
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -4200
wait  10
gosub @PICKERZ2
jump @BURR 

:BURR
0247: request_model #BURRITO
       
:BURR2
if  0
8248:   NOT   model #BURRITO available
004D: jump_if_false @BURR3
wait  0 ms
jump @BURR

:BURR3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #BURRITO at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_10
// selected button 'ESPERAN' (4)
if  0
010A:   player $PLAYER_CHAR money >  6499
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -6500
wait  10
gosub @PICKERZ2
jump @ESPER 

:ESPER
0247: request_model #ESPERANT
       
:ESPER2
if  0
8248:   NOT   model #ESPERANT available
004D: jump_if_false @ESPER3
wait  0
jump @ESPER

:ESPER3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #ESPERANT at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_11
// selected button 'GREENWO' (5)
if  0
010A:   player $PLAYER_CHAR money >  5099
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -5100
wait  10
gosub @PICKERZ2
jump @GREEN 

:GREEN
0247: request_model #GREENWOO
       
:GREEN2
if  0
8248:   NOT   model #GREENWOO available
004D: jump_if_false @GREEN3
wait  0
jump @GREEN

:GREEN3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #GREENWOO at  1@ 2@ 3@
0002: jump @NEXTRI

:DEAL1_12
// selected button 'TAHOMA' (6)
if  0
010A:   player $PLAYER_CHAR money >  4899
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -4900
wait  10
gosub @PICKERZ2
jump @TAHOM 

:TAHOM
0247: request_model #TAHOMA
       
:TAHOM2
if  0
8248:   NOT   model #TAHOMA available
004D: jump_if_false @TAHOM3
wait  0 ms
jump @TAHOM

:TAHOM3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #TAHOMA at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_13
// selected button 'NEBULA' (7)
if  0
010A:   player $PLAYER_CHAR money >  499
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -500
wait  10 ms
gosub @PICKERZ2
jump @NEBUL 

:NEBUL
0247: request_model #NEBULA
       
:NEBUL2
if  0
8248:   NOT   model #NEBULA available
004D: jump_if_false @NEBUL3
wait  0
jump @NEBUL

:NEBUL3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #NEBULA at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_14
// selected button 'PICADOR' (8)
if  0
010A:   player $PLAYER_CHAR money >  5299
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -5300
wait  10 ms
gosub @PICKERZ2
jump @PICA 

:PICA
0247: request_model #PICADOR
       
:PICA2
if  0
8248:   NOT   model #PICADOR available
004D: jump_if_false @PICA3
wait  0
jump @PICA

:PICA3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #PICADOR at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_15
// selected button 'SABRE' (9)
if  0
010A:   player $PLAYER_CHAR money >  7399
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -7400
wait  10
gosub @PICKERZ2
jump @SABR 

:SABR
0247: request_model #SABRE
       
:SABR2
if  0
8248:   NOT   model #SABRE available
004D: jump_if_false @SABR3
wait  0
jump @SABR

:SABR3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #SABRE at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_16
// selected button 'TORNADO' (10)
if  0
010A:   player $PLAYER_CHAR money >  5299
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -5300
wait  10
gosub @PICKERZ2
jump @TORN 

:TORN
0247: request_model #TORNADO
       
:TORN2
if  0
8248:   NOT   model #TORNADO available
004D: jump_if_false @TORN3
wait  0
jump @TORN

:TORN3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #TORNADO at  1@ 2@ 3@
jump @NEXTRI

:DEAL1_17
// selected button 'BUCCANE' (11)
if  0
010A:   player $PLAYER_CHAR money >  7999
004D: jump_if_false @NOMONEY
0109: player $PLAYER_CHAR money += -8000
wait  10
gosub @PICKERZ2
jump @BUCC 

:BUCC
0247: request_model #BUCCANEE
       
:BUCC2
if  0
8248:   NOT   model #BUCCANEE available
004D: jump_if_false @BUCC3
wait  0
jump @BUCC

:BUCC3
0395: clear_area  1 at  1@ 2@ 3@ range  2.0
00A5: 8@ = create_car #BUCCANEE at  1@ 2@ 3@
jump @NEXTRI
     
:NEXTRI
wait  0
0175: set_car 8@ z_angle_to  351.0
015F: set_camera_position  2127.2 -1149.4  26.2  0  0  0
0160: point_camera  1@ 2@ 3@  2
wait  2000
fade  1 1500

:TRI_566
if  0
fading
004D: jump_if_false @TRI_576
wait  0
jump @TRI_566

:TRI_576
00A1: put_actor $PLAYER_ACTOR at  2132.3 -1147.4  24.7
0173: set_actor $PLAYER_ACTOR z_angle_to  40.4
0001: wait  1000
02EB: restore_camera_with_jumpcut
0373: set_camera_directly_behind_player

:TRI_583
01B4: set_player $PLAYER_CHAR frozen_state  1 (unfrozen)
03BF: set_player $PLAYER_CHAR ignored_by_everyone_to  0 (false)
01C3: remove_references_to_car 8@
wait  1000
jump @DEAL1_2     
                    
:NOMONEY
00BC: text_highpriority 'IE07'  2000 ms  1
wait  3000
jump @DEAL1_2                    
                   
:DEAL1_END
wait  250
if  0
0102:   NOT actor $PLAYER_ACTOR stopped_near_point_on_foot 4@ 5@ 6@ radius  1.5  1.5  1.5 sphere 0
004D: jump_if_false @DEAL1_2
jump @DEAL1_END

#39 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 01-12-2007 18:36

компилил скрипты из тех, что у меня стояли в main секции scm'a. Некоторые работают (тушение машины огнетушителем, мой скрипт самолетов, бензин для машин), а некторые нет, например этот - бензоколонки. Игра вылетает при загрузке/начале новой.

Переменная $11055 это машина игрока. (машина игрока привязывается к этой переменной в скрипте самого расхода бензина).
Может скрипт вылетает из-за того, что машина определена в другом скрипте?
Как можно создавать CLEO поток с проверкой wasted_or_busted?

{$CLEO}

:NONAME_1
thread "PETROLST"
wait 0 
if 
  $ONMISSION == 0 // integer values 
else_jump @NONAME_1 
if and
   Actor.Driving($PLAYER_ACTOR)
   Actor.Stopped($PLAYER_ACTOR)
else_jump @NONAME_1 
if and
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2640.0 1107.0 10.0 radius 5.5 8.7 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2114.0 919.0 11.0 radius 5.5 8.7 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1597.0 2199.0 11.5 radius 5.5 8.7 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2202.0 2473.0 11.0 radius 8.7 5.5 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2146.5 2753.4 11.0 radius 5.5 3.5 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1328.1 2677.3 50.0 radius 2.0 10.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1471.0 1864.5 32.0 radius 8.0 8.0 2.0 sphere 0 
else_jump @NONAME_1_2111 
if and
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -2410.5 975.5 45.5 radius 7.5 4.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1677.7 415.0 7.3 radius 15.5 15.5 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -2242.5 -2563.1 32.0 radius 3.5 3.5 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1382.5 460.0 20.3 radius 4.0 7.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 655.6 -565.0 16.3 radius 4.0 8.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1942.4 -1773.0 13.3 radius 4.0 9.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1605.4 -2714.0 48.3 radius 10.0 13.0 2.0 sphere 0 
else_jump @NONAME_1_2111 
if and
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1001.2 -940.3 42.1 radius 10.0 10.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 487.9 -1739.7 10.7 radius 12.0 12.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1024.6 -1023.1 31.7 radius 12.0 12.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2065.6 -1831.7 13.1 radius 12.0 12.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2746.1 -2585.9 0.3 radius 30.0 30.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1632.7 158.6 0.3 radius 10.0 10.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1895.9 1400.4 0.3 radius 15.0 15.0 5.0 sphere 0 
else_jump @NONAME_1_2111 
if and
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -2953.0 502.5 0.3 radius 30.0 30.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -2231.0 2422.0 0.3 radius 60.0 60.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -631.0 1807.5 0.3 radius 30.0 30.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1627.5 572.5 0.3 radius 10.0 10.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2356.0 520.5 0.3 radius 15.0 15.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 722.0 -1499.5 0.3 radius 20.0 20.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1508.0 1301.0 0.3 radius 10.0 9.0 5.0 sphere 0 
else_jump @NONAME_1_2111 
if and
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1544.0 -1353.5 330.3 radius 10.0 10.0 4.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1005.0 -934.5 42.3 radius 10.0 9.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -2229.0 2327.5 7.3 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1766.9 -2284.1 26.3 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2618.0 2721.0 36.3 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 309.0 1992.3 18.5 radius 30.0 30.0 3.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1360.0 500.0 19.0 radius 80.0 10.0 4.0 sphere 0 
else_jump @NONAME_1_2111 
if and
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1680.0 705.0 31.5 radius 10.0 10.0 4.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 2092.7 2414.5 13.3 radius 4.0 9.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -939.7 2642.3 40.0 radius 25.0 25.0 5.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -90.0 -1168.5 13.3 radius 4.0 9.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 615.0 1693.0 13.3 radius 4.0 9.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1163.0 -186.0 48.3 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1436.8 -2446.6 13.3 radius 4.0 9.0 2.0 sphere 0 
else_jump @NONAME_1_2111 
if and
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1389.9 1770.1 48.3 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -2656.2 642.3 48.3 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 719.1 -457.5 15.9 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1905.5 284.3 40.7 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -2424.7 1023.1 49.9 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -1420.1 2585.8 55.4 radius 10.0 13.0 2.0 sphere 0 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car -100.3 1115.6 19.7 radius 10.0 13.0 2.0 sphere 0 
else_jump @NONAME_1_2111 
if 
8103:   not actor $PLAYER_ACTOR stopped_near_point_in_car 1974.6 2162.6 10.6 radius 10.0 13.0 2.0 sphere 0 
else_jump @NONAME_1_2111 
if and
   Actor.Driving($PLAYER_ACTOR)
   Actor.Stopped($PLAYER_ACTOR)
00A4:   actor $PLAYER_ACTOR 0 598.0 1708.7 6.5 629.3 1675.8 9.0 
else_jump @NONAME_1_2046 
jump @NONAME_1_2111 

:NONAME_1_2046
if and
   Actor.Driving($PLAYER_ACTOR)
   Actor.Stopped($PLAYER_ACTOR)
00A4:   actor $PLAYER_ACTOR 0 -87.6 -1179.1 2.0 -95.0 -1159.5 5.0 
else_jump @NONAME_1 
jump @NONAME_1_2111 

:NONAME_1_2111
wait 100 
if and
   not Car.Model($11055) == #BMX
   not Car.Model($11055) == #BIKE
   not Car.Model($11055) == #MTBIKE
   not Car.Model($11055) == #FREIGHT
   not Car.Model($11055) == #BAGGAGE
   not Car.Model($11055) == #CADDY
   not Car.Model($11055) == #SWEEPER
else_jump @NONAME_1 
if and
   not Car.Model($11055) == #STREAKC
   not Car.Model($11055) == #STREAK
   not Car.Model($11055) == #TRAM
   not Car.Model($11055) == #FREIFLAT
   not Car.Model($11055) == #FREIBOX
else_jump @NONAME_1 
if 
   not $11054 > 99 // integer values 
else_jump @NONAME_1_2290 
if 
   Player.Money($PLAYER_CHAR) > 1
else_jump @NONAME_1_2344 
$11054 += 1 // integer values 
Player.Money($PLAYER_CHAR) += -1
jump @NONAME_1 

:NONAME_1_2290
wait 0 
054C: use_GXT_table 'MAN_2' 
00BC: text_highpriority 'MAN2_EF' 1000 ms 1  // ~z~You're not a British tank, so you should be fine.
wait 5000 
054C: use_GXT_table 'ZERO2' 
jump @NONAME_1 

:NONAME_1_2344
wait 0 
00BC: text_highpriority 'IE07' 1000 ms 1  // ~r~You don't have enough cash!
wait 5000 
054C: use_GXT_table 'ZERO2' 
jump @NONAME_1

#40 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 01-12-2007 14:22

Гениально, проверил - работает. Нужно потестить, но с showscreensav.cleo сохраняет и загружает без проблем. спасибо!

#41 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 01-12-2007 13:20

А у меня проблемы с сохранением игры - игра вылетает при попытке сохраниться обычным способом. Версия 1.0 US, CLEO3, scm - Driver mod 1.3, из CLEO скриптов только scm500k.cleo в папке CLEO. Причем ставлю обратно CLEO2, (больше ничего не меняю) и игра сохраняется без проблем. Похоже это проблема третьей версии...
Кроме сохранения все функции CLEO работают без проблем.

#42 Re: Модификации » [SA | REL] Air Traffic mod - оживление неба и аэропортов » 29-11-2007 15:58

Вообще я дико завален работой, но код отлажен, поиграл на выходных - проблем не обнаружил, скрипт то простой.
Чтобы не лагало и не было аварий, постоянно небе не более одного самолета.
Есть только проблема at400 не хочет перекрашиваться через скрипт загрузки разных винилов. Может это связано с тем, что в конце его названия стоит цифра. Тот же самый скрипт я пробовал на Beagle и он прекрасно грузил рэндомные винилы.

0@ = Car.Create(#AT400, 4@, 5@, 6@)
Car.Angle(0@) = 7@
0209: 1@ = random_int 0 3 
06ED: set_car 0@ paintjob 1@

#43 Re: Модификации » [SA | REL] Air Traffic mod - оживление неба и аэропортов » 24-06-2007 08:19

Хех... Заюзай редактор путей: http://ape.aschratt.com

он не берет rrr файлы


есть ощущение, что эти настройки как-то влияют на дальность прорисовки, хотя дымка и дальность ее появления задается в timecyc.dat

pe_leftx    15
pe_topy        15
pe_rightx    15
pe_bottomy    15

во всяком случае при изменении этих настроек возрастает нагрузка на видеокарту.

#44 Re: Модификации » [SA | REL] Air Traffic mod - оживление неба и аэропортов » 23-06-2007 19:09

Да элементарно - прибытие и отправление делать с разных полос.

э-э-э, я не могу этого сделать, т.к. я использую существующие пути самолетов из потока 'planes', которые лежат в файле carrec.img, как открыть такие файлы и добавить что-нить или заменить непонятно - ясно только одно, пути экспортируются из 3ds Max'a

В таком случае, делай полный перелёт (как это было в VC) из одного аэропорта в другой, а не имитацию отлёта с пропадением самолёта в воздуе.

Ты, я смотрю, в мод не врубился smile, самолеты взлетают, пролетают полный путь до другого аэропорта и садятся. Пропадают они из-за distance view, который, увы, невозможно исправить кроме как в stream.ini выставить максимальные значения дальности прорисовки.

Кстати, обновил скрипт, теперь самолеты не пропадают после посадки, а стоят на месте (по крайней мере до тех пор, пока не начнет садится или взлетать другой самолет)

@Seemann
пока так и не удалось найти отличия между 06C5 и 05EC. В обоих случаях самолет снимается с пути и падает на землю.

#45 Re: Модификации » [SA | REL] Air Traffic mod - оживление неба и аэропортов » 17-06-2007 00:18

Capushon wrote:

2jayrocc:
Неплохой скрипт.
Минимум ошибок:
1. Пилоты, IMHO, вообще не нужны - меньше проблем с моделями и проверками, тем более их не видно.

еще как видно! даже если пешком рядом с самолетом бегать, а можно на лету заглянуть в испуганные глаза пилотов smile

2. Пропущенна команда

05EC: release_car @0 from_path

- "снять" самолёт с пути, а уж потом удалять сам путь.

надо поправить

3. Убрать

00A6: destroy_car @0

, достаточно

01C3: remove_references_to_car @0

, потому, как находясь рядом с приземлившимся самолётом - видно его исчезновение.
4. После посадки желательно отключать звук двигателя.

Нужно уничтожать модель потому что следующий приземляющийся самолет проторанит стоящий на посадочной полосе, пока не знаю как сделать, чтобы самолет пропал не на глазах игрока и чтобы в него никто не врезался

5. Зачем самолётам летать там, где нет игрока в данный момент, либо он в интерьере, либо полёты вообще запрещены в данный момент командой

096A: set_flying_helicopters_enabled 0

, иначе могут быть глюки.

В этом одна из фишек кода, если привязать самолеты к игроку, то получится, что нельзя застать самолеты в определенный момент их цикла. Идея мода, чтобы сделать рэндомные полеты самолетов вне зависимости от игрока. А насчет глюков я проверял, все должно работать корректно.

Не совсем понятно назначение трёх циклов с разными задержками...
Не проще ли проверять в воздухе/на земле, двигается/остановился ???
Как узнал номера/направление путей?

Первая задержка это время отсчета взлета с выпущенными шасси, второй полет без шасси, а третий выпуск шасси и посадка.

Не хорошо дважды регистрироваться... Выбери кого из вас двоих оставить, второго видимо придётся кильнуть...

ты не понял, altman я только на GTAF.

#46 Re: Модификации » [SA | REL] Air Traffic mod - оживление неба и аэропортов » 16-06-2007 18:10

спасиб за советы,

да, я двуличен как никогда smile

#47 Модификации » [SA | REL] Air Traffic mod - оживление неба и аэропортов » 16-06-2007 15:17

jayrocc
Replies: 39

Теперь между тремя мегаполисами San An курсируют самолеты, взлетают, садятся, их можно увидеть в небе smile
Всего 7 направлений, из LS самолеты взлетают с двух полос.

Пока это первая версия, пока не добавлены самолеты в аэропорт. Также скрипт поддерживает paintjob'ы самолетов, так что в финальной версии взлетающие и припарованные самолеты будут разных авиакомпаний.

src01rw3.th.jpg planez2xk5.th.jpg

КОД ОБНОВЛЕН

:PLANEZ0
thread 'PLANEZ'

:PLANEINIT_298
wait 0
0209: 3@ = random_int 0 7 
0871: init_jump_table 3@ total_jumps 7 0 @PLANEINIT_299 jumps 0 @PLANEINIT_299 1 @PLANEINIT_320 2 @PLANEINIT_341 3 @PLANEINIT_363 4 @PLANEINIT_385 5 @PLANEINIT_407 6 @PLANEINIT_429 

:PLANEINIT_299
4@ = 1473.33 // integer values 
5@ = -2600.0 // integer values            
6@ = 13.5895
7@ = 270
8@ = 41
10@ = 100000
12@ = 1994.5245
13@ = -2487.4561
14@ = 13.0822
jump @PLANEZ1 

:PLANEINIT_320    
4@ = 1577.298 // integer values 
5@ = -2493.749 // integer values
6@ = 13.5895
7@ = 270
8@ = 42
10@ = 120000
12@ = 1994.5245
13@ = -2487.4561
14@ = 13.0822
jump @PLANEZ1 

:PLANEINIT_341
4@ = 1577.298 // integer values 
5@ = -2493.749 // integer values
6@ = 13.5895
7@ = 270
8@ = 46
10@ = 80000
12@ = 1994.5245
13@ = -2487.4561
14@ = 13.0822
jump @PLANEZ1 

:PLANEINIT_363              
4@ = 1479.46 // integer values 
5@ = 1641.41 // integer values            
6@ = 10.4851
7@ = 180
8@ = 43
10@ = 50000
12@ = 1479.9421
13@ = 1697.2932
14@ = 10.3581
jump @PLANEZ1 

:PLANEINIT_385
4@ = 1479.46 // integer values 
5@ = 1641.41 // integer values            
6@ = 10.4851
7@ = 180
8@ = 48
10@ = 90000
12@ = 1479.9421
13@ = 1697.2932
14@ = 10.3581
jump @PLANEZ1 

:PLANEINIT_407
4@ = -1586.67 // integer values 
5@ = -93.33 // integer values            
6@ = 44.0
7@ = 314
8@ = 44
10@ = 120000
12@ = -1541.494
13@ = -47.5275
14@ = 13.6904 
jump @PLANEZ1 

:PLANEINIT_429
4@ = -1626.0 // integer values 
5@ = -137.3 // integer values
6@ = 13.0
7@ = 314
8@ = 49
10@ = 70000
12@ = -1541.494
13@ = -47.5275
14@ = 13.6904

:PLANEZ1
wait 0 
Model.Load(#AT400)
Model.Load(#WMYPLT)
038B: load_requested_models 

:PLANEZ1_38
wait 0 
if and
   Model.Available(#AT400)
   Model.Available(#WMYPLT) 
else_jump @PLANEZ1_38
0395: clear_area 1 at 4@ 5@ 6@ range 40.0 
0@ = Car.Create(#AT400, 4@, 5@, 6@)
Car.Angle(0@) = 7@
0209: 1@ = random_int 0 3 
06ED: set_car 0@ paintjob 1@
0129: 11@ = create_actor_pedtype 4 model #WMYPLT in_car 0@ driverseat
01C8: 12@ = create_actor 4 #WMYPLT in_car 0@ passenger_seat 0
Model.Destroy(#WMYPLT)
Model.Destroy(#AT400)
07C0: load_path 8@ 

:PLANEZ1_139
wait 0 
if 
07C1:   path 8@ available 
else_jump @PLANEZ1_139 
if 
   not Car.Wrecked(0@)
else_jump @PLANEZ1_324 
05EB: assign_vehicle 0@ to_path 8@
32@ = 0 // integer values 

:PLANEZ1_195
wait 500 
if
   not Car.Wrecked(0@)
else_jump @PLANEZ1_324 
if 
  32@ > 30000 // integer values 
else_jump @PLANEZ1_195
if 
060E:   not  0@ 
else_jump @PLANEZ1_324
08E6: set_plane 0@ landing_gear  1
32@ =  0

:PLANEZZ_305B
wait  500 ms    
if 
   not Car.Wrecked(0@)
else_jump @PLANEZ1_324
if
001D:  32@ > 10@ // integer values 
else_jump @PLANEZZ_305B 
if 
060E:   not  0@ 
else_jump @PLANEZ1_324
08E6: set_plane 0@ landing_gear  0
32@ =  0

:PLANEZZ_305C
wait  500 ms
if
   not Car.Wrecked(0@)
else_jump @PLANEZ1_324
0395: clear_area 1 at 12@ 13@ 14@ range 40.0
if
  32@ > 60000
else_jump @PLANEZZ_305C
         
:PLANEZ1_324
wait 100
Car.RemoveReferences(0@)
Actor.RemoveReferences(11@)
06C5: release_car 0@ from_path
0873: release_path 8@
jump @PLANEINIT_298

#48 Re: Справочная информация » Проверяем нажатия ЛЮБЫХ клавиш » 09-06-2007 21:03

а, теперь я понял, до этого мне казалось, что у каждой клавиши свой HEX код smile

правда все равно не работает sad

вот код такой вставляю, а он ошибку при загрузке игры вызывает.

create_thread @FARS0

------------------------------

:FARS0
0@ = 304550

:FARS
wait 0
if and
actor.Driving($PLAYER_ACTOR)
&0(0@,1i) == 0xFF
jf @FARS
jump @FARS_ON

:FARS_ON
wait 500
067F: set_car $Car headlights 2
jf @FARS_ON

:FARS_2
wait 0
if and
actor.Driving($PLAYER_ACTOR)
&0(0@,1i) == 0xFF
jf @FARS_2
Jump @FARS_OFF

:FARS_OFF
wait 500
067F: set_car $Car headlights 0
jf @FARS_OFF
jump @FARS

#49 Re: Справочная информация » Проверяем нажатия ЛЮБЫХ клавиш » 09-06-2007 19:59

т.е. для keylo - 0xFF, а для keyhi - 0x00FF0000? но в примерах встречается еще 0x00FF00FF. Если честно, я не понимаю как добывать код для конкретной цифры. Или их только 2 варианта?

#50 Re: Справочная информация » Проверяем нажатия ЛЮБЫХ клавиш » 09-06-2007 18:18

прошу прощения за неполиткорректный ответ,
но где берутся шестнадцатеричные коды KeyHi и Lo - типа 0x00FF0000?

Board footer

Powered by FluxBB