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

Seemann wrote:

Я уже вижу как минимум один существенный недостаток - глобальные переменные.

ААааааааа..... семён, семёныч! ТАК вот почему у меня два скрипта смены камеры друг друга гасят! У обоих используется глобальная переменная $CAM которую я задавал....
Так отсда вопрос: а как задать глобальную переменную ТАК, чтобы она была не из цифр, а из букв? не всмысле string, а всмысле name..  типа $cam и cam@ вместо 123456789@

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

На всякий случай укажу, какие модели используются в GTT.

Красный цвет - Стандартные поезда
Синий цвет - Специальный поезда

Model.Destroy(449) // tram
Model.Destroy(537) // freighter
Model.Destroy(536) // freight reverse
Model.Destroy(590) // freight box
Model.Destroy(569) // freight flat
Model.Destroy(538) // streak
Model.Destroy(607) // streak tail
Model.Destroy(606) // streak c alternative
Model.Destroy(570) // streak c

Ссылок на GTT давать не буду ибо будет рекламой (ищите сами)

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

AlphaOmega
Replies: 16

ВНИМАНИЕ!!! новая версия...

МАШИНИСТ.

характеристики:
* выбор станции (6 штук, в т.ч. трамвайное депо)
* выбор направления (по часовой стрелке или против)
* конструктор состава (выбор любой комбинации вагонов)
* поддержка gtt*** моделей
* поддержка выполнения миссий
* активация по CTRL+T (как на улице, так и в помещении)

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

плюсы над оригинальной игрой:
* не надо ждать пока приедет поезд
* можно собрать состав из любых вагонов
* можно покататься на трамвае (в качестве машиниста)

плюсы над исходным скриптом
* отсутствие глюка повторного нажатия
* а так же всё, что указано выше в нововведениях

файл MACHINIST.CS

// advanced train operator script
// by AlphaOmega
// v2.0

{$CLEO .cs}

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

:start

thread 'MACHINIST'

0000: NOP

:check
wait 0
if and
0AB0: key_pressed 0x11 // ctrl
0AB0: key_pressed 0x54 // t 
jf @check

02A3: toggle_widescreen 1

Player.CanMove($PLAYER_CHAR) = False

0340: set_text_draw_RGBA 180 180 180 255 
033F: set_text_draw_letter_size 0.5 2.5 
03E4: enable_text_draw_align_right 0 
0341: unknown_text_draw_flag 0 
0342: enable_text_draw_centered 0 
0343: set_text_draw_linewidth 200.0 
0348: enable_text_draw_proportional 1 
0345: enable_text_draw_background 0 
0343: set_text_draw_linewidth 680.0 

08D4: 10@ = create_panel_with_title 'TRAINS' position 50.0 110.0 width 277.0 columns 1 interactive 1 background 1 alignment 1
08DB: set_panel 10@ column 0 header 'DUMMY' data 'TRAINA' 'TRAINB' 'TRAINC' 'TRAIND' 'TRAINE' 'TRAINF' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 
090E: set_panel 10@ active_row 0

:routeA
wait 0 
if 
00E1: player 0 pressed_key 15 // return 
jf @routeZ

jump @menuEND

:routeZ
if 
00E1: player 0 pressed_key 16 // select
jf @routeA

03E6: remove_text_box 
08D7: 11@ = panel 10@ active_row
08DA: remove_panel 10@
03E6: remove_text_box 
00BE: text_clear_all

:pathA
if
0039: 11@ == 0
jf @pathB
0007: 1@ = -1943.678 
0007: 2@ = 137.810 
0007: 3@ = 26.0
jump @pathOK

:pathB
if
0039: 11@ == 1
jf @pathC
0007: 1@ = 1433.51 
0007: 2@ = 2632.61 
0007: 3@ = 11.0
jump @pathOK

:pathC
if
0039: 11@ == 2
jf @pathD
0007: 1@ = 2865.93
0007: 2@ = 1290.672 
0007: 3@ = 11.0
jump @pathOK

:pathD
if
0039: 11@ == 3
jf @pathE
0007: 1@ = 1719.752 
0007: 2@ = -1954.3 
0007: 3@ = 14.0
jump @pathOK

:pathE
if
0039: 11@ == 4
jf @pathF
0007: 1@ = 817.583 
0007: 2@ = -1368.526 
0007: 3@ = -2.0
jump @pathOK

:pathF
0007: 1@ = -2264.773 
0007: 2@ = 527.44 
0007: 3@ = 35.280
jump @pathOK

:pathOK
06D7: enable_train_traffic 0 
select_interior 0 
0860: link_actor $PLAYER_ACTOR to_interior 0 
04E4: unknown_refresh_game_renderer_at 1@ 2@
Actor.PutAt($PLAYER_ACTOR, 1@, 2@, 3@)

29@ = -381995 
&0(29@,1i) = 538 
29@ = -381994 

:clear0
&0(29@,1i) = 0 
29@ += 1 
29@ > -381980 
jf @clear0 

Model.Load(449) // tram
Model.Load(537) // freighter
Model.Load(536) // freight reverse
Model.Load(590) // freight box
Model.Load(569) // freight flat
Model.Load(538) // streak
Model.Load(607) // streak tail
Model.Load(606) // streak c alternative
Model.Load(570) // streak c 

038B: load_requested_models

:preLOAD
wait 0 
if and
Model.Available(449)
Model.Available(537)
Model.Available(536)
Model.Available(590)
Model.Available(569)
Model.Available(538)
Model.Available(607)
Model.Available(606)
Model.Available(570) 
jf @preLOAD 

08D4: 10@ = create_panel_with_title 'TRAINX' position 50.0 110.0 width 210.0 columns 1 interactive 1 background 1 alignment 1
08DB: set_panel 10@ column 0 header 'DUMMY' data 'TRAINY' 'TRAINZ' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 
090E: set_panel 10@ active_row 0
wait 500

:directionA
wait 0 
if 
00E1: player 0 pressed_key 15 // return 
jf @directionZ

jump @menuEND

:directionZ
if 
00E1: player 0 pressed_key 16 // select
jf @directionA

03E6: remove_text_box 
08D7: 11@ = panel 10@ active_row
08DA: remove_panel 10@
03E6: remove_text_box 
00BE: text_clear_all
4@ = 0 // direction

if
 11@ == 0
jf @ready
4@ = 1
 
:ready
0006: 9@ = 15 // max carriages count
0006: 6@ = 0 // current carriages count

08D4: 10@ = create_panel_with_title 'TRAINV' position 50.0 110.0 width 155.0 columns 1 interactive 1 background 1 alignment 1

/////////////////////////////////////////////////////
08DB: set_panel 10@ column 0 header 'DUMMY' data 'TRAIN1' 'DUMMY' 'TRAIN3' 'DUMMY' 'TRAIN5' 'DUMMY' 'TRAIN7' 'TRAIN8' 'TRAIN9' 'DUMMY' 'DUMMY' 'DUMMY'
/////////////////////////////////////////////////////
 
090E: set_panel 10@ active_row 0
wait 500

:carsA
wait 0

if 
001D: 9@ > 6@
jf @carsOK

01E3: show_text_1number_styled GXT 'TRAINN' number 6@ time 200 style 5
if 
00E1: player 0 pressed_key 15 // cancel (enter) 
004D: jump_if_false @carsB
jump @carsX

:carsB
if 
00E1: player 0 pressed_key 16 // select (shift)
004D: jump_if_false @carsA
6@ += 1
0089: 30@ = 6@

wait 250
08D7: 11@ = panel 10@ active_row

0085: 29@ = 30@
29@ -= 381995

if 
11@ == 0 
jf @carsC 
&0(29@,1i) = 538 

:carsC
if 
11@ == 1 
jf @carsD 
&0(29@,1i) = 607 

:carsD
if 
11@ == 2 
jf @carsE 
&0(29@,1i) = 570

:carsE
if 
11@ == 3 
jf @carsF 
&0(29@,1i) = 606

:carsF
if 
11@ == 4 
jf @carsG 
&0(29@,1i) = 537

:carsG
if 
11@ == 5 
jf @carsH 
&0(29@,1i) = 536

:carsH
if 
11@ == 6 
jf @carsI 
&0(29@,1i) = 590

:carsI
if 
11@ == 7 
jf @carsJ 
&0(29@,1i) = 569

:carsJ
if 
11@ == 8 
jf @carsK 
&0(29@,1i) = 449

:carsK
jump @carsA

:carsX
if 
6@ == 0
jf @carsOK 
jump @menuEND

:carsOK
wait 250
0012: 4@ *= -1 
06D8: 0@ = create_train_at 1@ 2@ 3@ type 15 direction 4@
07C7: put_train 0@ at 1@ 2@ 3@
046C: 5@ = car 0@ driver
009B: destroy_actor 5@ 
Player.CanMove($PLAYER_CHAR) = True
036A: put_actor $PLAYER_ACTOR in_car 0@

wait 10
06DD: set_train 0@ speed 0.0
06DC: set_train 0@ acc 0.0
015A: restore_camera
09AD: vehicle_camera_mode 1
0373: set_camera_directly_behind_player
08DA: remove_panel 10@
02A3: toggle_widescreen 0
03E6: remove_text_box 
00BE: text_clear_all

:clear1
wait 1000
if 
8449: not actor $PLAYER_ACTOR in_a_car 
jf @clear1

29@ = -381995 
&0(29@,1i) = 538 
29@ = -381994 

:clear2
&0(29@,1i) = 0 
29@ += 1 
29@ > -381980 
jf @clear2
 
Model.Destroy(449) // tram
Model.Destroy(537) // freighter
Model.Destroy(536) // freight reverse
Model.Destroy(590) // freight box
Model.Destroy(569) // freight flat
Model.Destroy(538) // streak
Model.Destroy(607) // streak tail
Model.Destroy(606) // streak c alternative
Model.Destroy(570) // streak c 
07BE: remove_references_to_train 0@
Camera.Restore

:menuEND
wait 500
Player.CanMove($PLAYER_CHAR) = True
015A: restore_camera
08DA: remove_panel 10@
06D7: enable_train_traffic 1 
02A3: toggle_widescreen 0
03E6: remove_text_box 
00BE: text_clear_all
wait 2500;
jump @check

файл MACHINIST.FXT

TRAINS Train Station
TRAINA Cranberry (San Fierro East)
TRAINB Yellow Bell (Las Venturas North)
TRAINC Linden (Las Venturas East)
TRAIND Unity (Los Santos South)
TRAINE Market (Los Santos West)
TRAINF Tram (San Fierro Central)
TRAINX Train Direction
TRAINY ~>~ ClockWise
TRAINZ ~<~ CouterClockWise
TRAINV Train Cars
TRAIN1 Electric
TRAIN2 Electric tail
TRAIN3 Passanger odd
TRAIN4 Passanger even
TRAIN5 Freighter
TRAIN6 Freighter reverse
TRAIN7 Passenger car
TRAIN8 Goods car
TRAIN9 Tram
TRAINN ~y~~1~

[small]ещё раз напоминаю, что это НЕ МОДИФИКАЦИЯ старого скрипта, а ПОЛНОСТЬЮ ПЕРЕПИСАННЫЙ скрипт![/small]

Для переключения между обычной и gtt* версиями достаточно заменить одну строку:

для GTT версии (приатаченный cs файл):

/////////////////////////////////////////////////////
08DB: set_panel 10@ column 0 header 'DUMMY' data 'TRAIN1' 'TRAIN2' 'TRAIN3' 'TRAIN4' 'TRAIN5' 'TRAIN6' 'TRAIN7' 'TRAIN8' 'TRAIN9' 'DUMMY' 'DUMMY' 'DUMMY'
/////////////////////////////////////////////////////

для обычной версии (приведённый cs скрипт):

/////////////////////////////////////////////////////
08DB: set_panel 10@ column 0 header 'DUMMY' data 'TRAIN1' 'DUMMY' 'TRAIN3' 'DUMMY' 'TRAIN5' 'DUMMY' 'TRAIN7' 'TRAIN8' 'TRAIN9' 'DUMMY' 'DUMMY' 'DUMMY'
/////////////////////////////////////////////////////

________________________________
* gtt поезда - это поезда, распространяемый на сайте Grand Theft Trains Club`а - особенность заключается в том, что помимо стандартных моделей поездов, добавляются ещё и особые вариации, например: головной и хвостовой вагон (развёрнутые в разные стороны), чётные и нечётные вагоны (например с пантографом и без), главный и дополнительный тепловоз и т.д...

#54 Re: Вопросы по скриптингу » Один вопрос » 09-06-2008 15:07

Yarik wrote:

AlphaOmega мне кажеться это особенность сей модели

Ну ведь как-то можно убрать все шасси... наверняка можно....
кстати, а как кодом проверить, выпущены ли шасси? очень полезно было бы...

#55 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 08-06-2008 18:10

Seemann wrote:

Я создал файл traffic.cs с бесконечным циклом, в котором давались деньги игроку. В другом скрипте вызвал 0ABA: end_custom_thread_named 'TRAFFIC'. Деньги прекратили капать => поток Traffic прекратился.

Приведи скрипт с твоим трафиком - посмотрю как он у тебя задан там поток...

#56 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 08-06-2008 17:52

в файле nuclear.cs прописываю где надо
0ABA: end_custom_thread_named 'TRAFFIC'
второй называется traffic.cs
вылетает sad

#57 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 08-06-2008 17:48

Seemann wrote:

перепроверил опкод еще раз - у меня работает. Покажи свой код.

Дело в том, что у меня ДВА СКРИПТА. Я из ПЕРВОГО хочу завершить ВТОРОЙ.
Код завершения - одна строчка как у тебя в цитате, только с именем THREAD которая заана во втором скрипте.

Seemann wrote:

допустим, есть два клео скрипта с двумя thread`ами (по одному в каждом).
как их объединить

