Вопросы по созданию КЛЕО-скриптов
|
|
Den_spb | Дата: Четверг, 01.12.2011, 20:03 | Сообщение # 916 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (vip_kz) Всем привет, меня интересует скрипт по экстрам на автомобиле. 6 экстр мало, хотелось бы конечно больше, и как в GTA IV, можно использовать несколько экстр одновременно. Реально ли реализовать такое в GTA SA ? Увеличить количество экстр думаю будет не просто. Как вариант, можно добавить экстры как дополнительные компоненты и делать их видимыми/невидимыми с помощью скрипта.
Quote (Fimka_alex) Добрый вечер, мне нужна помощь. Мне нужно клео бота типо АвтоПилот, смысл такой что-бы он ездил по заданых коордионатах, и активиации на клавише. Зарание спасибо! Добрый вечер. Здесь не стол заказов.
Quote (ILYALION) Как можно заставить машину не ехать никуда? Я думаю, что через макс. скорость, но как считать максимальную скорость машины, чтобы можно было вернуть всё обратно. Хотя нет, поставил максимальную скорость машины 0.0, и ничего не произошло Судя потому, что ограничение макс. скорости не подействовало, речь идёт о машине игрока. В таком случае надо просто выключить двигатель машины (см. поиск опкодов).
Quote (ILYALION) 07CC: set_player $PLAYER_CHAR button_15 1 Видимо включает/отключает возможность использования игровой кнопки 15 (вход/выход из машины).
Quote (ILYALION) 03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 Включает/отключает игнорирование игрока всеми (копами и др. актёрами).
Сообщение отредактировал Den_spb - Четверг, 01.12.2011, 20:07 |
|
| |
ILYALION | Дата: Четверг, 01.12.2011, 20:12 | Сообщение # 917 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Den_spb, сможете посмотреть, с помощью чего останавливаетсяч авто игрока в этом скрипте? http://pastebin.com/JNaTKNVn По-моему, через память, но как это реализовать мне?
|
|
| |
lbgh8846 | Дата: Четверг, 01.12.2011, 20:18 | Сообщение # 918 |
Группа: Пользователи
Сообщений: 77
Статус: Offline
| Подскажите пожалуйста почему этот скрипт вызывает вылетание на стандартной игре,но нормально работает на очищенном мэйне? Code
{$VERSION 3.1.0027} {$CLEO .CS}
//-------------MAIN--------------- 0000: NOP
:START wait 0 if and Player.Defined($PLAYER_CHAR) $ONMISSION == 0 jf @START Model.Load(#STREAK) Model.Load(#STREAKC) //Model.Load(#BAGBOXA) //Model.Load(#BAGBOXB) 038B: load_requested_models Model.Destroy(#STREAK) Model.Destroy(#STREAKC) jump @NONAME_15
:NONAME_15 wait 0 if and Model.Available(#STREAK) Model.Available(#STREAKC) //Model.Available(#BAGBOXA) //Model.Available(#BAGBOXB) jf @NONAME_15 06D8: 1@ = create_train_at 2868.903 1339.482 9.82031 type 1 direction 0 0186: 5@ = create_marker_above_car 1@ 0165: set_marker 5@ color_to 3 wait 6000 jump @NONAME_112
:NONAME_112 wait 3000 //06DC: set_train 1@ acc 4.0 //06DD: set_train 1@ speed 9.0 //wait 4000 06DC: set_train 1@ acc 4.0 06DD: set_train 1@ speed 30.0 wait 8000 06DC: set_train 1@ acc 23.0 06DD: set_train 1@ speed 40.0 wait 4000 06DC: set_train 1@ acc 36.0 06DD: set_train 1@ speed 90.0 jump @NONAME_212
:NONAME_212 wait 0 if $ONMISSION == 0 jf @DESTR if 01AF: car 1@ sphere 0 in_sphere 735.1723 2157.643 13.88891 radius 110.0 110.0 110.0 jf @NONAME_271 jump @NONAME_622
:NONAME_271 wait 0 if $ONMISSION == 0 jf @DESTR if 01AF: car 1@ sphere 0 in_sphere 166.7408 1263.741 21.84773 radius 160.0 160.0 160.0 jf @NONAME_330 jump @NONAME_622
:NONAME_330 wait 0 if $ONMISSION == 0 jf @DESTR if 01AF: car 1@ sphere 0 in_sphere -1948.513 123.3992 24.71862 radius 280.0 280.0 280.0 jf @NONAME_389 jump @NONAME_622
:NONAME_389 wait 0 if $ONMISSION == 0 jf @DESTR if 01AF: car 1@ sphere 0 in_sphere 1724.866 -1957.952 12.5391 radius 370.0 370.0 370.0 jf @NONAME_448 jump @NONAME_622
:NONAME_448 wait 0 if $ONMISSION == 0 jf @DESTR if 01AF: car 1@ sphere 0 in_sphere 2289.056 -1285.643 23 radius 280.0 280.0 280.0 jf @NONAME_504 jump @NONAME_622
:NONAME_504 wait 0 if $ONMISSION == 0 jf @DESTR if 01AF: car 1@ sphere 0 in_sphere 2868.903 1339.482 9.82031 radius 390.0 390.0 390.0 jf @NONAME_563 jump @NONAME_622
:NONAME_563 wait 0 if $ONMISSION == 0 jf @DESTR if 01AF: car 1@ sphere 0 in_sphere 1451.415 2636.311 9.82227 radius 336.0 336.0 336.0 jf @NONAME_212 jump @NONAME_622
:NONAME_622 wait 0 06DD: set_train 1@ speed 0.0 wait 40000 if //8117: not player $PLAYER_CHAR defined $ONMISSION == 1 jf @NONAME_112 0164: disable_marker 5@ 07BE: remove_references_to_train 1@ jump @START
:DESTR wait 0 0164: disable_marker 5@ 07BE: remove_references_to_train 1@ jump @START
|
|
| |
Den_spb | Дата: Четверг, 01.12.2011, 20:19 | Сообщение # 919 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (ILYALION) Den_spb, сможете посмотреть, с помощью чего останавливаетсяч авто игрока в этом скрипте? Code 02D4: car 8@ turn_off_engine Выключение двигателя, о чём я и говорю.
Quote (lbgh8846) Подскажите пожалуйста почему этот скрипт вызывает вылетание на стандартной игре,но нормально работает на очищенном мэйне? Хорошо бы заглянуть в SCM Log.
Сообщение отредактировал Den_spb - Четверг, 01.12.2011, 20:23 |
|
| |
ILYALION | Дата: Четверг, 01.12.2011, 20:24 | Сообщение # 920 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| А этот опкод тоже выключает двигатель? 081D: set_car $10934 engine_operation 1 Тогда параметры 1-вкл, а 0-выкл?
|
|
| |
Den_spb | Дата: Четверг, 01.12.2011, 20:26 | Сообщение # 921 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Наверное. Это можно выяснить экспериментальным путём.
|
|
| |
walk | Дата: Пятница, 02.12.2011, 06:45 | Сообщение # 922 |
Группа: Проверенные
Сообщений: 96
Статус: Offline
| Den_spb, ну без задержек - без wait я раньше проверял так. Т.е. здоровье игрока вайт здоровье игрока, а потом сравнивал результаты, а сейчас такое не пройдёт. Как сделать по другому?
|
|
| |
Den_spb | Дата: Пятница, 02.12.2011, 17:46 | Сообщение # 923 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Без wait у тебя здоровье и не изменится. Ведь именно во время wait отрабатывают остальные скрипты и нескриптовые процессы exe. Главное чтобы в скрипте был один wait.
|
|
| |
ILYALION | Дата: Пятница, 02.12.2011, 19:46 | Сообщение # 924 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Как можно проверить, есть ли у машины капот? (Т.е. оторван или нет).
|
|
| |
walk | Дата: Пятница, 02.12.2011, 20:02 | Сообщение # 925 |
Группа: Проверенные
Сообщений: 96
Статус: Offline
| Den_spb, ну тогда у меня текстуры будут моргать, а мне это ненужно.
|
|
| |
Den_spb | Дата: Пятница, 02.12.2011, 20:30 | Сообщение # 926 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (ILYALION) Как можно проверить, есть ли у машины капот? (Т.е. оторван или нет). Попробуй так:Code 08A7: car 34@ componentA 0 opened_or_not_present Капот - это компонент №0.
Quote (walk) Den_spb, ну тогда у меня текстуры будут моргать, а мне это ненужно. Не будет ничего моргать, если в скрипте будет выполняться один wait за цикл.
|
|
| |
ILYALION | Дата: Суббота, 03.12.2011, 09:16 | Сообщение # 927 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Я уже весь измучился с этим скриптом:Code {$CLEO .cs}
//-------------MAIN--------------- wait 0
:NONAME_4 wait 0 if not Player.Defined($PLAYER_CHAR) else_jump @NONAME_31 jump @NONAME_4
:NONAME_31 if and Actor.Driving($PLAYER_ACTOR) 0AB0: key_pressed 117 else_jump @NONAME_31 03C0: 0@ = actor $PLAYER_ACTOR car if 056E: car 0@ defined then Car.Health(0@) = 250 if and Actor.Driving($PLAYER_ACTOR) 0AB0: key_pressed 118 then 0227: 1@ = car 0@ health 000E: 1@ -= 1 Car.Health(0@) = 1@ 01E5: text_1number_highpriority 'NUMBER' 1@ 5000 ms 1 end end Но ошибка в одном и том же опкоде: 0045. Подскажите пожалуйста рабочий вариант
|
|
| |
DK22Pac | Дата: Суббота, 03.12.2011, 12:03 | Сообщение # 928 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Начнем с того, что ты забыл wait после NONAME_31.
|
|
| |
Den_spb | Дата: Суббота, 03.12.2011, 12:18 | Сообщение # 929 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (DK22Pac) Начнем с того, что ты забыл wait после NONAME_31. Лучше заменить второй else_jump @NONAME_31 на else_jump @NONAME_4. Проверка 056E и вторая проверка Actor.Driving($PLAYER_ACTOR) - лишние. 0227 всё время будет возвращать 250. В конце кода нужен jump @NONAME_4.
|
|
| |
walk | Дата: Суббота, 03.12.2011, 14:02 | Сообщение # 930 |
Группа: Проверенные
Сообщений: 96
Статус: Offline
| Den_spb, нет, ты не понимаешь, я делал так:
actor.health = 1@ wait 100 actor. health = 2@ 1@ <> 2@
И текстура моргает. Вот про это я и говорил
|
|
| |