Вопросы по созданию КЛЕО-скриптов
|
|
Den_spb | Дата: Воскресенье, 19.12.2010, 01:29 | Сообщение # 391 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Online
| На мой взгляд лучше загрузить архив один раз, если он будет использоваться в течение длительного времени.
|
|
| |
DK22Pac | Дата: Среда, 22.12.2010, 02:49 | Сообщение # 392 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Если бы в мейне или других скриптах отсутствовал опкод выгрузки текстур, я бы так и сделал. С другой стороны, лучших вариантов пока что нету...
|
|
| |
Den_spb | Дата: Среда, 22.12.2010, 04:22 | Сообщение # 393 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Online
| Текстуры обычно выгружаются тогда, когда больше не нужны (например, игрок покинул транспорт, если это текстуры спидометра).
|
|
| |
Unreal_Sergey | Дата: Понедельник, 27.12.2010, 10:20 | Сообщение # 394 |
Группа: Проверенные
Сообщений: 7
Статус: Offline
| Можно заставить поезд разгоняться или тормозить, не находясь при этом в локомотиве, по нажатию опр. кнопки? Например скриптовые поезда (грузовой и метро) в ОРМ. Зачем это нужно? Хочется поездить пассажиром в поезде метро или на крыше)))
Сообщение отредактировал Unreal_Sergey - Понедельник, 27.12.2010, 10:21 |
|
| |
Den_spb | Дата: Вторник, 28.12.2010, 01:52 | Сообщение # 395 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Online
| Можно, но кто это будет делать - не знаю.
|
|
| |
DK22Pac | Дата: Среда, 29.12.2010, 14:19 | Сообщение # 396 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Можно ли как-то проверить, что транспортное средство взрывается?
|
|
| |
Den_spb | Дата: Среда, 29.12.2010, 14:35 | Сообщение # 397 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Online
| В смысле взрывается в текущий момент времени?
|
|
| |
DK22Pac | Дата: Среда, 29.12.2010, 15:01 | Сообщение # 398 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Да. Может быть так? Code 0441: 1@ = car 0@ model 07E4: get_model 1@ dimensions_cornerA_to 2@ 3@ 4@ dimensions_cornerB_to 5@ 6@ 7@ if 0356: explosion_type -1 in_cube_cornerA 2@ 3@ 4@ cornerB 5@ 6@ 7@ then ...
|
|
| |
Den_spb | Дата: Четверг, 30.12.2010, 05:55 | Сообщение # 399 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Online
| Во-первых, 07E4 возвращает оффсеты габаритных размеров модели, т.е. чтобы получить координаты, нужно прибавить полученные значения к позиции опорной точки машины (car.storePos). Во-вторых, опкоды, проверяющие что-либо в кубе или прямоугольнике, строят куб или прямоугольник так, чтобы стороны или грани были параллельны глобальным осям координат (т.е. просто проверяется система неравенств X1<X<X2, Y1<Y<Y2, Z1<Z<Z2), поэтому в данном случае проверка взрыва внутри пространства, занимаемого машиной, будет производиться только при углах поворота машины вокруг вертикальной оси, близких к 0, 90, 180 или 270 град. Я бы предложил проверять наличие взрыва в маленьком кубе, который всегда гарантированно находится внутри машины (сторона куба будет равна модулю минимального габарита модели, делённого на cos(45град) )
|
|
| |
DK22Pac | Дата: Четверг, 30.12.2010, 13:12 | Сообщение # 400 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Quote 07E4 возвращает оффсеты габаритных размеров модели Спасибо, понял... Quote Я бы предложил проверять наличие взрыва в маленьком кубе Вот насчёт этого не уверен. Ведь сам взрыв происходит не внутри транспорта. Кстати, интеренсо, как именно действует проверка 0356. Скорей всего, она сверяет координаты взрыва (именно центровые координаты) с заданными как уголА и уголБ.
|
|
| |
Den_spb | Дата: Четверг, 30.12.2010, 20:46 | Сообщение # 401 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Online
| Quote (DK22Pac) Ведь сам взрыв происходит не внутри транспорта. Центр взрыва находится внутри транспорта.Quote Скорей всего, она сверяет координаты взрыва (именно центровые координаты) с заданными как уголА и уголБ. Так и есть.
|
|
| |
DK22Pac | Дата: Пятница, 31.12.2010, 15:57 | Сообщение # 402 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Quote (Den_spb) Центр взрыва находится внутри транспорта. Действительно. Теперь всё работает.
|
|
| |
Rance | Дата: Суббота, 01.01.2011, 17:40 | Сообщение # 403 |
Группа: Проверенные
Сообщений: 7
Статус: Offline
| Как сделать так, чтобы поезд с рельсов не сходил?
|
|
| |
DK22Pac | Дата: Суббота, 01.01.2011, 17:58 | Сообщение # 404 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Den_spb, хочу у тебя спросить совет как у опытного скриптера. Я собрался делать мод, чтобы можно было спрятаться за машину и бросить из этого укрытия гранату. Пока что сделал, чтобы можно было бросать одну гранату... (Пока не уничтожена предыдущая, новую кинуть нельзя) Как думаешь, стоит ли убрать это ограничение? Я просто боюсь запутаться потом... Ведь для каждой из гранат надо будет делать проверки на наличие/столкновение, тем более, для каждой надо будет проверять время до взрыва... PS Если ты уже работал со скриптами на "метательную тематику", подскажи, пожалуйста, как правильно это всё оформлять... Я пока что ориентировался на эту статью http://varistor.dyndns.org/wiki....0%BA%EE
|
|
| |
Den_spb | Дата: Суббота, 01.01.2011, 18:19 | Сообщение # 405 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Online
| Quote (Rance) Как сделать так, чтобы поезд с рельсов не сходил? Попробуй это:Code {$CLEO} 0A8C: write_memory 0x6F8DC7 size 1 value 0x84 virtual_protect 1 0A93: Quote (DK22Pac) Как думаешь, стоит ли убрать это ограничение? Я просто боюсь запутаться потом... Можно использовать массив, например на 10 объектов (гранат). Тогда нельзя будет создать новый объект, если существуют все объекты, находящиеся в массиве. Работа с объектами, хэндлы которых находятся в массиве, существенно упрощается:Code for i = 0 to 9 if 03CA: object ARRAY[i] exists then ... end end
|
|
| |