Вопросы по созданию скриптов
|
|
d88 | Дата: Среда, 25.11.2009, 17:38 | Сообщение # 901 |
 Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
| Quote (Den_spb) Неправы, батенька. Если телепортировать объект в цикле с малым шагом, то получится передвижение. В опкоде передвижение также реализуется многократной телепортацией на небольшое расстояние. Ну получится иллюзия передвижения, но по сути это телепоттация. Слово Put на это указывает.
|
|
| |
Den_spb | Дата: Среда, 25.11.2009, 18:07 | Сообщение # 902 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Да, в скриптинге часто применяются разные иллюзии. Удобнее конечно пользоваться специальным опкодом, а цикл можно применить к объекту, который прицеплен к транспорту, например. Так можно сделать для машины какую-нибудь движущуюся деталь.
|
|
| |
Colt_8 | Дата: Среда, 25.11.2009, 20:11 | Сообщение # 903 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Quote (Den_spb) А что сложного? Циклы описаны в справке, раздел кодинг. Механизм работы данного цикла следующий: пока значение счетчика не достигнет 100, объект через каждые 10 мс телепортируется в очередную точку, которая расположена на 1см выше, чем предыдущая. Та циклы я шарю! просто без объяснений так ты мне выложил мини-скрипт, а где какая цифра означает я ))))
|
|
| |
Den_spb | Дата: Среда, 25.11.2009, 22:33 | Сообщение # 904 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Ну теперь то разобрался? 0@ - переменная объекта, 1@ - счетчик цикла, 2@ - высота объекта
|
|
| |
Colt_8 | Дата: Среда, 25.11.2009, 22:56 | Сообщение # 905 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Да, но я пойду легким путём))) Спасибо)))
|
|
| |
d88 | Дата: Четверг, 26.11.2009, 08:29 | Сообщение # 906 |
 Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
| Den_spb, как заставить актёра поворачивать голову туда, где стоит другой актёр? Я пробовал код 05BF: AS_actor 66@ look_at_actor $PLAYER_ACTOR 30000 ms но почему-то не подействовало. Да, и как потом это отключить? И ещё ерунда какая-то. Я ставлю код 0967: actor $PLAYER_ACTOR move_mouth_for 5000 ms Т. е. через 5 секунд анимация разговора должна прекратиться, но она продолжается вечно. Приходится ставить код 0968: actor $PLAYER_ACTOR stop_mouth
|
|
| |
Den_spb | Дата: Четверг, 26.11.2009, 11:00 | Сообщение # 907 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Не знаю, в анимациях не силён. Возможно, стоит заменить параметр перед мс (на 0, 1, -1)?
|
|
| |
Colt_8 | Дата: Пятница, 27.11.2009, 17:25 | Сообщение # 908 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Quote (d88) 0967: actor $PLAYER_ACTOR move_mouth_for 5000 ms Не думаю, что есть ошибки в опкодах. Может ты нитак что-то сделал? Или может дай время -1, а потом поставь какое-то задание актёру и анимка пропадёт))) Кто даст айди: #MINIGUN_BASE #PRIVATESIGN3 #PRIVATESIGN1 #BARRIER_4ANDY #IMY_TRACK_BARRIER #AD_JUMP
|
|
| |
Lost_Forever | Дата: Пятница, 27.11.2009, 17:49 | Сообщение # 909 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Quote (Colt_8) #MINIGUN_BASE #PRIVATESIGN3 #PRIVATESIGN1 #BARRIER_4ANDY #IMY_TRACK_BARRIER #AD_JUMP 2985 3264 3262 1949 3091 3080

