Суббота, 20.04.2024, 03:30
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
Den_spbДата: Суббота, 06.02.2010, 17:07 | Сообщение # 91
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Думаю специальной команды нет и это всё (выстрел, удар ближайшего игрока...) нужно проверять отдельно. Могу и ошибаться.
 
d88Дата: Суббота, 06.02.2010, 17:35 | Сообщение # 92
Группа: Проверенные
Сообщений: 113
Статус: Offline
А помнишь в некоторых миссиях было запрещено стрелять, например в миссии где надо было взорвать самолёт с бомбами? Наверное там была какая-то проверка на выстрел, надо её найти.
 
Den_spbДата: Суббота, 06.02.2010, 18:47 | Сообщение # 93
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (d88)
Наверное там была какая-то проверка на выстрел
Может быть.
 
K@sTieLДата: Воскресенье, 07.02.2010, 20:36 | Сообщение # 94
Группа: Модераторы
Сообщений: 10
Статус: Offline
Quote (d88)
в миссии где надо было взорвать самолёт с бомбами?

не совсем помню миссию... Это не та, где надо было на мотоцикле догнать самолет и заехать в него?
Quote (d88)
в некоторых миссиях было запрещено стрелять

может не на выстрел проверка, а на повреждения?
0366:
03C9:
051C:
или, например так:
.....
0227: 0@ = car 1@ health
if 1@ <= 500
then
.....


 
Den_spbДата: Воскресенье, 07.02.2010, 20:54 | Сообщение # 95
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Можно найти миссию в мэйне по названию и посмотреть.
 
ole-docenkoДата: Воскресенье, 07.02.2010, 22:11 | Сообщение # 96
Группа: Проверенные
Сообщений: 11
Статус: Offline
Здравствуйте ! У меня такая проблема : я хочу создать актера в определенной точке и задать ему анимацию . Но у меня ничего не получается ...
Точнее создать актера получается , слепить анимацию вроде тоже . А вот как их объединить ? И еще по анимации , правильно ли я ее создал ?
Code
04ED: load_animation "ON_LOOKERS"
04EE: animation "ON_LOOKERS"
0605: actor 'janitor' perform_animation_sequence "LKUP_LOOP" from_file "ON_LOOKERS" 4.0 loop 1 0 0 1 -1 ms
0618: assign_actor $PLAYER_ACTOR to_action_sequences $ActSeq
 
Den_spbДата: Воскресенье, 07.02.2010, 23:05 | Сообщение # 97
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Добрый вечер. По анимациям и последовательностям анимаций есть подробная информация в справке к SannyBuilder (Статьи-Анимации для актёров). В соответствии с ней код надо немного переделать:
Code
04ED: load_animation "ON_LOOKERS"
repeat
     wait 0  
until 04EE: animation "ON_LOOKERS" loaded  
0605: actor $PLAYER_ACTOR perform_animation_sequence "LKUP_LOOP" from_file "ON_LOOKERS" 4.0 loop 0 0 0 0 -1 ms
 
ole-docenkoДата: Понедельник, 08.02.2010, 00:00 | Сообщение # 98
Группа: Проверенные
Сообщений: 11
Статус: Offline
Спасибо что откликнулся ! Я вставил это в MAIN.scm , вылетать при загрузке игра перестала . Но актер просто стоит на месте , и ничего не делает .
Вот как я создал актера :
Code
:acttest   
wait 2000    
023c: request_special_actor 'janitor' as 1   
038b: load requested models     

:actcheck   
wait 0   
if and   
    023d:  special_actor 1 loaded   
jf @actcheck   
actor.create(1@,mission1, #special01, 2252.1387 -1260.9722 23.9642)

а вот я присвоил эму анимацию :

Code
:acttest   
wait 2000    
023c: request_special_actor 'janitor' as 1   
038b: load requested models     

:actcheck   
wait 0   
if and   
    023d:  special_actor 1 loaded   
jf @actcheck   
actor.create(1@,mission1, #special01, 2252.1387 -1260.9722 23.9642)

:anim
04ED: load_animation "ON_LOOKERS"   
repeat   
       wait 0    
until 04EE: animation "ON_LOOKERS" loaded    
0605: actor $PLAYER_ACTOR perform_animation_sequence "LKUP_LOOP" from_file "ON_LOOKERS" 4.0 loop 0 0 0 0 -1 ms
end_thread

В чем же я ошибся ?

Сообщение отредактировал ole-docenko - Понедельник, 08.02.2010, 00:01
 
K@sTieLДата: Понедельник, 08.02.2010, 05:29 | Сообщение # 99
Группа: Модераторы
Сообщений: 10
Статус: Offline
ole-docenko, в коде есть ошибки + зачем трогать мэйн? есть необходимость? К тому же ты присвоил анимацию не созданному актеру, а CJ'ю...
добавил в код немного проверок и составил .cs - вариант более понятным языком:

Code
{$CLEO}
thread 'BLA_BLA'

:1
wait 0
Player.Defined($PLAYER_CHAR)
jf @1
if and
$ONMISSION == 0
8118:   not actor $PLAYER_ACTOR dead
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2252.1387 -1260.9722 23.9642 radius 100.0 100.0 100.0
jf @1
023C: load_special_actor 'JANITOR' as 1 // models 290-299
04ED: load_animation "ON_LOOKERS"
038B:

:2
wait 0
if and
023D:   special_actor 1 loaded
04EE:   animation "ON_LOOKERS" loaded
jf @2
0@ = Actor.Create(Mission1, #SPECIAL01, 2252.1387, -1260.9722, 23.9642)

:3
wait 0
08C7: put_actor 0@ at 2252.1387 -1260.9722 23.9642 // versionB
0173: set_actor 0@ Z_angle_to 229.0981 // угол поворота написан наобум; подставь свой
Model.Destroy(#SPECIAL01)
if
056D:   actor 0@ defined
jf @3
0605: actor 0@ perform_animation_sequence "LKUP_LOOP" IFP_file "ON_LOOKERS" 4.0 loop 1 0 0 0 time -1 // versionA
// анимация будет повторяться бесконечное кол-во раз
// сделал это для проверки работы скрипта

:4
wait 0   
if or
80FE:   not actor $PLAYER_ACTOR sphere 0 in_sphere 2252.1387 -1260.9722 23.9642 radius 100.0 100.0 100.0   
0118:   actor $PLAYER_ACTOR dead
jf @4
04EF: release_animation "ON_LOOKERS"
Actor.DestroyInstantly(0@)
jump @1

проверено на работоспособность wink




Сообщение отредактировал K@sTieL - Понедельник, 08.02.2010, 05:32
 
ole-docenkoДата: Понедельник, 08.02.2010, 08:01 | Сообщение # 100
Группа: Проверенные
Сообщений: 11
Статус: Offline
Спасибо большое ! Придется перечитывать учебник в Sanny Bylder'е ... wacko
 
d88Дата: Вторник, 09.02.2010, 18:38 | Сообщение # 101
Группа: Проверенные
Сообщений: 113
Статус: Offline
Можно ли машине присвоить такой параметр типа она коповская. Чтобы перед ней открывались ворота которые открываются только полицейской машине.
 
Den_spbДата: Среда, 10.02.2010, 00:23 | Сообщение # 102
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Этого я не знаю.
 
ole-docenkoДата: Четверг, 18.02.2010, 13:43 | Сообщение # 103
Группа: Проверенные
Сообщений: 11
Статус: Offline
У меня такая проблема : мне надо создать маркер перехода в другое место (такой желтый треугольник , направлений вершиной вниз) ,
но я абсолютно не знаю как это сделать ! Я перерыл весь Sanny Bilder - и НИЧЕГО !
Помогите , пожалуйста !
 
d88Дата: Четверг, 18.02.2010, 14:35 | Сообщение # 104
Группа: Проверенные
Сообщений: 113
Статус: Offline
Маркер создаётся кодом
0A40: 1@ = create_entrance_marker_at -2155.146 645.4197 53.3672 color 11

Но этого недостаточно. Нужно проверить, стоит ли игрок на том месте, где маркер, и если стоит, то перемещаем его в интерьер.
Вот пример из моего скрипта Офис Вузи

:WUZI_127
wait 0
if and
0102: actor $PLAYER_ACTOR in_sphere -2155.146 645.4197 52.3672 radius 1.0 1.0 1.0 sphere 0 stopped_on_foot
Player.Defined($PLAYER_CHAR)
not Actor.Driving($PLAYER_ACTOR)
else_jump @WUZI_127
jump @WUZI_196

:WUZI_196
wait 1500
select_interior 1
0860: link_actor $PLAYER_ACTOR to_interior 1
Actor.PutAt($PLAYER_ACTOR, -2158.72, 641.288, 1051.05)
Actor.Angle($PLAYER_ACTOR) = 183.5733
04F9: set_interior 3 color_to 0
0A41: destroy_entrance_marker 1@

 
K@sTieLДата: Пятница, 19.02.2010, 10:03 | Сообщение # 105
Группа: Модераторы
Сообщений: 10
Статус: Offline
d88, поправьте, если ошибаюсь, но, по-моему, на форуме Sunny Builder'a обсуждали, что проверку Player.Defined($PLAYER_CHAR) не стоит объединять с другими и лучше написать ее отдельно wink

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