Скрипты для GTA от dim1988 aka d88

Главная | Регистрация | Вход

Приветствую Вас Гость | RSS
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Вопросы по созданию скриптов
dim1988 Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Ответы на самые часто задаваемые вопросы

Как сохранить (компилировать) скрипт?
Почему не следует использовать в клео скриптах глобальные переменные?
Как узнать координаты мест, через какую прогу?
Как поместить игрока в интерьер?
Опкод, который открывает все дома в СА
Запись в переменную ближайшего педа и проверка его модели
Как заставить актёров ходить по определённым координатам
Проверка нажатия определённой клавиши
Пак пути с анимацией
Как сделать так, чтоб 2 миссии следовали друг за другом?
Как актёру дать оружие?
Как создать транспорт
Как создать жёлтый маркер для входа в интерьер?
При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить?
Как транспорту присвоить определённый цвет?
Что делать если пишет ожидалось 'x' параметров?
Как написать цветной текст?
Номера костей актёра
Что такое gosub?
Опкоды, связанные с созданием огня
Как изменить оружие банд?
Образец добавления в игру объектов
Проверка нажатия клавиши в игре и список значений
Путь или scmpath
Как изменить цвет затемнения экрана?
Как записать в переменную случайное число из интервала
Список стилей боя
Как привязать эффект к кости актёра?
Как произвести действия, над педами, созданными игрой
Как заменить модель игрока
Как заставить актёра поднять руки, как при аресте
Сброс анимации
Как метнуть объект?
Как из одного скрипта запустить другой?

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
Den_spb Дата: Суббота, 16.06.2012, 06:42 | Сообщение # 3241
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (Artalus)
в том то и дело, что там их 3 штуки, и ни один не работает

Выбирать нужно опкод, подходящий для конкретной ситуации.
Для сложения дробных чисел, оба из которых записаны в локальные переменные, существует только один опкод:
005B: 4@ += 17@ // (float)
Он нормально работает, часто его использую.

Quote (Artalus)
про hex-буфер можно поподброднее?

Где-нибудь в конце скрипта (так, чтобы на него не перешло исполнение кода) создаётся hex-буфер. Адрес буфера получаем с помощью опкода вычисления адреса метки - 0AC6: 0@ = label @label offset. К полученному адресу прибавляем нужное смещение, а дальше как обычно читаем/пишем память опкодами 0A8D/0A8C. Пример: создадим буфер на 8 байт и запишем в него значение двух переменных - 0@ и 1@ (размер одной переменной - 4 байта). Затем скопируем значения буфера в переменные 2@ и 3@
Code
{$CLEO}
0@ = 12345
1@ = -897.59

0AC6: 31@ = label @Buffer offset
0A8C: write_memory 31@ size 4 value 0@ virtual_protect 0
31@ += 4
0A8C: write_memory 31@ size 4 value 1@ virtual_protect 0

0AC6: 31@ = label @Buffer offset
0A8D: 2@ = read_memory 31@ size 4 virtual_protect 0
31@ += 4
0A8D: 3@ = read_memory 31@ size 4 virtual_protect 0

0A93:

:Buffer
hex
     00 00 00 00
     00 00 00 00
end


Quote (DK22Pac)
scm-функции.
Да, scm-функции тоже позволяют экономить переменные, т.к. внутри функции используется собственный набор из 32 локальных переменных.
 
 
SPIRITS Дата: Суббота, 16.06.2012, 09:48 | Сообщение # 3242
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Ну кто нибудь ответит на вопросы на 108 страницы?
 
 
Den_spb Дата: Суббота, 16.06.2012, 10:01 | Сообщение # 3243
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
1) Количество переменных увеличить нельзя.
2) Не используй для обычных скриптов формат cm, т.к. это формат миссии, а в любой момент времени в игре может быть запущено не более одной миссии.


Сообщение отредактировал Den_spb - Суббота, 16.06.2012, 10:02
 
 
dim1988 Дата: Суббота, 16.06.2012, 11:27 | Сообщение # 3244
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Jin)
Cлушайте,у меня ни как не получаеться сделать так чтоб обьект цеплялся к педу и двигался обьект а за ним и пед.

Изучи этот скрипт.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
SPIRITS Дата: Суббота, 16.06.2012, 11:50 | Сообщение # 3245
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Den_spb, Ну это понятно, я буду cs и cm использовать только для создание новых актеров
так как мне не достаточно 33 локальных перемен
 
 
DK22Pac Дата: Воскресенье, 17.06.2012, 00:54 | Сообщение # 3246
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline
Quote (Den_spb)
Да, scm-функции тоже позволяют экономить переменные, т.к. внутри функции используется собственный набор из 32 локальных переменных.

Уточню: при выполнении scm-функции, происходит копирование значений переменных в некий буффер. При возвращении - значения восстанавливаются. Вроде так)


Мои скрипты
Grand Theft Auto III HD Development Team
 
 
Jin Дата: Воскресенье, 17.06.2012, 05:06 | Сообщение # 3247
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
dim1988, о спасибоо,чё то я перестал, учиться по чужим скриптам)


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
MrMADRYAN Дата: Воскресенье, 17.06.2012, 19:41 | Сообщение # 3248
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline
Привет всем! Может кто-то помнит скрипт, идея там была поиск рандомного персонажа, и если его тип 8, то его делали бессмертным (типо грув бессмертен), так вот, меня попросили поучавствовать в одной разработке, а там нужен такой скрипт, у себя потерял (ибо на FTP сервере, где все моды помойка и туда не захожу около года). Может кто-то поможет его найти? (Исходник скрипта было в страницах до 100 в этой теме.
Писать заново не могу, забыл я всё, как ушёл из моддинга.
 
 
Jin Дата: Понедельник, 18.06.2012, 05:50 | Сообщение # 3249
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
MrMADRYAN, ну вот,но это я написал сам.



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
MrMADRYAN Дата: Понедельник, 18.06.2012, 13:33 | Сообщение # 3250
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline
Jin, я из скрипта буду вытаскивать данный с помощью C++, а он, по резалтам моего теста так и не вернул состояние актёра в год моде.
Как сделать такое же, что было в том потерянном скрипте, я вот один из нужных кодов вспомнил, вот. надо бы с ним.
0AE1: $actor = random_actor_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 pass_deads 1 //IF and SET
 
 
dim1988 Дата: Понедельник, 18.06.2012, 17:57 | Сообщение # 3251
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
MrMADRYAN, так поставь этот опкод вместо
Quote (Jin)
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 10@ closest_ped_to 1@

Кстати, 0AB5: действует только на актёров которые вблизи.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Jin Дата: Понедельник, 18.06.2012, 17:58 | Сообщение # 3252
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
MrMADRYAN, ну я не знаю есть аткой вариант но у меня он не работает почему то.


dim88, хех у тебя сообщений 1995 как год моего рождения))



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)


Сообщение отредактировал Jin - Понедельник, 18.06.2012, 18:00
 
 
DK22Pac Дата: Понедельник, 18.06.2012, 18:06 | Сообщение # 3253
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline
Jin, старайся сохранять исходники и не декомпилировать свои скрипты. Так делают только нубы.

Мои скрипты
Grand Theft Auto III HD Development Team
 
 
MrMADRYAN Дата: Понедельник, 18.06.2012, 18:08 | Сообщение # 3254
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline
Хм, в том скрипте, Jin, этот код сначала был 0AE1: 4@ = random_actor_near_point 0@ 1@ 2@ in_radius 10.0 find_next 0 pass_deads 1 //IF and SET
а потом так
0AE1: 4@ = random_actor_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 pass_deads 1 //IF and SET
Дело в том, что бы поймать из dll файла (в моём случае catload.dll) статус бандита (бессмертен ли он), а этот код, он возвращает игре как раз то, что мне и нужно, но это почему-то в случае приведённом выше не работает.
 
 
SPIRITS Дата: Понедельник, 18.06.2012, 18:11 | Сообщение # 3255
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
dim1988, За инфу про 0A5B спасибо, а то я думал что он берет актеров которые находятся на расстояние двух машин
 
 
MrMADRYAN Дата: Понедельник, 18.06.2012, 18:51 | Сообщение # 3256
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline
Короче. Тут запустил FTP'шку, порылся, вдруг вспомнил я название, сам скрипт прикрепил к сообщению. Все спасибо, кто хотел помочь.
Прикрепления: 9804814.cs (17.3 Kb)
 
 
Den_spb Дата: Вторник, 19.06.2012, 04:55 | Сообщение # 3257
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Недавно же давал заготовку для 0AE1-0AE3 ( http://gtascriptd88.ucoz.ru/forum/2-3-8442-16-1339080938 )
Надо бы добавить это в список часто задаваемых вопросов ("Как произвести действия, над педами, созданными игрой?")


Сообщение отредактировал Den_spb - Вторник, 19.06.2012, 04:56
 
 
Jin Дата: Вторник, 19.06.2012, 06:25 | Сообщение # 3258
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
DK22Pac, так я и есть нуб)Да и вообще разница то какая?темболее я же пишу скрипт не как вы с Den_spb ,я пишу как "новичок" поэтому не вижу разницы,у меня в скрипте ни чего не преобразуеться.


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
dim1988 Дата: Вторник, 19.06.2012, 08:33 | Сообщение # 3259
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Den_spb)
Надо бы добавить это в список часто задаваемых вопросов