|
|
| |
Darkscape | Дата: Пятница, 27.11.2009, 18:43 | Сообщение # 910 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Colt_8, чтобы узнать айди модели, надо написать ее имя в санни билдере и нажать ctrl+alt+h
return
|
|
| |
Den_spb | Дата: Пятница, 27.11.2009, 20:02 | Сообщение # 911 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| У него нет последней версии СБ и он почему-то упорно не хочет её устанавливать
|
|
| |
Colt_8 | Дата: Пятница, 27.11.2009, 20:31 | Сообщение # 912 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Quote (Lost_Forever) 2985 3264 3262 1949 3091 3080 Спасибо огромное Quote (Lost_Forever) санни билдере и нажать ctrl+alt+h Quote (Den_spb) У него нет последней версии СБ и он почему-то упорно не хочет её устанавливать biggrin Остаюсь верным старому и доброму! Не ну серьезно! В новом всё не так! Лень втягиваться)))
|
|
| |
Darkscape | Дата: Пятница, 27.11.2009, 21:04 | Сообщение # 913 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Colt_8, юзай обе версии!
return
|
|
| |
Colt_8 | Дата: Пятница, 27.11.2009, 21:46 | Сообщение # 914 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Объясните пожалуйста этот опкод:Code 0834: set_player_head_temporary_turn_rotation_Z -2.2 rotation_Y 1.7
|
|
| |
Lost_Forever | Дата: Пятница, 27.11.2009, 22:44 | Сообщение # 915 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Ну по ходу этот опкод заставляет повернуть голову игрока,но он почему то не работает.

|
|
| |
Colt_8 | Дата: Пятница, 27.11.2009, 23:39 | Сообщение # 916 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Да нет вроде! Для головы надо другой!
|
|
| |
Darkscape | Дата: Суббота, 28.11.2009, 13:22 | Сообщение # 917 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Ты его пробовал в игре?
return
|
|
| |
Colt_8 | Дата: Суббота, 28.11.2009, 19:15 | Сообщение # 918 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Нет!
|
|
| |
Darkscape | Дата: Суббота, 28.11.2009, 19:16 | Сообщение # 919 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Так попробуй!
return
|
|
| |
Den_spb | Дата: Суббота, 28.11.2009, 19:31 | Сообщение # 920 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Quote (Colt_8) Не ну серьезно! В новом всё не так! Лень втягиваться))) Да я думаю версии СБ сильно не различаются.
|
|
| |
Colt_8 | Дата: Суббота, 28.11.2009, 20:17 | Сообщение # 921 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Там просто одни опкоды, а в 3.0 есть команды! Цвета - разнообразие какое-то среди чёрных строк всего программного кода!
|
|
| |
Darkscape | Дата: Суббота, 28.11.2009, 20:28 | Сообщение # 922 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Colt_8, ты хоть смотрел новую версию?? А вообще
return
|
|
| |
Colt_8 | Дата: Суббота, 28.11.2009, 20:50 | Сообщение # 923 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| видел
|
|
| |
d88 | Дата: Суббота, 28.11.2009, 21:14 | Сообщение # 924 |
 Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
| Quote (Den_spb) Да я думаю версии СБ сильно не различаются. Quote (Основные возможности версии 3.04) Поддержка всей серии трехмерных игр GTA Быстрый компилятор Удобная среда редактирования с подсветкой синтаксиса Обширная справка с описанием всех возникающих ошибок Quote (История версий от 3.00) v3.04 в редактор кода добавлены возможности конвертации чисел из 16-чной системы счисления в 10-чную и наоборот (Ctrl+H), а также конвертировать имя модели в ID и обратно (Ctrl+Alt+H) убрано сообщение о невозможности изменить script.img при компиляции CLEO-скриптов отчет о компиляции показывает размер CLEO-скрипта (пункт Largest Script) исправлена ошибка при компиляции массива с числовыми индексами инсталлятор не требует прав администратора v3.03 предыдущая версия CLEO была с ошибкой мелкие исправления (положение панели инструментов теперь сохраняется) v3.02 новая версия CLEO панель инструментов можно передвигать F7 при компиляции SCM без заголовка (c директивами $E, $CLEO) не делает копию при компиляции файла с директивой $CLEO нажатием F6 файл создается в той же папке, нажатием F7 дополнительно создается копия в папке CLEO (по аналогии с обычными scm-файлами) новые языки перевода - итальянский, португальский v3.01 обновление, исправляющее некоторые ошибки v3.00 в Sanny Builder интегрирована библиотека CLEO 3 возможность декомпиляции main.scm Vice City Stories поддержка констант новые директивы $INCLUDE,$EXTERNAL,$CLEO запись дополнительной информации в конец main.scm задание собственных массивов при декомпиляции возможность декомпилировать файлы main.scm без заголовка можно использовать внешний скрипт с именем AAA новый параметр командной строки \compile в цикле FOR можно использовать дробные значения счетчика команды WriteMem и ReadMem больше не поддерживаются поддержка поиска по тексту с использованием регулярных выражений возможность сохранять исходник в формат RTF или HTML. возможность пропускать заставки при запуске San Andreas новая комбинация клавиш: Ctrl+Enter обновленный SASCM.INI
|
|
| |
Colt_8 | Дата: Суббота, 28.11.2009, 22:17 | Сообщение # 925 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Круто! Мне захотелось скачать
|
|
| |
clac8 | Дата: Воскресенье, 29.11.2009, 17:07 | Сообщение # 926 |
 Школьник I
