Вопросы по созданию КЛЕО-скриптов
|
|
Den_spb | Дата: Вторник, 25.05.2010, 21:33 | Сообщение # 196 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (d88) Den_spb, уточни, этот код 068E: get_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 определяет куда смотрит камера? От позиции камеры вдоль направления прицеливания отмеряется небольшое расстояние и получается эта точка. Quote (d88) И ещё такой вопрос. Нам надо сделать титры. Ты не знаешь, можно ли заставить текст двигаться снизу вверх? Или можно ли выводить на экран сразу 2 надписи (одна выше, другая под ней)? Не знаю.
|
|
| |
d88 | Дата: Среда, 26.05.2010, 09:16 | Сообщение # 197 |
Группа: Проверенные
Сообщений: 113
Статус: Offline
| Quote (Den_spb) Quote (d88) Den_spb, уточни, этот код 068E: get_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 определяет куда смотрит камера? От позиции камеры вдоль направления прицеливания отмеряется небольшое расстояние и получается эта точка. Т.е. этот код только записывает координаты расположения камеры?
|
|
| |
Den_spb | Дата: Среда, 26.05.2010, 19:29 | Сообщение # 198 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Я сказал уже, что координаты расположения камеры записывает 068D, а 068E определяет точку, в которую целится камера.
|
|
| |
DK22Pac | Дата: Суббота, 29.05.2010, 14:10 | Сообщение # 199 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Quote Или можно ли выводить на экран сразу 2 надписи (одна выше, другая под ней)? Можно. Для этого появление текстуры, которая будет заслонять нижнюю текстуру, надо писать перед второй. Quote можно ли заставить текст двигаться снизу вверх? Хм, можно сделать текстуру с текстом и перемещать её снизу вверх с помощью 32@ или 33@, а насчёт текста не знаю, ведь там немного не такой принцип как у текстур. Quote небольшое расстояние и получается эта точка Хм, а если например отмерит расстояние от центра тела игрока к point'у камеры, и потом добавить эти значения к поз. центра тела, то получим "реальный" 'target'?
|
|
| |
klm88 | Дата: Суббота, 29.05.2010, 16:51 | Сообщение # 200 |
Группа: Пользователи
Сообщений: 21
Статус: Offline
| Den_spb, что означает 13.88 в этом коде почему не 60 и не 90 тут как то поставил 3.88 ,саr1@ вместо ускорения стал проезжать 3.88м и останавливаться.
Сообщение отредактировал klm88 - Суббота, 29.05.2010, 16:51 |
|
| |
DK22Pac | Дата: Суббота, 29.05.2010, 21:29 | Сообщение # 201 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| klm88, зжесь происходит проверка, выше ли значение переменной 0@ за 13,88 (дробное число, по-моему, это процент из 100) То есть, проверяется, выше ли скорость у машины (поезда 1@) за это число.
|
|
| |
Den_spb | Дата: Воскресенье, 30.05.2010, 03:53 | Сообщение # 202 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (DK22Pac) Хм, а если например отмерит расстояние от центра тела игрока к point'у камеры, и потом добавить эти значения к поз. центра тела, то получим "реальный" 'target'? С позицией игрока тут связываться не стоит, да и не нужна она. Объясняю ещё раз: берём первую точку - это позиция камеры. Из этой точки чертим луч - направление прицеливания камеры. На этом луче отмеряем от позиции камеры расстояние в 1 метр и получаем вторую точку - точку прицеливания (опкод 068E). Quote (klm88) Den_spb, что означает 13.88 в этом коде 02E3 записывает в переменную скорость транспортного средства в м/с ( 13.88 м/с = 50 км/ч ). Можно поставить и другое значение, но: если значение будет слишком маленьким, то поезд успеет развить эту скорость и остановится ещё раз в той же сфере, не успев её покинуть. Если значение будет слишком большим, то поезд вообще никогда не остановится.
|
|
| |
klm88 | Дата: Воскресенье, 30.05.2010, 07:52 | Сообщение # 203 |
Группа: Пользователи
Сообщений: 21
Статус: Offline
| Ищу список номеров клавиш без включённого Num Lock ,тк список из справки сбилдера не работает на num клавиатуре. У меня нормально работала клавища num1-(19) ,а в справке она под №(97). т е Вместо нум клавиатуры "/"+"7" срабатвает на обычной,а "нум1"(19) там нормально. Den_spb, У меня что то по два-три раза стал ост-ся в некоторых сферах,но скорости там 40 где то - установлена кодом( ass 30, speed 40).
Сообщение отредактировал klm88 - Воскресенье, 30.05.2010, 10:58 |
|
| |
Den_spb | Дата: Воскресенье, 30.05.2010, 13:43 | Сообщение # 204 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (klm88) Есть ли какой порядок кодов чтобы поезда с разных линий не сталкивались бы между собой когда выезжают на одну,без отключения движения,просто чтоб задний ждал пока уедет передний.И все они из разных cs. файлов : 1трэйн=1 cs. файл Один из двух вариантов: 1.Объединить скрипты в один 2.Устроить передачу хэндлов поездов из всех скриптов в один скрипт (например с помощью глобальных клео-переменных - см. СБ справку - КЛЕО 3 - опкоды КЛЕО 3 0AB3 0AB4), который будет проверять положение этих поездов (либо относительно местности либо относительно друг друга) и регулировать их скорость. Quote (klm88) У меня что то по два-три раза стал ост-ся в некоторых сферах,но скорости там 40 где то - установлена кодом( ass 30, speed 40). 40 и 30 - это в командах так написано или ты уже перевёл в км/ч ?
|
|
| |
ole-docenko | Дата: Понедельник, 31.05.2010, 19:50 | Сообщение # 205 |
Группа: Проверенные
Сообщений: 11
Статус: Offline
| Ув. форумчане как вы считаете можно ли перенести вот такую особенность GTA IV (см. прикреп.) (прицеливание в РПГ с плеча , а не посреди экрана) по средствам скриптинга в GTA San Andreas ?
Сообщение отредактировал ole-docenko - Понедельник, 31.05.2010, 19:51 |
|
| |
DK22Pac | Дата: Вторник, 01.06.2010, 01:46 | Сообщение # 206 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| можно ли как-то заставить обьект двигаться по траектории дуги? И ещё-так моно перенести актора в другую пер.? :BEGIN wait0 05EF: 0@ = random_actor_near_point $x $y $z radius 5.0 find next 1 pass_deads 1 :CHECK wait 0 if not 0@ == -1 jf @BEGIN 05E9: 1@ = ped 0@ struct_handle Actor.RemoveReferences (0@) xxxx: actor 1@ go_to...
Сообщение отредактировал DK22Pac - Вторник, 01.06.2010, 17:09 |
|
| |
Den_spb | Дата: Вторник, 01.06.2010, 18:40 | Сообщение # 207 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (ole-docenko) Ув. форумчане как вы считаете можно ли перенести вот такую особенность GTA IV (см. прикреп.) (прицеливание в РПГ с плеча , а не посреди экрана) по средствам скриптинга в GTA San Andreas ? Я считаю, что средствами скриптинга это сделать нельзя. Quote (DK22Pac) можно ли как-то заставить обьект двигаться по траектории дуги? Можно разными способами. Например, в цикле телепортируешь объект на короткие расстояния (put object at). Координаты очередной точки вычисляются в том же цикле по заданному закону. Или, например, смотри как Alien стрелял снарядами из "Катюши" (в цикле объект одновременно немного поворачивается + получает скорость поступательного движения):Code :rocket_trajectory 0400: store_coords_to 6@ 7@ 8@ from_object 0@ with_offset 0.0 -100.0 0.0 //рассчитываем смещения для object.Throw() 0400: store_coords_to 9@ 10@ 11@ from_object 0@ with_offset 0.0 0.0 0.0 016F: create_particle 3 rotation_factor 0.0 size 12.5 intensity 100 flags 255 255 255 at 9@ 10@ 11@ 04D5: create_corona_at 9@ 10@ 11@ radius 5.0 type 1 flare 2 RGB 255 192 128 09E5: create_flash_light_at 9@ 10@ 11@ RGB_mask 4095 4095 4095 radius 20.0 0063: 6@ -= 9@ // (float) 0063: 7@ -= 10@ // (float) 0063: 8@ -= 11@ // (float) 05A1: set_object 0@ rotation_velocity_about_an_axis -0.05 0.0 0.0 through_center_of_body //поворачиваем объект, чтобы он описывал дугу Object.Throw(0@, 6@, 7@, 8@) Quote (DK22Pac) И ещё-так моно перенести актора в другую пер.? :BEGIN Code 0085: 13@ = 12@ // (int) Хэндл - это просто число. Оно записывается в указанную переменную при создании актера (actor create) только для того, чтобы к актеру в скрипте можно было как-то обращаться (производить над ним действия). Поэтому после записи в переменную, в которой был хэндл, другого числа, с актером ничего не произойдет (он не уничтожится и не потеряет references).
|
|
| |
klm88 | Дата: Вторник, 01.06.2010, 23:37 | Сообщение # 208 |
Группа: Пользователи
Сообщений: 21
Статус: Offline
| Каким кодом можно привязать часть маршрута автобуса к путям машин(где они есть).Пробовал делать координатами по правой полосе,так car1 всегда пытался выехать на левую крайнюю виляя налево между точками координат. Как правильно и куда нужно перепрыгнуть чтоб правильно задать условия if or если их больше 9. Code
while true wait 0 if 056E: car 1@ defined then if or 01AF: car 1@ sphere 0 in_sphere 428.4818 2494.7358 7.2678 radius 9.0 9.0 5.0 // 01AF: car 1@ sphere 0 in_sphere 1180.2522 1411.9915 9.4546 radius 9.0 9.0 5.0 // 01AF: car 1@ sphere 0 in_sphere 1742.0262 1474.2692 4.8554 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 2050.1597 1145.2552 4.6051 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 2294.4646 -36.885 11.2129 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 1378.3351 -1163.4884 10.3049 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 1518.4463 -1763.0665 10.3053 radius 9.0 9.0 4.0 // if or 01AF: car 1@ sphere 0 in_sphere 1623.2588 -2313.4868 20.4645 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 1606.4421 -2197.8411 20.4687 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 1416.5747 -1584.1147 20.3 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 1425.3748 -965.05310 20.3066 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 2298.6211 -35.79010 21.2052 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 2054.2539 1145.0016 4.605 radius 9.0 9.0 4.0 // 01AF: car 1@ sphere 0 in_sphere 1548.2319 1534.7853 4.7251 radius 9.0 9.0 5.0 // if or 01AF: car 1@ sphere 0 in_sphere 975.0696 1395.2806 9.4565 radius 9.0 9.0 5.0 // 01AF: car 1@ sphere 0 in_sphere 395.2643 2590.6714 7.3034 radius 9.0 9.0 5.0 // then
как правильно записать Code Car.SetImmunities(0@, 1, 1, 1, 1, 1) или Car.SetImmunities(0@,1,1,1,1,1) потому что кар всёравно взрывается в авариях по дороге к точкам. ------------------ а если у меня есть сферы с номерами от таймеров(тогда не знал что они таймеры) что,игра будет вылетать через какое то время?(это просто сферы чтоб вних встать для вызова тачки) 03BC: 32@ = create_sphere_at -111.0465 -1141.629 1.6802 radius 1.0 03BC: 33@ = create_sphere_at 339.6296 -1724.607 6.7412 radius 1.0 .... Как лучше добавить педов садится-выходить из автобуса на остановках,если всего можно 31@ назначить + 0@ - car.? ... Что нужнее проверять чтоб не было вылетаний: if not сar 1@wrecked ,или if car 1@ defined ? ...
Сообщение отредактировал klm88 - Среда, 02.06.2010, 22:31 |
|
| |
d88 | Дата: Среда, 02.06.2010, 08:50 | Сообщение # 209 |
Группа: Проверенные
Сообщений: 113
Статус: Offline
| Quote (klm88) как правильно записать Code Car.SetImmunities(0@, 1, 1, 1, 1, 1) или Car.SetImmunities(0@,1,1,1,1,1) Разницы нет. Не должен взрываться.
|
|
| |
klm88 | Дата: Среда, 02.06.2010, 20:29 | Сообщение # 210 |
Группа: Пользователи
Сообщений: 21
Статус: Offline
| как заставить тачку ехать строго между координатами по прямой не увиливая на левую полосу между точками. Code Car.SetMaxSpeed(0@, 20.0) Car.SetToNormalDriver(0@) Car.SetDriverBehaviour(0@, IgnoreRoadPaths) 02C2: car 0@ drive_to 1798.313 -1857.684 13.4141 если поставить ignore paths то будет ли пытаться выехать на левую полосу? Что значит 072B: put_actor $Player actor into_car 36@ passengerseat -1 ? a ecли сделать -8 или 6,9 - то вылетит ? Что означает create actor in car@ handle as @? Как дать в руки педу лопату?
Сообщение отредактировал klm88 - Среда, 02.06.2010, 22:28 |
|
| |