Вопросы по созданию КЛЕО-скриптов
|
|
d88 | Дата: Четверг, 09.12.2010, 13:45 | Сообщение # 376 |
Группа: Проверенные
Сообщений: 113
Статус: Offline
| Den_spb, можешь объяснить как сделать чит-код?
|
|
| |
Den_spb | Дата: Пятница, 10.12.2010, 05:00 | Сообщение # 377 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Проверять, введено ли какое-то слово с клавиатуры, удобнее всего условным опкодом КЛЕО4: Code 0ADC: test_cheat "BLOWUP" В КЛЕО3 или мэйне проверка будет сложнее:Code 21@ = -229908 // адрес, где хранятся номера последних введённых четырёх букв if &0(21@,1i) == 0x45584954 // здесь проверяется, введено ли слово EXIT (шестнадцатиричные номера кнопок последовательно переписываем из справки СБ: E 0x45, X 0x58, I 0x49, T 0x54) Чтобы включить чит-статус (при сохранении игры появится предупреждение, что был использован чит), можно записать значение в соответствующий адрес:Code 0A8C: write_memory 0x96918C size 1 value 1 virtual_protect 0 Или нужно что-то другое?
|
|
| |
d88 | Дата: Пятница, 10.12.2010, 12:58 | Сообщение # 378 |
Группа: Проверенные
Сообщений: 113
Статус: Offline
| Спасибо, код из клео4 подойдёт
|
|
| |
DK22Pac | Дата: Суббота, 11.12.2010, 14:18 | Сообщение # 379 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Den_spb, а можно так? Code while true for 0@ = 0x8 to 0xDE if 0AB0: 0@ then if 0@ == 0x48 // клавиша в очереди на нажатие then goto @next_character else goto @break_and_start_with_1st_character end end end wait 0 end
|
|
| |
Den_spb | Дата: Суббота, 11.12.2010, 19:52 | Сообщение # 380 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| А что требуется сделать?
|
|
| |
DK22Pac | Дата: Суббота, 11.12.2010, 20:26 | Сообщение # 381 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Проверить ввод чит-кода, когда нету опкода 0ADC и неизвестен Quote (Den_spb) адрес, где хранятся номера последних введённых четырёх букв
|
|
| |
Den_spb | Дата: Суббота, 11.12.2010, 20:34 | Сообщение # 382 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Если бы не было соответствующих опкодов и адресов, то пришлось бы использовать твой вариант, конечно.
|
|
| |
CripZ | Дата: Воскресенье, 12.12.2010, 14:56 | Сообщение # 383 |
Группа: Проверенные
Сообщений: 23
Статус: Offline
| Здравствуйте!можете подсказать пожалуйста, можно ли объединить два скрипта?или как нибудь установить между ними связь, есть две миссии в разных скриптах и нужно установить последовательность т.е если миссия первая выполнится,То запускается второй скрипт,можно как нибудь сделать?
|
|
| |
Den_spb | Дата: Воскресенье, 12.12.2010, 18:18 | Сообщение # 384 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Добрый день. Запустить скрипт из другого скрипта можно с помощью КЛЕО-опкодаCode 0A92: create_custom_thread "ShowTextBox.s" В данном случае ShowTextBox.s - название запускаемого скрипта. Запускаемый скрипт не должен иметь расширение "cs", иначе он автоматически включится в работу при старте игры. Надо использовать другое расширение, например, "s" - для этого код запускаемого скрипта должен начинаться с {$CLEO .s} (см. справку СБ, КЛЕО 3 - Опкоды КЛЕО 3 - 0A92) Что касается миссий, то для их запуска существует специальный опкод 0A94Code 0A94: start_custom_mission "missions\CustomMission1"
|
|
| |
CripZ | Дата: Понедельник, 13.12.2010, 20:55 | Сообщение # 385 |
Группа: Проверенные
Сообщений: 23
Статус: Offline
| Den_spb, спасибо,а можно ещё один вопрос, можно ли сделать такое условие что бы Игрок в самолёте держался на определённой высоте,а если ниже или выше то его произойдут другие действия(уничтожение) Как в миссии N.O.E. когда нужно было держаться ниже радаров на низкой высоте
|
|
| |
Den_spb | Дата: Вторник, 14.12.2010, 02:21 | Сообщение # 386 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Если имеется ввиду высота от уровня моря, то делается просто:Code car.StorePos(0@ 1@ 2@ 3@) // 0@ - самолёт игрока if or 3@ > 200.0 // максимальная высота 3@ < 100.0 // минимальная высота then // действия end Если имеется ввиду высота от уровня земли, то код выглядит так:Code car.StorePos(0@ 1@ 2@ 3@) 02CE: 4@ = ground_z_at 1@ 2@ 3@ 0063: 3@ -= 4@ // (float) if or 3@ > 200.0 3@ < 100.0 then
end
|
|
| |
klm88 | Дата: Пятница, 17.12.2010, 12:22 | Сообщение # 387 |
Группа: Пользователи
Сообщений: 21
Статус: Offline
| Какие опкоды можно подобрать в cleo3 чтоб принажатии сочетания кнопок t+1 ,t+2 ,t+3 к таймеру миссии(дальнобойщика)добавлялись 1 2 3 часов соответственно ?. .Это для того что на новых trucking мисииях нехватает времени.Лучше было бы чтоб актёр брал телефон и звонил бы при этом и говорил что опаздывает на 1 2 3 часов. Остановка таймера трейнером в truck миссиях на количество выделенного времени не влияет - время всёравно считается и уменьшается независимо от таймера .
Сообщение отредактировал klm88 - Пятница, 17.12.2010, 18:46 |
|
| |
Den_spb | Дата: Пятница, 17.12.2010, 20:58 | Сообщение # 388 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Таймером в миссии дальнобойщика является глобальная переменная $8162. Нажатие кнопок проверяется с помощью 0AB0. Пример: при нажатии t+1 время увеличивается на 1 минуту реального времениCode {$CLEO} wait 0 while true wait 10000 if and 0AB0: key_pressed 49 // 1 0AB0: key_pressed 84 // T then $8162 += 60000 end end
|
|
| |
klm88 | Дата: Пятница, 17.12.2010, 21:44 | Сообщение # 389 |
Группа: Пользователи
Сообщений: 21
Статус: Offline
| К таймеру прибавилось один раз,но выручку всёравно 3 раза уполовинилась,потому что никуда не поехал. Где то ещё время отсчитывается.cпасиб.
|
|
| |
DK22Pac | Дата: Суббота, 18.12.2010, 12:59 | Сообщение # 390 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Негативно ли это повлияет на производительность игры? Code while true 0390: load_txd_dictionary 'LD_BEAT' ... wait 0 end И это Code while true 0391: release_txd_dictionary 0390: load_txd_dictionary 'LD_BEAT' ... wait 0 end
|
|
| |