задача не ясна. Зачем их объединять?

Ну если нельзя из одного script1.cs остановить thread второго script2.cs - тогда нужно их объединить чтобы можно было завершить thread....

p.s.: скрипт два - один регулирует траффик по времени суток, а другой - ядерный взрыв после которого в радиусе нескольких километров плотность трафика становится равным нулю.....   да вот только первый скрипт мешает второму sad

#58 Re: Вопросы по скриптингу » Воздействие извне » 08-06-2008 17:34

не работает извне. возможно только изнутри sad

#59 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 08-06-2008 17:31

Seemann wrote:
0ABA: end_custom_thread_named 'BENZIN'

Если будут ошибки в новой версии - пишите.

Пишу -
когда доходит до этого опкода - гта са вылетает.
возможно будет работать если эта THREAD будет в том же скрипте, но если в другом - то вылетает sad

кстати вопрос в тему: допустим, есть два клео скрипта с двумя thread`ами (по одному в каждом).
как их объединить (что нужно в начале общего скрипта написать) чтобы не пришлось ничего переписывать чтобы не запутаться wink ?

#60 Вопросы по скриптингу » Воздействие извне » 08-06-2008 14:54

AlphaOmega
Replies: 2

Меня интересует следующий вопрос: как можно из одного клео скрипта, воздействовать на другой? Например, остановить его вообще? сам скрипт, либо thread в нём. Такое возможно? как?

#61 Re: Вопросы по скриптингу » Один вопрос » 08-06-2008 13:00

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

#62 Re: Вопросы по скриптингу » Один вопрос » 08-06-2008 09:22

Seemann, спасибо - то, что нужно.
Кстати, заметил такую особенность - если в hud.txd первую текстуру (сам радар) сделать цветной, то она всё равно будет чёрнобелой sad хотя на каких-то скриншотах я видел цветную. Не знаешь, может цвет на самом деле достигнут за счёт загрузки дополнительной картинки на место радара?

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

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

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

#64 Модификации » [SA] First Person Camera » 07-06-2008 07:23

AlphaOmega
Replies: 11

Получилось!

Вообщем после долгих мучений вот что вышло:

// first person camera advanced by AlphaOmega

{$VERSION 3.1.0027}
{$CLEO .cs}

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

thread 'CAM'

1@ = 0
2@ = 0

0000: NOP

0005: 3@ =  0.0
0005: 4@ =  0.0
0005: 5@ =  0.0

:begin
wait 0

0005: 6@ =  0.0
0005: 7@ = -.1
0005: 8@ =  .69
 
if
   Actor.Driving($PLAYER_ACTOR)
jf @check

:mode1check
if
0039:   1@ == 1
jf @mode1key
jump @mode1view

:mode1key
if and 
00E1: key_pressed 0 13
0AB0: key_pressed 0x11
Actor.Driving($PLAYER_ACTOR)
jf @begin
jump @mode1on

:mode1on
1@ = 1

0059: 6@ += 3@
0059: 7@ += 4@
0059: 8@ += 5@

067C: put_camera_on_actor $PLAYER_ACTOR with_offset 6@ 7@ 8@ rotation 0.0 90.0 0.0 0.0 2

//0494: get_joystick 0 data_to 10@ 11@ 12@ 13@ 
//0093: 11@ = integer 11@ to_float 
//0093: 12@ = integer 12@ to_float 
//0093: 13@ = integer 13@ to_float 
//0017: 11@ /= 2000.0 
//0017: 12@ /= 2000.0 
//0017: 13@ /= 2000.0 
//005B: 16@ += 12@ // @ += @ (float) 
//0063: 17@ -= 11@ // @ -= @ (float) 
//005B: 18@ += 13@ // @ += @ (float)

2@ = 0

if 
00E1: key_pressed 0 13
jf @begin
wait 500
jump @begin

:mode1view
if and
80E1:  not player 0 pressed_key 5
80E1:  not player 0 pressed_key 7
jf @mode1side


if
0039:   2@ == 1
jf @mode1correction
2@ = 0
jump @mode1on


:mode1side
if
84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle 
jf @begin
015A: restore_camera 
09AD: vehicle_camera_mode 0
2@ = 1 
jump @begin

:mode1off
if and 
00E1: key_pressed 0 13 // change camera button
jf @begin
02EB: restore_camera_with_jumpcut 
09AD: vehicle_camera_mode 2
1@ = 0 
jump @begin

:check
if
0039:   1@ == 1
jf @begin
015A: restore_camera
09AD: vehicle_camera_mode 2
0373: set_camera_directly_behind_player
1@ = 0
jump @begin

:mode1correction
wait 0
jump @mode1corrXup

:mode1corrXup
if and 
0AB0:   key_pressed 0x12
0AB0:   key_pressed 0x26
Actor.Driving($PLAYER_ACTOR)
jf @mode1corrXdn
5@ += 0.1
jump @mode1on

:mode1corrXdn
if and 
0AB0:   key_pressed 0x12
0AB0:   key_pressed 0x28
Actor.Driving($PLAYER_ACTOR)
jf @mode1corrYup
5@ -= 0.1
jump @mode1on

:mode1corrYup
if and 
0AB0:   key_pressed 0x11
0AB0:   key_pressed 0x26
Actor.Driving($PLAYER_ACTOR)
jf @mode1corrYdn
4@ += 0.1
jump @mode1on

:mode1corrYdn
if and 
0AB0:   key_pressed 0x11
0AB0:   key_pressed 0x28
Actor.Driving($PLAYER_ACTOR)
jf @mode1corrZup
4@ -= 0.1
jump @mode1on

:mode1corrZup
if and 
0AB0:   key_pressed 0x11
0AB0:   key_pressed 0x25
Actor.Driving($PLAYER_ACTOR)
jf @mode1corrZdn
3@ -= 0.1
jump @mode1on

:mode1corrZdn
if and 
0AB0:   key_pressed 0x11
0AB0:   key_pressed 0x27
Actor.Driving($PLAYER_ACTOR)
jf @nowindow
3@ += 0.1
jump @mode1on

:nowindow
if and
0AB0:   key_pressed 0x11
0AB0:   key_pressed 0x65
Actor.Driving($PLAYER_ACTOR)
jf @mode1off
03C0: 9@ = actor $PLAYER_ACTOR car 
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
0730: car 9@ damage_component 4
jump @mode1on

end_thread

Включается и в машине, и в самолёте и во всех средствах передвижения.
Кнопка CTRL+КАМЕРА (контрль и кнопка, назначенная на смену вида камеры).
Отключается просто кнопкой КАМЕРА
Можно двигать точку просмотра:
CTRL+ВПРАВО - правее
CTRL+ВЛЕВО - левее
CTRL+ВВЕРХ - ближе
CTRL+ВНИЗ - дальше
ALT+ВВЕРХ - выше
ALT+ВНИЗ - ниже
При выходе из авто - режим отключается.

p.s.: ещё сделал скрипт включения/выключения камеры как в гта один (http://sannybuilder.com/forums/viewtopi … 3812#p3812)

p.p.s. (админам): в принципе, можно спокойно переносить тему в раздел с модификациями

p.p.p.s.: скрипт обновлён - произведено избавление от глобальных переменных в пользу локальных

#65 Re: Вопросы по скриптингу » Один вопрос » 07-06-2008 07:16

ну так можно кодом стёкла разбить?



+ новый вопрос: как перекрасить элементы HUD (деньги, уровень жизни, время, звёзды)?

#66 Re: Вопросы по скриптингу » Один вопрос » 06-06-2008 16:03

Seemann, спасибо, понял и нашёл )

новая задачка - вообщем если поставить камеру на водительское сидение, то в некоторое "время суток" (судя по всему зависет от погоды) через лобовое стекло перестаёт быть видно светофоры. точнее их цвета. если выйти из машины и разбить стекло - всё становится видно.
Может есть способ кодом разбить стекло?

#67 Re: Вопросы по скриптингу » Один вопрос » 06-06-2008 15:27

вопрос ещё один..

вот номера клавиш нажимаемых обыно соответствуют старндартной таблице virtual key codes в винде, но вот первые два-три десятка, судя по всему, имеют собственные значения в гта (типа 10 и 11 это кнопки назначенные на действие Y (Принять) и N (отказать)) . где взглянуть?

#68 Вопросы по скриптингу » Камера а-ля GTA одын » 06-06-2008 07:50

AlphaOmega
Replies: 4

Вот - нашёл на сайте мод интересный. Делает камеру как в первой и второй частях гта.

CODE  
// mod originally posted by Alex at http://www.gtaforums.com/index.php?showtopic=354881
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
03A4: name_thread 'TDFcam' 

:TDFcam_11
0001: wait 0 ms 
015A: restore_camera 
00D6: if 
0256:   player $PLAYER_CHAR defined 
004D: jump_if_false @TDFcam_11 
00D6: if 
80DF:   not actor $PLAYER_ACTOR driving 
004D: jump_if_false @TDFcam_98 
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 
0002: jump @TDFcam_11 

:TDFcam_98
0679: put_camera_on_car 5@ with_offset 0.0 0.0 37.0 rotation 0.0 10.0 0.0 0.0 2 
0002: jump @TDFcam_11

В принципе, работает неплохо, однако камера дёргается сильно при поворотах, как при пешей прогулке, так и при поездке.
Может кто-то знает как успокоить камеру?

#69 Re: Вопросы по скриптингу » Один вопрос » 06-06-2008 07:29

новый вопрос.
как задавать положение рисуещегося текста чтобы координаты отсчитывались не сверху, а снизу?
приведите пример кода рисующего текст с 1ой числовой переменной СНИЗУ СЛЕВА под радаром. Плиз...

#70 Re: Вопросы по скриптингу » TAXI корректная замена » 05-06-2008 19:00

Yarik wrote:

AlphaOmega: лучше копипастом с оригинала

Не выходит. Копилятор брыкается на строку
0006: 49@ =  0  ;; integer values
говорит что локальная переменная 49 вне допустимых границ и макс. значение -33@
sad

может поможешь?
копипастом сделай и откомпиль скрипт таксимода на кнопку, например 0х33 (цифра 3) и на тачку STRETCH... пилз... я пока тоже попробую помудрить...

#71 Re: Вопросы по скриптингу » Камера и скрипты » 05-06-2008 18:51

Yarik wrote:

А если взять коорд игрока в транспорте и коорд самого транспорта в один и тотже момент, отнять одно от второго и вставить как оффсеты в какой-то:
0679: put_camera_on_car 161@ with_offset 0.0 -2.0 $Z_CAMERA rotation 0.0 0.0 204@ 0.0 2
067A: put_camera_on_car 186@ with_offset 15.0 15.0 10.0 point_to_car 34@ tilt 15.0 2
067B: put_camera_on_car $1238 with_offset -1.5 1.5 1.5 point_to_actor $1237 tilt 6.0 2
???

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

#72 Re: Вопросы по скриптингу » TAXI корректная замена » 05-06-2008 17:53

ну значит будем писать с нуля...
прошу привести фрагменты кодов на следующие события (будем по-шагово делать):

* создать в радиусе ХХ человека (случайного) с маркером
** если подъехать к ниму - он садится в машину
** если отменить миссию - исчезает маркер, а не сам человек (то есть без kill/release/unload/remove)

#73 Re: Вопросы по скриптингу » Один вопрос » 05-06-2008 17:48

Yarik wrote:

Если надо номер то поищи среди мисий где были взрывы (в main.scm)

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

Yarik wrote:

3 Как я понимаю под car всегда имеется в виду транспорт (любой)

Удивительно, но код реагирует только на машины. Даже мотоциклы не учитываются sad

#74 Re: Модификации » [SA|REL] Штраф за превышение скорости в городе » 05-06-2008 17:44

yelmi wrote:

Опкодов, проверяющих включены ли фары или мигалка НЕТ.

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

#75 Re: Вопросы по скриптингу » Камера и скрипты » 05-06-2008 17:39

Seemann, описание там в иероглифах...  а кнопки которые там написаны нажимать пробовал и по очереди и в разной последовательности даже вместе - не помогает. Судя по картинкам и видео - это то, что нужно, но судя по всему для всей игры. точнее для всего игрового времени.

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

Board footer

Powered by FluxBB