#26 Re: Вопросы по скриптингу » Камера а-ля GTA одын » 15-06-2008 10:14

Заново переписал и улучшил скрипт.
Теперь в нём используются локальные переменные, и во время езды, камера поднимается выше в зависимости от скорости.

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
:start

thread 'CAM'

0000: NOP

0006: 1@ = 0

:begin

:mode2check
wait 0
if
0039:   1@ == 0
jf @modifier
////////////////////////////////////////////////////////////
// jf @mode2off // use if no speed modification is needed //
////////////////////////////////////////////////////////////
jump @mode2key

:mode2key
wait 0 
if
0AB0:   key_pressed 0x71
jf @begin
jump @mode2on

:mode2on
Camera.Restore

:modifier
wait 0
if 
   Player.Defined($PLAYER_CHAR)
jf @mode2on
if 
   not Actor.Driving($PLAYER_ACTOR)
jf @mode2drive
067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.0 0.0 30.0 rotation 0.0 6.0 0.0 1.0 2
0006: 1@ = 1
jump @mode2off

:mode2drive 

03C0: 2@ = actor $PLAYER_ACTOR car 
02E3: 3@ = car 2@ speed
0006: 4@ = 40.0
005B: 4@ += 3@ // (float)
0679: put_camera_on_car 5@ with_offset 0.0 0.0 4@ rotation 0.0 10.0 0.0 0.0 2
0007: 1@ = 1
jump @mode2off

:mode2off
if 
00E1: key_pressed 0 13 // change camera button
jf @begin
0006: 1@ = 0

Camera.Restore
jump @begin

Собираюсь и дальше усовершенствовать скрипт путём оптимизации движения камеры - при езде на больших и малых скоростях камеру "колбасит" из стороны в сторону - КАК ИЗБАВИТСЯ?

#27 Модификации » Ядерный взрыв » 15-06-2008 10:10

AlphaOmega
Replies: 10

1. нашёл где-то на японско/китайско/корейском сайте скрипт ядерного взрыва

2. скорректировал, улучшил, оптимизировал и дополнил его

3. пытаюсь устранить все нюансы.

{$CLEO .cs}

//-------------MAIN---------------

:start

0000: NOP 

:check
wait 0
if and
80DF:   not actor $PLAYER_ACTOR driving 
        Player.Defined($PLAYER_CHAR)
        not Actor.Dead($PLAYER_ACTOR)
        not wasted_or_busted
0AB0:   key_pressed 17 
0AB0:   key_pressed 78 // ctrl+n          
jf @check

:phone
wait 0 
Model.Load(#CELLPHONE)
Model.Load(3790)
038B: load_requested_models 
if 
   Model.Available(#CELLPHONE)
   Model.Available(3790)
jf @phone
 
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 
0489: set_actor $PLAYER_ACTOR muted 1 
wait 5000
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0 
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
0489: set_actor $PLAYER_ACTOR muted 0

$532 = 30999 
014E: set_timer_to $532 type 1

Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
Actor.StorePos($PLAYER_ACTOR, 5@, 6@, 7@)

0167: 3@ = create_marker_at 0@ 1@ 2@ flags 0 2 

Marker.SetColor(3@, 4)
Marker.SetIconSize(3@, 2)

06D5: 4@ = create_racing_checkpoint_at 0@ 1@ 2@ point_to 0.0 0.0 0.0 type 2 radius 5.0

:abort
wait 0 
if and
0AB0:   key_pressed 17 
0AB0:   key_pressed 67 // ctrl+c 
jf @timeroff 
014F: stop_timer $532 
Marker.Disable(3@)
06D6: disable_racing_checkpoint 4@
jump @check  
 
:timeroff
if 
   not $532 > 10000 
jf @abort 

0208: 8@ = random_float_in_ranges 0.0 360.0 
7@ = 50.0 
005B: 7@ += 2@ // (float) 
9@ = Object.Create(3790, 0@, 1@, 7@)
Object.SetImmunities(9@, 1, 1, 1, 1, 1)
08D2: object 9@ scale_model 2.5 
Object.Angle(9@) = 8@
0400: store_coords_to 5@ 6@ 7@ from_object 9@ with_offset 3000.0 0.0 0.0 
Object.PutAt(9@, 5@, 6@, 7@)
0087: 11@ = 5@ // (float) 
0087: 12@ = 6@ // (float) 
0063: 11@ -= 0@ // (float) 
0063: 12@ -= 1@ // (float) 
10@ = Marker.CreateAboveObject(9@)
Marker.SetColor(10@, 0)
Marker.SetIconSize(10@, 2)

:incoming
wait 0 
if 
0471:   actor $PLAYER_ACTOR near_object_in_rectangle 9@ radius 100.0 100.0 flag 0 
jf @coming
0400: store_coords_to 14@ 15@ 16@ from_object 9@ with_offset 2.5 0.0 0.0 
095C: create_smoke_at 14@ 15@ 16@ velocity 0.0 0.0 0.0 RGBA 1.0 1.0 1.0 1.0 size 10.0 last_factor 0.1 
0400: store_coords_to 14@ 15@ 16@ from_object 9@ with_offset 5.0 0.0 0.0 
095C: create_smoke_at 14@ 15@ 16@ velocity 0.0 0.0 0.0 RGBA 1.0 1.0 1.0 1.0 size 10.0 last_factor 0.1 
0400: store_coords_to 14@ 15@ 16@ from_object 9@ with_offset 7.5 0.0 0.0 
095C: create_smoke_at 14@ 15@ 16@ velocity 0.0 0.0 0.0 RGBA 1.0 1.0 1.0 1.0 size 10.0 last_factor 0.1

:coming            
0087: 5@ = 11@ // (float) 
0087: 6@ = 12@ // (float) 
008F: 13@ = integer $532 to_float 
13@ /= 10000.0 
006B: 5@ *= 13@ // (float) 
006B: 6@ *= 13@ // (float) 
005B: 5@ += 0@ // (float) 
005B: 6@ += 1@ // (float) 
Object.PutAt(9@, 5@, 6@, 7@)

if 
   not $532 > 0 
jf @incoming 

03CF: load_wav 14401 as 33@

Marker.Disable(3@)
06D6: disable_racing_checkpoint 4@ 
0750: set_object 9@ visibility 0 
Marker.Disable(10@)

0169: set_fade_color  255  255  255
016A: fade  0 ()  500 ms
0001: wait  500 ms
set_weather 0

03D1: play_wav 33@ 

31@ = 0 // height

016A: fade  1 ()  2500 ms

020C: create_explosion_with_radius 0 at 0@ 1@ 2@ 
020C: create_explosion_with_radius 1 at 0@ 1@ 2@ 
020C: create_explosion_with_radius 2 at 0@ 1@ 2@ 
020C: create_explosion_with_radius 3 at 0@ 1@ 2@ 
020C: create_explosion_with_radius 4 at 0@ 1@ 2@ 
020C: create_explosion_with_radius 5 at 0@ 1@ 2@
020C: create_explosion_with_radius 6 at 0@ 1@ 2@ 
020C: create_explosion_with_radius 7 at 0@ 1@ 2@ 
020C: create_explosion_with_radius 8 at 0@ 1@ 2@
020C: create_explosion_with_radius 9 at 0@ 1@ 2@
08EB: create_sparks_at 0@ 1@ 2@ velocity_direction 0.0 0.0 25.0 density 1000

:firstwave
wait 0
020C: create explosion with radius 100 at 0@ 1@ 31@
09E5: create_flash_light_at 0@ 1@ 25.0 RGB_mask 16383 16383 16383 radius 100.0 
09E5: create_flash_light_at 0@ 1@ 7@ RGB_mask 16383 16383 16383 radius 100.0 
04D5: create_corona_at 0@ 1@ 7@ radius 25.0 type 1 flare 2 RGB 4095 4095 4095  
09E5: create_flash_light_at 0@ 1@ 100.0 RGB_mask 16383 16383 16383 radius 1000.0 
04D5: create_corona_at 0@ 1@ 100.0 radius 250.0 type 1 flare 2 RGB 4095 4095 4095
31@ += 1 
  31@ > 30 
jf @firstwave

// 0ABA: end_custom_thread_named 'TRAFFIC' 
01EB: set_traffic_density_multiplier_to 0.0 
03AD: NOP 1 
03C7: set_sensitivity_to_crime 0.0 
03DE: set_pedestrians_density_multiplier_to 0.0 
06C8: enable_riot 1 
06D7: enable_train_traffic 0
31@ = 1

:flashlight
wait 0 
0093: 30@ = integer 31@ to_float 
30@ *= 2.5 
09E5: create_flash_light_at 0@ 1@ 7@ RGB_mask 16383 16383 16383 radius 250.0
30@ *= 8.0 
if 
  30@ > 1000.0 
jf @coronalight 
30@ = 1000.0 

:coronalight
04D5: create_corona_at 0@ 1@ 7@ radius 30@ type 1 flare 2 RGB 4095 4095 4095 
0093: 30@ = integer 31@ to_float 
30@ *= 2.0 
if 
  31@ > 120 
jf @secondwave
29@ = 1 

:shockwave
27@ = 720.0 
30@ = 240.0 
0073: 27@ /= 30@ // (float) 
0093: 30@ = integer 31@ to_float 
30@ *= 2.0 
0093: 28@ = integer 29@ to_float 
006B: 27@ *= 28@ // (float) 
Object.Angle(9@) = 27@
0400: store_coords_to 5@ 6@ 2@ from_object 9@ with_offset 30@ 0.0 0.0 
02CE: 2@ = ground_z_at 5@ 6@ 7@
0565: create_soundless_explosion_at 5@ 6@ 2@ type 7

02CF: 18@ = create_fire_at 5@ 6@ 2@ propagation 10 size 500
0400: store_coords_to 14@ 15@ 16@ from_object 9@ with_offset 20.0 0.0 5.0
0063: 14@ -= 0@ // (float) 
0063: 15@ -= 1@ // (float) 
0063: 16@ -= 7@ // (float) 
2@ += 5.0 
14@ *= 25.0 
15@ *= 25.0 
16@ *= 10.0
073E: get_car_in_sphere 5@ 6@ 2@ radius 100.0 model -1 handle_as 27@ 
if 
056E:   car 27@ defined 
jf @killer1
0325: 20@ = create_car 27@ fire
020B: explode_car 27@ // versionA
020B: explode_car 27@ //  
070C: explode_car 27@ // versionB
070C: explode_car 27@ //  
08CB: explode_car 27@ shake 0 effect 8 sound 1
020C: create explosion with radius 100 at 5@ 6@ 2@
0948: create_explosion_at 5@ 6@ 2@ type 11 camera_shake 5.0 
  
Car.RemoveReferences(27@)

:killer1
08E5: get_actor_in_sphere 5@ 6@ 2@ radius 100.0 handle_as 27@ 
if 
056D:   actor 27@ defined 
jf @smoke1 
0321: kill_actor 27@ 
Actor.RemoveReferences(27@)

:smoke1
14@ *= 0.1 
15@ *= 0.1 
16@ *= 0.1 
095C: create_smoke_at 5@ 6@ 2@ velocity 14@ 15@ 16@ RGBA 1.0 1.0 1.0 1.0 size 50.0 last_factor 0.05
09E5: create_flash_light_at 5@ 6@ 2@ RGB_mask 16383 16383 16383 radius 50.0

Camera.Shake(100)
29@ += 1 
  29@ > 500 
jf @shockwave
jump @nnm1 

:secondwave
29@ = 1
03D1: play_wav 33@
0223: set_actor $PLAYER_ACTOR health_to  1
0326: 32@ = create_actor $PLAYER_ACTOR fire

:exploder
27@ = 720.0 
0073: 27@ /= 30@ // (float) 
0093: 28@ = integer 29@ to_float 
006B: 27@ *= 28@ // (float) 
Object.Angle(9@) = 27@
0400: store_coords_to 5@ 6@ 2@ from_object 9@ with_offset 30@ 0.0 0.0 
02CE: 2@ = ground_z_at 5@ 6@ 7@
02CF: 18@ = create_fire_at 5@ 6@ 2@ propagation 3 size 5
02CF: 19@ = create_fire_at 5@ 6@ 2@ propagation 10 size 5
02CF: 21@ = create_fire_at 5@ 6@ 2@ propagation 50 size 100
0400: store_coords_to 14@ 15@ 16@ from_object 9@ with_offset 20.0 0.0 5.0 
0063: 14@ -= 0@ // (float) 
0063: 15@ -= 1@ // (float) 
0063: 16@ -= 7@ // (float) 
2@ += 5.0 
14@ *= 25.0 
15@ *= 25.0 
16@ *= 10.0
073E: get_car_in_sphere 5@ 6@ 2@ radius 50.0 model -1 handle_as 27@
if 
056E:   car 27@ defined 
jf @killer2
0325: 20@ = create_car 27@ fire 
08CB: explode_car 27@ shake 0 effect 8 sound 1
020B: explode_car 27@ // versionA
020B: explode_car 27@ 
070C: explode_car 27@ // versionB
070C: explode_car 27@ 
Car.RemoveReferences(27@)

:killer2
08E5: get_actor_in_sphere 5@ 6@ 2@ radius 50.0 handle_as 27@ 
if 
056D:   actor 27@ defined 
jf @smoke2 
0321: kill_actor 27@ 
Actor.RemoveReferences(27@)

:smoke2
14@ *= 0.1 
15@ *= 0.1 
16@ *= 0.1 
095C: create_smoke_at 5@ 6@ 2@ velocity 14@ 15@ 16@ RGBA 1.0 1.0 1.0 1.0 size 25.0 last_factor 0.02
020C: create explosion with radius 10 at 5@ 6@ 2@
0565: create_soundless_explosion_at 5@ 6@ 2@ type 1
2@ += 5.0 
095C: create_smoke_at 5@ 6@ 2@ velocity 14@ 15@ 16@ RGBA 1.0 1.0 1.0 1.0 size 50.0 last_factor 0.08 
099C: jiggle_camera type 1 timelimit 10000.0 intensity 2.0
29@ += 1 
001D:   29@ > 31@ // (int) 
jf @exploder

:nnm1
31@ += 1 
if and
0039:   31@ == 250
84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle    
jf @nnm2

Actor.StorePos($PLAYER_ACTOR, 22@, 23@, 24@)
0169: set_fade_color  255  255  255
016A: fade  0 ()  250 ms
0001: wait  250 ms
03D1: play_wav 33@
016A: fade  1 ()  1500 ms
0326: 32@ = create_actor $PLAYER_ACTOR fire
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
wait 1
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
wait 10
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
wait 100
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
0AA5: call 0x00439D80 num_params 0 pop 0
000B: 24@ += 2.0
02CF: 25@ = create_fire_at 22@ 23@ 24@ propagation 3 size 5
09E5: create_flash_light_at 22@ 23@ 24@ RGB_mask 16383 16383 16383 radius 10.0
04D5: create_corona_at 22@ 23@ 24@ radius 15.0 type 10 flare 10 RGB 4095 4095 4095
052C: set_player $PLAYER_CHAR drunk_visuals 100 

:nnm2
if
  31@ > 500 
jf @flashlight

Object.Destroy(9@)
wait 1000
0169: set_fade_color  0  0  0

:zone
wait 0
if 
80EC:   not actor $PLAYER_ACTOR 0 near_point 0@ 1@ radius 1500.0 1500.0 
jf @zone 
01EB: set_traffic_density_multiplier_to 1.0 
03AD: NOP 0 
03C7: set_sensitivity_to_crime 1.0 
03DE: set_pedestrians_density_multiplier_to 1.0 
01B7: release_weather 
06C8: enable_riot 0 
06D7: enable_train_traffic 1
052C: set_player $PLAYER_CHAR drunk_visuals 0
040D: unload_wav 33@
jump @check 
end_thread 

jump @check

4. Несколько слов о скрипте:
* Вызываем бомбардировщик по CTRL+N
* Отменяем заказ по CTRL+C
* если есть скрипт траффика, раскоментируйте строку для его остановки
* после взрыва в радиусе 1500 автомобили и люди практически не появляются
* если во время взрыва игрок в самолёте - у него отказывает двигатель (загорается)

5. Совершенствование:
* несколько раз приходится прописывать создание взрывов и взрывы машин, ибо зачастую скрипт какие-то из них пропускает
* почему-то не взрываются самолёты и вертолёты (за редким исключением) - ИСПРАВЛЕНО (почти)
* не удаётся качественно добавить огня и дыма после взрыва - КАК РЕАЛИЗОВАТЬ?
* какие ещё можно здесь добавить эффекты визуальные?

#28 Re: Вопросы по скриптингу » Один вопрос » 14-06-2008 19:32

Так. Народ, перелапатил всё, удалось наконец-таки взрывать мотоциклы, однако самолёты продолжают "выживать ядерный взрыв". Подскажите, как же взорвать самолёты в радиусе?

:killer
073E: get_car_in_sphere 5@ 6@ 2@ radius 10.0 model -1 handle_as 27@ 
if 
056E:   car 27@ defined 
jf @killer
020B: explode_car 27@
070C: explode_car 27@
08CB: explode_car 27@ shake 0 effect 8 sound 1 
Car.RemoveReferences(27@)

Добавив 020B и 070C удалось "зацепить" мотоциклы.
А вот самолёты не взрываются.

#29 Re: Модификации » Индикатор шасси » 14-06-2008 19:13

Seemann wrote:

Может соберешь это все в один пак и выложишь? Что-то захотелось опробовать smile

Может быть.
Я вообще изначально планировал глобальный конверт делать, только с gtt поездами не смог договориться - они ни в какую не хотят давать разрешения. Так что свои "переделки" буду распространять в виде текстур и клео скриптов. Когда сделаю достаточно - поделюсь. А пока они тут по одиночке будут (если хочешь, могу на мыло скинуть скрипты свои)

Seemann wrote:

Только чур без глобальных переменных wink

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

#30 Re: Модификации » Индикатор шасси » 14-06-2008 18:59

Seemann wrote:

А что это у тебя за мод такой стоит для полетов?

Просто стоит тот самый клео скрипт "от первого лица" который я недавно написал (ещё с глобальными переменными, помнишь?)... ну и модель LearJet 45 вместо стандартного shamal. К сожалению, там приборная панель неподвижная - просто текстура - но всё равно вид из кабины привычнее wink
А радар "цветной" - это я намутил (саму карту, текстуру радара и текстуру авиагоризонта)... вот...
Ну и, кстати, есть ещё один клео срипт мой (я его выкладывал уже - там про "почувствуй себя пилотом" - он просто сажает игрока в выбранный самолёт и ставит на ВПП)

#31 Re: Модификации » Изменение интерфейса » 14-06-2008 16:37

VcSaJen wrote:

Готова новая версия программы - IEV v.1.49.
<...>Теперь можно редактировать все параметры <...> в том числе цвет аэроиндикатора, панели высоты.[/u]

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

#32 Модификации » Индикатор шасси » 14-06-2008 16:29

AlphaOmega
Replies: 5

Написал скрипт для того, чтобы находясь в самолёте видеть состояние шасси. Пригодится для тех, кто любит летать от первого лица.

// gear mode indicator
// by AlphaOmega

{$CLEO .cs}

//-------------MAIN---------------

:start

0000: NOP
 
wait 100 
0390: load_txd_dictionary "GEAR" 
038F: load_texture "GEAR_DN" as 101  
038F: load_texture "GEAR_OK" as 202 
038F: load_texture "GEAR_UP" as 303

:check
wait 0
if
04C8:   actor $PLAYER_ACTOR driving_flying_vehicle   
jf @check
03C0: 0@ = actor $PLAYER_ACTOR car 
091F: get_plane 0@ landing_gear_status_to 1@
03F0: enable_text_draw 0 

:changing
if
00E1: key_pressed 0 19
jf @gearUp
03F0: enable_text_draw 1
3@ = 1
038D: draw_texture 202 position 25.0 362.0 size 40.0 40.0 RGBA 255 255 255 255

:gearDo
000A: 3@ += 1
wait 10 
038D: draw_texture 202 position 25.0 362.0 size 40.0 40.0 RGBA 255 255 255 255
if
0029:   3@ >= 100 
jf @gearDo
jump @check

:gearUp
if
0039: 1@ == 0
jf @gearDn
03F0: enable_text_draw 1 
038D: draw_texture 101 position 25.0 362.0 size 40.0 40.0 RGBA 255 255 255 255
jump @check
 
:gearDn
if
8039: not 1@ == 0
jf @check
03F0: enable_text_draw 1 
038D: draw_texture 303 position 25.0 362.0 size 40.0 40.0 RGBA 255 255 255 255
jump @check

TXD файл скачать тут: http://stream.ifolder.ru/6971013 (положить в models/txd)
Индикатор появляется сверху уровня высоты и выглядит как на истребителях...

#33 Re: Вопросы по скриптингу » Реалистичная военка » 14-06-2008 11:21

согласен с Wom только в том, что следует "укрепить защиты" базы. Чтобы действительно там ходили солдаты и были на вышках. Ну и что, при входе на базу снайпера сразу начинали стрелять wink

#34 Re: Модификации » Изменение интерфейса » 14-06-2008 11:18

Так. Возникла следующая проблема при изменении интерфейса.
Вообщем так:

1. как поменять цвет угла атаки (на скриншоте зелёная часть радара - грубо говоря, угол наклона самолёта по оси нос-хвост)

2. как сделать, чтобы радар был белым? текстуры я сделал белые (см.ниже), но он всё равно отображается чёрным sad

Кто знает как исправить?
Может есть какие опкоды по этим двум параметрам?

#35 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 14-06-2008 08:27

Seemann wrote:

@AlphaOmega - надпись слегка уменьшил и сделал ее масштабируемой (т.е. теперь она на всех разрешениях выглядит одинаково). Совсем мелкой ее сделать тоже нельзя, ибо на маленьких игровых разрешениях (640x480, 800x600) надпись становится нечитабельной.

Спасибо. Буду ждать следующей версии чтобы проверить.

#36 Re: Вопросы по скриптингу » Не грози Южному Уралу » 13-06-2008 19:34

CRaZy7Levels wrote:

Щас ты не прав, поезда не только от них есть это раз...
<...>
мод в комерческих целях использован не бует...

1. А где ещё есть поезда российские?
2. даже если мод НЕ будет в коммерческих целях использоваться - всё равно gtt`шники не дают прав на использование их моделей в глобальных модификациях sad
а зря....

#37 Re: Вопросы по скриптингу » Один вопрос » 13-06-2008 17:34

А есть ли у клео возможность сохранять в файл (текстовый например) параметры, а потом их оттуда читать?

#38 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 13-06-2008 17:27

Seemann wrote:
AlphaOmega wrote:

Кстати о новой версии - а можно ли убрать снизу надпись версии скрипта и кол-ва загруженных скриптов?

Убрать нельзя. А чем она мешает?

В принципе ни чем, только как-то крупно она. Может просто уменшьить? до размеров системного 6 - 8 пунктов. А то выглядит как 12-14 - крупновато. Бросается в глаза (я просто люблю чтобы было эстетично и красиво).

#39 Re: Вопросы по скриптингу » Координаты » 13-06-2008 12:58

Worm wrote:

Нет блин надо чтоб по координатам! Например:
X=2548,018
Y=-1284,358
Z=1060,984
это дом Большого Смоука, там где он прятался

Блин, ну неужели нельзя вместо Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 4@) поставить координаты где нужно?

#40 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 13-06-2008 12:56

Seemann wrote:

0ABA: 'TRAFFIC'

Всё. Теперь работает. Прична неработоспособности была (как оказалось) в старой версии клео sad
Кстати о новой версии - а можно ли убрать снизу надпись версии скрипта и кол-ва загруженных скриптов?

#41 Re: Вопросы по скриптингу » Не грози Южному Уралу » 13-06-2008 08:33

Видел я подобную модификацию - criminal russia называется. Честно говоря, русский парк там уж очень скуден и слишком разбросан по "времени". Единственное что там хорошее было, это икарус, лиаз и пазик. Ну и прикольно волга для такси. А вообще играть в сан андреас с только русскими тачками как-то "не тянет". Вот если бы ты ещё и мир заменил, на какую-нибудь часть СССР, где и соответствующая музыка и пионЭры ходят - вот это было бы лучше.
Кстати, ты получил разрешение авторов моделей на распространение их в твоей глобальной модификации?
Просто если ты собрался заменять поезда на русские, то хочу тебя огорчить - единственные российские поезда для гта создаются командой gtt, а они ни при каких обстоятельствах не дадут разрешения использовать их модели в глобальной модификации sad

#42 Re: Вопросы по скриптингу » Координаты » 13-06-2008 08:28

Worm wrote:

Напишите пример скрипта, который при нажатии на 1 телепортирует в определенные координаты. (хочу написать скрипт перемещения по интерьерам)

Вот скрипт, который при нажатии на 1 телепортирует туда, где установлен маркер (на карте)

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 

:NONAME_2
wait 0 
if and
   Player.Defined($PLAYER_CHAR)
  $ONMISSION == 0 
   not Actor.Driving($PLAYER_ACTOR)
else_jump @NONAME_2 
077E: get_active_interior_to 29@ 
if 
  29@ == 0 
else_jump @NONAME_2 
if and
0AB0:   key_pressed 0x31
0AB6: store_target_marker_coords_to 0@ 1@ 2@ // IF and SET 
else_jump @NONAME_174 
fade 0 500 
wait 750 
04E4: unknown_refresh_game_renderer_at 0@ 1@ 
Camera.SetAtPos(0@, 1@, 2@)
02CE: 4@ = ground_z_at 0@ 1@ 2@ 
Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 4@)

:NONAME_142
wait 0 
if 
   Player.Controllable($PLAYER_CHAR)
else_jump @NONAME_142 
wait 500 
fade 1 500 

:NONAME_174
jump @NONAME_2

#43 Re: Модификации » Собираем поезд и отправляемся в путь! » 11-06-2008 17:52

мдя....
странно всё это - на работе тестировал - поезд создавался именно на том, пути, на котором стоял игрок, а сегодня он как-то не так работает. Решил даже скрипт создать по появлению поезда по ALT+T там, где стоит игрок, но, оказалось, он не создаётся там, а только на одном из заранее "известных" путей... вообщем даже и не знаю как же всё-таки заставить поезд появиться ТОЧНО на том, пути, где ему указано......

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

#44 Re: Модификации » Собираем поезд и отправляемся в путь! » 11-06-2008 15:57

flashTrash wrote:

Хороший скрипт! Мну нравится!

Это хорошо! хоть кому-то мой труд оказался полезным :-)

flashTrash wrote:

Может сделать вариант скрипта со стандартными поездами(и именами в fxt файле. просто не у всех стоят поезда, да и blade на поезд не очень тянет)?

А ты просто вместо тех поездов (у меня они там ниже подписаны) при создании меню поставь 'DUMMY' - пункты будут пустыми и курсор будет проскакивать сквозь них. Ну а в fxt сам пропиши названия как угодно тебе.

flashTrash wrote:

Перед созданием поезда надо очищать зону от других поездов. А то я пришел на вокзал, приехал поезд, я нажал ctrl+t, собрал поезд и.. так пять раз пока не понял, что приехавший стандартный поезд закрывает собой тот, что я собрал. Надеюсь понятно объяснил.=)

Да, к сожалению поезд так уничтожить нельзя. Во всяком случае соответствующего опкода не нашёл. А релиз трейн это только чтобы не запоминался твой "набор" вагонов..

#45 Re: Модификации » Собираем поезд и отправляемся в путь! » 10-06-2008 18:09

Yarik wrote:

Тоесть просто поставить на одну из координат того пути и он сам поедет по тому же пути?

Ну, судя по всему так - ибо в коде создания поезда прописывается лишь координаты, номер поезда и направление (по часовой или против). Так что ставь туда, где есть рельсы и он будет там... правдо в конце пути может вести себя криво... например, проехать сквозь себя wink

#46 Re: Вопросы по скриптингу » Один вопрос » 10-06-2008 18:08

Yarik, если мне память не изменяет, то вроде бы должен быть опкод ped_hit_by_a_car или что-то типа того.....

кстати, а можно делать так:
сет плеер.хэлс = 0@ + 23
ну типа математическое действие в самом опгоде присвоения? или обязательно сначало посчитать, а потом присваивать?

#47 Re: Вопросы по скриптингу » Один вопрос » 10-06-2008 14:08

есть такой вопрос:
как написать такой скрипт, который отвечал бы за следующие:
если CJ`ея сбивает машина на скорости от 40 до 60 - у него вычитается 75% энергии, а если больше 60-ти - то он считается wasted (только чтобы при этом после падения он не вставал)

#48 Re: Модификации » Собираем поезд и отправляемся в путь! » 10-06-2008 13:54

Yarik wrote:

Маршрут

Для этого нужно поезд создать на той рельсе (пути), которая обычно не используется - с тупиком. Тогда поезд встанет на кривой маршрут и полетит по воздуху над аэропортом

#49 Re: Вопросы по скриптингу » Меньше потери здоровья » 10-06-2008 03:00

Worm wrote:

Например пистолет пустынный орел отнимает примерно 30 хп, а будет отнимать 10.

А может лучше больше к реальности? если попали, так под 50-75 отнимается?...
А вообще, мощность оружия выставляется в weapons.dat

#50 Re: Модификации » Собираем поезд и отправляемся в путь! » 09-06-2008 18:05

Yarik wrote:

исключен «кривой» маршрут harm/docks, летающий в воздухе

так его вообще подключить?

Кого подключить? маршрут или мой скрипт?

Board footer

Powered by FluxBB