Вопросы по созданию скриптов
| |
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
Den_spb |
Дата: Понедельник, 16.04.2012, 17:04 | Сообщение # 3061 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (Jin) слушайте,а можно сделать так,прицепить педа к обьекту
Code 0A96: 0@ = actor 0@ struct 0A98: 1@ = object 1@ struct 0AA6: call_method 0x54D570 struct 0@ num_params 7 pop 0 угол_z 0.0 угол_y 0.0 угол_x 0.0 z 0.0 y 0.0 x 0.0 1@
Сообщение отредактировал Den_spb - Понедельник, 16.04.2012, 17:04 |
|
| |
Vadik7 |
Дата: Понедельник, 16.04.2012, 23:28 | Сообщение # 3062 |
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline |
Quote (Den_spb) Code 0A96: 0@ = actor 0@ struct 0A98: 1@ = object 1@ struct 0AA6: call_method 0x54D570 struct 0@ num_params 7 pop 0 угол_z 0.0 угол_y 0.0 угол_x 0.0 z 0.0 y 0.0 x 0.0 1@ Den_spb, привет, а можно, пожалуйста, по-подробней объяснить, что в этом коде что обозначает..? 0A96 и 0A98 мне, несообразительному, хоть более-менее понятно, а вот дальше идет работа с памятью, если я правильно понял... 0AA6 - это уже темный лес для меня. "вызвать метод 0x54D570 структура 0@ количество_параметров 7 популярный 0 угол_z 0.0 угол_y 0.0 угол_x 0.0 z 0.0 y 0.0 x 0.0 1@" Если я правильно расшифровал этот магический заговор, то что означает количество параметров? А pop? p.s. Прости за грузилово
Пытаюсь научиться скриптингу)
Сообщение отредактировал Vadik7 - Понедельник, 16.04.2012, 23:28 |
|
| |
Den_spb |
Дата: Вторник, 17.04.2012, 07:47 | Сообщение # 3063 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Структура - блок данных в памяти игры о конкретном объекте. 0A96 и 0A98 вычисляют адреса структур актёра и объекта. Код gta_sa.exe включает в себя большое количество различных функций, предназначенных для выполнения определённых задач (например, функция телепортирования педа, функция вычисления текущего сигнала светофора и множество других). Параметры, передаваемые в функцию, записываются в специальную область памяти, называемую стеком. У некоторых функций один из параметров (адрес структуры) передаётся отдельно (не через стек) - такие функции называются методами. Функции и методы можно вызывать в скриптах с помощью клео-опкодов 0AA5-0AA8, указав адрес функции (метода) в exe, количество передаваемых параметров и их значения. Параметр pop - это количество параметров, удаляемых со стека после завершения работы функции (метода). Обычные функции, как правило, сами за собой стек не чистят, поэтому при их вызове параметр pop равен количеству переданных параметров. Методы обычно сами чистят стек, поэтому параметр pop при их вызове будет равен 0. |
|
| |
Griggorii |
Дата: Четверг, 19.04.2012, 08:07 | Сообщение # 3064 |
Группа: Пользователи
Сообщений: 1
Замечания: 0%
Статус: Offline |
dim1988 помоги пожалуйста огромнейшее спасибо тут три скрипта http://www3.zippyshare.com/v/62153825/file.html
1 Wheels быстрая смена дисков в любом месте клавиша 2 закончить левый ALT
2 CARSSUPER вооружить тачку самый крайний правый + почти рядом с Num Lock , но почему то у меня срабатывает на клавише 2 , а охото просто сменить диски
3 Ночевать в машине сохраняться прямо в машине клавиша цифра 0 интересная фишка можно снять с тачки вооружение Суть раз с тачки можно снять вооружение можешь скрипт CARSSUPER дописать снять вооружение на клавишу крайний левый ENTER ?
Огромное спасибо !
И переназначить смену литья на клавишу крайний левый Del , вообщем все три кнопки как бы рядом , а снять вооружение допустим повторно крайний левый + ну или на крайний левый ENTER
Вообщем просто сменить диски хочу , а тачка вооружается , нажимаю ноль оружие снимается и диски как рукой сметает на стандартные в модели
Такое возможно ? Благодарю за ответ и помощь
Сообщение отредактировал Griggorii - Четверг, 19.04.2012, 08:16 |
|
| |
dim1988 |
Дата: Четверг, 19.04.2012, 11:17 | Сообщение # 3065 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Griggorii, я не очень понял, но тебе, видимо, надо поменять клавиши для работы скриптов? Смотри шапку темы, там есть ссылки.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Vadik7 |
Дата: Четверг, 19.04.2012, 16:58 | Сообщение # 3066 |
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline |
Quote (Den_spb) Структура - блок данных в памяти игры о конкретном объекте. 0A96 и 0A98 вычисляют адреса структур актёра и объекта. Код gta_sa.exe включает в себя большое количество различных функций, предназначенных для выполнения определённых задач (например, функция телепортирования педа, функция вычисления текущего сигнала светофора и множество других). Параметры, передаваемые в функцию, записываются в специальную область памяти, называемую стеком. У некоторых функций один из параметров (адрес структуры) передаётся отдельно (не через стек) - такие функции называются методами. Функции и методы можно вызывать в скриптах с помощью клео-опкодов 0AA5-0AA8, указав адрес функции (метода) в exe, количество передаваемых параметров и их значения. Параметр pop - это количество параметров, удаляемых со стека после завершения работы функции (метода). Обычные функции, как правило, сами за собой стек не чистят, поэтому при их вызове параметр pop равен количеству переданных параметров. Методы обычно сами чистят стек, поэтому параметр pop при их вызове будет равен 0. Dim_spb, благодарю тебя за такой развернутый ответ! Всё очень доступно написал, даже я понял А где можно с адресами функций и методов ознакомиться, подскажешь? На будущее тоже полезно будет, спасибо!
Пытаюсь научиться скриптингу) |
|
| |
Den_spb |
Дата: Четверг, 19.04.2012, 18:15 | Сообщение # 3067 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (Vadik7) А где можно с адресами функций и методов ознакомиться, подскажешь? В idb-базе gta_sa.exe, которую можно взять тут: http://public.sannybuilder.com/gtasa_exe_idb/ Для работы с базой нужна программа IDA. Базу gta_sa_idb_20091205 читает IDA 5.2, для более свежих версий базы нужна и более высокая версия IDA. После открытия базы можно посмотреть список всех функций игры на вкладке Functions.
Сообщение отредактировал Den_spb - Четверг, 19.04.2012, 18:16 |
|
| |
SUPMAN |
Дата: Четверг, 19.04.2012, 18:57 | Сообщение # 3068 |
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline |
а как сделать чтоб машина продавалась?????
учусь скриптингу |
|
| |
Mehaniq |
Дата: Пятница, 20.04.2012, 08:36 | Сообщение # 3069 |
Группа: Проверенные
Сообщений: 28
Замечания: 0%
Статус: Offline |
что ты хочешь? чтоб игрок продавал машину или покупал? чтоб продавал надо создать маркер заезжая на который ты теряешь машину и получаешь бабки.
Пеку пироги |
|
| |
SUPMAN |
Дата: Суббота, 21.04.2012, 18:06 | Сообщение # 3070 |
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline |
не мне надо чтоб пришел на авторынок выбрал любую тачку и купил
учусь скриптингу |
|
| |
Mehaniq |
Дата: Суббота, 21.04.2012, 19:55 | Сообщение # 3071 |
Группа: Проверенные
Сообщений: 28
Замечания: 0%
Статус: Offline |
Такой скрипт уже есть. автосалон отто в сан фиерро. вроде качественный
Пеку пироги |
|
| |
Vadik7 |
Дата: Воскресенье, 22.04.2012, 01:28 | Сообщение # 3072 |
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline |
Quote (Den_spb) В idb-базе gta_sa.exe, которую можно взять тут: http://public.sannybuilder.com/gtasa_exe_idb/ Для работы с базой нужна программа IDA. Базу gta_sa_idb_20091205 читает IDA 5.2, для более свежих версий базы нужна и более высокая версия IDA. После открытия базы можно посмотреть список всех функций игры на вкладке Functions. Спасибо, дядь! Определенно - в этом нужно будет поразбираться. Может что-нибудь пойму.
Пытаюсь научиться скриптингу) |
|
| |
Jin |
Дата: Воскресенье, 22.04.2012, 11:25 | Сообщение # 3073 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
а вот можно ли с помшью этого 04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.5 1.0 1.0 04C4: store_coords_to 13@ 14@ 15@ from_actor $PLAYER_ACTOR with_offset -0.5 0.0 1.0 if 86BD: not no_obstacles_between 10@ 11@ 12@ and 13@ 14@ 15@ solid 1 car 1 actor 1 object 1 particle 0 jf вычислить высоту обьекта?ну то есть в пременню запсать его высоту,ну а там я уже хочу с этой пременной сделать некие действия.
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
Mehaniq |
Дата: Воскресенье, 22.04.2012, 13:27 | Сообщение # 3074 |
Группа: Проверенные
Сообщений: 28
Замечания: 0%
Статус: Offline |
Я этими опкодами только вычислял есть ли препятствие перед игроком
Пеку пироги |
|
| |
Den_spb |
Дата: Воскресенье, 22.04.2012, 22:56 | Сообщение # 3075 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (Jin) вычислить высоту обьекта? Высоту модели объекта можно вычислить так: Code 0984: 1@ = object 0@ model 07E4: get_model 1@ dimensions_cornerA_to 2@ 3@ 4@ dimensions_cornerB_to 5@ 6@ 7@ 4@ *= -1.0 005B: 4@ += 7@ // (float) |
|
| |
Jin |
Дата: Понедельник, 23.04.2012, 07:26 | Сообщение # 3076 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
Den_spb, 7@ это и будет высота обьекта?я просто хчу сделать такую вешь,когда пред актром есть обьект его под кидывает на высоту этого обьекта,ну в общем он его прелетает.Ну к примеру к забрами и т.д это вохможно будет сделать,просто я думаю эта комнада 0984: 1@ = object 0@ model предназначена не для стен перил и т.д
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
Den_spb |
Дата: Понедельник, 23.04.2012, 14:00 | Сообщение # 3077 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
07E4 получает оффсеты нижнего левого заднего (угол А) и верхнего правого переднего (угол Б) углов модели. Чтобы получить высоту верхней точки объекта, надо к высоте "центра" объекта (object.storePos) прибавить Z-оффсет верхнего габарита (в данном случае 7@). Получить указатель на статический объект можно с помощью перебора пула статических объектов ( http://modsforgta.ucoz.ru/forum/10-73-1 ). Если это всё сложно для тебя, решай задачу с помощью 86BD: not no_obstacles_between 10@ 11@ 12@ and 13@ 14@ 15@ solid 1 car 0 actor 0 object 0 particle 0 , как сам и предложил.
Сообщение отредактировал Den_spb - Понедельник, 23.04.2012, 14:05 |
|
| |
Jin |
Дата: Вторник, 24.04.2012, 06:37 | Сообщение # 3078 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
Den_spb, ну спасибо)поробую разобраться)думаю щас передсти на новый уровень скриптинга,ну как вот опытные скриптеры пишут)
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
DK22Pac |
Дата: Четверг, 26.04.2012, 23:23 | Сообщение # 3079 |
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline |
Code предназначена не для стен перил и т.д Функция processLineOfSight, возвращает структуру обьекта, который находится между двумя точками. При этом не важно, что это за обьект - пед, здание, или дамми. Сверить, что полученный обьект есть дин. обьектом или зданием. Дальше можно использовать то, что предложил Денис (как работает тот опкод, я не смотрел), а можно вручную залезть в структуру коллизии модели и найти параметры (координаты-оффсеты) бокса.
Мои скрипты Grand Theft Auto III HD Development Team |
|
| |
Scripter100 |
Дата: Вторник, 01.05.2012, 12:08 | Сообщение # 3080 |
Группа: Проверенные
Сообщений: 108
Замечания: 0%
Статус: Offline |
Всем привет! У меня вопрос небольшой, какими опкодами сделать чтобы игрок "светился" зелёным цветом, ну типа призрак.
|
|
| |
Den_spb |
Дата: Вторник, 01.05.2012, 23:00 | Сообщение # 3081 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
В игре есть 3 световых эффекта: корона (светящийся шар, как у фонарных столбов), флешлайт (невидимый источник света, освещающий актёров и машины), световая проекция (круглое световое пятно или свет от фар на земле). Вот пример кода, создающего все 3 эффекта в одном месте у гаража СФ:Code {$CLEO} wait 0 while true wait 0 09E5: create_flash_light_at -2015.9216 144.8292 28.0 RGB_mask 0 0 255 radius 5.0 // флешлайт 04D5: create_corona_at -2015.9216 144.8292 28.0 radius 0.7 type 0 flare 0 RGB 0 0 255 // корона 016F: create_particle 3 rotation_factor 3.14 size 1.5 intensity 255 flags 0 0 255 at -2015.9216 144.8292 28.0 // проекция света end |
|
| |
wmysterio |
Дата: Среда, 02.05.2012, 02:22 | Сообщение # 3082 |
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
Всем хай! Есть один вопросец. Вот у меня есть таблица с 4 столбцами:Code 08D4: $1153 = create_panel_with_title 'IE09' position 30.0 20.0 width 150.0 columns 4 interactive 1 background 1 alignment 1 // Imports 08DB: set_panel $1153 column 0 header 'DUMMY' data 'IE16' 'IE10' 'IE11' 'IE12' 'IE13' 'IE14' 'IE15' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 08DB: set_panel $1153 column 1 header 'DUMMY' data 'IE16' 'IE10' 'IE11' 'IE12' 'IE13' 'IE14' 'IE15' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 08DB: set_panel $1153 column 2 header 'DUMMY' data 'IE16' 'IE10' 'IE11' 'IE12' 'IE13' 'IE14' 'IE15' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 08DB: set_panel $1153 column 3 header 'DUMMY' data 'IE16' 'IE10' 'IE11' 'IE12' 'IE13' 'IE14' 'IE15' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' Возможно ли сделать, что бы можно выбирать ячейки всей таблицы, как это делается при выборе цвета автомобиля в гаражах для тюнинга
Сообщение отредактировал wmysterio - Среда, 02.05.2012, 02:29 |
|
| |
Vadik7 |
Дата: Среда, 02.05.2012, 16:52 | Сообщение # 3083 |
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline |
Quote (Den_spb) В игре есть 3 световых эффекта: корона (светящийся шар, как у фонарных столбов), флешлайт (невидимый источник света, освещающий актёров и машины), световая проекция (круглое световое пятно или свет от фар на земле). Den_spb, здравствуй. Вот есть скрипт, который создаёт прицел у Hydra. Так вот, он создается через "проекцию света"? Ещё, когда в этот истребитель садишься, то на корпусе самолета, чуть позади кабины пилота, появляется, как бы это смешно не было - бутылка, или даже две(бутылки, как в барах Сан Андреса). Как я это понимаю(хоть понимаю, что глупо) - свет светит на горлышко бутылок и впереди самолета появляется 3D прицел. Что же это такое..? А скриншот обязательно сделаю и выложу
Пытаюсь научиться скриптингу) |
|
| |
Den_spb |
Дата: Среда, 02.05.2012, 18:16 | Сообщение # 3084 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Добрый день. Без скриншота трудно понять о чём речь. Если текстура "наложена" на землю - то это проекция. |
|
| |
SUPMAN |
Дата: Понедельник, 07.05.2012, 09:27 | Сообщение # 3085 |
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline |
Можно как-нибудь сделать чтобы из заданной точки дым валил?
учусь скриптингу |
|
| |
Den_spb |
Дата: Вторник, 08.05.2012, 09:23 | Сообщение # 3086 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Code while true wait 0 095C: create_smoke_at 144@ 145@ 146@ velocity 147@ 148@ 149@ RGBA 150@ 151@ 152@ 153@ size 154@ last_factor 155@ end |
|
| |
SHREDER |
Дата: Вторник, 08.05.2012, 16:24 | Сообщение # 3087 |
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Всем привет!
Сделайте пожалуйста кто-нибудь ЛЮБОЙ скрипт только чтоб там было с моделью поведения актера(Decision Maker).
А то у меня не получается вроде все так а пед нифига не делает.Добавлено (08.05.2012, 16:24) --------------------------------------------- Объясните неразумному как сделать маркер для входа в интерьер, сам интерьер запихать и чтоб еще выйти назад можно было
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
|
| |
dim1988 |
Дата: Вторник, 08.05.2012, 21:33 | Сообщение # 3088 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (SHREDER) Объясните неразумному как сделать маркер для входа в интерьер, сам интерьер запихать и чтоб еще выйти назад можно было Как создать жёлтый маркер для входа в интерьер?
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Vadik7 |
Дата: Вторник, 08.05.2012, 23:44 | Сообщение # 3089 |
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline |
Quote (Den_spb) Code while true wait 0 095C: create_smoke_at 144@ 145@ 146@ velocity 147@ 148@ 149@ RGBA 150@ 151@ 152@ 153@ size 154@ last_factor 155@ end Den_spb, доброго времени суток! А в этом опкоде velocity - это скорость дыма что-ли?
Пытаюсь научиться скриптингу) |
|
| |
Den_spb |
Дата: Среда, 09.05.2012, 01:02 | Сообщение # 3090 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Да. |
|
| |
|