Пятница, 26.04.2024, 20:08
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
Den_spbДата: Понедельник, 03.01.2011, 18:15 | Сообщение # 421
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (walk)
А как именно это сделать?
Уже обсуждалось:
http://modsforgta.ucoz.ru/forum/5-5-311-16-1267817741
http://modsforgta.ucoz.ru/forum/5-5-497-16-1274688003
 
SnikamuraДата: Понедельник, 03.01.2011, 20:31 | Сообщение # 422
Группа: Пользователи
Сообщений: 11
Статус: Offline
можно задать вопрос здесь cool
я когда играл в игру, стал плавать на пляже Санта-Мария и заметил под мостом что там человек плавал, это было один раз biggrin
у кого такое было?
 
Den_spbДата: Понедельник, 03.01.2011, 20:42 | Сообщение # 423
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Для подобных вопросов больше подходит тема Различные вопросы по игре. Что касается плавания - такое может быть, хотя большинство педов в игре обычно не умеют плавать.
 
walkДата: Вторник, 04.01.2011, 02:38 | Сообщение # 424
Группа: Проверенные
Сообщений: 96
Статус: Offline
Вобщем сделал так:

Code
068D: get_camera_position_to 12@ 13@ 14@  
  068E: get_camera_target_point_to 0@ 1@ 2@
   0063: 2@ -= 14@  
    0509: 15@ = distance_between_XY 12@ 13@ and_XY 0@ 1@
     0604: get_Z_angle_for_point 2@ 15@ store_to 16@
      0@ += 100.0
       1@ += 100.0
        16@ += 100.0

Но объект всёравно летит куда попало


Сообщение отредактировал walk - Вторник, 04.01.2011, 02:43
 
Den_spbДата: Вторник, 04.01.2011, 02:49 | Сообщение # 425
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
А куда он должен лететь?
 
walkДата: Вторник, 04.01.2011, 02:50 | Сообщение # 426
Группа: Проверенные
Сообщений: 96
Статус: Offline
Code
0@ += 100.0
1@ += 100.0
16@ += 100.0
 
Den_spbДата: Вторник, 04.01.2011, 03:02 | Сообщение # 427
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
В 16@ у тебя записан угол, а нужно указать координату.
 
walkДата: Вторник, 04.01.2011, 03:14 | Сообщение # 428
Группа: Проверенные
Сообщений: 96
Статус: Offline
Quote (Den_spb)
В 16@ у тебя записан угол, а нужно указать координату.

Какую координату? И как это сделать?
 
Den_spbДата: Вторник, 04.01.2011, 03:15 | Сообщение # 429
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Скажи толком, что хочешь сделать.
 
walkДата: Вторник, 04.01.2011, 03:19 | Сообщение # 430
Группа: Проверенные
Сообщений: 96
Статус: Offline
Den_spb, вобщем хочу сделать некое подобие подствольного гранатомёта smile
 
Den_spbДата: Вторник, 04.01.2011, 03:20 | Сообщение # 431
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Ну а какие условия задачи?
 
walkДата: Вторник, 04.01.2011, 03:23 | Сообщение # 432
Группа: Проверенные
Сообщений: 96
Статус: Offline
Den_spb, при допустим целишься в какую-либо точку, жмёшь таб(эт пока) и ракета летит в ту точку

Code
:Noname_2
wait 0  
if  
    Player.Defined($PLAYER_CHAR)
else_jump @Noname_232  
if  
0AB0:   key_pressed 9  
else_jump @Noname_232  

:Noname_83
if  
    not Model.Available(#MISSILE)
else_jump @Noname_117  
Model.Load(#MISSILE)
038B: load_requested_models  
wait 0  
jump @Noname_83  

:Noname_117

068D: get_camera_position_to 12@ 13@ 14@  
  068E: get_camera_target_point_to 0@ 1@ 2@
   0063: 2@ -= 14@  
    0509: 15@ = distance_between_XY 12@ 13@ and_XY 0@ 1@
     0604: get_Z_angle_for_point 2@ 15@ store_to 16@
      0@ += 100.0
       1@ += 100.0
        16@ += 100.0

Actor.StorePos($PLAYER_ACTOR, 3@, 4@, 5@)
7@ = Object.Create(#MISSILE, 0.0, 0.0, 0.0)
6@ = Actor.Angle($PLAYER_ACTOR)
Object.Angle(7@) = 6@
Object.PutAt(7@, 3@, 4@, 5@)
8@ = Marker.CreateAboveObject(7@)
:Noname_383
wait 0  
034E: move_object 7@ to 0@ 1@ 16@ speed 0.1 0.0 0.0 flag 0  
jump @Noname_383  

:Noname_232
jump @Noname_2

Вот сам тестовый код(больше похоже на помойку biggrin )

 
Den_spbДата: Вторник, 04.01.2011, 03:36 | Сообщение # 433
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Вспоминаем геометрию 7-го класса. Вектор имеет 3 координаты {x; y; z}, которые вычисляются как разности координат точек конца и начала вектора x=x1-x0, y=y1-y0, z=z1-z0. В данном случае координаты единичного вектора направления прицеливания камеры определяются следующим образом:
Code
068D: get_camera_position_to 0@ 1@ 2@  
068E: get_camera_target_point_to 3@ 4@ 5@  
0063: 3@ -= 0@ // (float)  
0063: 4@ -= 1@ // (float)  
0063: 5@ -= 2@ // (float)
Можно продолжить вектор на большое расстояние, найти координаты конца вектора и послать объект в полученную точку. Чтобы умножить вектор, например на 1000, надо умножить на 1000 все 3 его координаты. Прибавив к координатам начала вектора полученные значения, найдём координаты точки, в которую надо послать объект:
Code
068D: get_camera_position_to 0@ 1@ 2@  
068E: get_camera_target_point_to 3@ 4@ 5@  
0063: 3@ -= 0@ // (float)  
0063: 4@ -= 1@ // (float)  
0063: 5@ -= 2@ // (float)  
3@ *= 1000.0
4@ *= 1000.0
5@ *= 1000.0
005B: 0@ += 3@ // (float)  
005B: 1@ += 4@ // (float)  
005B: 2@ += 5@ // (float)
// 0@, 1@, 2@ -  координаты точки, в которую надо послать объект
 
walkДата: Вторник, 04.01.2011, 04:01 | Сообщение # 434
Группа: Проверенные
Сообщений: 96
Статус: Offline
Вчера именно так и делал, координаты направления объекта забыл поменять, чёрт.

А как правильно давать ускорение, по каким осям, т.к. при полёте объект сильно откланяется в бока?

 
DK22PacДата: Вторник, 04.01.2011, 04:20 | Сообщение # 435
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
walk, изобретением велосипеда занимаемся? =)
www.gtaforums.com/index.php?showtopic=314373&st=20&#entry1057567672
Пост Mar 3 2008, 02:04
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: