#176 09-06-2010 11:12

Viger
Registered: 14-05-2009
Posts: 24

Re: CLEO 4 для GTA San Andreas

У меня так и не работает( Заменил. Скрипт приблизительно такой выполняется:

//код миссии
0AB1: call @FUNC_FADE_IN_1000_MS 0
0AB1: call @FUNC_LOAD_CUTSCENE 1 params 12 // HOMSWET
...

:FUNC_LOAD_CUTSCENE
0@ == 22
jf @FUNC_LOAD_CUTSCENE_CASE_12
...

:FUNC_LOAD_CUTSCENE_CASE_12
0AB1: call @FUNC_FADE_IN 1 wait 500
0@ == 12
jf @FUNC_LOAD_CUTSCENE_END
---------
ЭТОТ КОД УЖЕ НЕ ВЫПОЛЯЕТСЯ!
---------


:FUNC_FADE_IN_1000_MS
0169: set_fade_color_RGB 0 0 1
fade 0 1000

:FUNC_FADE_IN_1000_MS_PROCESS
fading
jf @FUNC_FADE_IN_1000_MS_END
wait 0
jump @FUNC_FADE_IN_1000_MS_PROCESS

:FUNC_FADE_IN_1000_MS_END
0AB2: ret 0

:FUNC_FADE_IN
0169: set_fade_color_RGB 0 0 1
fade 0 0@

:FUNC_FADE_IN_PROCESS
fading
jf @FUNC_FADE_IN_END
wait 0
jump @FUNC_FADE_IN_PROCESS

:FUNC_FADE_IN_END
0AB2: ret 0


З.Ы. если не вызывать 0AB1: call @FUNC_FADE_IN 1 wait 500 то хотя бы катсцена проигрывается! То есть, после возврата функции не имеют предыдущих значения, а обнуляются!

Last edited by Viger (09-06-2010 11:18)

Offline

#177 09-06-2010 12:25

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

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

gosub @blabla
gosub @blabla2

I know everything and nothing...

Offline

#178 11-06-2010 06:33

Daeman
From: }{абаровск
Registered: 08-05-2009
Posts: 70

Re: CLEO 4 для GTA San Andreas

Опкоды
0364:   actor 102@(42@,9i) spotted_actor $PLAYER_ACTOR
замечен ли актёр другим актёром и
09ED:   actor 71@ is_within_field_of_view_actor $PLAYER_ACTOR
находится ли один актёр в поле зрения другого
в общем схожи, и в общем могут быть взаимозаменяемыми.
Разница состоит лишь в том что первый (0364) при проверке вернёт true даже в том случае, если во время произведения проверки один актёр не видит другого, но заметил когда-либо, это как бы одноразовое применение. В отличие от второго опкода, в случае использования которого проверка становится истинной только если во время произведения проверки происходит действие то есть, видит ли один актёр другого в нынешний момент.

Насколько я понмаю (в силу знания английского и перевода иноязычного выражения=)), всё именно так. Поправьте, если не прав.
@Viger, а насчёт проверки столкновения это, действительно, как говорил mfisto, есть опкод
0A1B:   actor 62@ colliding_with_actor $PLAYER_ACTOR
Звучит как столкнулся ли один актёр с другим, опять же возникает вопрос о действии во времени.
Настоящее время V-ing'овое окончание.  cool

Offline

#179 11-06-2010 07:23

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO 4 для GTA San Andreas

Хватит писать не по теме. Я проверил, scm-функция работает и в cleo и в мэйне, и в миссиях и в обычных скриптах.
@mfisto - scm-функция может использоваться без опаски в миссиях, если не используется код прерывания скрипта (end_thread) из тела scm-функции. Последний случай чреват утечками памяти - незавершенные функции так и останутся висеть в памяти, независимо от того, завершился ли скрипт их вызвавший.
@Viger - убери метки и переходы, и, возможно, разберешься, почему что-то не работает, так, как ожидалось.

Offline

#180 11-06-2010 07:50

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

В новой версии игры, сохраненные с клео, на загружаются, вылетает.


I know everything and nothing...

Offline

#181 11-06-2010 12:00

Seemann
Registered: 07-08-2006
Posts: 2,153

Re: CLEO 4 для GTA San Andreas

@Alien - в свойствах только что скачанного cleo.asi написана версия 4.1.1.24, у тебя в подписи 4.1.1.23. Библиотека обновлялась?

Offline

#182 11-06-2010 16:14

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO 4 для GTA San Andreas

@Seemann - сегодня обновилась.
@mfisto - используешь в скрипте scm-функции и enable_trhead_saving. Убери из scm-функций прерывания выполнения, во время которых может быть произведено сохранение. Поясню примером:

:SCM_FUNC
wait 0 // ошибка тут. Если сохраниться в этом месте,
0ab2: ret 0 // после загрузки сохранения будет некуда возвращаться

Раньше в сейв сохранялось состояние первой вызванной scm-функции. Раз теперь scm-функции работают и в мэйне, такие сложности я посчитал излишними и выбросил.

Offline

#183 11-06-2010 17:16

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

Как ты думаешь? Что я совсем что ли тупой, конечно я вообще в скрипте одно прерывание делаю. В самом начале в цикле и все, а в внутри scm никогда. Так что ошибка не в этом.


I know everything and nothing...

Offline

#184 27-06-2010 13:19

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO 4 для GTA San Andreas

С клео4 4.1.1.20 не работает 0A95: enable_thread_saving.
1.Значения переменных не сохраняются

{$CLEO}
0A95:
32@ = 0
while true
    wait 0
    if
        32@ > 7000
    then
        0@ = 10
    end
    03F0: enable_text_draw 1 
    045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@  // ~1~
end

Устанавливаю скрипт, запускаю игру, жду появления на экране числа 10, затем сохраняюсь и запускаю сделанное только что сохранение. На экране отображается 0, а должно 10
2.Завершённые потоки запускаются

{$CLEO}
    0A95:
    model.Load(2985)
    repeat
        wait 0
    until model.Available(2985)
    object.Create(1@ 2985 -2024.9742, 166.2917, 28.8359)
    model.Destroy(2985)
    wait 5000
    object.Destroy(1@)
    0A93:

Устанавливаю скрипт, запускаю игру. После того, как объект уничтожается, сохраняю игру и перезапускаю сделанное только что сохранение - скрипт запускается (объект снова создаётся и удаляется).

Last edited by Den_spb (27-06-2010 13:21)

Offline

#185 27-06-2010 14:26

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

Попробуй 4.1.1.25


I know everything and nothing...

Offline

#186 27-06-2010 14:48

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO 4 для GTA San Andreas

Попробовал. С 4.1.1.25 такая же ситуация.

Offline

#187 27-06-2010 14:52

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

windows какая?


I know everything and nothing...

Offline

#188 27-06-2010 15:20

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO 4 для GTA San Andreas

Windows XP SP 3.

Offline

#189 27-06-2010 16:26

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO 4 для GTA San Andreas

Создается ли в папке CLEO\CLEO_SAVES файл cs<номер сейва>.sav?

Offline

#190 27-06-2010 16:49

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO 4 для GTA San Andreas

Создаётся только в том случае, если я удаляю все старые сейвы из этой папки. При этом создаётся файл cs5.sav, хотя я сохраняю игру на 6 сохранение. После этого поочерёдно запускаю 5 и 6 сохранение - в обоих случаях скрипты работают, как описано выше.

Last edited by Den_spb (27-06-2010 16:53)

Offline

#191 27-06-2010 16:53

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

отсчет идет с нуля поэтому 6 сохранение имеет номер 5


I know everything and nothing...

Offline

#192 27-06-2010 17:05

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO 4 для GTA San Andreas

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

Offline

#193 28-06-2010 08:02

