#26 Re: Вопросы по скриптингу » Один вопрос » 31-01-2012 09:24

А изменить в игре тип колёс (160 - 89) ?

#27 Re: Sanny Builder и CLEO » CLEO для GTA III » 22-01-2012 23:04

Насчёт headlight.asi - прямоугольник света у фары всё-таки немного виден и корона "слегка" просвечивает через крыло машины - это, наверно, вряд ли можно исправить(с таким движком)?

#28 Re: Sanny Builder и CLEO » CLEO для GTA III » 21-01-2012 15:28

Большое спасибо!
Насчёт карспаунера - scm_func вызываются из текстового файла, лежащего в папке Cleo ?!

#29 Re: Серия GTA » Problema s GTAIII » 12-01-2012 12:45

Кто знает, почему Xbox-mod не загружает сейв/новую игру с пустым txd.img - там же дублирующие текстуры, на 8 штук даже меньше, чем в  gta3.img !?

#30 Re: Sanny Builder и CLEO » CLEO для GTA III » 11-01-2012 18:12

to DK22Pac

На гтафорумс в ветке мода Хбокс автор говорил, что у тебя есть скрипт, чтоб фары светили пореалистичнее - можешь поделиться? А то в трёшке это один из самых стрёмных моментов...

#31 Re: Вопросы по скриптингу » нужна помощь » 08-01-2012 19:31

