Среда, 24.04.2024, 09:53
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
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 ?
Прикрепления: 1579354.jpg (41.1 Kb)


Сообщение отредактировал 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
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: