Суббота, 20.04.2024, 10:11
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
Den_spbДата: Пятница, 01.04.2011, 22:58 | Сообщение # 556
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Если скрипт не работает, то надо разбить его на отдельные части и проверить работоспособность каждой из этих частей.
В данном случае я бы сначала проверил, нет ли проблем с загрузкой и воспроизведением звуков. Для этого проверку выбора элемента в панели можно заменить простой проверкой нажатия клавиши.
 
klm88Дата: Вторник, 05.04.2011, 05:19 | Сообщение # 557
Группа: Пользователи
Сообщений: 21
Статус: Offline
А что даёт команда: fade 0 0 ?
Code

create_thread ...
create_thread...

fade 0 0  

....
 
Den_spbДата: Вторник, 05.04.2011, 17:16 | Сообщение # 558
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Команда fade применяется для кратковременного погашения экрана.
 
VitalДата: Пятница, 08.04.2011, 19:01 | Сообщение # 559
Группа: Проверенные
Сообщений: 206
Статус: Offline
fade 0 0
первый параметр определяет затемнение (0) или наоборот, просветление (сложно слово подобрать) (1)
второй параметр - время затемнения/просветления в мс (1000 мс - 1 с)


SCRIPTER
 
d88Дата: Суббота, 09.04.2011, 16:34 | Сообщение # 560
Группа: Проверенные
Сообщений: 113
Статус: Offline
Den_spb, как в скриптинге работать с добавленными объектами? А то я их прописал, а СБ ID не находит.
 
Den_spbДата: Суббота, 09.04.2011, 19:33 | Сообщение # 561
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (d88)
Den_spb, как в скриптинге работать с добавленными объектами?

Всё как обычно - загружается модель, создаётся объект, потом модель выгружается из памяти. В командах, как всегда, указывается ID-номер модели.

Quote (d88)
А то я их прописал, а СБ ID не находит.

В списке моделей, который появляется при вводе знака #, добавленных моделей не будет. Но функция перевода ID-номера в имя модели и обратно должна работать в любом случае, если добавленная модель присутствует в одном из IDE-файлов.
 
VitalДата: Понедельник, 11.04.2011, 13:46 | Сообщение # 562
Группа: Проверенные
Сообщений: 206
Статус: Offline
Можете, пожалуйста, помочь с миссией. Я сделал cleo миссию, она нормально запускается, все идет нормально, все тексты есть, но также имеется пара проблем.
1) Вылет после успешного прохождения
2) Человек, который должен стоять на кране, постоянно падает, какой угол ему сделать?
3) Анимация "IDLE_CHAT" не проигрывается, хотя по идее должна работать (файл PED)
Вот код миссии.
Доступно только для пользователей
Я уже несколько шаблонов перепробовал, ничего нового, все те же проблемы... Я не пробовал проваливать миссию пока что.
Если надо, покажу и стартер миссии, хотя проблема явно не в нем.
Жду вашей помощи. Заранее спасибо.


SCRIPTER
 
Den_spbДата: Понедельник, 11.04.2011, 16:25 | Сообщение # 563
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (Vital)
1) Вылет после успешного прохождения
Загляни в scmlog.

Quote (Vital)
2) Человек, который должен стоять на кране, постоянно падает, какой угол ему сделать?
Надо не угол менять, а координаты местонахождения актёра.

Quote (Vital)
3) Анимация "IDLE_CHAT" не проигрывается, хотя по идее должна работать (файл PED)
Попробуй убрать команды 05BA: AS_actor 1@ move_mouth
 
VitalДата: Понедельник, 11.04.2011, 19:39 | Сообщение # 564
Группа: Проверенные
Сообщений: 206
Статус: Offline
Den_spb, спасибо за советы. То, что после успешного прохождения, говорит то, что надпись "миссия выполнена" проходит и идет вылет сразу. Попробую scmlog.
2) Координаты правильные, создавал объект в Med, объект точно на кране, но немного выше, чтобы актер не был в кране. Он немного падает, как после мелкого падения (я не видел, но думаю) и наверняка идет анимация, как актер идет чуть вперед от падения и грохается вниз... когда я прихожу, он постоянно валяется дохлый около дружков... уже надоело это видеть biggrin у него же снайперка еще, так что для интереса к миссии он обязателен. Ну с ним я разберусь сам.
SCMLog у меня не работает... я уже сам создал scmlog.log, а он как не работал, так и не работает... пробовал 2 раза. Я поставил .cleo и .ini файлы в папку cleo


SCRIPTER

Сообщение отредактировал Vital - Понедельник, 11.04.2011, 20:08
 
Den_spbДата: Вторник, 12.04.2011, 00:07 | Сообщение # 565
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Можно поочерёдно вставлять задержки (wait) за командами, выполняющимися после вывода текста. Так можно узнать, на какой команде происходит вылет.
 
ILYALIONДата: Среда, 13.04.2011, 22:46 | Сообщение # 566
Группа: Проверенные
Сообщений: 325
Статус: Offline
Немного изучив справку sanny builder и Ваши советы, я создал свой первый cleo скрипт
Code
{$CLEO}   
0A95:     
wait 0
model.Load(1412)
038B: load_requested_models   
if and
model.Available(1412)
object.Create(1@,1412,2504.7883,-1668.9213,12.5)
object.Angle(1@) = 0.0
0A93:
Скрипт создаёт забор у дома сиджея. У меня вопросы: как сделать так, чтобы на расстоянии 200 м модели выгружались из памяти? А потом, когда снова подходишь к забору ближе, чем на 200 м, модели снова вгружались в память. А то я снёс забор, отъехал на приличное расстояние, а забор не появился(Хотя в игре всегда так: если снести какой-нибудь забор, то потом он снова появится). И нужна ли задержка (wait 0)?

Добавлено (13.04.2011, 22:07)
---------------------------------------------
И я думаю, вместо if and надо писать if

Добавлено (13.04.2011, 22:46)
---------------------------------------------
А что писать, если я хочу создать несколько заборов? Я думаю, что

Code
{$CLEO}    
0A95:      
wait 0  
model.Load(1412)  
038B: load_requested_models    
if and  
model.Available(1412)  
object.Create(1@,1412,2504.7883,-1668.9213,12.5)  
model.Available(1412)  
object.Create(1@,1412,2514.7883,-1668.9213,12.5)  
object.Angle(1@) = 0.0  
0A93:
Прикрепления: 5032578.jpg (108.8 Kb)
 
Den_spbДата: Четверг, 14.04.2011, 00:28 | Сообщение # 567
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
У тебя неверно реализовано условие. Надо было написать так:
Code
{$CLEO}            
0A95:              
model.Load(1412)          
:Metka
wait 0          
if          
model.Available(1412)
jf @Metka          
object.Create(1@,1412,2504.7883,-1668.9213,12.5)               
model.Destroy(1412)
0A93:
Механизм работы: если проверка даёт ложный результат (модель не загружена), то благодаря команде jf @Metka выполнение скрипта будет продолжаться со строчки, в которой стоит указанная метка (:Metka). Если проверок несколько (не больше 7), то вместо if надо писать команду if and или if or - подробно об этом написано в справке SB (глава Условия).
Можно применить неотложную загрузку моделей (команда 038B) - в этом случае отпадает надобность в проверке на загруженность модели:
Code
{$CLEO}            
0A95:              
model.Load(1412)          
038B: load_requested_models
object.Create(1@,1412,2504.7883,-1668.9213,12.5)               
model.Destroy(1412)
0A93:
После создания объекта модель больше не нужна и мы выгружаем её из памяти командой model.Destroy.

Quote (ILYALION)
А что писать, если я хочу создать несколько заборов? Я думаю, что
С учётом указанных моментов код немного изменится:
Code
{$CLEO}             
0A95:                
model.Load(1412)           
038B: load_requested_models          
object.Create(1@,1412,2504.7883,-1668.9213,12.5)             
object.Create(1@,1412,2514.7883,-1668.9213,12. 5)            
m odel.Destroy(1412)           
0A93:
Угол создаваемого объекта, транспорта или актёра по умолчанию равен 0.0.

Quote (ILYALION)
И нужна ли задержка (wait 0)?
Задержка нужна в участках кода, выполнение которых может осуществляться много раз подряд. Такие участки называются циклами. Пример цикла:
Code
:Metka
wait 0          
if          
model.Available(1412)
jf @Metka

Quote (ILYALION)
У меня вопросы: как сделать так, чтобы на расстоянии 200 м модели выгружались из памяти?
Модель должна выгружаться сразу после создания объекта. А то, что ты имеешь ввиду, называется удалением объекта. Для реализации данной идеи необходимо применение цикла, в котором нужно будет проверять, находится ли игрок рядом с местом создания объекта (actor near point). Если игрок находится рядом с этим местом, то далее нужно проверить, существует ли объект (object exists). Если объект не существует, то его нужно создать. Указанные команды легко найти с помощью Поиска опкодов (Сервис-Инструменты-Поиск опкодов).
Вообще объекты проще и лучше расставлять не скриптом, а с помощью Map Editor - если, конечно, над объектами в дальнейшем не планируется производить какие-либо действия.
 
ILYALIONДата: Четверг, 14.04.2011, 12:33 | Сообщение # 568
Группа: Проверенные
Сообщений: 325
Статус: Offline
Quote (Den_spb)
объекты проще и лучше расставлять не скриптом, а с помощью Map Editor
Просто я хотел создать скрипт "автопарк"-место, огороженное забором, в котором стоят автобусы
Quote (Den_spb)
Угол создаваемого объекта, транспорта или актёра по умолчанию равен 0.0.
А как изменить угол? У меня была команда object.Angle(1@) = 0.0
 
izerliДата: Четверг, 14.04.2011, 14:50 | Сообщение # 569
Группа: Проверенные
Сообщений: 90
Статус: Offline
Quote (ILYALION)
А как изменить угол? У меня была команда object.Angle(1@) = 0.0

вместо 0.0 пишешь необходимый тебе угол.
 
VitalДата: Четверг, 14.04.2011, 21:07 | Сообщение # 570
Группа: Проверенные
Сообщений: 206
Статус: Offline
Только не забудь, что угол всегда дробный! То есть, если надо 90 градусов, пишешь 90.0 а можно точнее угол делать, например 90.57

SCRIPTER
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: