#226 23-07-2015 15:37

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

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

0AB1. Данный опкод вызывает код из текущего скрипта (по аналогии с gosub), передает в него параметры и получает результат. Передаваемые параметры последовательно (то есть в прямом порядке) копируются в область локальных переменных скрипта, остальные локальные перменные обнуляются. Затем поток переходит на указанную метку, выполняет код по данной метке и возвращается после опкода 0AB2.

Почитай справку к опкодам и scm функциям.

0AB1: call_scm_func @__VarToOffset 1 varnumber 0 result 0@ // получили указатель на переменную 0@ в scr1
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 // прочитали её значение, это значение - указатель на блок памяти из опкода 0AC8.
//0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 // здесь либо читаем значение, расположенное в начале этого блока (со смещением 0)
//либо делаем по другому
0A8E: 1@ = 0@ += 0x0 // int
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0 // 1
0A8E: 1@ = 0@ += 0x4 // int
0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0 // 2
0A8E: 1@ = 0@ += 0x8 // int
0A8D: 4@ = read_memory 1@ size 4 virtual_protect 0 // 3
03F0: enable_text_draw 1 
0609: show_formatted_text_position 50.0 50.0 text "%d %d %d" 2@ 3@ 4@

Last edited by Sergey81 (23-07-2015 15:39)

Offline

#227 23-07-2015 15:59

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

Спс, теперь понятно.

Sergey81 wrote:

Почитай справку к опкодам и scm функциям.

У меня в справке SB(последний SB 3.2.2) после опкода 0ABF нет описаний, а где достать новую справку - хз(а на Opcode Database про 0AC8 написано почти то же самое, что и ты написал, но там из-за воды я не понял, когда прочел). Про 0AB1(бывший 05F5) я уже знал, просто немного ошибся при написании поста.

Last edited by Shag (23-07-2015 16:10)

Offline

#228 23-07-2015 16:14

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Я нашел chm файл в старой версии клео 4(4.1.1.30) - http://cleo.li/download.html
Можно открыть установщик через 7zip и просто вытащить его оттуда.
В новой версии его вроде не вкладывают, но точно не знаю.

Offline

#229 23-07-2015 17:59

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

Спс еще раз wink
Ну и не срочные вопросы:
1)После выделения памяти в "scr1.cs" можно ли ниже использовать этот скрипт для другого кода, или в этом скрипте не должно быть больше ничего лишнего? Другими словами - будут ли последствия, если я вставлю этот код выделения памяти в начало стороннего скрипта?

2)планируются ли новые версии? Если да, то будет ли наконец реализована работа со звуком(проигрывание mp3 и воспроизведение всех звуков из sfx.raw, а не каких-то отдельных, как это реализовано в опкодах 018С и 018D)?

Last edited by Shag (23-07-2015 18:01)

Offline

#230 23-07-2015 18:27

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Shag wrote:

1)После выделения памяти в "scr1.cs" можно ли ниже использовать этот скрипт для другого кода

Почему бы и нет?

Shag wrote:

2)будет ли наконец реализована работа со звуком(проигрывание mp3 и воспроизведение всех звуков из sfx.raw, а не каких-то отдельных, как это реализовано в опкодах 018С и 018D)?

Пока не уверен, аудио из клео 4 может и будет потом, стандартные звуки - не знаю.

Last edited by Sergey81 (23-07-2015 18:28)

Offline

#231 03-08-2015 02:04

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

В GTA3 опкоды

04C3: create_coordinate 0@ 1@ 2@ from_car 10@ offset 0.0 -20.0 0.0 ;0407 in VC
04C4: create_coordinate 0@ 1@ 2@ from_actor $PLAYER_ACTOR offset 0.0 1.2 0.0

- вместо искомых координат возвращают какую-то ахинею. Опкод

04C2: create_coordinate 0@ 1@ 2@ from_object 11@ offset -0.277 -16.662 3.152 ;0400 in VC

- не тестил, но скорее всего там то же самое

P.S. Очень жду фикса, т.к. замучался уже извращаться с косинусами и синусами..

Last edited by Shag (03-08-2015 04:16)

Offline

#232 03-08-2015 23:01

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

Спасибо. Еще 2 вопроса:
1)Что изменилось в новой версии CLEO для Вайса?
2)Где можно достать базу адресов Трехи(гугл не помог), в частности - оффсеты страктов транспорта, людей и объектов?
Интересует конкретно Трешные аналоги оффсетов транспорта(из Вайса):

+0x70 - [float] - x push
+0x74 - [float] - y push
+0x78 - [float] - z push
+0x7C - [float] - X turn speed
+0x80 - [float] - Y turn speed
+0x84 - [float] - Z turn speed

В трёхе они не работают... sad

Last edited by Shag (03-08-2015 23:01)

Offline

#233 04-08-2015 00:52

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

Т.к. второй вопрос горел - ответ нашел методом тыка:

+0x78 - [float] - x push
+0x7C - [float] - y push
+0x80 - [float] - z push
+0x84 - [float] - X turn speed
+0x88 - [float] - Y turn speed
+0x8C - [float] - Z turn speed

Но насчет CLEO для вайса всё еще интересно узнать smile

Offline

#234 04-08-2015 12:52

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Те опкоды я исправил, а в новой версии для вайса ничего нового, кроме того, что надпись '0 scripts' не показывается.
База для gta3 лежит на паблике, но структур там практически нет.

Last edited by Sergey81 (04-08-2015 12:54)

Offline

#235 05-08-2015 04:55

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

Re: CLEO для GTA III

Sergey81 wrote:

Те опкоды я исправил, а в новой версии для вайса ничего нового, кроме того, что надпись '0 scripts' не показывается.

Какая текущая версия библиотеки? И ссылку на неё можно, а то, что-то я в этих обновлениях несколько запутался grin

Offline

#236 05-08-2015 06:54

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

Offline

#237 09-08-2015 16:04

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

Небольшой баг в новом CLEO(в 1.1.1.7 и ранее не наблюдается):
В 11 утра при погоде 0 (SUNNY в timecyc.dat) (чит APLEASANTDAY) изменяется освещение педов и авто (Amb_Obj в timecyc.dat) на бирюзовое:
http://fastpic.ru/view/72/2015/0809/68c … 9.jpg.html
Другие погоды, например, 4 (EXTRASUNNY в timecyc.dat) (чит ALOVELYDAY) это не затрагивает:
http://fastpic.ru/view/69/2015/0809/5b0 … 7.jpg.html

Баг проявляется только в 11 утра и только при погоде SUNNY, на чистой сборке вайса с единственным установленным плагином - VC.CLEO.asi, даже при отсутствии папки CLEO.
На всякий случай - вот адресок погоды: 0xA10A2E



P.S. Еще немножко оффтопа:
Sergey81, есть пара проблем с твоим новым Widescreenfix(последним, скачанным с твоего сайта, который с прозрачным фоном меню) для вайса:
1)В старой версии Widescreenfix фиксилась мышка, теперь же она снова не работает.
2)Не работает запись float значений в 0x40104A(чтобы менять FOV) - FOV не выходит менять FOV при любых настройках в GTAVC_widescreen_fix.ini
То, что делает плагин с FOV - работает, а вот записать свое значение - нет.

Last edited by Shag (09-08-2015 16:30)

Offline

#238 06-09-2015 11:33

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

Shag wrote:

Баг проявляется только в 11 утра и только при погоде SUNNY, на чистой сборке вайса с единственным установленным плагином - VC.CLEO.asi, даже при отсутствии папки CLEO.

Спасибо, вчера выкладывал новую версию, но этого сообщения не видел. Оказывается там надо было еще один адресок пропатчить. Перезалил исправленную v2.0.0.3 на сайт.

Также выложил свои старые скрипты в пределанном виде сюда - http://13.sannybuilder.com/cleo-scripts

Shag wrote:

Sergey81, есть пара проблем с твоим новым Widescreenfix(последним, скачанным с твоего сайта, который с прозрачным фоном меню) для вайса:

Для мышки надо скачать SilentPatch, а FOV действительно перестал работать, сейчас перезалью исправленную версию.

Offline

#239 12-01-2016 03:19

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

Sergey81 wrote:

Для мышки надо скачать SilentPatch, а FOV действительно перестал работать, сейчас перезалью исправленную версию.

Как я ни пытался, но я не смог решить базовую проблему SilentPatch: он убирает стандартные "лаги" в работе скриптов, которые нужны, как воздух, многим скриптам, а именно: стандартный лок ФПС в 30 кадров делает так, что задержка, описываемая в скриптах, как "wait 0 ms" по сути является "wait 33 ms" (1000мс/30фпс), и многие скрипты на этом подвязаны(включая и мой), а SilentPatch делает так, что "wait 0 ms" превращается в "wait RANDOM 0-33 ms", т.е., в зависимости от мощностей компа, задержка будет от "0" до 33, и, если скрипт сильно от этого зависит(как мой, работающий с физикой авто) - он будет работать нестабильно. Есть вариант заменить везде в скриптах "wait 0 ms" на "wait 33 ms", но в этом случае иногда "33" будет превращаться в "33-66", т.к. игра, опять-таки, становится нестабильной.
Да и зачем подстраивать столько всего под один кривой SilentPatch?(люди жалуются на множество ошибок в этом патче, в т.ч. - неадекватную мышку, лол).
Да - есть в его патче пара клевых фич, но вот со скриптовыми задержками он перегнул палку: в оригинале все специально было сделано так, и "фиксить" это не нужно. Silent даже не дал игрокам выбора(файл настройки), чтобы они могли выключить потенциальный мусор в патче.

Всвязи с чем, прошу: верни фикс мыши в Widescreenfix, ПОЖАЛУЙСТА!!!
Несколько проектов сдохнут без этого  cry

Last edited by Shag (12-01-2016 03:23)

Offline

#240 15-02-2016 07:34

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

Re: CLEO для GTA III

Всё не было времени протестировать новые версии CLEO для VC и III. И вот решил таки это сделать. Установлены версии 1.1.1.7 и 1.0.1.7 соответственно. Но, к сожалению, не смог обновить версии. Игра выкидывает на рабочий стол в то время, когда должно на экране появляться главное меню. Понимаю, что где-то я конкретно торможу, но вот, где? lol

Просьба описать по пунктам процесс обновления CLEO для VC и III с версий 1.1.1.7 и 1.0.1.7 до 2.0.0.4 (пробовал сначала обновить до версии 2.0.0.3 - результат тот же). wall

Offline

#241 24-02-2016 16:33

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: CLEO для GTA III

kenking wrote:

Всё не было времени протестировать новые версии CLEO для VC и III. И вот решил таки это сделать. Установлены версии 1.1.1.7 и 1.0.1.7 соответственно. Но, к сожалению, не смог обновить версии. Игра выкидывает на рабочий стол в то время, когда должно на экране появляться главное меню. Понимаю, что где-то я конкретно торможу, но вот, где? lol

Просьба описать по пунктам процесс обновления CLEO для VC и III с версий 1.1.1.7 и 1.0.1.7 до 2.0.0.4 (пробовал сначала обновить до версии 2.0.0.3 - результат тот же). wall

Там asi должен иметь оригинальное название. Просто удаляешь старый CLEO.asi и ставишь новый VC.CLEO.asi

P.S. Sergey81, ОГРОМНОЕ СПАСИБО! Скачал новую версию - теперь всё снова фиксит, как и раньше:)

Last edited by Shag (24-02-2016 17:51)

Offline

#242 25-02-2016 11:38

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

Re: CLEO для GTA III

Shag wrote:

Там asi должен иметь оригинальное название. Просто удаляешь старый CLEO.asi и ставишь новый VC.CLEO.asi

Пробовал и так. Результат, к сожалению, тот же - игра выкидывает на рабочий стол в то время, когда должно на экране появляться главное меню. И в VC, и в GTA III.  wall

Может быть дело в версии винды? У меня XP SP3. Кто-нибудь проверял на XP? Или я тут один такой "динозавр"?

Offline

#243 25-02-2016 11:40

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

Re: CLEO для GTA III

Плагины ведь тоже поменялись, теперь они в папке cleo_plugins и уже другие новые.


I know everything and nothing...

Offline

#244 25-02-2016 13:28

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

На XP работать не будет, так как скомпилировано все без поддержки XP. Возможно если перекомпилировать с _xp то заработает, но я не проверял.

Offline

#245 25-02-2016 14:05

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

Re: CLEO для GTA III

Sergey81 wrote:

На XP работать не будет, так как скомпилировано все без поддержки XP. Возможно если перекомпилировать с _xp то заработает, но я не проверял.

А что ж так-то? Это не есть хорошо... Просьба это дело исправить.

Offline

#246 26-02-2016 17:12

Sergey81
Registered: 19-12-2008
Posts: 654

Re: CLEO для GTA III

kenking wrote:

А что ж так-то? Это не есть хорошо... Просьба это дело исправить.

Кто-то на gtaforums.com вроде тестил клео с v140_xp, но все равно не заработало. Я лично не проверял и не хочу этим заниматься. Если есть visual studio, можешь сам попытаться.

Last edited by Sergey81 (26-02-2016 17:12)

Offline

#247 28-02-2016 18:52

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

Re: CLEO для GTA III

kenking
Поддержкой XP нынче не занимается даже сам Microsoft. Рекомендую рассмотреть вариант перехода на более современную систему.

Offline

#248 16-07-2016 18:37

kostya
Registered: 16-07-2016
Posts: 4

Re: CLEO для GTA III

хелп я вот скрипт создал но когда я его проверяю gta тупо зависает после загрузки
я новичок

{$CLEO .cs}

0001: wait 100 ms

:START
00D6: if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @RST
00D6: if
05EE: key_pressed 66
004D: jump_if_false @RST

:KEY66
05EE: key_pressed 66
004D: jump_if_false @SAVEPOS
0001: wait 0 ms
0002: jump @KEY66

:SAVEPOS
0054: store_player $PLAYER_CHAR position_to $postp1 $postp2 $postp3
0002: jump @RST

:KEYS78
00D6: if
05EE: key_pressed 78
004D: jump_if_false @RST

:KEY78
05EE: key_pressed 78
004D: jump_if_false @TPTOPOS
0001: wait 0 ms
0002: jump @KEY78

:TPTOPOS
0055: put_player $PLAYER_CHAR at $postp1 $postp2 $postp3 
0002: jump @RST

:RST
0002: jump @START

Last edited by kostya (16-07-2016 18:37)

Offline

#249 16-07-2016 19:41

Goldfish
From: Псков
Registered: 21-04-2015
Posts: 177
Website

Re: CLEO для GTA III

kostya wrote:

хелп я вот скрипт создал но когда я его проверяю gta тупо зависает после загрузки
я новичок
{$CLEO .cs}

0001: wait 100 ms

:START
00D6: if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @RST
00D6: if
05EE: key_pressed 66
004D: jump_if_false @RST

:KEY66
05EE: key_pressed 66
004D: jump_if_false @SAVEPOS
0001: wait 0 ms
0002: jump @KEY66

:SAVEPOS
0054: store_player $PLAYER_CHAR position_to $postp1 $postp2 $postp3
0002: jump @RST

:KEYS78
00D6: if
05EE: key_pressed 78
004D: jump_if_false @RST

:KEY78
05EE: key_pressed 78
004D: jump_if_false @TPTOPOS
0001: wait 0 ms
0002: jump @KEY78

:TPTOPOS
0055: put_player $PLAYER_CHAR at $postp1 $postp2 $postp3
0002: jump @RST

:RST
0002: jump @START

твой код в оптимизированном и исправленном варианте будет выглядеть так

{$CLEO .cs}

0000:

:START
wait 0
if and
    05EE:  key_pressed 66
    0256: player $PLAYER_CHAR defined
004D: jump_if_false @START
0054: store_player $PLAYER_CHAR position_to  1@ 2@ 3@
wait 1000

:WAIT_KEY
wait 0 
    85EE: not key_pressed 66
jf @STEP
jump @WAIT_KEY

:STEP
0055: put_player $PLAYER_CHAR at 1@ 2@ 3@

:WAIT_KEY_2
wait 0 
     05EE: key_pressed 66
jf @START
jump @WAIT_KEY_2

Пы.Сы.
ошибка из-за беск. цикла, на будущее ставь wait

Last edited by Goldfish (16-07-2016 19:48)

Offline

#250 16-07-2016 20:00

kostya
Registered: 16-07-2016
Posts: 4

Re: CLEO для GTA III

Goldfish wrote:
kostya wrote:

хелп я вот скрипт создал но когда я его проверяю gta тупо зависает после загрузки
я новичок
{$CLEO .cs}

0001: wait 100 ms

:START
00D6: if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @RST
00D6: if
05EE: key_pressed 66
004D: jump_if_false @RST

:KEY66
05EE: key_pressed 66
004D: jump_if_false @SAVEPOS
0001: wait 0 ms
0002: jump @KEY66

:SAVEPOS
0054: store_player $PLAYER_CHAR position_to $postp1 $postp2 $postp3
0002: jump @RST

:KEYS78
00D6: if
05EE: key_pressed 78
004D: jump_if_false @RST

:KEY78
05EE: key_pressed 78
004D: jump_if_false @TPTOPOS
0001: wait 0 ms
0002: jump @KEY78

:TPTOPOS
0055: put_player $PLAYER_CHAR at $postp1 $postp2 $postp3
0002: jump @RST

:RST
0002: jump @START

твой код в оптимизированном и исправленном варианте будет выглядеть так

{$CLEO .cs}

0000:

:START
wait 0
if and
    05EE:  key_pressed 66
    0256: player $PLAYER_CHAR defined
004D: jump_if_false @START
0054: store_player $PLAYER_CHAR position_to  1@ 2@ 3@
wait 1000

:WAIT_KEY
wait 0 
    85EE: not key_pressed 66
jf @STEP
jump @WAIT_KEY

:STEP
0055: put_player $PLAYER_CHAR at 1@ 2@ 3@

:WAIT_KEY_2
wait 0 
     05EE: key_pressed 66
jf @START
jump @WAIT_KEY_2

Пы.Сы.
ошибка из-за беск. цикла, на будущее ставь wait

Спасибо smile

Last edited by kostya (17-07-2016 15:51)

Offline

Board footer

Powered by FluxBB