Скрипты для GTA от dim1988 aka d88

Главная | Регистрация | Вход

Приветствую Вас Гость | RSS
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Вопросы по созданию скриптов
dim1988 Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Ответы на самые часто задаваемые вопросы

Как сохранить (компилировать) скрипт?
Почему не следует использовать в клео скриптах глобальные переменные?
Как узнать координаты мест, через какую прогу?
Как поместить игрока в интерьер?
Опкод, который открывает все дома в СА
Запись в переменную ближайшего педа и проверка его модели
Как заставить актёров ходить по определённым координатам
Проверка нажатия определённой клавиши
Пак пути с анимацией
Как сделать так, чтоб 2 миссии следовали друг за другом?
Как актёру дать оружие?
Как создать транспорт
Как создать жёлтый маркер для входа в интерьер?
При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить?
Как транспорту присвоить определённый цвет?
Что делать если пишет ожидалось 'x' параметров?
Как написать цветной текст?
Номера костей актёра
Что такое gosub?
Опкоды, связанные с созданием огня
Как изменить оружие банд?
Образец добавления в игру объектов
Проверка нажатия клавиши в игре и список значений
Путь или scmpath
Как изменить цвет затемнения экрана?
Как записать в переменную случайное число из интервала
Список стилей боя
Как привязать эффект к кости актёра?
Как произвести действия, над педами, созданными игрой
Как заменить модель игрока
Как заставить актёра поднять руки, как при аресте
Сброс анимации
Как метнуть объект?
Как из одного скрипта запустить другой?

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
SHREDER Дата: Понедельник, 04.06.2012, 18:02 | Сообщение # 3181
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
Как сделать проверку на нажатость нестандартной клавиши? Я в мануале нифига не понял mellow

[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
MrSecret Дата: Вторник, 05.06.2012, 14:43 | Сообщение # 3182
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline
Quote (SHREDER)
Как сделать проверку на нажатость нестандартной клавиши?

Качай программу SA Key Converter отсюда: http://www.libertycity.ru/files/file33070.html. Вбишаешь в окошко Key саму клавишу, а в правом окошке появится ее номер. Далее работаешь с проверкой как с обычной клавишей:
if
0AB0: key_pressed 76
jf @METKA

Добавлено (05.06.2012, 14:43)
---------------------------------------------

Quote (SPIRITS)
То можно сделать имитацию что кит всплывает?

Если заменяешь актера, то надо помещать его в воду, поместить в группу $PLAYER_GROUP (чтоб не утонул) и самое главное - создать анимацию всплывания, скриптом это имитировать, насколько я знаю, невозможно. А вот объект - легко. Для его плавного перемещения используй опкод:
034E: move_object 0@ to 1@ 2@ 3@ speed 13@ 16@ 19@ flag 1
0@ хендл объекта.
1@ 2@ 3@ - координаты.
13@ 16@ 19@ скорость перемещения объекта.
1 - не знаю.

Надеюсь мр.dim1988 не будет сердиться, что я немного встрял :)
Quote (SPIRITS)
А есть ли проверка, расстояние игрока между актером равно 5 метрам?

Используй опкод:
0104: actor $PLAYER_ACTOR near_actor 1@ radius 5.0 5.0 5.0 sphere 0
Quote (SPIRITS)
созданный там актер модели попугая не провалиться?

Если ты attach'нешь актера к объекту.
 
 
SHREDER Дата: Вторник, 05.06.2012, 16:16 | Сообщение # 3183
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
MrSecret, спасибо помогло! biggrin

Добавлено (05.06.2012, 16:16)
---------------------------------------------
Блин че то не помогло я цифры пишу не работает blink


[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
MrSecret Дата: Вторник, 05.06.2012, 16:40 | Сообщение # 3184
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline
Quote (SHREDER)
Блин че то не помогло я цифры пишу не работает

Что не работает? У меня все как по маслу.
 
 
dim1988 Дата: Вторник, 05.06.2012, 16:44 | Сообщение # 3185
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (SHREDER)
Как сделать проверку на нажатость нестандартной клавиши? Я в мануале нифига не понял

В шапке темы же есть ссылка
Проверка нажатия определённой клавиши

Quote (MrSecret)
Если заменяешь актера, то надо помещать его в воду, поместить в группу $PLAYER_GROUP (чтоб не утонул)

Но тогда он будет бегать за игроком.
Вообще есть код чтоб актёр не тонул, он даже в опкодниках есть:
04D8: set_actor 1@ drowns_in_water 0

Quote (MrSecret)
А вот объект - легко. Для его плавного перемещения используй опкод:
034E: move_object 0@ to 1@ 2@ 3@ speed 13@ 16@ 19@ flag 1

А он у тебя работает без проблем?
Quote (MrSecret)
Надеюсь мр.dim1988 не будет сердиться, что я немного встрял :)

Да какая разница, кто отвечает.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
SHREDER Дата: Вторник, 05.06.2012, 16:48 | Сообщение # 3186
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
Ну я хочу чтоб по нажатию G появлялась тачка. Я вписывал цифры из этой проги не помогло написал на спринт все работает

[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
MrSecret Дата: Вторник, 05.06.2012, 16:49 | Сообщение # 3187
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline
Quote (dim1988)
А он у тебя работает без проблем?

Да, много раз двигал там всякие ящики, чемоданы которые с крыш падают и т.д.
Quote (dim1988)
04D8: set_actor 1@ drowns_in_water 0

Точно, я ж забыл про него.
Quote (dim1988)
В шапке темы же есть ссылка

Лично я там по этому поводу ничего не нашел.

Добавлено (05.06.2012, 16:49)
---------------------------------------------

Quote (SHREDER)
Ну я хочу чтоб по нажатию G появлялась тачка. Я вписывал цифры из этой проги не помогло написал на спринт все работает

Странно, ид 71, у меня все работает.
 
 
SHREDER Дата: Вторник, 05.06.2012, 17:00 | Сообщение # 3188
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
ААА я понял! hands

В справку надо было посмотреть! biggrin

MrSecret, Спасибо все работает smile

dim1988, Спасибо biggrin я и забыл про эту шапку!


[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
dim1988 Дата: Вторник, 05.06.2012, 17:33 | Сообщение # 3189
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (MrSecret)
Лично я там по этому поводу ничего не нашел.

Я же и так ссылку написал
Quote (dim1988)
Проверка нажатия определённой клавиши


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
SHREDER Дата: Вторник, 05.06.2012, 17:35 | Сообщение # 3190
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
А что такое флаги? help

[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
Den_spb Дата: Среда, 06.06.2012, 03:20 | Сообщение # 3191
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Флаг - это параметр, который может принимать одно из двух значений: 0 (флаг выключен) или 1 (флаг включен).
 
 
SHREDER Дата: Среда, 06.06.2012, 06:03 | Сообщение # 3192
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
У меня из-за него этот опкод не идет:

066C: $car = attach_particle "FLAMETHROWER" to_car $car with_offset 0.0 -4.4 0.0 rotation 0.0 -1.0 0.0 flag 1

Я ноль ставил все равно вылетает blink


[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
SPIRITS Дата: Среда, 06.06.2012, 09:36 | Сообщение # 3193
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
dim1988, А в опкоде
04D8: set_actor 1@ drowns_in_water 0
0 это включить или выключить

Добавлено (06.06.2012, 09:31)
---------------------------------------------
dim1988, А в опкоде
04D8: set_actor 1@ drowns_in_water 0
0 это включить или выключить

Добавлено (06.06.2012, 09:36)
---------------------------------------------
SHREDER, Могу дать список номеров клавиш, нашел в каком то моде, мне помогает

 
 
SHREDER Дата: Среда, 06.06.2012, 09:50 | Сообщение # 3194
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
SPIRITS, а давай пригодится wink

[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
SPIRITS Дата: Среда, 06.06.2012, 11:33 | Сообщение # 3195
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
SHREDER, Ща жди за тобой черный бумер заедет biggrin

Добавлено (06.06.2012, 11:33)
---------------------------------------------
А можно ли изменить цвет дыма на алый например

Прикрепления: -README-.txt (1.5 Kb)
 
 
MrSecret Дата: Среда, 06.06.2012, 11:43 | Сообщение # 3196
Группа: Пользователи
Сообщений: 6
Замечания: 0%
Статус: Offline
Quote (SHREDER)
066C: $car = attach_particle "FLAMETHROWER" to_car $car with_offset 0.0 -4.4 0.0 rotation 0.0 -1.0 0.0 flag 1 Я ноль ставил все равно вылетает

У те6я у эффекта и у автомобиля одинаковый хендл. smile

Добавлено (06.06.2012, 11:43)
---------------------------------------------

Quote (SPIRITS)
А можно ли изменить цвет дыма на алый например

Никак, только через текстуры. Если мне не изменяет память, можно изменить только размер партикла.


Сообщение отредактировал MrSecret - Среда, 06.06.2012, 11:41
 
 
DK22Pac Дата: Среда, 06.06.2012, 12:41 | Сообщение # 3197
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline
Quote
У те6я у эффекта и у автомобиля одинаковый хендл.

Та же переменная. У эффекта и автомобиля, в теории, может быть одинаковый хендл, и это не приведёт к вылету игры. Хендл - это лишь индекс (а в большинстве случаев - даже просто ид(номер)), с помощью которого контроллируются субьекты в скрипте.


Мои скрипты
Grand Theft Auto III HD Development Team
 
 
Den_spb Дата: Среда, 06.06.2012, 15:41 | Сообщение # 3198
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (MrSecret)
У те6я у эффекта и у автомобиля одинаковый хендл.

Возвращаемые значения записываются в переменные после выполнения опкода, поэтому для этих значений можно указывать те же переменные, в которых были записаны входные параметры. К вылету это не приведёт - просто входные параметры будут утрачены (переписаны возвращаемыми значениями).
Quote (SHREDER)
У меня из-за него этот опкод не идет: 066C: $car = attach_particle "FLAMETHROWER" to_car $car with_offset 0.0 -4.4 0.0 rotation 0.0 -1.0 0.0 flag 1
Уверен, что вылетает именно на этом опкоде? Что написано в ScmLog?
 
 
SPIRITS Дата: Среда, 06.06.2012, 16:28 | Сообщение # 3199
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: 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  

:NONAME_2
0001: wait 0 ms  
0247: load_model #LSV1  
038B: load_requested_models  
0001: wait 0 ms  
009A: 0@ = create_actor_pedtype 7 model #LSV1 at -2189.046 -2418.834 30.625  
009A: 1@ = create_actor_pedtype 7 model #LSV1 at -2160.975 -2434.849 30.4687  
009A: 2@ = create_actor_pedtype 7 model #LSV1 at -2144.903 -2422.748 30.625  
009A: 3@ = create_actor_pedtype 7 model #LSV1 at -2146.862 -2405.987 30.4687  
009A: 4@ = create_actor_pedtype 7 model #LSV1 at -2161.695 -2395.333 30.4687  
009A: 5@ = create_actor_pedtype 7 model #LSV1 at -2179.24 -2375.443 30.6172  
009A: 6@ = create_actor_pedtype 7 model #LSV1 at -2172.443 -2353.03 30.625  
009A: 7@ = create_actor_pedtype 7 model #LSV1 at -2170.79 -2334.126 30.4765  
009A: 8@ = create_actor_pedtype 7 model #LSV1 at -2157.508 -2330.464 30.625  
009A: 9@ = create_actor_pedtype 7 model #LSV1 at -2158.881 -2326.743 30.4687  
009A: 10@ = create_actor_pedtype 7 model #LSV1 at -2156.366 -2323.438 30.4687  
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 4@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 5@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 6@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 7@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 8@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 9@ kill_actor $PLAYER_ACTOR  
05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR  
0223: set_actor 0@ health_to 500  
0223: set_actor 1@ health_to 500  
0223: set_actor 2@ health_to 200  
0223: set_actor 3@ health_to 200  
0223: set_actor 4@ health_to 200  
0223: set_actor 5@ health_to 500  
0223: set_actor 6@ health_to 500  
0223: set_actor 7@ health_to 500  
0223: set_actor 8@ health_to 500  
0223: set_actor 9@ health_to 500  
0223: set_actor 10@ health_to 500  
077A: set_actor 0@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 1@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 2@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 3@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 4@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 5@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 6@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 7@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 8@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 9@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
077A: set_actor 10@ acquaintance 4 to_actors_pedtype 0 // see ped.dat  
05DE: AS_actor 0@ walk_around_ped_path  
05DE: AS_actor 1@ walk_around_ped_path  
05DE: AS_actor 2@ walk_around_ped_path  
05DE: AS_actor 3@ walk_around_ped_path  
05DE: AS_actor 4@ walk_around_ped_path  
05DE: AS_actor 5@ walk_around_ped_path  
05DE: AS_actor 6@ walk_around_ped_path  
05DE: AS_actor 7@ walk_around_ped_path  
05DE: AS_actor 8@ walk_around_ped_path  
05DE: AS_actor 9@ walk_around_ped_path  
05DE: AS_actor 10@ walk_around_ped_path  
0446: set_actor 0@ immune_to_headshots 0  
0446: set_actor 1@ immune_to_headshots 0  
0446: set_actor 2@ immune_to_headshots 0  
0446: set_actor 3@ immune_to_headshots 0  
0446: set_actor 4@ immune_to_headshots 0  
0446: set_actor 5@ immune_to_headshots 0  
0446: set_actor 6@ immune_to_headshots 0  
0446: set_actor 7@ immune_to_headshots 0  
0446: set_actor 8@ immune_to_headshots 0  
0446: set_actor 9@ immune_to_headshots 0  
0446: set_actor 10@ immune_to_headshots 0  
0209: 17@ = random_int_in_ranges 10000 240000  
0001: wait 17@ ms  
009B: destroy_actor 0@  
009B: destroy_actor 1@  
009B: destroy_actor 2@  
009B: destroy_actor 3@  
009B: destroy_actor 4@  
009B: destroy_actor 5@  
009B: destroy_actor 6@  
009B: destroy_actor 7@  
009B: destroy_actor 8@  
009B: destroy_actor 9@  
009B: destroy_actor 10@  
0249: release_model #LSV1  
0001: wait 17@ ms  
0002: jump @NONAME_2  

Из за чего может вылететь?
Лог показывает только опкоды 0001 и 0000
 
 
SHREDER Дата: Среда, 06.06.2012, 19:22 | Сообщение # 3200
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
SPIRITS, спасибо happy

Quote (Den_spb)
Уверен, что вылетает именно на этом опкоде?


Да уверен я другой ставил там все нормально. А этот хочу потому что в нем можно партикл вертеть.


[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
Jin Дата: Четверг, 07.06.2012, 09:10 | Сообщение # 3201
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
Quote (MrSecret)
034E: move_object 0@ to 1@ 2@ 3@ speed 13@ 16@ 19@ flag 1 0@ хендл объекта. 1@ 2@ 3@ - координаты. 13@ 16@ 19@ скорость перемещения объекта. 1 - не знаю.

а вот пременные скорости почему их 3?можете обьяснить за что отвечат каждая.



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
Artalus Дата: Четверг, 07.06.2012, 16:51 | Сообщение # 3202
Группа: Пользователи
Сообщений: 26
Замечания: 0%
Статус: Offline
пишу карманный античит, удалять миниганы и базуки из рук противника при их появлении - сделал ручное разоружение, по команде получающее хендл ближайшего актёра и начинающее циклично выпиливать у него всё оружие; теперь хочу сделать автоматическое разоружение от миниганов всех, кто стоит рядом с игроком, но столкнулся с проблемой - у 0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@ слишком маленький радиус действия, а 0AE1: 0@ = random_actor_near_point 1@ 2@ 3@ in_radius 500.0 find_next 0 pass_deads 1 у меня по каким-то причинам не работает, совсем - хендл просто не получается
собственно вопрос - можно ли заставить работать 0АЕ1, или найти ему логичный аналог, которым можно циклично прогонять через скрипт не только ближайшего актёра, но вообще всё живое вокруг?

а ещё на будущее пригодился бы алгоритм получения хендла у ближайшего педа, находящегося перед игроком, в пределах определённого угла и расстояния
 
 
Den_spb Дата: Четверг, 07.06.2012, 18:55 | Сообщение # 3203
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (Jin)
а вот пременные скорости почему их 3?можете обьяснить за что отвечат каждая.
У любого вектора (в том числе и вектора скорости) есть три координаты - X, Y, Z.

Добавлено (07.06.2012, 18:55)
---------------------------------------------
Artalus, вот шаблон перебора всех существующих объектов:
Code
if
       0AE3: 0@ = random_object_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 0
then
       repeat
           if
               // здесь прописываем условия, которым должны соответствовать объекты (например, модель)
           then
               // здесь прописываем действия над объектами
           end
       until  8AE3: not 0@ = random_object_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 1
end

Для актёров или транспорта конструкция будет выглядеть точно также, только вместо 0AE3 будет применяться 0AE1 или 0AE2.
И важно правильно устанавливать значения "find next".


Сообщение отредактировал Den_spb - Вторник, 19.06.2012, 16:04
 
 
SPIRITS Дата: Четверг, 07.06.2012, 19:23 | Сообщение # 3204
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Den_spb, Пара вопросов
Как работает опкод 0AE3 ?

И не мог бы ты привести пример с
034E: move_object 0@ to 1@ 2@ 3@ speed 13@ 16@ 19@ flag 1

Что бы объект быстро летел прямо как от сильного удара по мячу
И что бы он плавно передвигался
 
 
Den_spb Дата: Пятница, 08.06.2012, 20:45 | Сообщение # 3205
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (SPIRITS)
Как работает опкод 0AE3 ?

Опкод получает указатель на случайного пешехода из указанной зоны. Если использовать опкод в цикле (как я написал выше), то можно произвести действия над всем пешеходами, находящимися в указанной зоне.
Quote (SPIRITS)
И не мог бы ты привести пример с 034E: move_object 0@ to 1@ 2@ 3@ speed 13@ 16@ 19@ flag 1 Что бы объект быстро летел прямо как от сильного удара по мячу И что бы он плавно передвигался
У меня нет таких примеров. Попробуй подобрать значения сам (экспериментально).
 
 
dim1988 Дата: Пятница, 08.06.2012, 21:18 | Сообщение # 3206
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Den_spb)
указанной зоне.
Quote (SPIRITS)
И не мог бы ты привести пример с 034E: move_object 0@ to 1@ 2@ 3@ speed 13@ 16@ 19@ flag 1 Что бы объект быстро летел прямо как от сильного удара по мячу И что бы он плавно передвигался
У меня нет таких примеров. Попробуй подобрать значения сам (экспериментально).

Может тогда использовать старый проверенный понятный и надёжный способ (взято с СБ форума):

Code
//3@ - объект
//4@ 5@ 6@ - координаты, куда перемещаешь
//0.7 - скорость
0AB1: @GetMoveSpeeds 5 obj 3@ moveto 4@ 5@ 6@ speed 0.7 result 11@ 12@ 13@
while 834E: not move_object 3@ to 4@ 5@ 6@ speed 11@ 12@ 13@ stop_if_collide 0
   0AB1: @GetMoveSpeeds 5 obj 3@ moveto 4@ 5@ 6@ speed 0.7 result 11@ 12@ 13@
   wait 0
end

{...Это помещаешь в самом конце скрипта:}

:GetMoveSpeeds{in_Obj:HObj,in_X,_Y,_Z,_Speed:Float,out_X,Y,Z:Float}
//             0@             1@ 2@ 3@ 4@
Object.StorePos(0@,5@,6@,7@)
050A: 8@ = distance_between_XYZ 5@ 6@ 7@ and_XYZ 1@ 2@ 3@
0063: 5@ -= 1@
0063: 6@ -= 2@
0063: 7@ -= 3@
0073: 5@ /= 8@
0073: 6@ /= 8@
0073: 7@ /= 8@
006B: 5@ *= 4@
006B: 6@ *= 4@
006B: 7@ *= 4@
0096: make 5@ absolute_float
0096: make 6@ absolute_float
0096: make 7@ absolute_float  
0AB2: ret 3 5@ 6@ 7@


Данный способ гарантированно работает даже когда объект перемещаем не строго по векторам X Y Z (в первом случае именно из-за этого бывают проблемы).


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
SPIRITS Дата: Пятница, 08.06.2012, 23:06 | Сообщение # 3207
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Den_spb, То есть опкод 0AE3 записывает всех пешеходов в определенной точки с определенным радиусом?
И еще вот я создал остров а как установить тип зоны Пляж
Что бы там ходили люди
В СБ есть опкод как создать свою зону но он не корректный

Добавлено (08.06.2012, 23:06)
---------------------------------------------
И в опкоде 0AE3 есть вопрос
А последний параметр find_next 0
можете сказать что он значит и как работает

 
 
Den_spb Дата: Суббота, 09.06.2012, 07:33 | Сообщение # 3208
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (SPIRITS)
Den_spb, То есть опкод 0AE3 записывает всех пешеходов в определенной точки с определенным радиусом?

Да.

Quote (SPIRITS)
И в опкоде 0AE3 есть вопрос А последний параметр find_next 0 можете сказать что он значит и как работает

Смотрим справку по КЛЕО4 - там всё написано.
 
 
Artalus Дата: Суббота, 09.06.2012, 10:49 | Сообщение # 3209
Группа: Пользователи
Сообщений: 26
Замечания: 0%
Статус: Offline
Quote
вот шаблон перебора всех существующих педов

большое спасибо, заработало, и чую ещё не раз пригодится)

другой вопрос - можно ли как-нибудь проверять, есть ли над актёром маркер, и если есть, то не создавать заново? нужно сделать так, чтобы античит мог пометить маркерами нескольких игроков, и чтобы они не "накладывались" друг на друга когда он начинает заново срабатывать на уже помеченных игроков
 
 
SPIRITS Дата: Суббота, 09.06.2012, 23:01 | Сообщение # 3210
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: 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  

:NONAME_2
0001: wait 0 ms  
0247: load_model #MISSILE  
038B: load_requested_models  

:NONAME_13
0001: wait 0 ms  
00D6: if  
00DF:   actor $PLAYER_ACTOR driving  
004D: jump_if_false @NONAME_13  
03C0: 0@ = actor $PLAYER_ACTOR car  
00D6: if  
056E:   car 0@ defined  
004D: jump_if_false @NONAME_13  
0407: store_coords_to 5@ 6@ 7@ from_car 0@ with_offset 0.0 1.0 0.5  
0407: store_coords_to 15@ 17@ 18@ from_car 0@ with_offset 0.0 20.0 0.5  
00D6: if  
0AB0:   key_pressed 1  
004D: jump_if_false @NONAME_13  
0107: 4@ = create_object #MISSILE at 5@ 6@ 7@  
066D: 14@ = attach_particle "TANK_FIRE" to_object 4@ with_offset 0.0 -0.1 0.0 flag 1  
064C: make_particle 14@ visible  
0001: wait 100 ms  
0650: destroy_particle 14@  
0007: 13@ = 0.0  
0007: 16@ = 14.0  
0007: 19@ = 0.3  
034E: move_object 4@ to 15@ 17@ 18@ speed 13@ 16@ 19@ flag 1  
0392: make_object 4@ moveable 1  
071F: set_object 4@ health_to 100  
0001: wait 1000 ms  
01BB: store_object 4@ position_to 10@ 11@ 12@  
0108: destroy_object 4@  
020C: create_explosion_with_radius 1 at 10@ 11@ 12@  
0948: create_explosion_at 10@ 11@ 12@ type 4 camera_shake 1  
0002: jump @NONAME_2  


Почему ракета летит нормально только когда машина направлена в сторону координаты Y
а если направлена в координату X не летит а стоит на одном месте?

Добавлено (09.06.2012, 23:01)
---------------------------------------------

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  

:NONAME_2
0001: wait 0 ms  
0247: load_model #MISSILE  
038B: load_requested_models  

:NONAME_13
0001: wait 0 ms  
00D6: if  
00DF:   actor $PLAYER_ACTOR driving  
004D: jump_if_false @NONAME_13  
03C0: 0@ = actor $PLAYER_ACTOR car  
00D6: if  
056E:   car 0@ defined  
004D: jump_if_false @NONAME_13  
0407: store_coords_to 5@ 6@ 7@ from_car 0@ with_offset 0.0 1.0 0.5  
0407: store_coords_to 15@ 17@ 18@ from_car 0@ with_offset 0.0 20.0 0.5  
00D6: if  
0AB0:   key_pressed 1  
004D: jump_if_false @NONAME_13  
0107: 4@ = create_object #MISSILE at 5@ 6@ 7@  
066D: 14@ = attach_particle "TANK_FIRE" to_object 4@ with_offset 0.0 -0.1 0.0 flag 1  
064C: make_particle 14@ visible  
0001: wait 100 ms  
0650: destroy_particle 14@  
0007: 13@ = 14.0  
0007: 16@ = 14.0  
0007: 19@ = 0.3  
034E: move_object 4@ to 15@ 17@ 18@ speed 13@ 16@ 19@ flag 1  
0392: make_object 4@ moveable 1  
071F: set_object 4@ health_to 100  
0001: wait 1000 ms  
01BB: store_object 4@ position_to 10@ 11@ 12@  
0108: destroy_object 4@  
020C: create_explosion_with_radius 1 at 10@ 11@ 12@  
0948: create_explosion_at 10@ 11@ 12@ type 4 camera_shake 1  
0002: jump @NONAME_2  


Немного изменил код и получилось исправить, но почему иногда ракета не летит?
 
 
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Поиск:

Copyright dim1988 aka d88 © 2024
Сайт управляется системой uCoz