Сделано, хотя лично я не понял, почему речь об актёрах, а ты там используешь опкоды для объектов.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
SPIRITS Дата: Вторник, 19.06.2012, 08:53 | Сообщение # 3260
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
dim1988, Тот опкод записывает в переменную машины, и актеры все в одну
вот только не рабочий, я пробовал уже biggrin
 
 
dim1988 Дата: Вторник, 19.06.2012, 09:58 | Сообщение # 3261
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
В одну переменную и актёров, и машины, и объекты? Да ладно.
И вообще какой-то странный код. Откуда там 8AE3, вроде сам опкод на проверку не похож.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
dim1988 Дата: Вторник, 19.06.2012, 10:03 | Сообщение # 3262
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Что вы меня путаете, вот что в справке написано
Quote

0AE3: $object = random_object_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 //IF and SET

0AE1 получает хэндл случайного объекта, находящегося рядом с точкой в определенном радиусе, устанавливает результат логической операции TRUE, если объект найден, и FALSE, если нет.

Параметры
[in] Переменная, в которую будет записан хэндл полученного объекта;
[in] X-координата точки, около которой ищется объект;
[in] Y-координата точки, около которой ищется объект;
[in] Z-координата точки, около которой ищется объект;
[in] Радиус поиска;
[in] Флаг, задающий поиск, начиная с последнего найденного этим опкодом (чтобы не натыкаться постоянно на один и тот же объект при цикличном поиске).


(там где красным выделено – это опечатка в справке, должно быть 3)
Ничего удивительного, что он не работает. Den_spb, наверное, хотел написать 0AE1, он предназначен для актёров. Но всё равно это не проверка.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Den_spb Дата: Вторник, 19.06.2012, 15:59 | Сообщение # 3263
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (dim1988)
Сделано, хотя лично я не понял, почему речь об актёрах, а ты там используешь опкоды для объектов.

Да, по ошибке написал опкод для объекта. Но для актёров конструкция будет точно такая же, только вместо 0AE3 будет 0AE1 (а для машин соответственно 0AE2).
И важно правильно устанавливать значения "find next".

Quote (dim1988)
Но всё равно это не проверка.

Этот опкод относится к группе двойных опкодов, т.е. являющихся одновременно и командой, и проверкой. Об этом говорит комментарий "IF and SET"
 
 
dim1988 Дата: Вторник, 19.06.2012, 16:29 | Сообщение # 3264
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Den_spb)
Этот опкод относится к группе двойных опкодов, т.е. являющихся одновременно и командой, и проверкой. Об этом говорит комментарий "IF and SET"

А как он тогда работает в качестве проверки? Является ли переменная актёром, находящимся около игрока?


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Jin Дата: Вторник, 19.06.2012, 17:25 | Сообщение # 3265
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
dim1988, кстать ,а где ты такую подробную справку нашёл именно по опредлённому опкоду?я вообще такое в Сб не находил.Только по другим опкодам.


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
Den_spb Дата: Вторник, 19.06.2012, 17:31 | Сообщение # 3266
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (dim1988)
А как он тогда работает в качестве проверки? Является ли переменная актёром, находящимся около игрока?

Если этот опкод выполняется как проверка, то он всё равно попытается найти актёра. Если актёр будет найден, то условие будет выполнено, а если актёр не будет найден, то условие будет не выполнено.

Добавлено (19.06.2012, 17:31)
---------------------------------------------
Quote (Jin)
dim1988, кстать ,а где ты такую подробную справку нашёл именно по опредлённому опкоду?я вообще такое в Сб не находил.Только по другим опкодам.

Справка по опкодам КЛЕО3 есть в справке СБ (раздел КЛЕО3)
Справка по опкодам КЛЕО4 поставляется вместе с библиотекой КЛЕО4.


Сообщение отредактировал Den_spb - Вторник, 19.06.2012, 17:32
 
 
Jin Дата: Вторник, 19.06.2012, 17:33 | Сообщение # 3267
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
Den_spb, спасибо про
Quote (Den_spb)
Справка по опкодам КЛЕО3 есть в справке СБ (раздел КЛЕО3)

знал,а вот про клео 4 не знал,надо бы прочесть для общего развития)



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
SPIRITS Дата: Вторник, 19.06.2012, 18:38 | Сообщение # 3268
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Теперь понял почему у меня ни чего не было
Вот вопрос
Опкодом 0AE1
Если в find_next установить 0
То это значит что после нахождения актера, опкод не будет искать нового?
И что значит pass_deads?
Что будет если поставить 1, или 0
 
 
SHREDER Дата: Вторник, 19.06.2012, 18:40 | Сообщение # 3269
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
Я вот создал чела и сделал чтоб он за мной ходил. Но он не садится со мной в машину и не стреляет в тех кого я мочу. Мне бы как-то это сделать uhm

[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
SPIRITS Дата: Вторник, 19.06.2012, 18:44 | Сообщение # 3270
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
SHREDER, в группу игрока установи, и тогда будет стрелять в того кого хочет
Я так для клона делал
 
 
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Поиск:

Copyright dim1988 aka d88 © 2024
Сайт управляется системой uCoz