Вопросы по созданию скриптов
| |
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
Аксиома |
Дата: Суббота, 03.12.2011, 18:37 | Сообщение # 2791 |
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline |
dim1988, Так скажи мне на счёт майна почему после загрузки сохранения написанный скрипт в майне не действует хотя в конце скрипта есть переход на начало |
|
| |
Lost_forever |
Дата: Суббота, 03.12.2011, 18:47 | Сообщение # 2792 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Аксиома, покажи код скрипта
Forever |
|
| |
HAUS |
Дата: Суббота, 03.12.2011, 19:32 | Сообщение # 2793 |
Группа: Проверенные
Сообщений: 191
Замечания: 0%
Статус: Offline |
Lost_forever, не смог бы ты ответить, пост 2763.
Главный герой GTA 5 чел из красной тачки!!! |
|
| |
Аксиома |
Дата: Суббота, 03.12.2011, 19:54 | Сообщение # 2794 |
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline |
Lost_forever, Code // This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 DEFINE OBJECTS 1 DEFINE OBJECT SANNY BUILDER 3.04
DEFINE MISSIONS 0
DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 0
{$VERSION 3.1.0027}
//-------------MAIN--------------- 03A4: name_thread 'SUMMER' 01F0: set_max_wanted_level_to 0 0111: set_wasted_busted_check 0 00C0: set_current_time_hours_to 14 minutes_to 0 04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84 03CB: set_rendering_origin_at 2488.56 -1666.84 13.38 0053: $PLAYER_CHAR = create_player #NULL at -143.5986 37.3621 10.3 01F5: $PLAYER_ACTOR = get_player_actor $PLAYER_CHAR 07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 0373: set_camera_directly_behind_player 0581: enable_radar 0 01B6: set_weather 1 0001: wait 0 ms 087B: set_player $PLAYER_CHAR clothes_texture "PLAYER_FACE" model "HEAD" body_part 1 087B: set_player $PLAYER_CHAR clothes_texture "TRACKTRERIS" model "TRACKTR" body_part 2 087B: set_player $PLAYER_CHAR clothes_texture "BASK1ERIS" model "BASK1" body_part 3 087B: set_player $PLAYER_CHAR clothes_texture "HOODYABASE5" model "HOODYA" body_part 0 070D: rebuild_player $PLAYER_CHAR 01B4: set_player $PLAYER_CHAR can_move 1 04BB: select_interior 0 0629: change_integer_stat 181 to 4 0629: change_integer_stat 23 to 1000.0 0109: player $PLAYER_CHAR money += 1000 070D: rebuild_player $PLAYER_CHAR 016C: restart_if_wasted_at 0.0 0.0 17.5 angle 137.0 town_number 0 016D: restart_if_busted_at 0.0 0.0 17.5 angle 90.0 town_number 0 0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here 0004: $DEFAULT_WAIT_TIME = 250 03E6: remove_text_box create_thread @main 0002: jump @SUMMER_329
:SUMMER_329 0001: wait 0 ms 0002: jump @SUMMER_329
wait 900
:main 0226: $HEAL = actor $PLAYER_ACTOR health 0008: $HEAL += 1 0223: set_actor $PLAYER_ACTOR health_to $HEAL 0001: wait 15000 ms jump @main И вот поток main выполнятся будет только если начинать новую игру а если загрузить сохранение то потом не будет выполняться его будто нет |
|
| |
dim1988 |
Дата: Воскресенье, 04.12.2011, 08:33 | Сообщение # 2795 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Аксиома) хотя в конце скрипта есть переход на начало Ты хоть понимаешь что у тебя написано? Где там прыжок на начало?
Во-первых у тебя там бесконечный цикл Quote :main 0226: $HEAL = actor $PLAYER_ACTOR health 0008: $HEAL += 1 0223: set_actor $PLAYER_ACTOR health_to $HEAL 0001: wait 15000 ms jump @main
Во-вторых у тебя даже до него код не дойдёт из-за другого цикла Quote :SUMMER_329 0001: wait 0 ms 0002: jump @SUMMER_329
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Аксиома |
Дата: Воскресенье, 04.12.2011, 08:51 | Сообщение # 2796 |
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline |
Это я пример привёл а вот это
Code :SUMMER_329 0001: wait 0 ms 0002: jump @SUMMER_329 У меня было, я качал дистрибитув и там майн с такой строкой был
Вот прыжок на начало скрипта, в CLEO это работает |
|
| |
dim1988 |
Дата: Воскресенье, 04.12.2011, 11:58 | Сообщение # 2797 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Аксиома, ты знаешь что такое цикл? Если нет, читай в справке.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Аксиома |
Дата: Воскресенье, 04.12.2011, 13:11 | Сообщение # 2798 |
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline |
Прочитал я ,но нету в майне цикла нету, только что такое цикл я не понял но цикла нет |
|
| |
Lost_forever |
Дата: Воскресенье, 04.12.2011, 13:23 | Сообщение # 2799 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (HAUS) dim1988, дело в том что я вставляю в этот опкод номер адреса памяти, но не какого эффекта не бывает. Может из за того что я вставляю адрес чита? не смог бы ты показать маленький пример с адресом памяти
Какая у тебя версия gta_sa.exe? Данные адреса памяти действуют только на версии 1.0
Включаем мега-удар:
0A8C: write_memory 0x969173 size 1 value 1 virtual_protect 0
0x969173 - адрес памяти(мега-удар) size - число байт value - значение virtual_protect - лучше не трогай и оставь как есть.
Forever |
|
| |
dim1988 |
Дата: Воскресенье, 04.12.2011, 13:28 | Сообщение # 2800 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Аксиома, циклы есть, у тебя их два. Первый: :SUMMER_329 0001: wait 0 ms 0002: jump @SUMMER_329
Второй: :main 0226: $HEAL = actor $PLAYER_ACTOR health 0008: $HEAL += 1 0223: set_actor $PLAYER_ACTOR health_to $HEAL 0001: wait 15000 ms jump @main
И в том и в другом у тебя будут бесконечные прыжки на метку, которую я пометил красным. Это потому, что ты сам так указал в команде jump (то что зелёное). jump @main - это не прыжок на начало, это прыжок на метку :main, а она у тебя не в начале.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
gtacleo |
Дата: Воскресенье, 04.12.2011, 16:35 | Сообщение # 2801 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
Почему выкидывает: Code :2_19 wait 0 if and 0390: load_txd_dictionary "MALIBU" 038F: load_texture "MASKA1" as 10 // Load dictionary with 0390 first 0AB0: key_pressed 67 jump @2_60
:2_60 wait 0 038D: draw_texture 10 position 160.0 350.0 size 100.0 100.0 RGBA 255 255 255 255 067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.1 -0.1 0.65 rotation 0.1 0.1 0.65 0.0 2 wait 300 jump @3_154
:3_154 wait 0 if 0AB0: key_pressed 79 jf @3_154 Camera.Restore_WithJumpCut wait 5 jump @2_19
|
|
| |
dim1988 |
Дата: Воскресенье, 04.12.2011, 16:49 | Сообщение # 2802 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
gtacleo, во-первых 0390: load_txd_dictionary "MALIBU" 038F: load_texture "MASKA1" as 10
это не проверки. Во-вторых, не хватает проверки на существование игрока.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Den_spb |
Дата: Воскресенье, 04.12.2011, 17:09 | Сообщение # 2803 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (Lost_forever) virtual_protect - лучше не трогай и оставь как есть. В exe есть 2 основных типа адресов - data и text. Адреса типа data чем-то напоминают глобальные переменные скриптов - в них хранятся различные значения (например, флаги читов, здоровье игрока, номер текущей погоды, смещения структур актёров и машин, и многое другое). В адресах типа text записаны номера опкодов, из которых состоит код различных функций exe и значения параметров этих опкодов. Адреса типа text имеют защиту, которую нужно снимать при чтении или записи значений из них. Защита снимается установкой параметра virtual_protect 1. Адреса типа data защиты не имеют - при их чтении или записи можно оставлять значение virtual_protect 0. |
|
| |
gtacleo |
Дата: Воскресенье, 04.12.2011, 17:41 | Сообщение # 2804 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
dim1988, так тож не идёт:
Code 0000:
:2_19 wait 0 Player.Defined($PLAYER_CHAR) jf @2_19 0AB0: key_pressed 67 jf @2_19 0390: load_txd_dictionary "MALIBU" 038F: load_texture "MASKA1" as 10 // Load dictionary with 0390 first
:2_60 wait 0 038D: draw_texture 10 position 160.0 350.0 size 100.0 100.0 RGBA 255 255 255 255 067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.1 -0.1 0.65 rotation 0.1 0.1 0.65 0.0 2 wait 300 jump @3_154
:3_154 wait 0 if 0AB0: key_pressed 79 jf @3_154 Camera.Restore_WithJumpCut wait 5 jump @2_19
|
|
| |
HAUS |
Дата: Воскресенье, 04.12.2011, 21:23 | Сообщение # 2805 |
Группа: Проверенные
Сообщений: 191
Замечания: 0%
Статус: Offline |
Lost_forever, я уже скачал что то под названием "gta_sa.exe 1.0" , не знаю может кто добавлял сами не знают что добавляют. Я читал что по размеру фала определяется какая версия, но не было времени смотреть, или может меня поборола своя же лень? В любом случае спасибо за помощь.
Главный герой GTA 5 чел из красной тачки!!!
Сообщение отредактировал HAUS - Воскресенье, 04.12.2011, 21:50 |
|
| |
gtacleo |
Дата: Понедельник, 05.12.2011, 11:17 | Сообщение # 2806 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
Вот ещё вопрос можно ли вычеслить переменную актёра в машину которого врезался гг? Добавлено (05.12.2011, 11:17) --------------------------------------------- Также нужна анимация актёр стоит и шарит руками будто чёто чинит!
|
|
| |
Lost_forever |
Дата: Понедельник, 05.12.2011, 21:00 | Сообщение # 2807 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (gtacleo) Также нужна анимация актёр стоит и шарит руками будто чёто чинит! Скачай себе Anim Manager и найди сам
Forever |
|
| |
horyok |
Дата: Вторник, 06.12.2011, 00:06 | Сообщение # 2808 |
Группа: Пользователи
Сообщений: 36
Замечания: 0%
Статус: Offline |
Quote (dim1988) Quote (YouNeverKillMe)Там же стили, а мне нужно например как в моде про зомби, где актеры ходят с вытянутыми руками или это одно и тоже? Одно и то же. Просто дело в том, что в оригинальной СА нет такого стиля анимаций для зомби, но его можно прописать в файле animgrp.dat. Писать нужно так название стиля, название файла .ifp, walkcycle, 6 название анимации ходьбы название анимации бега название анимации спринта название анимации стойки на месте здесь обычно указывают анимацию, когда актёр стоит на перекрёстке и вертит головой название анимации первого шага end Quote (YouNeverKillMe)- Как сделать что бы опр. актеры дрались используя анимацию из файла *.ifp? (моего ifp'a) Я бы тоже хотел это знать. Quote (YouNeverKillMe)- Как сделать что бы по окончанию анимации игрок был там где она закончилась, а не телепортировался на ее начало и продолжал выполнять команды? 0605: actor -1 perform_animation_sequence "Anim" from_file "File" 4.0 loop 0 1 0 0 -1 ms Вот этот параметр должен быть равен 1(если я не перепутал)
Ну это ты молоток. А как сделать подходящие для этого стиля анимации? Ну я имел ввиду, что все используемые анимации хранятся в файле PED.IFP. Как туда ДОБАВИТЬ новую анимацию, что бы можно было ее использовать? Или можно засунуть ее(анимацию) в архив с анимациями, и уже использовать оттуда? Мне ОЧЕНЬ НЕОБХОДИМО это знатьДобавлено (06.12.2011, 00:00) --------------------------------------------- Ну и если до этого зашло, то ОЧЕНЬ прошу помочь в вопросе по ДОБАВЛЕНИЮ новых педов в игру. Где нужно прописать педа, как ему назначить модель\коллизию\текстуру, а то я пытался добавить в файле PEDS.DAT, но игра потом вылетала. Добавлено (06.12.2011, 00:06) --------------------------------------------- Еще вопрос. Как создать абсолютно новый спецэффект и засунуть его в игру? Ну допустим, огонь - это спецэффект. Как сделать что-то на подобие молнии, ну или чего либо еще, что бы это числилось в спецэффектах? Если можно, то по-подробнее. |
|
| |
CLEO_Fan |
Дата: Вторник, 06.12.2011, 06:13 | Сообщение # 2809 |
Группа: Пользователи
Сообщений: 3
Замечания: 0%
Статус: Offline |
Здравствуйте, помогите пожалуйста, так как я начинающий скриптёр, хочу попробовать сделать Скрипт Бессмертие ради эксперимента, не подскажите, что нужно написать, хотя бы 10 или 11 строк???
Хочу научиться писать CLEO Скрипты, первое, что я сделал для игры это футболку и то txd, первую жертву хочу сделать под именем Бессмертие, надеюсь Дима мне поможет!!! |
|
| |
gtacleo |
Дата: Вторник, 06.12.2011, 09:52 | Сообщение # 2810 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
Lost_forever, Вот ещё вопрос можно ли вычеслить переменную актёра в машину которого врезался гг?
|
|
| |
Jin |
Дата: Вторник, 06.12.2011, 15:33 | Сообщение # 2811 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
horyok, Ну с добавлениям анимы могу подробно расказать ,в ЛС пиши что конкртено надо)А вот насчёт добавления новго эфект мне тоже надо)ЗАЗ как то добовлял и ДК22 тоже.
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
dim1988 |
Дата: Вторник, 06.12.2011, 16:13 | Сообщение # 2812 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (horyok) Ну и если до этого зашло, то ОЧЕНЬ прошу помочь в вопросе по ДОБАВЛЕНИЮ новых педов в игру. Где нужно прописать педа, как ему назначить модель\коллизию\текстуру, а то я пытался добавить в файле PEDS.DAT, но игра потом вылетала. Начнём с того, что коллизия для педа не нужна. Итак, надо прописать нового педа в peds.ide, но туда можно добавить только двоих, если не отключить лимиты. Далее его имя надо прописать в pedgrp.dat. От того, где там ты его пропишешь, будет зависеть в каком районе он будет появляться.
Quote (Jin) А вот насчёт добавления новго эфект мне тоже надо)ЗАЗ как то добовлял и ДК22 тоже. Вроде есть ведь проги для работы с эффектами.
А вообще, horyok, твои вопросы не по теме, это тема о скриптинге, а не о моддинге вообще.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Lost_forever |
Дата: Вторник, 06.12.2011, 22:09 | Сообщение # 2813 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (gtacleo) Lost_forever, Вот ещё вопрос можно ли вычеслить переменную актёра в машину которого врезался гг?
Такого опкода нет, но есть и альтернативные способы. Например: можно занести в переменную машину игрока и ближайшую машину, после чего проверить столкнулись ли они или нет
Опкод проверки на столкновение: Code 051D: cars 1@ and 0@ collided
Forever |
|
| |
dim1988 |
Дата: Среда, 07.12.2011, 17:43 | Сообщение # 2814 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Lost_forever) 051D: cars 1@ and 0@ collided Разве это не проверка столкновения двух машин?
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Lost_forever |
Дата: Среда, 07.12.2011, 20:37 | Сообщение # 2815 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (dim1988) Разве это не проверка столкновения двух машин?
Да, это она. Именно поэтому я её и написал
Quote (Lost_forever) Опкод проверки на столкновение:
Forever |
|
| |
Den_spb |
Дата: Среда, 07.12.2011, 20:41 | Сообщение # 2816 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (Lost_forever) Например: можно занести в переменную машину игрока и ближайшую машину, после чего проверить столкнулись ли они или нет Если игрок ведёт машину, то она и будет ближайшей к нему машиной, поэтому это ничего не даст. Здесь можно применить перебор пула. Пример - если игрок врезался в другую машину, то подожжём водителя этой машины:Code {$CLEO} wait 0 while true wait 0 if not player.Defined($player_char) then continue end if actor.Driving($player_actor) then 03C0: 0@ $player_actor if 0AE2: 1@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 0 pass_wrecked 1 //IF and SET then repeat if 09CB: vehicle 0@ colliding_with_vehicle 1@ then 046C: 2@ = car 1@ driver if 2@ > 0 then if 0973: fire 3@ exists then 02D1: remove_fire 3@ end 0326: 3@ = create_actor 2@ fire end end until 8AE2: not 1@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 1 pass_wrecked 1 //IF and SET end end end |
|
| |
gtacleo |
Дата: Четверг, 08.12.2011, 17:23 | Сообщение # 2817 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
Den_spb, чёт не компилирует скрипт Кинь в простом формате
|
|
| |
Lost_forever |
Дата: Четверг, 08.12.2011, 17:49 | Сообщение # 2818 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (gtacleo) Den_spb, чёт не компилирует скрипт sad Кинь в простом формате wink Нормально всё компилируется
Forever |
|
| |
dim1988 |
Дата: Четверг, 08.12.2011, 18:00 | Сообщение # 2819 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (gtacleo) Den_spb, чёт не компилирует скрипт Кинь в простом формате Bpoде он для клео4.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Den_spb |
Дата: Четверг, 08.12.2011, 20:30 | Сообщение # 2820 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Да, это клео4. Если не компилирует, то надо переустановить КЛЕО4. В окне установщика должна стоять галка "Sanny builder data files". |
|
| |
|