Вопросы по созданию скриптов
|
|
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
Den_spb |
Дата: Вторник, 26.01.2010, 20:27 | Сообщение # 391 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Скрипт готов.Code {$CLEO} wait 0 repeat wait 0 until player.Defined($player_char) while true wait 0 if and 00DF: actor $PLAYER_ACTOR driving $ONMISSION == 0 then 03C0: 0@ = actor $PLAYER_ACTOR car 0441: 1@ = car 0@ model 0AA7: call_function 0x4c5aa0 num_params 1 pop 1 1@ 2@ // isModelCar if 2@ == true then while 056E: car 0@ defined 0AB8: get_vehicle 0@ current_gear_to 6@ if and 5@ > 3.0 09D0: car 0@ on_wheels 00DB: actor $PLAYER_ACTOR in_car 0@ 80E1: not key_pressed 0 14 80E1: not key_pressed 0 6 80E1: not key_pressed 0 16 then if and 6@ <> 0 82BF: not car 0@ sunk then 04BA: set_car 0@ speed_to 5@ else 02E3: 5@ = car 0@ speed end else 02E3: 5@ = car 0@ speed end if 80DB: not actor $PLAYER_ACTOR in_car 0@ then break end wait 0 end // while end if 056E: car 0@ defined then car.RemoveReferences(0@) end end end Код был полностью переписан мною с нуля, поэтому думаю будет справедливо, если я добавлю его к себе на сайт. |
|
| |
dim1988 |
Дата: Вторник, 26.01.2010, 20:43 | Сообщение # 392 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Да, здорово получилось
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Singleboy |
Дата: Среда, 27.01.2010, 14:07 | Сообщение # 393 |
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline |
Да, хороший скрипт, есть только одна проблема: машина на поворотах описывает слишком большие круги, не знаете, как это исправить? |
|
| |
Den_spb |
Дата: Среда, 27.01.2010, 14:40 | Сообщение # 394 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Можно добавить в код проверку на нажатие кнопки поворота, а можно просто при повороте жать на газ или тормоз. Кстати, единицы скорости там (3.0) - это метры в секунду.
Сообщение отредактировал Den_spb - Среда, 27.01.2010, 14:44 |
|
| |
Singleboy |
Дата: Среда, 27.01.2010, 15:24 | Сообщение # 395 |
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline |
В том то и дело, что мне и на поворотах как раз тоже надо держать постоянную скорость, нажимая только клавишу поворота, чтобы машина, например, сильно разогнавшись, могла просто перевернуться от резкого поворота. Значит эту штуку никак так не исправить?
Сообщение отредактировал Singleboy - Среда, 27.01.2010, 15:34 |
|
| |
Colt_8 |
Дата: Среда, 27.01.2010, 15:33 | Сообщение # 396 |
Красавчик
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Den_spb, ты крут.
|
|
| |
dim1988 |
Дата: Среда, 27.01.2010, 17:03 | Сообщение # 397 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Singleboy) на поворотах описывает слишком большие круги Так это ж естественно с точки зрения физики - какая скорость, такие и круги Законы природы не изменить.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Impio |
Дата: Пятница, 29.01.2010, 10:58 | Сообщение # 398 |
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline |
у меня такой вопрос а скакой прогой анимации делают к примеру в паркур моде сальто с какой прогой и ещё с какой прого вот в подхоруме ниже про апкеты с какой прогой можно сделать |
|
| |
Lost_forever |
Дата: Пятница, 29.01.2010, 13:16 | Сообщение # 399 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
Quote (Impio) у меня такой вопрос а скакой прогой анимации делают к примеру в паркур моде сальто с какой прогой и ещё с 3d Max,Endorphin,но советую 3d max 7
Forever |
|
| |
Impio |
Дата: Пятница, 29.01.2010, 16:01 | Сообщение # 400 |
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline |
и ещё почему Anim Manager не пашет я загружаю фаил время идёт а модель не показывается http://xmages.net/upload/a01f8946.jpg скрин
Сообщение отредактировал Impio - Пятница, 29.01.2010, 16:33 |
|
| |
Lost_forever |
Дата: Пятница, 29.01.2010, 16:32 | Сообщение # 401 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
в начале нужно загрузить модель(Preview =»Load model)
Forever |
|
| |
Impio |
Дата: Пятница, 29.01.2010, 16:34 | Сообщение # 402 |
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline |
ну загружаю ped.ifp |
|
| |
Lost_forever |
Дата: Пятница, 29.01.2010, 17:18 | Сообщение # 403 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
нужно загрузить dff модель,а ifp в окне слева(где еще нужно папку выбрать,также можно выбрать img архив (например anim.img) )
Forever |
|
| |
dim1988 |
Дата: Пятница, 29.01.2010, 17:19 | Сообщение # 404 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Не, надо извлечь сначала любую модель педа из gta3.img(например fam1) и загрузить её через Anim Manager как сказал Lost_forever.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Impio |
Дата: Пятница, 29.01.2010, 18:10 | Сообщение # 405 |
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline |
а ок? |
|
| |
Lost_forever |
Дата: Пятница, 29.01.2010, 18:40 | Сообщение # 406 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
В смысле?
Forever |
|
| |
Impio |
Дата: Пятница, 29.01.2010, 18:52 | Сообщение # 407 |
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline |
Lost_forever, ну всмысли попробую |
|
| |
С_Johnson |
Дата: Воскресенье, 31.01.2010, 14:51 | Сообщение # 408 |
Группа: Проверенные
Сообщений: 515
Замечания: 0%
Статус: Offline |
Ребят можите посмотреть в чём проблема? Вылетает. Цель скрипта автобусный маршрут из ПАТП по кругу и обратно с остановками. Что то вроде междугородки.
|
|
| |
dim1988 |
Дата: Воскресенье, 31.01.2010, 15:15 | Сообщение # 409 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Когда вылетает?
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Lost_forever |
Дата: Воскресенье, 31.01.2010, 15:27 | Сообщение # 410 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
kotikjonson, Проблема в :NONAME_2941 , у тебя там Code :NONAME_2941 wait 0 if Напиши туда то,что надо,из-за этого вылет. Добавлено (31.01.2010, 15:27) --------------------------------------------- dim1988, из-за NONAME_2941,я уже проверил,дал игроку деньги и всё работало.
Forever |
|
| |
С_Johnson |
Дата: Понедельник, 01.02.2010, 04:42 | Сообщение # 411 |
Группа: Проверенные
Сообщений: 515
Замечания: 0%
Статус: Offline |
Ага понятно. Забыл. А ещё.... Ну ладно позже.... Спасибо!
|
|
| |
dim1988 |
Дата: Среда, 03.02.2010, 14:21 | Сообщение # 412 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
kotikjonson, вот, попробуй.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
crips |
Дата: Пятница, 05.02.2010, 21:17 | Сообщение # 413 |
Группа: Проверенные
Сообщений: 79
Замечания: 0%
Статус: Offline |
А какой нужно исполbзоватb опкод, мне надо что бы когда определённый самолёт был в определённых координатах происходили нужные мне условия |
|
| |
Lost_forever |
Дата: Пятница, 05.02.2010, 22:20 | Сообщение # 414 |
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline |
crips, сделай проверку опкодом 01AD: car 99@ sphere 0 near_point 252@ 253@ radius 6.0 6.0 99@ - хэндл машины 252@ - X координата 253@ - Y координата вместо 6.0 6.0 поставь нужный тебе радиус.
Forever |
|
| |
Colt_8 |
Дата: Суббота, 06.02.2010, 01:25 | Сообщение # 415 |
Красавчик
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Люди! Сколько пишу скрипты а что такое хэндл конкретно не знаю, хотя понимаю
|
|
| |
Comrade |
Дата: Четверг, 18.02.2010, 19:29 | Сообщение # 416 |
Группа: Пользователи
Сообщений: 7
Замечания: 0%
Статус: Offline |
Товарищи помогите я новичёк в создание скриптов и хочу узнать как менять(и где?) буквы на которые приделан скрипт вот например возьму один из самых простых скриптов починка машины стоит на букву R ® где она на отоброжаеться на скрипте и как можно буквы изменять вообще? скажите где здесь написано что скрипт работает на букве R выкладываю скрипт // This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 {$VERSION 3.1.0027} {$CLEO .cs} //-------------MAIN--------------- 0000: NOP :NONAME_2 wait 0 if Player.Defined($PLAYER_CHAR) if Actor.Driving($PLAYER_ACTOR) else_jump @NONAME_2 03C0: 1@ = actor $PLAYER_ACTOR car 0@ = 304543 if and Actor.InCar($PLAYER_ACTOR, 1@) &0(0@,1i) == 255 else_jump @NONAME_2 0A30: repair_car 1@ wait 0 if 01F4: car 1@ flipped else_jump @NONAME_137 07DB: set_car 1@ rotation_velocity_XYZ 0.0 1.0 0.0 through_center_of_mass Car.RemoveReferences(1@) jump @NONAME_2 :NONAME_137 wait 200 Car.RemoveReferences(1@) jump @NONAME_2
Живым из жизни не уйти |
|
| |
dim1988 |
Дата: Четверг, 18.02.2010, 19:57 | Сообщение # 417 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Comrade, этот скрипт сложнее, потому что в нём нажатость кнопки проверяется обращением к памяти игры (&0(0@,1i) == 255). Но обычно это проверяется кодом 0AB0. Например, если нужно проверить, нажата ли клавиша R пишем код 0AB0: key_pressed 82 Здесь последняя цифра – это номер клавиши R. Все значения написаны в справке Сани Билдера в разделе CLEO3 Code Library
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Den_spb |
Дата: Четверг, 18.02.2010, 20:15 | Сообщение # 418 |
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline |
Quote (Colt_8) Сколько пишу скрипты а что такое хэндл конкретно не знаю, хотя понимаю Цитата:"Хэндл - это своего рода "ручка". Где-то в памяти игры находятся все структуры данных обо всех машинах, актерах и прочем в игре. Что такое структура? Это упорядоченный набор данных, в котором содержится вся необходимая игре информация о машинах, актерах и т.п. В частности в структуре машины находится информация о ее модели, цвете, такие же "ручки" на сидящих в них актерах - тоже структур, но уже не машин, а актеров. Так вот Хэндл помогает найти нужную нам структуру. При помощи опкода 00A5 будет создана структура машины (на gtaforums ее назвали cCar). А адрес памяти этой структуры (смещение начала структуры в памяти игры) будет записан в локальную переменную скрипта 0@." Quote (dim1988) (&0(0@,1i) == 255) Этот способ старый, он применялся когда не было 0ab0 |
|
| |
Comrade |
Дата: Четверг, 18.02.2010, 23:18 | Сообщение # 419 |
Группа: Пользователи
Сообщений: 7
Замечания: 0%
Статус: Offline |
Благодарю парни, попробую !
Живым из жизни не уйти |
|
| |
С_Johnson |
Дата: Пятница, 19.02.2010, 12:05 | Сообщение # 420 |
Группа: Проверенные
Сообщений: 515
Замечания: 0%
Статус: Offline |
dim1988, Кнопка стоит на цифре 0 в доп блоке клавы, на буках возникают проблемы из-за отсутствия токовой, то-есть её нужно включать - короче дополнительные не удобные движения. Нужно перенести кнопку на скажем эту же цифру под F кнопками.
|
|
| |