Вопросы по созданию скриптов
| |
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
dim1988 |
Дата: Пятница, 23.07.2010, 12:01 | Сообщение # 931 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
B cправке есть это Есть ещё такая замороченная вещь,как путь или scmpath,кто его как называет,это типа преды- дущей последовательности,применяется,чтобы заставить актёра или машину пройтись/проехаться по точкам с заданными координатами.Вот то,что относится к путям: 07C0: load_path 706 - загружает путь,их очень много,сами видите 05D6: clear_scmpath - очищает временный путь,если он существует 05D7: add_point_to_scmpath 2470.1248 -1661.6222 13.3293 - добаваляет точку в путь 05D8: AS_assign_scmpath to_actor $Act flags 4 0 - заставляет актёра следовать по пути 05EB: assign_vehicle $Car to_path 706 - заставляет машину следовать по определённому пути 04E0: car $Car abandon_path_radius 30 - будет считаться,что машина на точке,если она в ра- диусе 30 от неё 0873: release_path 211 - удаляет путь из памяти Вот вам пример,думаю,что поймёте: create_thread @Test // создаём поток :Test // начинаем поток wait 2000 // ждём 2 сек model.Load(#FAM1) // объявляем,нужную нам, модель 038B: load_requested_models // загружаем ранее обявленые модели :Test2 // начинаем второй label этого потока wait 0 // ждём 0 сек,если не напишем,то может вылетить if // одиночное условие model.Available(#FAM1) // проверка(модель нашего актёра уже загружена) jf @Test2 // если проверка не выполнилась,то переходим в начало label'a wait 3000 // ждём 3 сек. actor.Create(50@,4,#fam1,2494.9099, -1682.17, 12.32) // создаём актёра перед домом CJ'я 05D6: clear_scmpath // очищаем путь,если создаёте новый,как сейчас,то писать необходимо 05D7: add_point_to_scmpath 2470.1248 -1661.6222 13.3293 // задаём точку(дом OG) 05D7: add_point_to_scmpath 2494.9099 -1682.17 12.32 // задаём точку (дом CJ'я) 05D7: add_point_to_scmpath 2470.1248 -1661.6222 13.3293 задаём точку(дом OG) 05D8: AS_assign_scmpath to_actor 50@ flags 4 0 // и вот этой командой заставляем актёра идти Для машины аналогично, только использовать вместо 05D8: надо код 07E7: AS_assign_scmpath_to_actor -1 in_car 102@ speed 25.0 flags 1 0 1
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
gtacleo |
Дата: Пятница, 23.07.2010, 18:10 | Сообщение # 932 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
dim1988, А актёр будет ходить туда суда?С точки на точку? И он будет идти подороги или сразу напримик ?
|
|
| |
dim1988 |
Дата: Пятница, 23.07.2010, 18:19 | Сообщение # 933 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ну как координаты поставишь.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
ЧИтЕР |
Дата: Пятница, 23.07.2010, 20:36 | Сообщение # 934 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
У меня опять глюки.Причем физически невозможные!!! Вот такой у меня скрипт: Code :1b if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 66 // B jf @1c fade 0 1000 //затемнить экран wait 2000 Player.SetClothes($PLAYER_CHAR, "modT2", "vest", 0) //если да делаем эти комманды и прыгаем назад в цикл Player.Build($PLAYER_CHAR) fade 1 1000 //вырубить затемнение :1c И так,у меня бесконечный цикл проверок,ну 11 таких штук,как выше,только с другими данными.A,B,C и D работают,а дальше не оттемняется.
Сообщение отредактировал ЧИтЕР - Пятница, 23.07.2010, 20:37 |
|
| |
gtacleo |
Дата: Суббота, 24.07.2010, 08:45 | Сообщение # 935 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
dim1988, НУ А КАК СДЕЛАТЬ ШТОБ машина ПОЯВИЛОСЬ НА небольом растаянии от тебя и ехала к тебе?
|
|
| |
ЧИтЕР |
Дата: Суббота, 24.07.2010, 18:29 | Сообщение # 936 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Вот почему у меня всегда с координатами не выходит ? Code actor.create($1,4,#FAM1,2497.7004, -1668.6527, 13.6769) Что там не так ? |
|
| |
sanya-256a |
Дата: Суббота, 24.07.2010, 19:08 | Сообщение # 937 |
Группа: Пользователи
Сообщений: 10
Замечания: 0%
Статус: Offline |
dim1988 спасибо БОЛЬШОЕ !!!!
с@нёК |
|
| |
dim1988 |
Дата: Суббота, 24.07.2010, 19:27 | Сообщение # 938 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (ЧИтЕР) actor.create($1,4,#FAM1,2497.7004, -1668.6527, 13.6769) Что там не так ? Вроде всё верно. Quote (gtacleo) dim1988, НУ А КАК СДЕЛАТЬ ШТОБ машина ПОЯВИЛОСЬ НА небольом растаянии от тебя и ехала к тебе? Чтоб машина появилась недалеко от игрока, нужно отметить координаты, исходящие от него и записать их в код 04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 10.0 0.0 4@ = Car.Create(#ADMIRAL, 1@, 2@, 3@)
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
sanya-256a |
Дата: Суббота, 24.07.2010, 20:00 | Сообщение # 939 |
Группа: Пользователи
Сообщений: 10
Замечания: 0%
Статус: Offline |
Дим у меня проблема, пробую сделать по примеру, но игра при запуске вылетает(((. Почему? Добавлено (24.07.2010, 20:00) --------------------------------------------- всё я понял. помощь не нужна))
с@нёК |
|
| |
gtacleo |
Дата: Суббота, 24.07.2010, 22:01 | Сообщение # 940 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
dim1988, спосиба:)
|
|
| |
DK22Pac |
Дата: Суббота, 24.07.2010, 23:31 | Сообщение # 941 |
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline |
Quote И так,у меня бесконечный цикл проверок,ну 11 таких штук,как выше,только с другими данными.A,B,C и D работают,а дальше не оттемняется. Показывай скрипт
Мои скрипты Grand Theft Auto III HD Development Team |
|
| |
ЧИтЕР |
Дата: Воскресенье, 25.07.2010, 10:02 | Сообщение # 942 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Доступно только для пользователей
Сообщение отредактировал ЧИтЕР - Воскресенье, 25.07.2010, 10:02 |
|
| |
gtacleo |
Дата: Воскресенье, 25.07.2010, 17:48 | Сообщение # 943 |
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline |
ЧИтЕР, он имеет в введу весь скрипт
|
|
| |
ЧИтЕР |
Дата: Воскресенье, 25.07.2010, 18:04 | Сообщение # 944 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Доступно только для пользователей |
|
| |
DK22Pac |
Дата: Понедельник, 26.07.2010, 23:11 | Сообщение # 945 |
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline |
Где ты такие текстуры взял? Вот рабочий код, брались оригинальные текстуры. Все сочетания клавиш работают. Code {$CLEO} wait 0 while true wait 0 if Player.Defined($PLAYER_CHAR) jf continue if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 65 // A then fade 0 1000 //çàòåìíèòü ýêðàí wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirtwhite", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 //âûðóáèòü çàòåìíåíèå end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 66 // B then fade 0 1000 //çàòåìíèòü ýêðàí wait 2000 Player.SetClothes($PLAYER_CHAR, "vestblack", "vest", 0) Player.Build($PLAYER_CHAR) fade 1 1000 //âûðóáèòü çàòåìíåíèå end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 67 // C then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "hoodyAblue", "hoodyA", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 68 // D then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirtilovels", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 69 // E then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirtblunts", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 70 // F then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirterisyell", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 71 // G then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirterisorn", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 72 // H then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "sixtyniners", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 73 // I then fade 1 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirtprored", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 0 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 74 // J then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirtproblk", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 75 // K then fade 0 1000 wait 2000 Player.SetClothes($PLAYER_CHAR, "tshirtheatwht", "tshirt", 0) Player.Build($PLAYER_CHAR) fade 1 1000 end end
Мои скрипты Grand Theft Auto III HD Development Team
Сообщение отредактировал DK22Pac - Понедельник, 26.07.2010, 23:22 |
|
| |
ЧИтЕР |
Дата: Понедельник, 26.07.2010, 23:41 | Сообщение # 946 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Quote (DK22Pac) Где ты такие текстуры взял? Это мои текстуры.В player.img имеются.Так разве нельзя ? |
|
| |
DK22Pac |
Дата: Понедельник, 26.07.2010, 23:43 | Сообщение # 947 |
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline |
Проверь это с выше приведённым кодом. Если работает - значит можно.
Мои скрипты Grand Theft Auto III HD Development Team |
|
| |
ЧИтЕР |
Дата: Понедельник, 26.07.2010, 23:54 | Сообщение # 948 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Все!Я уже разобрался,дело в текстуре.Наверное через одно место нарисовал её.Сейчас буду смотреть текстуры |
|
| |
dim1988 |
Дата: Вторник, 27.07.2010, 10:38 | Сообщение # 949 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
ЧИтЕР, возможно что новые текстуры добавлять можно, но только есть какой-то лимит на их количество.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
ЧИтЕР |
Дата: Вторник, 27.07.2010, 10:47 | Сообщение # 950 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Quote (dim1988) ЧИтЕР, возможно что новые текстуры добавлять можно, но только есть какой-то лимит на их количество. Вот сейчас посмотрю!запихну в player.img текстуру modT1.txd под иминами modT7,T8 и T9 И можно еще чтот придумать с img в папке CLEO.Есть же такие моды!
Сообщение отредактировал ЧИтЕР - Вторник, 27.07.2010, 10:59 |
|
| |
dim1988 |
Дата: Вторник, 27.07.2010, 11:05 | Сообщение # 951 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (ЧИтЕР) И можно еще чтот придумать с img в папке CLEO.Есть же такие моды! Всмысле? Ещё что-то добавлять?
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
ЧИтЕР |
Дата: Вторник, 27.07.2010, 11:09 | Сообщение # 952 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Quote (dim1988) Всмысле? Ещё что-то добавлять? Да!А что предлагаешь? тупо заменять другие текстуры в player.img ?Смысл мода в том,чтоб можно было использовать мой пак одежды для CJ без замены оригинальных файлов. |
|
| |
dim1988 |
Дата: Вторник, 27.07.2010, 12:14 | Сообщение # 953 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (ЧИтЕР) А что предлагаешь? тупо заменять другие текстуры в player.img Нет, я не люблю заменять Я и в Invasion постарался больще добавлять, а не заменять.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
ЧИтЕР |
Дата: Вторник, 27.07.2010, 19:48 | Сообщение # 954 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Доступно только для пользователей И еще у меня вопрос: Можно ли сделать как-нибудь,чтоб если в течении двух секунд не выполниш условие,прыгать на метку ?Ну всмысле в начало потока
Сообщение отредактировал ЧИтЕР - Вторник, 27.07.2010, 20:07 |
|
| |
DK22Pac |
Дата: Вторник, 27.07.2010, 22:24 | Сообщение # 955 |
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline |
Quote Это противоречит всем законам физики и скриптинга! Quote возможно что новые текстуры добавлять можно, но только есть какой-то лимит на их количество. Quote Можно ли сделать как-нибудь,чтоб если в течении двух секунд не выполниш условие,прыгать на метку ? Можно. Приведу такой пример: если в течении 2ух секунд не нажать клавишу "Tab", то будет произведён прыжок на start_label. :start_label ... 32@ = 0 // Обнуляем таймер while not 8ab0: key_pressed 9 if 32@ > 2000 then jump @start_label end wait 0 end // Идём дальше. Клавиша была нажата. Если же пройдёт 2 секунды и клавиша не будет нажата, цикл завершит свою работу, и будут выполнены команды после "end". Приведу ещё один пример. Code :start_label ...
32@ = 0
:label_check wait 0 if 32@ > 2000 jf @key jump @start_label
:key if 0ab0: key_pressed 9 jf @label_check <клавиша_была_нажата> Допустим, игра пришла на :label_check. Теперь, если истечёт время таймера (2 сек), и не будет нажата клавиша, будет прыжок на start_label. Если тебе это сложно понять, так и скажи, я расскажу более подробно, хотя мне и лень
Мои скрипты Grand Theft Auto III HD Development Team
Сообщение отредактировал DK22Pac - Вторник, 27.07.2010, 22:43 |
|
| |
dim1988 |
Дата: Среда, 28.07.2010, 10:31 | Сообщение # 956 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (ЧИтЕР) Не получилось!Это противоречит всем законам физики и скриптинга!Такого не может быть чтоб у двух файлов все было одинаково кроме названия,и один работал а другой нет! У меня же нет процесора с ядерной начинкой,чтоб он ворвался,и скрипты аномалили. Видимо лимит всё же есть.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
ЧИтЕР |
Дата: Среда, 28.07.2010, 12:06 | Сообщение # 957 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Quote (dim1988) Видимо лимит всё же есть. Да я же говорю!Я в скрипте временно вместо modT1 поставил modT7 и все-ровно не работает. И еще мне нужен код бибиканья,ну всмысле как поставить звук который пикает когда в меню переключатся между пунктами.
Сообщение отредактировал ЧИтЕР - Среда, 28.07.2010, 12:16 |
|
| |
dim1988 |
Дата: Среда, 28.07.2010, 12:30 | Сообщение # 958 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (ЧИтЕР) Да я же говорю!Я в скрипте временно вместо modT1 поставил modT7 и все-ровно не работает. Так это как раз и доказывает что лимит есть. Если текстуры одинаковы, их количество всё равно осталось тем же. Ты попробуй вместо modT7, modT8 и т.д. везде написать modT1.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
ЧИтЕР |
Дата: Среда, 28.07.2010, 12:40 | Сообщение # 959 |
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline |
Почему вылетает?: Code {$CLEO} wait 0 :C1 wait 0 if and 0AB0: key_pressed 79 //O jf @C1 32@ = 0 :T1 wait 0 if 32@ > 2000 jf @D1 jump @C1 :D1 if 0AB0: key_pressed 77 //M jf @C1 wait 0 32@ = 0 :T2 wait 0 if 32@ > 2000 jf @D2 jump @C1 :D2 if 0AB0: key_pressed 73 //I jf @C1 wait 0 32@ = 0 :K1 //Конец fade 0 1000 wait 1000 fade 1 1000 jump @C1 Вроде все правильно,иле нет? Quote Ты попробуй вместо modT7, modT8 и т.д. везде написать modT1. Мод провалислся...
Сообщение отредактировал ЧИтЕР - Среда, 28.07.2010, 12:40 |
|
| |
DK22Pac |
Дата: Среда, 28.07.2010, 15:52 | Сообщение # 960 |
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline |
Обьясни, что тебе нужно сделать. (Только не говори, что это - проверка на ввод кода )
Мои скрипты Grand Theft Auto III HD Development Team
Сообщение отредактировал DK22Pac - Среда, 28.07.2010, 15:53 |
|
| |
|