Группа: Пользователи
Сообщений: 36
Статус: Offline
| Сдравствуйте. Скажите пожалуйста можно ли в этом опкоде назначить скорость всем машинам, и как? 00AD: set_car (авто) max_speed_to (скорость авто)
GTA SA Лучшая игра!!!!!!!!
|
|
| |
Colt_8 | Дата: Воскресенье, 29.11.2009, 17:15 | Сообщение # 927 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Берешь опкод, который записывает ближайшую машину в переменную, А потом пишешь эту переменную в свой опкод.
|
|
| |
clac8 | Дата: Воскресенье, 29.11.2009, 17:19 | Сообщение # 928 |
 Школьник I
Группа: Пользователи
Сообщений: 36
Статус: Offline
| Простите, можно поподробнее, я слобоват в скриптинге, ПОЖАЛУЙСТА!
GTA SA Лучшая игра!!!!!!!!
|
|
| |
Lost_Forever | Дата: Воскресенье, 29.11.2009, 17:41 | Сообщение # 929 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Вот пример(за опкод 0AB5 большое спасибо Daeman'у)подходим к любой машине после чего она загорается,со скоростью просто поменяй 0325: 49@ = create_car 0@ fire на то что тебе нужно,удачи Code // 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
:Fair wait 0 Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@) 0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@ jump @Fair_2
:Fair_2 wait 0 if 056E: car 0@ defined else_jump @NONAME_317 0325: 49@ = create_car 0@ fire
:NONAME_317 wait 0 Car.RemoveReferences(0@) jump @Fair

Сообщение отредактировал Lost_Forever - Воскресенье, 29.11.2009, 17:59 |
|
| |
clac8 | Дата: Воскресенье, 29.11.2009, 17:52 | Сообщение # 930 |
 Школьник I
Группа: Пользователи
Сообщений: 36
Статус: Offline
| Спосибо, но не то. Мне нужно на дороге установить ограничение скорости (тобишь все машини проежающие сбрасывали скорость до указоной).
GTA SA Лучшая игра!!!!!!!!
|
|
| |
Darkscape | Дата: Воскресенье, 29.11.2009, 17:53 | Сообщение # 931 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Lost_Forever, только не 00AB5, a 0AB5
return
|
|
| |
Lost_Forever | Дата: Воскресенье, 29.11.2009, 18:00 | Сообщение # 932 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Исправил.

|
|
| |
Den_spb | Дата: Воскресенье, 29.11.2009, 18:03 | Сообщение # 933 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Quote (clac8) Спосибо, но не то. Мне нужно на дороге установить ограничение скорости (тобишь все машини проежающие сбрасывали скорость до указоной). Записывай машины в переменные с помощью get_random_car и присваивай им нужную скорость.
|
|
| |
Lost_Forever | Дата: Воскресенье, 29.11.2009, 18:08 | Сообщение # 934 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Code // 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
:Speed wait 0 Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@) 0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@ jump @Speed_2
:Speed_2 wait 0 if 056E: car 0@ defined else_jump @NONAME_317 00AD: set_car 0@ max_speed_to 10.0
:NONAME_317 wait 0 Car.RemoveReferences(0@) jump @Speed Ну вот,машина которая проехала мимо игрока сбрасывает скорость до 10.0 

|
|
| |
clac8 | Дата: Воскресенье, 29.11.2009, 18:18 | Сообщение # 935 |
 Школьник I
Группа: Пользователи
Сообщений: 36
Статус: Offline
| Простите дурака, не правильно сформулировал вопрос. У меня на дороге стоит знак 40км, я хочу возле знака на дароге поставить сферу чтобы при проезде машини сбрасивали скорость до сорока и держали эту скорость кокое-то время или до следующей сферы( что было бы велеколепно!) Простите если флужу, новечек в форуме.
GTA SA Лучшая игра!!!!!!!!
|
|
| |
Lost_Forever | Дата: Воскресенье, 29.11.2009, 18:26 | Сообщение # 936 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Сразу бы так и сказал -_- Берешь опкод, который записывает ближайшую машину в переменную,после чего опкодом 01AD проверяешь находиться ли она в той точке в которой тебе нужно,если да то ставиш ей скорость которую нужно,если нет то переходиш в начало,потом выгружаешь машину из переменной и всё по новой.

Сообщение отредактировал Lost_Forever - Воскресенье, 29.11.2009, 18:27 |
|
| |
clac8 | Дата: Воскресенье, 29.11.2009, 18:36 | Сообщение # 937 |
 Школьник I
Группа: Пользователи
Сообщений: 36
Статус: Offline
| Lost Forever Спосибо. И сразу же просьба, если не трудно напиши этот скриптик а за мной не заржовеет, у меня уже голова вспухла
GTA SA Лучшая игра!!!!!!!!
|
|
| |
Lost_Forever | Дата: Воскресенье, 29.11.2009, 19:25 | Сообщение # 938 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Quote (clac8) Lost Forever Спосибо. И сразу же просьба, если не трудно напиши этот скриптик а за мной не заржовеет, у меня уже голова вспухла wacko Напиши в какой зоне тебе нужно что бы машины сбрасывали скорость.

|
|
| |
clac8 | Дата: Воскресенье, 29.11.2009, 19:37 | Сообщение # 939 |
 Школьник I
Группа: Пользователи
Сообщений: 36
Статус: Offline
| -2003.4 155.722 27.147 Это где стаит знак 20км -1999.9 297.422 34.247 а это где он должен закончить действовать. СПОСИБО что взялся!!!
GTA SA Лучшая игра!!!!!!!!
|
|
| |
Den_spb | Дата: Воскресенье, 29.11.2009, 19:54 | Сообщение # 940 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Quote (Colt_8) Там просто одни опкоды, а в 3.0 есть команды! Цвета - разнообразие какое-то среди чёрных строк всего программного кода! Это всё в последней версии тоже есть.Quote Берешь опкод, который записывает ближайшую машину в переменную,после чего опкодом 01AD проверяешь находиться ли она в той точке в которой тебе нужно,если да то ставиш ей скорость которую нужно,если нет то переходиш в начало,потом выгружаешь машину из переменной и всё по новой. Тут нужен именно get_random_car - с помощью него можно обработать весь транспорт из определенной зоны. Если же ты будешь пользоваться опкодом store_closest_vehicle , то в переменную можно записать только ближайшую машину, а толку от этого мало.
Сообщение отредактировал Den_spb - Воскресенье, 29.11.2009, 19:58 |
|
| |
Lost_Forever | Дата: Воскресенье, 29.11.2009, 21:41 | Сообщение # 941 |
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
| Щас попробую)

Сообщение отредактировал Lost_Forever - Воскресенье, 29.11.2009, 21:43 |
|
| |
Darkscape | Дата: Понедельник, 30.11.2009, 15:33 | Сообщение # 942 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Как можно занести в переменную кол-во педов в радиусе R от точки X Y Z?
return
|
|
| |
Семён | Дата: Понедельник, 30.11.2009, 20:04 | Сообщение # 943 |
 Школьник I
Группа: Пользователи
Сообщений: 14
Статус: Offline
| всем привет) пишу тут на форумах первый раз, а побудила написать меня такая проблема... сделал скрипт, а он вылетает, и я недогоню почему. Смысл скрипта: при загрузке появляется объект ID 18634, в моём случае - ворота - новый объект для игры- и если игрок ближе, чем за 20 метров от него бибикнет, ворота откроются, через 15 секунд закроются... вот скрипт {$VERSION 3.1.0027} {$CLEO .cs} //-------------MAIN--------------- 0000: NOP :crd wait 100 model.Load(18634) 038B: load_requested_models :crd2 wait 100 if model.Available(18634) jf @crd2 object.Create($vor,18634,2840.61,1865.5,20.8 ) // 18634 :do wait 100 if and 03CA: object $vor exists 00EE: actor $PLAYER_CHAR 0 near_point 2840.61 1865.5 radius 20.0 20.0 in_car player.PressingHorn($PLAYER_CHAR) jf @do 034E: move_object $vor to 2848.11 1865.5 20.8 speed 1.0 0 0 flag 1 :do2 wait 15000 034E: move_object $vor to 2840.61 1865.5 20.8 speed 1.0 0 0 flag 1 jump @do если кто поймёт, скажите плиз почему вылетает... Сорри, если такой вопрос уже был, просто 20 страниц форума читать долго..
|
|
| |
d88 | Дата: Понедельник, 30.11.2009, 20:44 | Сообщение # 944 |
 Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
| Семён, попробуй вначале сделать проверку на существрвание игрокаю
|
|
| |
Colt_8 | Дата: Понедельник, 30.11.2009, 21:05 | Сообщение # 945 |
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
| Quote (Gans|64|) Как можно занести в переменную кол-во педов в радиусе R от точки X Y Z? попроьуй напиши в поиске опкодов слово radius actor - мож шо и будет!
|
|
| |
Darkscape | Дата: Понедельник, 30.11.2009, 21:45 | Сообщение # 946 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Семён, уничтожь в конце модель и поставь опкод завершения потока, должно помочь
return
|
|
| |
Den_spb | Дата: Понедельник, 30.11.2009, 22:35 | Сообщение # 947 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Quote (Gans|64|) Семён, уничтожь в конце модель и поставь опкод завершения потока, должно помочь Уничтожать модели желательно, но если это не выполняется, игра вылетать не должна. Команду завершения потока тут можно не ставить, т.к. скрипт зациклен. Да, и почему в клео-скрипте используются глобальные переменные? Тут действительно стоит добавить проверку на существование игрока. Игрок ещё не создан, а скрипт пытается проверить, нажимает ли он горн. Вообще, обращение к несуществующим игровым объектам - довольно частая скриптовая ошибка, ведущая к вылету игры.
Сообщение отредактировал Den_spb - Понедельник, 30.11.2009, 22:38 |
|
| |
Darkscape | Дата: Вторник, 01.12.2009, 09:13 | Сообщение # 948 |
 Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
| Quote (Den_spb) Уничтожать модели желательно, но если это не выполняется, игра вылетать не должна У меня из-за этого игра вылетала!
return
|
|
| |
d88 | Дата: Вторник, 01.12.2009, 10:16 | Сообщение # 949 |
 Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
| А зачем уничтожать? Она же создалась, а потом скрипт идёт по этому кругу Quote (Семён) :do wait 100 if and 03CA: object $vor exists 00EE: actor $PLAYER_CHAR 0 near_point 2840.61 1865.5 radius 20.0 20.0 in_car player.PressingHorn($PLAYER_CHAR) jf @do 034E: move_object $vor to 2848.11 1865.5 20.8 speed 1.0 0 0 flag 1 :do2 wait 15000 034E: move_object $vor to 2840.61 1865.5 20.8 speed 1.0 0 0 flag 1 jump @do Quote (Den_spb) Да, и почему в клео-скрипте используются глобальные переменные? Это бесполезно объяснять, что они нежелательны. Кстати, как думаешь, можно самому в скрипте создать глоб. переменную и менять её значение? Чтоб от её значения зависила работа других скриптов.
|
|
| |
Den_spb | Дата: Вторник, 01.12.2009, 11:46 | Сообщение # 950 |
 Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
| Есть глобальные клео-переменные (см. справку опкоды клео3).
|
|
| |