Вопросы по созданию КЛЕО-скриптов 2
|
|
BoPoH | Дата: Вторник, 04.09.2012, 16:19 | Сообщение # 241 |
Группа: Проверенные
Сообщений: 53
Статус: Offline
| Quote (EmilioDurhamCop) Не, а как взломать любую машину? Вот что мне надо. Что ты подразумеваешь под словом "взломать"? Сделать доступными двери авто для открытия?
First-Person mode 85% done Добро всегда побеждает зло. Кто победил, тот и добрый!
|
|
| |
EmilioDurhamCop | Дата: Вторник, 04.09.2012, 17:03 | Сообщение # 242 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Даже для полицейских авто сделать надо.
|
|
| |
Den_spb | Дата: Вторник, 04.09.2012, 20:07 | Сообщение # 243 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Разблокировать двери любого транспортного средства можно командой: car.DoorStatus(0@ 0) 0@ - хэндл транспортного средства.
|
|
| |
EmilioDurhamCop | Дата: Вторник, 04.09.2012, 20:22 | Сообщение # 244 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| А пример кода можно привести? А не то мне не понять...
|
|
| |
Den_spb | Дата: Вторник, 04.09.2012, 21:47 | Сообщение # 245 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Можно. Вот код, снимающий блокировку дверей у ближайшего к игроку транспортного средства:Code {$CLEO} 0000: while true wait 0 if player.Defined($player_char) then 0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@ if 056E: 0@ then car.DoorStatus(0@ 0) end end end Код работает в течение всей игры.
|
|
| |
ILYALION | Дата: Понедельник, 10.09.2012, 12:58 | Сообщение # 246 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Есть опкод 0453: set_object 3@ XY_rotation 60.0 0.0 angle 0.0, который позволяет установить вращение объекта по всем трём углам. А обратного нету (есть только 0176: 13@ = object 0@ Z_angle), а мне надо узнать x угол у объекта. Прошу подсказать, как это сделать (думаю, что можно посмотреть опкод 0453: в IDA и посмотреть соответствующий адрес памяти, но не умею ей пользоваться).
|
|
| |
DK22Pac | Дата: Понедельник, 10.09.2012, 13:12 | Сообщение # 247 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Уже обсуждалось на этом форуме, и не раз. Находи углы матрицы поворота.
|
|
| |
Den_spb | Дата: Вторник, 11.09.2012, 02:54 | Сообщение # 248 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Формулы вычисления углов я приводил здесь: http://modsforgta.ucoz.ru/forum/12-62-2786-16-1324804448
|
|
| |
laggth | Дата: Воскресенье, 23.09.2012, 06:45 | Сообщение # 249 |
Группа: Пользователи
Сообщений: 77
Статус: Offline
| А какие номера цветов бывают у entrance маркеров?Они отличаются от тачковых.У них на номере 5 - чёрный.
|
|
| |
Den_spb | Дата: Воскресенье, 23.09.2012, 13:03 | Сообщение # 250 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Можно установить любой цвет маркера следующим образом: Marker.SetColor(10@, 0x008080FF) Здесь 008080FF - цвет в формате RGBA.
|
|
| |
яЯЯЯЯЯЯЯЯ | Дата: Понедельник, 01.10.2012, 17:34 | Сообщение # 251 |
Группа: Пользователи
Сообщений: 1
Статус: Offline
| Помогите, нужно чтоб посте нажатия ПКМ автоматом нажималась клавиша С
дапустим стрельнул и за 0.5сек. нажималось С
это можно сделать через клео?
|
|
| |
Vital | Дата: Среда, 17.10.2012, 19:16 | Сообщение # 252 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| яЯЯЯЯЯЯЯЯ, ты имеешь в виду приседание игрока? Используй тогда опкод 04EB: AS_actor 65@ crouch 1 --- У меня вопрос. Я сделал скрипт, который показывает нажатую в данный момент клавишу (её номер). Хотел бы спросить, не вызовет ли такой код нагрузки на игру (из-за постоянного отображения текста)? Code {$CLEO} 0000: while true //1 wait 0 if //2 player.Defined(0) then if and //3 not actor.Dead($PLAYER_ACTOR) not actor.Driving($PLAYER_ACTOR) 0ADC: test_cheat "BUTSH" then 018C: play_sound 1052 at 0.0 0.0 0.0 wait 750 repeat //4 wait 0 for 1@ = 0 to 19 //5 if //6 00E1: player 0 pressed_key 1@ then 01E5: show_text_1number_highpriority GXT 'BUTN' number 1@ time 1250 flag 1 end //6 end //5 until 0ADC: test_cheat "TEST" //4 018C: play_sound 1052 at 0.0 0.0 0.0 end //3 end //2 wait 750 end //1
SCRIPTER
Сообщение отредактировал Vital - Среда, 17.10.2012, 19:17 |
|
| |
Den_spb | Дата: Среда, 17.10.2012, 20:39 | Сообщение # 253 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (Vital) У меня вопрос. Я сделал скрипт, который показывает нажатую в данный момент клавишу (её номер). Хотел бы спросить, не вызовет ли такой код нагрузки на игру (из-за постоянного отображения текста)? Предполагаю, что в данном случае новая надпись стирает предыдущую, поэтому излишней нагрузки не будет. Проверить это можно с помощью последовательного вывода нескольких разных надписей.
|
|
| |
Vital | Дата: Вторник, 30.10.2012, 20:33 | Сообщение # 254 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| Вопрос по Vice City. Сделал скрипт, но отдельный участок (я уже проверил, что именно он) вызывает вылет. Никак не пойму причину, уже пробовал закомментировать некоторые участки (создание актёра и маркера вместе не дают вылета), но безуспешно. Вот часть кода: Code var $ACT : Array 5 of Integer $MARK : Array 5 of Integer end for 1@ = 0 to 4 wait 0 0208: $XE = random_float -1500.0 1500.0 0208: $YE = random_float -1500.0 1500.0 02C0: set $XE $YE $ZE to_ped_path_coords_closest_to $XE $YE 0.0 actor.Create($ACT[1@],Special,#MALE01,$XE,$YE,$ZE) marker.CreateAboveActor($MARK[1@],$ACT[1@]) end
Буду благодарен за помощь!
SCRIPTER
|
|
| |
Den_spb | Дата: Вторник, 30.10.2012, 21:54 | Сообщение # 255 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Я ничего подозрительного не заметил. Попробуй точно определить, после какой команды происходит вылет. Сделать это можно, например, поставив после каждого опкода команду добавления денег на счёт игрока и ожидание в пару секунд.
|
|
| |