#1 23-03-2010 15:22

Alien
Registered: 12-10-2008
Posts: 564

CLEO для GTA III

Так, эта последняя.:cool:
Что делает:
1) подгружает CLEO скрипты из папки CLEO с расширением cs. Правила те же - нельзя объявлять свои глобальные переменные.
2) добавляет новые опкоды (список ниже).
3) добавляет FXT тексты, позволяющие использовать собственные GXT ключи без необходимости редактирования american.gxt. FXT файлы - это текстовые файлы (в многобайтовой кодировке, несмотря на то, что игра использует Unicode) с расширением fxt. Должны располагаться в папке CLEO\CLEO_TEXT.
4) позволяет играть без диска с приводе, если скопировать с него папку Audio в папку с игрой.
[You must login to view hidden text.]
[---]
[center][large]CLEO опкоды:[/large][/center]
[large]05DC[/large]
[c]05DC: end_custom_thread[/c]
Завершает текущий CLEO поток.
[large]05DD[/large]
[c]05DD: end_custom_thread_named 'KEN1'[/c]
Завершает CLEO поток с указанным именем.
[large]05DE[/large]
[c]05DE: create_custom_thread 'ct.s'[/c]
Запускает поток из CLEO скрипта с указанным именем. Длина строки ограничена 7 символами. Путь ведется относительно папки CLEO.
[large]05DF[/large]
[c]05DF: write_memory 0xA10B2E size 1 value 0 virtual_protect 0[/c]
Пишет по памяти игры.
Параметры:
1 - Адрес памяти.
2 - Размер записи: 1, 2, 4 байта. При передаче других значений выполняется заполнение области памяти нижним байтом переданной величины.
3 - Значение.
4 - Virtual Protect: 1 – если нужно сделать адрес памяти записываемым, 0 – если запись идет в перезаписываемый адрес памяти.
[large]05E0[/large]
[c]05E0: 0@ = read_memory 1@ size 4 virtual_protect 0[/c]
Читает значение из памяти игры и записывает результат в переменную.
Параметры:
1 - Переменная, в которую будет записан результат.
2 - Адрес памяти.
3 - Размер записи: 1, 2, 4 байта.
4 - Virtual Protect: 1 – если нужно сделать адрес памяти читаемым, 0 – если запись идет в читаемый адрес памяти.
[large]05E1[/large]
[c]05E1: call 0x55BFC0 num_params 3 pop 3 0 0 0@[/c]
Вызывает функцию
Параметры:
1 - Адрес памяти функции.
2 - количество параметров функции, передаваемых через стек.
3 - выравнивание стека.
... - список параметров функции.
[large]05E2[/large]
[c]05E2: call_function 0x4BC1E0 num_params 0 pop 0 0@[/c]
Вызывает функцию подобно предыдущему опкоду, но имеется возможность получить возвращаемое функцией целочисленное значение.
Параметры:
1 - Адрес памяти функции.
2 - количество параметров функции, передаваемых через стек.
3 - выравнивание стека.
... - список параметров функции, после списка параметров должна стоять переменная, в которую записывается возвращаемое значение.
[large]05E3[/large]
[c]05E3: call_method 0x4DF240 struct 0@ num_params 3 pop 3 0.0 0.0 0.0[/c]
Вызывает функцию-метод.
Параметры:
1 - Адрес памяти функции.
2 - Адрес памяти объекта, владеющего методом.
2 - количество параметров функции, передаваемых через стек.
3 - выравнивание стека.
... - список параметров функции.
[large]05E4[/large]
[c]05E4: call_function_method 0x5BAA80 struct 0@ num_params 0 pop 0 1@[/c]
Вызывает функцию-метод подобно предыдущему опкоду, но имеется возможность получить возвращаемое функцией целочисленное значение.
Параметры:
1 - Адрес памяти функции.
2 - Адрес памяти объекта, владеющего методом.
2 - количество параметров функции, передаваемых через стек.
3 - выравнивание стека.
... - список параметров функции, после списка параметров должна стоять переменная, в которую записывается возвращаемое значение.
[large]05E5[/large]
[c]05E5: 0@ = game_version[/c]
Получает идентификатор версии игры: 0 - версия 1.0, 1 - версия 1.1.
[large]05E6[/large]
[c]05E6: 0@ = actor 0@ struct[/c]
Получает указатель на структуру актера по хэндлу.
[large]05E7[/large]
[c]05E7: 0@ = car 0@ struct[/c]
Получает указатель на структуру машины по хэндлу.
[large]05E8[/large]
[c]05E8: 0@ = object 0@ struct[/c]
Получает указатель на структуру объекта по хэндлу.
[large]05E9[/large]
[c]05E9: 0@ = ped_struct 0@ handle[/c]
Получает хэндл актера, расположенного в пуле актеров.
[large]05EA[/large]
[c]05EA: 0@ = vehicle_struct 0@ handle[/c]
Получает хэндл машины, расположенного в пуле машин.
[large]05EB[/large]
[c]05EB: 0@ = object_struct 0@ handle[/c]
Получает хэндл объекта, расположенного в пуле объектов.
[large]05EC[/large]
[c]05EC: 0@ = current_thread_pointer[/c]
Получает указатель на текущий поток.
[large]05ED[/large]
[c]05ED: 0@ = thread 'MAIN' pointer[/c]
Получает указатель на поток с указанным именем.
[large]05EE[/large]
[c]05EE:  key_pressed 0x20  //VK_...[/c]
Проверяет, нажата ли клавиша.
[large]05EF[/large]
[c]05EF: 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 pass_deads 0 //IF and SET[/c]
Выполняет поиск актера, расположенного в сфере указанного радиуса вокруг точки.
[large]05F0[/large]
[c]05F0: 3@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 pass_wrecked 0 //IF and SET[/c]
Выполняет поиск машины, расположенной в сфере указанного радиуса вокруг точки.
[large]05F1[/large]
[c]05F1: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 //IF and SET[/c]
Выполняет поиск объекта, расположенного в сфере указанного радиуса вокруг точки.
[large]05F2[/large]
[c]05F2: 0@ = pop_float[/c]
Получает возвращаемое функцией дробное значение. Должен использоваться после опкодов 05E1, 05E3.
[large]05F3[/large]
[c]05F3: 0@ = 2 exp 0.5 //all floats[/c]
Возводит число в степень.
[large]05F4[/large]
[c]05F4: 0@ = log 0@ base 2 //all floats[/c]
Находит логарифм числа по произвольному основанию.
[large]05F5[/large]
[c]05F5: call_scm_func @func params_count 0[/c]
Вызывает scm-функцию подобно gosub, но scm-функция имеет свой набор локальных переменных и может возвращать значения. При вызове в scm-функцию можно передать аргументы, которые по порядку запишутся в локальные переменные scm-функции. Количество аргументов контролируется вторым параметром опкода. После списка аргументов идет список переменных, в которые будут записаны возвращаемые scm-функцией значения.
[large]05F6[/large]
[c]05F6: ret 0[/c]
Выполняет возврат из scm-функции. Содержит список возвращаемых функцией значений, их количество контролируется первым параметром опкода и должно совпадать с количеством переменных-приемников в опкоде 05F5.