kenking
From: Казахстан
Registered: 28-06-2010
Posts: 253

Re: CLEO 4 для GTA San Andreas

Den_spb wrote:

С клео4 4.1.1.20 не работает 0A95: enable_thread_saving.
1.Значения переменных не сохраняются
Устанавливаю скрипт, запускаю игру, жду появления на экране числа 10, затем сохраняюсь и запускаю сделанное только что сохранение. На экране отображается 0, а должно 10
2.Завершённые потоки запускаются
Устанавливаю скрипт, запускаю игру. После того, как объект уничтожается, сохраняю игру и перезапускаю сделанное только что сохранение - скрипт запускается (объект снова создаётся и удаляется).

У меня на этой версии твои скрипты работают как задумано (т.е. опкод 0A95: работает). Тут дело в чём то другом.

Offline

#194 12-07-2010 00:33

Deniska
Registered: 23-08-2009
Posts: 18

Re: CLEO 4 для GTA San Andreas

Не срабатывает формат текст, например

0ACF: show_formatted_styled_text "%d + %d = %d" time 2000 style 1  2 2 4
выдаёт на экране "d + d = d"

а вот этот работает
0ACF: show_formatted_styled_text "This is %.4X opcode" time 2000 style 1 0x0ACF

(КЛЕО4.1.1.25 , ЕХЕ 14 383 616 байт)

--
+ маловато возможностей AudioStream. Например нельзя проиграть файл с
определённого места.

А еще не работает (или я не понял как использовать) зацикливание звука
0AC0: loop_audiostream $hMP3 flag 1

Last edited by Deniska (12-07-2010 15:00)

Offline

#195 14-07-2010 11:50

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO 4 для GTA San Andreas

0ACF работает как надо, а в 0AC0 действительно была ошибка.
Обновил до 4.1.1.26.

Offline

#196 16-07-2010 01:56

Deniska
Registered: 23-08-2009
Posts: 18

Re: CLEO 4 для GTA San Andreas

Вот спасибо. Теперь есть почти всё что надо для звуков.
И всётаки, если будет время, добавь возможность проиграть файл с определённого места.

кстати - версию ты обновил, но в меню СА осталось 4.1.1.25

Offline

#197 16-07-2010 11:27

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

0AC2: set_3d_audiostream $hMP3 position 0@ 1@ 2@

Вот опкод дает с любого места проигрываться.
Смотри внимательнее.


I know everything and nothing...

Offline

#198 16-07-2010 13:46

Seemann
Registered: 07-08-2006
Posts: 2,153

Re: CLEO 4 для GTA San Andreas

mfisto wrote:
0AC2: set_3d_audiostream $hMP3 position 0@ 1@ 2@

Вот опкод дает с любого места проигрываться.
Смотри внимательнее.

0AC2 устанавливает место на карте, где будет играть звук. А речь шла про проигрывание самого звука с определенного момента времени (например, с середины).

Offline

#199 16-07-2010 15:05

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO 4 для GTA San Andreas

ааа, ясно, да, такой момент интересен.=)


I know everything and nothing...

Offline

#200 17-07-2010 00:03

Deniska
Registered: 23-08-2009
Posts: 18

Re: CLEO 4 для GTA San Andreas

И еще о звуках = (ибо без них моды получаются пресными)
хорошо бы еще иметь проверку типа  "audiostream $AUDIO exist"  (существует ли аудио)
во извежании глюков после загрузки сэйвов. Без этого, конечно, можно обойтись,
но неплохо иметь в арсенале.
Ну и еще расширить опкод "0AAE: release_audiostream $AUDIO", чтоб с параметром -1
он выгружал все загруженые звуки. Это мелочь, но приятно.
Полным шиком был бы опкод типа "audiostream $AUDIO fade 1.0 to 0.0   1000 ms"
(типа сменить громкость от  1.0 до  0.0 за 1000 мс).

Offline

Board footer

Powered by FluxBB