"Выдернул" из мода Ultimate гостаун, чтоб побыстрее проверять, адаптировал старый, но хороший майн Timetwister by Demarest v1, но в начале(Клод появляется уже в гостауне) появляется лод, что-ли (часть неба закрывает), исчезающая когда проедешь сотню метров к океану и мелькнет заставка, как между островами
b1f37164e3401a5e8e408dbc41675280.jpg
есть такие опкоды
03F7: load_island_data 2
0395: clear_area 1 at -180.0 1020.0 range 14.75 30.0
они нужны(не понял как работают тогда) или другие?
_Ну и заодно вопрос - у воды стоит док (скорее всего, он из Вайса wink - хотел катер поставить - невозможно - встаёт торчком, если ГГ сажать - летит, взрывается, вроде координаты непредельные (х 160, у 1600 мах) - map.zon ковырять, а какие зоны, какие цифры?

#32 Re: Sanny Builder и CLEO » CLEO для GTA Vice City » 04-01-2012 20:53

_Вобщем, в В Gta-LC поставил в майн status_text для спидометра...
Делал для Вайса клео-скрипт спидометра

{$CLEO}
0000:	// и тут комментил
wait 100
while true
    wait 0
    if
        0256:   player $player_char defined
    then
	if 
		00E0:   player $PLAYER_CHAR driving 
	then 
03C1: 0@ = player $PLAYER_CHAR car 
02E3: 1@ = car 0@ speed 
1@ *= 3.6 // floating-point values 
008C: 1@ = float_to_integer 1@
    0227: 3@ = car 0@ health
    0017: 3@ /= 7.81
    0085: 4@ = 3@
    000E: 4@ -= 128  // integer values
    0012: 4@ *= 3
    0095: make 4@ absolute_integer
    0093: 3@ = integer 3@ to_float  //0092: 2@ = float 2@ to_integer
     0087: 5@ = 3@ // floating-point values only
     0015: 5@ /= 2.0 // floating-point values
     000B: 5@ += 76.0   //000F: 5@ -= 64.0  // floating-point values
    if
        0029: 4@ >= 255 // integer values
    then
        0006: 4@ = 255 // integer values
    end
//03F0: enable_text_draw 1	// и так делал, без text_draw_toggle
//0340: set_text_draw_color  200  0  0  255
//033F: set_text_draw_letter_width_height  0.4  1.5
045A: text_draw_1number  3.0 414.0 'SPEEDX'  1@  // ~1~
038E: draw_box_position 5@ 1015.0 size 3@ 24.0 4@ 50 130 250//0-255 50 150
038E: draw_box_position 140.0 1015.0 size 128.0 24.0 20 0 90 100
0001: wait 250 ms  
03F0: text_draw_toggle 0	// и enable_text_draw 0 делал
	end
   end
end

Чё ни так? Иногда, только в машину сядешь, зависает(полоска и значение скорости показывает), иногда едешь некоторое время - снова зависает. Новую игру начинаешь, садишься, едешь и вот тут(через несколько метров, там у меня наверху все "божки" wink зависает...
http://i30.fastpic.ru/big/2012/0104/5b/ … 336a5b.jpg

#33 Re: Sanny Builder и CLEO » CLEO для GTA Vice City » 01-01-2012 17:20

С центрированием разобрался. Пытался запустить клео-скрипт, поменяв CHAR на ACTOR (вместо 00E0 - 00DF: actor $PLAYER_ACTOR driving и т.д.) - игра запустилась(а то сразу вылетала), но полоска не прорисовывалась, подумал что мешает mp3control (d3d8.dll - пишет верху номер текущего трека из всего количества) - снова стала сразу вылетать...
Вставил в майн:
____сначала создаю трейд
:LabelMAINTHREADCONT
0417: start_mission 0
004F: create_thread @LabelLCPORTLANDSAVE 
004F: create_thread @LabelLCSTAUNTONSAVE 
004F: create_thread @LabelLCSSVSAVE 
004F: create_thread @LabelLCPORTLANDRESTART 
004F: create_thread @LabelLCSTAUNTONRESTART 
004F: create_thread @LabelLCSSVRESTART 
004F: create_thread @LabelLCWastedHelpMonitor 
004F: create_thread @LabelLCBustedHelpMonitor 
004F: create_thread @LabelBistroWarp
004F: create_thread @LabelRandomAudio
004F: create_thread @LabelSpeed  // и в других местах создавал, после create_thread @Label100REWARD
00D6: if 0
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @LabelMAINTHREADDEADEND
04BB: select_interiour 0  // select render area  - VC has this, maybe will help load the city at startup
01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen)
____________________затем сам код
:LabelSpeed
03A4: name_thread 'SPEEDO'
//0000:
:SPEED_10
wait 0
if
0256:   player $PLAYER_CHAR defined
//056D:   actor $PLAYER_ACTOR defined
else_jump @SPEED_10
if
00E0:   player $PLAYER_CHAR driving
//00DF:   actor $PLAYER_ACTOR driving
else_jump @SPEED_15
03C1: 0@ = player $PLAYER_CHAR car    //  03C0: 0@ = actor $PLAYER_ACTOR car
//00D9: 0@ = actor $PLAYER_ACTOR car
02E3: 1@ = car 0@ speed
1@ *= 3.6 // floating-point values
008C: 1@ = float_to_integer 1@
    0227: 3@ = car 0@ health
    0017: 3@ /= 7.81
    0085: 4@ = 3@
    000E: 4@ -= 128  // integer values
    0012: 4@ *= 3
    0095: make 4@ absolute_integer
    0093: 3@ = integer 3@ to_float  //0092: 2@ = float 2@ to_integer
     0087: 5@ = 3@ // floating-point values only
     0015: 5@ /= 2.0 // floating-point values
     000B: 5@ += 76.0   //000F: 5@ -= 64.0  // floating-point values
    if
        0029: 4@ >= 255 // integer values
    then
        0006: 4@ = 255 // integer values
    end
0340: set_text_draw_color  200  0  0  255
033F: set_text_draw_letter_width_height  0.4  1.5
045A: text_draw_1number  3.0 414.0 'SPEEDX'  1@  // ~1~
0342: set_text_draw_centered  0
03E4: set_text_draw_align_right  1
0345: set_text_draw_in_box  1
038E: draw_box_position 5@ 1015.0 size 3@ 24.0 4@ 50 130 250//0-255 50 150
038E: draw_box_position 140.0 1015.0 size 128.0 24.0 20 0 90 100

:SPEED_15      // и без этой метки делал
0001: wait 250 ms 
03F0: text_draw_toggle  0
jump @SPEED_10
//#####################################################################################
// END SPACE'S 041C WORKAROUND / BEGIN MISSIONS
//#####################################################################################
//-------------Mission 0---------------
после выезда с моста(новая игра, естессно) и повороте налево - зависает, еле через диспетчер процессов снимаю(на русском языке вобще после выхода из меню виснет), вот здесь, через несколько метров, я объезжал через доки, но при подъезде к чайнатаун висяк:
fec9941c1b0dfa5875f4218452668242.jpeg

#34 Re: Sanny Builder и CLEO » CLEO для GTA Vice City » 31-12-2011 14:41

В Gta-LC в dbug.scm делаю полоску повреждения  машины draw_box_position (клео-скрипт  в этот мод никакой не могу поставить, вылетает и почти всегда пишет последний исполняемый код 0003FD80: is_actor_near_point_3d_in_car            16777472, "", "", "", "", "", "", "" - это из отладчика мода, а до этой последней строки nop, nop, nop, хоть с 03A4: name_thread 'SPEEDO', хоть с wait 100, while true), она центрируется
2ede256af09a208f8de5ea6bbd402a68.jpeg
пробывал такие опкоды
0342: set_text_draw_centered  0
03E4: set_text_draw_align_right  1
0345: set_text_draw_in_box  1
___пофиг...
Всех с Новым Годом!

#35 Re: Sanny Builder и CLEO » CLEO для GTA III » 31-12-2011 14:38

Да я перевёл, хоть и "немец" по образованию wink
Считывание координат частей тела... - трансформеры, подспорье в создании анимаций?!

#36 Re: Sanny Builder и CLEO » CLEO для GTA III » 30-12-2011 18:44

Э-э-э, а что такое ActorBodypart... с номерами ?
И чего там с ".ini с Дежи-ного сайта" ? - на всякий случай

#37 Re: Sanny Builder и CLEO » CLEO для GTA III » 27-12-2011 08:10

Спасибо большое, попробую!
Но ведь тут есть работа с памятью, значит, не на все ехе пойдёт?!
(я сначала пробую на Snow City, а уж потом на оригинальном wink

#38 Re: Sanny Builder и CLEO » CLEO для GTA III » 26-12-2011 14:55

Так как repair в трёшке не работает, решил сделать, как один раз обсуждали - нажал две кнопки, удаляется машина, на её месте создаётся с тем же ID`ом, в неё помещается ГГ:
:UNFLIP_10
wait 250
if
   Player.Defined($PLAYER_CHAR)
else_jump @UNFLIP_10
if
   Actor.Driving($PLAYER_ACTOR)
else_jump @UNFLIP_10
03C0: 0@ = actor $PLAYER_ACTOR car
if and
05EE:  key_pressed 17   // Ctrl       
05EE:  key_pressed 81   // Q
else_jump @UNFLIP_10
Car.StorePos(0@, 1@, 2@, 3@)
3@ += 2 // integer values
4@ = Car.Angle(0@)
Model.Destroy(0@)
    Model.Load(0@)
    038B: load_requested_models
while not Model.Available(0@) //8248: not model 6@ available
    wait 10
end
00A5: 5@ = create_car 0@ at 1@ 2@ 3@
Car.Angle(5@) = 4@
0224: set_car 5@ health_to 900
Model.Destroy(0@)
01C3: remove_references_to_car 5@  // 0@
0369: put_player $PLAYER_CHAR in_car 0@
wait 200
jump @UNFLIP_10

но чё-то не то (зависает игра)?
Надо сначала ID машины взять, опкод помещения ГГ в машину не там поставил?

#39 Re: Sanny Builder и CLEO » CLEO для GTA III » 26-12-2011 12:03

Спасиб за перевод(хотя кое-что и уточнено) !
__Вобщем, repair_car не удалось "внедрить" wink, 01f4 работает, а вот после замены его на опкод 020d уже при посадке ГГ в гараже скрипт стал срабатывать(смотрелось это - машина подпрыгивает и еле двигается), а garage $PORTLAND_PAYNSPRAY_GARAGE respray_done просто, как я понял - ставит "метку" покрашено!?

#40 Re: Sanny Builder и CLEO » CLEO для GTA III » 26-12-2011 08:47

Как проверить, перевернулась ли машинf, так понимаю ключевое слово flipped, но есть два проверочных опкода 01f4 и 020d (чем отличаются?), а ещё есть опкод flipped_for_2_seconds - кто может занимался этим?
И чем отличается опкод wrecked?
_Щас попробую в трёшку впихнуть repair car  smile

#41 Re: Sanny Builder и CLEO » CLEO для GTA III » 23-12-2011 08:09

Не очень понял, "разрешение экрана" 1920 - делить на 640 = 3  ?!

#42 Re: Sanny Builder и CLEO » CLEO для GTA III » 22-12-2011 15:15

0390: load_txd_dictionary 'KARTA'
038F: load_texture 'KARTA1' as 1
038D: draw_texture 1 position 10.0 10.0 size 1024.0 1024.0 RGBA 255 255 255 210
Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
0@ /= 11.87 // floating-point values
1@ /= 9.2 // floating-point values
3@ = 172.0 // floating-point values
4@ = 205.0 // floating-point values
005B: 3@ += 0@ // floating-point values
0063: 4@ -= 1@ // floating-point values
033F: set_text_draw_letter_width_height 0.2 1.5
033E: text_draw 3@ 4@ 'MAP_00'
Вобщем, вывел текстуру(эти, блин, двойные-одинарные кавычки). Оттолкнулся от одного скрипта, но там использовался опкод 044D: load_splash 'MAP' со всеми его "фичами" (зато "старая" структура кода, с прыжками позволяет использовать одну и ту же кнопку для вкл/выкл режима без дополн конструкций - для меня, но тогда обновление позиции метки на карте только при включении режима...) - я решил с текстурой, типа real-time карта wink - Клод может ходить, правда позиции метки не меняется(не буду усложнять скрипт, наверно).
"Откалибровал" абсолютное смещение по Х и Y, ставя ГГ в центр карты игры(на стадионе), а вот коэфиц-нты подбирал "опытным" путём, что ни есть хорошо, да и ещё надо поточнее сделать...
f9d65d626da712c4b564721ddfaee9c3.jpg
___На гтафорумс нашёл это:
The GTA3 game world stretches from roughly -2048 to 2048
The Vice City game world stretches from roughly -2300 to 1600 on the X axis, and -1900 to 1900 on the Y axis. Again, there is no Z limit.
____Как я делал: половина карты игры 2048, половина экрана 320 - для draw_text(да хоть 4096/640), делю, получаю - 6.4 и 8.53 (для Y - 2048/240) - хрена лысого, в скрипте-источнике коэф 6.875 и 7.375, но там текстура растягивается на экран, хотя, х.з.

#43 Re: Sanny Builder и CLEO » CLEO для GTA III » 21-12-2011 20:20

0390: load_txd_dictionary 'KARTA'
038F: load_texture "karta1" as 1
{wait 250
fade 0 1500}
//03F0: enable_text_draw 1
038D: draw_texture 1 position 10.0 10.0 size 512.0 512.0 RGBA 255 255 255 100

Где должен находиться txd-файл ?
Без первых двух строчек загружается белая, т.е. не находит, но игра работает, а при load_txd - зависает...
в папке txd/  стояло, models/txd/ - тоже, блин - ч0 ни так?

#44 Re: Sanny Builder и CLEO » CLEO для GTA III » 20-12-2011 22:15

Щас хочу заняться выводом карты на экран(есть скрипт, но буду по-другому) - если б можно было маштабировать 2048х2048 вывел бы! Но...
Какие пределы карты в трёшке и Вайсе, в единицах и координатах(в трёшке, как я понял -2000*2000) ?
Можно ссылку!

#45 Re: Sanny Builder и CLEO » CLEO для GTA III » 09-12-2011 22:30

С суперпрыжком всё получилось, щас решил поставить маркеры над спрят.пакетами (02A8: 17@ = create_marke 0 at ), заодно узнал что в трёшке и Вайсе максимум 18 локальных переменных.
Вопрос такой, как мне эти переменные перебрать в цикле for...end чтоб, например, изменить размер, цвет, дизаблить(0168, 0164) ?
__Вроде, там указатели нужны, а как это выглядит?...

PS Нашёл один пост Den_spb, как перебрать переменные в цикле, но тут другая закавыка - не могу убрать маркер с радара:
02A8: 1@ = create_marker 0 at 849.875 -788.625 27.0
   if
     05EE:  key_pressed 0x49 //   I
   then
     018C: play_sound 94 at 0.0 0.0 0.0
    //0168: show_on_radar 1@ 0
     0164: disable_marker 1@

#46 Re: Sanny Builder и CLEO » CLEO для GTA III » 07-12-2011 23:09

В смысле, мне (ГГ, он же Клод, он же немой, он же...) надо не внутрь здания (си равно там интерьеров нету wink, а наверх, на крышу!
_Помню, вроде такое название мода - glimb, что ле?

to Den_spb
Спасибо, как раз что-то такое было, хорошо что подсказал!
Скоро проверю, а то думал, что код может быть намного больше, а я минималист!  smile

#47 Re: Sanny Builder и CLEO » CLEO для GTA III » 07-12-2011 19:37

Решил сделать скрипт-суперпрыжок для "залезания" на крыши - этот скрипт мелькал во многих модах, в частности Neo, посмотрел там код, тяжеловато, вроде основная мысль понятна - вперёд ГГ продвинуть, на метр, а вот с высотой как?
У меня Клод просто вперёд продвигается, сквозь стены, а не на крышу:
{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
      if
      80DF: not actor $PLAYER_ACTOR driving   //00E0: player $PLAYER_CHAR driving   
      05EE:  key_pressed 0x52 //   R
      then
018C: play_sound 94 at 0.0 0.0 0.0
          0054: store_player $PLAYER_CHAR position_to 0@ 1@ 2@
          0170: 3@ = player $PLAYER_CHAR z_angle
            02F6: 7@ = cosine 3@
            02F7: 8@ = sinus 3@
            7@ *= -1.0 // floating-point values
            8@ *= 1.0 // floating-point values
            005B: 0@ += 7@ // floating-point values
            005B: 1@ += 8@ // floating-point values
02CE: 2@ = ground_z 0@ 1@ 2@
00A1: put_actor $PLAYER_ACTOR at 0@ 1@ 2@
      end
    end
end

#48 Re: Sanny Builder и CLEO » CLEO для GTA III » 05-12-2011 20:57

При уборке 1го wait (ставлю 0000:, т.к. игра ругается "переход на нулевой оффсет") то же самое миганье,
при уборки то 2го, то 3го wait, не мигает(а при выходе из игры при нажатии Yes игра зависает), но отображаются только 2 первых или 2 последних текста(при посадке в машину со скриптом спидометра остаётся уже четверть нужного текста)
http://zalil.ru/32206724

#49 Re: Sanny Builder и CLEO » CLEO для GTA III » 04-12-2011 10:11

Бьюсь с координатами(наверно, придётся делать с метками и прыжками, как в моде Gta-LC) -забубенил новый опкод с выводом 7 цифр (чтоб и угол был!), но как и 6ю цифрами вылетает - чо ни так?
__И есть ли отладка для трёшки и санибилдера?
045C: draw_text_7numbers 3.0 35.0 GXT 'COORDF' number 1@ 0@ 4@ 3@ 7@ 6@ 9@

045C=10,text_draw_7numbers %1d% %2d% %3g% %4d% %5d% %6d% %7d% %8d% %9d% %10d%


Как здесь много народу! Спасибо, хоть DK'22 кратко ответил
Вобщем, все координаты удалось вывести только с их миганьем (wait 5 + enable_text_draw 0 - не понимаю я механизма прорисовки), причём при подключении спидометра половина цифр отрубается...
Текст выводится, как положено - с относит координатами экрана 640х480, а вот draw_box_position исходит из реального разрешения кадра, т.е. либо нужен опкод нахождения кол-ва пикселей по вертикали(а если через память, то будет проблема с версиями ехе), либо играть только с размерами 1920х1080 или 1680х1050(но при 1050 показатели скорости и повреждения будут разъезжаться), хотя можно скомпилить и для меньших размеров(но каких?! щас многие играют на ноутбуках)
_Цвет надписей, мне кажется, легче менять в fxt файле - правда, мало знаю спецбукв/управляющих символов ~r~
__ И с опкодами, даже с text_draw_3 и 4numbers не получилось...

{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
0054: store_player $PLAYER_CHAR position_to 0@ 3@ 6@
0170: 9@ = player $PLAYER_CHAR z_angle 
008C: 9@ = float_to_integer 9@
008C: 1@ = float_to_integer 0@ 
008D: 2@ = integer_to_float 1@ 
0061: 0@ -= 2@ // floating-point values 
0@ *= 100.0 // floating-point values 
008C: 0@ = float_to_integer 0@ 
008C: 4@ = float_to_integer 3@ 
008D: 5@ = integer_to_float 4@ 
0061: 3@ -= 5@ // floating-point values 
3@ *= 100.0 // floating-point values 
008C: 3@ = float_to_integer 3@ 
008C: 7@ = float_to_integer 6@ 
008D: 8@ = integer_to_float 7@ 
0061: 6@ -= 8@ // floating-point values 
6@ *= 100.0 // floating-point values 
008C: 6@ = float_to_integer 6@ 
0095: make 0@ absolute_integer 
0095: make 3@ absolute_integer 
0095: make 6@ absolute_integer 
    //0308: text_6numbers 'COORDS' 1@ 0@ 4@ 3@ 7@ 6@ 10 ms 5
03F0: enable_text_draw 1
//0340: set_text_draw_color 200 0 0 250  // color 200 0 0 255
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 3.0 2.0 GXT 'COORDX' number 1@ 0@
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 80.0 2.0 GXT 'COORDY' number 4@ 3@
wait 5
03F0: enable_text_draw 0
//wait 500
//03F0: enable_text_draw 1
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 3.0 15.0 GXT 'COORDZ' number 7@ 6@
045A: draw_text_1number 70.0 15.0 GXT 'UGOL1' number 9@
    end
//03F0: enable_text_draw 0
end
{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
      if
        00DF: actor $PLAYER_ACTOR driving   //00E0: player $PLAYER_CHAR driving    
      then
        03C0: 0@ = actor $PLAYER_ACTOR car//00DA: 0@ = player $PLAYER_CHAR car
        02E3: 1@ = car 0@ speed
        0013: 1@ *= 3.6  // floating-point values
        0092: 1@ = float 1@ to_integer
    0227: 2@ = car 0@ health
    0017: 2@ /= 7.81
    0085: 3@ = 2@
    000E: 3@ -= 128  // integer values
    0012: 3@ *= 3
    0095: make 3@ absolute_integer
    0093: 2@ = integer 2@ to_float  //0092: 2@ = float 2@ to_integer
    if
        0029: 3@ >= 255 // integer values
    then
        0006: 3@ = 255 // integer values
    end
03F0: enable_text_draw 1
0340: set_text_draw_color 255 190 0 230  // color 200 0 0 255
033F: set_text_draw_letter_width_height 0.4 1.2
045A: draw_text_1number 3.0 421.0 GXT 'SPEEDQ' number 1@
038E: draw_box_position 80.0 1015.0 size 2@ 24.0 3@ 50 130 250//0-255 50 150
038E: draw_box_position 80.0 1015.0 size 128.0 24.0 20 0 90 100
      end
      //03F0: enable_text_draw 0
    end
//03F0: enable_text_draw 0
end

184b3613cc67833d33a3ebe0949378ff.jpeg
08b1fae3da6226433d3912d02f8ffe69.jpeg

#50 Re: Вопросы по скриптингу » [Вопрос] Помогите разобраться с машиной » 04-12-2011 10:08

Player.Defined - вобще считается, лучше отдельно ставить
_потом условие not Actor.Driving + key_pressed
__И уж после jf @NONAME_11 пойдёт создание машины (Model.Available и т.д.) - даже в справке СаниБилдера вроде пример есть!

Board footer

Powered by FluxBB