Offline

#2 23-03-2010 21:07

Jur1z
Registered: 08-03-2010
Posts: 17

Re: CLEO для GTA III

Awesome will test it tomorrow

Offline

#3 24-03-2010 08:20

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

то Alien
что ж ты со мной делаешь! Всё никак не разгребусь со всякими билдами от сталкера, SanVice`ми, метро хочу поставить...  wink

Offline

#4 28-03-2010 03:23

Deji
From: UK
Registered: 09-11-2008
Posts: 189
Website

Re: CLEO для GTA III

Yay! GTA 3 is great. I'd love to mod this one when I get the chance. GTA 3 has always seemed much different from VC and SA.

Offline

#5 28-03-2010 07:03

PIT
Registered: 08-09-2008
Posts: 224

Re: CLEO для GTA III

а для гта 2 клео есть? laugh3.gif


100 постов - 27 августа;

Offline

#6 28-03-2010 08:01

GTASA
Registered: 13-09-2008
Posts: 476

Re: CLEO для GTA III

В gta 2 скрипты другие и принцип не тот.

Offline

#7 28-03-2010 09:16

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: CLEO для GTA III

GTASA wrote:

В gta 2 скрипты другие и принцип не тот.

Ты их лично рассматривал? Там даже декомпилятор не нужен.

Offline

#8 29-03-2010 09:45

Innocent
From: Main SCM
Registered: 22-03-2010
Posts: 20

Re: CLEO для GTA III

Ммм...Алиен, алиен - где ты был раньше?! Это же просто замечательно!

Теперь можно осуществить многое незбыточное что когда то хотел не зная скриптинга.
Ведь такая маленькая прелесть как "отстреливание рук и ног" есть только в 3-ешке... можно будет сделать что то фатальное.

Отлично! Спасибо!

Offline

#9 29-03-2010 10:17

GTASA
Registered: 13-09-2008
Posts: 476

Re: CLEO для GTA III

А у меня на этапе появления меню игры вылетает из-за клео. Вы не могли бы дать нужный ехе?

Offline

#10 29-03-2010 10:46

d88
Registered: 15-12-2009
Posts: 254
Website

Re: CLEO для GTA III

Innocent wrote:

Ммм...Алиен, алиен - где ты был раньше?! Это же просто замечательно!

Согласен. Жаль что сейчас это не актуально, но попробовать надо.

А для четвёрки клео будет? Я понимаю, что там принцип другой, но может возможно сделать что-то наподобие?

Last edited by d88 (29-03-2010 10:46)

Offline

#11 29-03-2010 11:00

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: CLEO для GTA III

там смысла нет


GIMS developer

Offline

#12 29-03-2010 11:13

GTASA
Registered: 13-09-2008
Posts: 476

Re: CLEO для GTA III

Для четверки же есть Alice.

Alien, дай, пожалуйста, свой gta3.exe.

Offline

#13 29-03-2010 11:51

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO для GTA III

на паблике есть.

Offline

#14 29-03-2010 11:59

GTASA
Registered: 13-09-2008
Posts: 476

Re: CLEO для GTA III

Не помогло. Вот что пишет после всех заставок перед появлением меню:

f230fd4276ff.jpg

Last edited by GTASA (29-03-2010 12:04)

Offline

#15 29-03-2010 15:33

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO для GTA III

ты папку Audio с диска #2 копировал? Если да, то, возможно, ошибка из-за этого... Я поменял немного код no-cd, теперь должно быть стабильнее.

Offline

#16 29-03-2010 16:45

DruGun
Registered: 26-03-2010
Posts: 2

Re: CLEO для GTA III

Alien, я рад, что ты занимаешься этим хорошим делом!:^ Можно разместить твои новые библиотеки CLEO 4 (и на Vice и на III) на Playground.ru? Думаю, многие фанаты были бы рады увидеть её существование. Просто некоторые люди о существовании форума Sanny Builder'a даже не знают.=)
P.S. У меня уже есть скрипты, заточенные под CLEO 4 - скрипт пассажира и туррета.

Last edited by DruGun (29-03-2010 16:57)

Offline

#17 29-03-2010 17:02

PIT
Registered: 08-09-2008
Posts: 224

Re: CLEO для GTA III

да это действительно нонсанс, когда один человек создает три штуки cleo 4 причём для 3 разных игр, впечатляюще


100 постов - 27 августа;

Offline

#18 30-03-2010 07:11

GTASA
Registered: 13-09-2008
Posts: 476

Re: CLEO для GTA III

Я переустановил GTA 3, игра стала работать с клео. Но я папку Audio с диска не скидывал, поэтому у меня просит второй диск. А этот ехе не помогает мне.

Offline

#19 30-03-2010 08:24

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO для GTA III

DruGun wrote:

Alien, я рад, что ты занимаешься этим хорошим делом!:^ Можно разместить твои новые библиотеки CLEO 4 (и на Vice и на III) на Playground.ru? Думаю, многие фанаты были бы рады увидеть её существование. Просто некоторые люди о существовании форума Sanny Builder'a даже не знают.=)
P.S. У меня уже есть скрипты, заточенные под CLEO 4 - скрипт пассажира и туррета.

Естественно можно. Только в этом смысла нет. Простым пользователям отдельно качать библиотеку незачем. Ее лучше распространять непосредственно с модами (скриптами, плагинами итп). Ну или давать ссылку на sannybuilder.com. Второе предпочтительнее, потому что библиотека время от времени обновляется.

Offline

#20 30-03-2010 09:37

GTASA
Registered: 13-09-2008
Posts: 476

Re: CLEO для GTA III

Alien, ну так что, ты можешь улучшить клео? Ведь в вайс сити такой проблемы нет.

Offline

#21 30-03-2010 11:35

Innocent
From: Main SCM
Registered: 22-03-2010
Posts: 20

Re: CLEO для GTA III

Какой проблемы???

причем вообще ехешник который не запускаеться без диска к клео?

Я вот за 300 метров скачал гта3 вчера и уже написал кое что на 3-ойку.
и все работает,и вообще так класно.
никакой мороки с майном и т.п.

Вот незнаю как другим - но мне нравиться больше писать на 3-ойку чем на вайс или С.А.

а вот вопрос:

1-ый хоть где то есть хоть какаянибудь документация о гта3. Нашел в "Энциклопедии моддинга GTA"
но там слишком мало инфы по гта3.
кто нибудь знает где взять? или документации просто не существует?

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

Last edited by Innocent (30-03-2010 11:39)

Offline

#22 30-03-2010 18:46

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

Re: CLEO для GTA III

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

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

Offline

#23 30-03-2010 21:13

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

to Innocent
Насчёт чего скрипты написал, а то идей толком нет(но поводу плаванья только, да ещё код надо искать...)?

Offline

#24 30-03-2010 22:51

Alien
Registered: 12-10-2008
Posts: 564

Re: CLEO для GTA III

Innocent wrote:

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

00F2. В поиске опкодов его нет. Смотри в SCM.ini.

00F2=5,  actor %1d% near_actor %2d% radius %3d% %4d% %5h%

Offline

#25 31-03-2010 04:32

GTASA
Registered: 13-09-2008
Posts: 476

Re: CLEO для GTA III

Innocent, я о той проблеме, что у меня гта 3 просит второй диск, нигде не могу найти ехе, который это исправляет. И мне пришлось папку Audio с диска скинуть, видимо, из-за этого и не работает клео. Если че, у меня лицензия от буки. Дайте тогда, пожалуйста, ссылку на гта 3, который не просит второй диск.

Offline

Board footer

Powered by FluxBB