Пятница, 19.04.2024, 22:57
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Вопросы по созданию КЛЕО-скриптов 2
BoPoHДата: Вторник, 04.09.2012, 16:19 | Сообщение # 241
Группа: Проверенные
Сообщений: 53
Статус: Offline
Quote (EmilioDurhamCop)
Не, а как взломать любую машину? Вот что мне надо.

Что ты подразумеваешь под словом "взломать"? Сделать доступными двери авто для открытия?


First-Person mode 85% done
Добро всегда побеждает зло. Кто победил, тот и добрый!

 
EmilioDurhamCopДата: Вторник, 04.09.2012, 17:03 | Сообщение # 242
Группа: Пользователи
Сообщений: 33
Статус: Offline
Даже для полицейских авто сделать надо.
 
Den_spbДата: Вторник, 04.09.2012, 20:07 | Сообщение # 243
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Разблокировать двери любого транспортного средства можно командой: car.DoorStatus(0@ 0)
0@ - хэндл транспортного средства.
 
EmilioDurhamCopДата: Вторник, 04.09.2012, 20:22 | Сообщение # 244
Группа: Пользователи
Сообщений: 33
Статус: Offline
А пример кода можно привести? А не то мне не понять...
 
Den_spbДата: Вторник, 04.09.2012, 21:47 | Сообщение # 245
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Можно. Вот код, снимающий блокировку дверей у ближайшего к игроку транспортного средства:
Code
{$CLEO}
0000:
while true
     wait 0
     if
         player.Defined($player_char)
     then
         0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
         if
             056E: 0@
         then
             car.DoorStatus(0@ 0)
         end
     end
end
Код работает в течение всей игры.
 
ILYALIONДата: Понедельник, 10.09.2012, 12:58 | Сообщение # 246
Группа: Проверенные
Сообщений: 325
Статус: Offline
Есть опкод 0453: set_object 3@ XY_rotation 60.0 0.0 angle 0.0, который позволяет установить вращение объекта по всем трём углам. А обратного нету (есть только 0176: 13@ = object 0@ Z_angle), а мне надо узнать x угол у объекта. Прошу подсказать, как это сделать (думаю, что можно посмотреть опкод 0453: в IDA и посмотреть соответствующий адрес памяти, но не умею ей пользоваться).
 
DK22PacДата: Понедельник, 10.09.2012, 13:12 | Сообщение # 247
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Уже обсуждалось на этом форуме, и не раз. Находи углы матрицы поворота.
 
Den_spbДата: Вторник, 11.09.2012, 02:54 | Сообщение # 248
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Формулы вычисления углов я приводил здесь: http://modsforgta.ucoz.ru/forum/12-62-2786-16-1324804448
 
laggthДата: Воскресенье, 23.09.2012, 06:45 | Сообщение # 249
Группа: Пользователи
Сообщений: 77
Статус: Offline
А какие номера цветов бывают у entrance маркеров?Они отличаются от тачковых.У них на номере 5 - чёрный.
 
Den_spbДата: Воскресенье, 23.09.2012, 13:03 | Сообщение # 250
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Можно установить любой цвет маркера следующим образом:
Marker.SetColor(10@, 0x008080FF)
Здесь 008080FF - цвет в формате RGBA.
 
яЯЯЯЯЯЯЯЯДата: Понедельник, 01.10.2012, 17:34 | Сообщение # 251
Группа: Пользователи
Сообщений: 1
Статус: Offline
Помогите, нужно чтоб посте нажатия ПКМ автоматом нажималась клавиша С

дапустим стрельнул и за 0.5сек. нажималось С

это можно сделать через клео?
 
VitalДата: Среда, 17.10.2012, 19:16 | Сообщение # 252
Группа: Проверенные
Сообщений: 206
Статус: Offline
яЯЯЯЯЯЯЯЯ, ты имеешь в виду приседание игрока? Используй тогда опкод 04EB: AS_actor 65@ crouch 1
---
У меня вопрос. Я сделал скрипт, который показывает нажатую в данный момент клавишу (её номер). Хотел бы спросить, не вызовет ли такой код нагрузки на игру (из-за постоянного отображения текста)?
Code
{$CLEO}
0000:
while true //1
wait 0
      if //2
      player.Defined(0)
      then
          if and //3
          not actor.Dead($PLAYER_ACTOR)
          not actor.Driving($PLAYER_ACTOR)
          0ADC: test_cheat "BUTSH"
          then
          018C: play_sound 1052 at 0.0 0.0 0.0   
              wait 750
              repeat //4
              wait 0
                  for 1@ = 0 to 19 //5
                      if //6
                      00E1:   player 0 pressed_key 1@
                      then
                      01E5: show_text_1number_highpriority GXT 'BUTN' number 1@ time 1250 flag 1
                      end //6
                  end //5
              until 0ADC: test_cheat "TEST" //4
          018C: play_sound 1052 at 0.0 0.0 0.0
          end //3
      end //2
wait 750
end //1


SCRIPTER

Сообщение отредактировал Vital - Среда, 17.10.2012, 19:17
 
Den_spbДата: Среда, 17.10.2012, 20:39 | Сообщение # 253
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (Vital)
У меня вопрос. Я сделал скрипт, который показывает нажатую в данный момент клавишу (её номер). Хотел бы спросить, не вызовет ли такой код нагрузки на игру (из-за постоянного отображения текста)?

Предполагаю, что в данном случае новая надпись стирает предыдущую, поэтому излишней нагрузки не будет. Проверить это можно с помощью последовательного вывода нескольких разных надписей.
 
VitalДата: Вторник, 30.10.2012, 20:33 | Сообщение # 254
Группа: Проверенные
Сообщений: 206
Статус: Offline
Вопрос по Vice City. Сделал скрипт, но отдельный участок (я уже проверил, что именно он) вызывает вылет. Никак не пойму причину, уже пробовал закомментировать некоторые участки (создание актёра и маркера вместе не дают вылета), но безуспешно. Вот часть кода:
Code
var
$ACT : Array 5 of Integer
$MARK : Array 5 of Integer
end
     for 1@ = 0 to 4
     wait 0
     0208: $XE = random_float -1500.0 1500.0  
     0208: $YE = random_float -1500.0 1500.0    
     02C0: set $XE $YE $ZE to_ped_path_coords_closest_to $XE $YE 0.0
     actor.Create($ACT[1@],Special,#MALE01,$XE,$YE,$ZE)
     marker.CreateAboveActor($MARK[1@],$ACT[1@])
     end


Буду благодарен за помощь!


SCRIPTER
 
Den_spbДата: Вторник, 30.10.2012, 21:54 | Сообщение # 255
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Я ничего подозрительного не заметил. Попробуй точно определить, после какой команды происходит вылет. Сделать это можно, например, поставив после каждого опкода команду добавления денег на счёт игрока и ожидание в пару секунд.
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Поиск: