Четверг, 18.04.2024, 12:00
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
DK22PacДата: Вторник, 20.12.2011, 22:56 | Сообщение # 1036
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Спасибо. Напишу на форум СБ. Хотя, ожидать, что Alien что-то сделает, думаю, не стоит...
 
ILYALIONДата: Суббота, 24.12.2011, 19:30 | Сообщение # 1037
Группа: Проверенные
Сообщений: 325
Статус: Offline
Как разбить фару автомобиля? Мне надо отдельно левую и отдельно правую.
 
Den_spbДата: Суббота, 24.12.2011, 20:01 | Сообщение # 1038
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
http://sannybuilder.com/forums/viewtopic.php?pid=3729#p3729
 
АксиомаДата: Воскресенье, 25.12.2011, 11:13 | Сообщение # 1039
Группа: Заблокированные
Сообщений: 81
Статус: Offline
Как узнать переменную актёра которого убил игрок в голову
 
Den_spbДата: Воскресенье, 25.12.2011, 12:16 | Сообщение # 1040
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Можно сделать перебор всех существующих в данный момент педов. В структуре каждого педа проверяем 2 смещения:
CPed +0x764 = [dword] Указатель на педа, который убил данного педа
CPed +0x754 = [byte] Наличие у педа головы
Если по первому смещению записан указатель на CPed игрока, а по второму - 2, то это и есть искомый пед.
 
АксиомаДата: Воскресенье, 25.12.2011, 13:13 | Сообщение # 1041
Группа: Заблокированные
Сообщений: 81
Статус: Offline
Den_spb, Знаешь я ещё в адресах памяти не сильно разбираюсь, а можно попробовать так
записать в переменную актёра в которого целился и игрок и сделать проверку был ли убит актёр в голову?
есть такой опкод который проверяет убит ли актёр в голову?
 
Den_spbДата: Воскресенье, 25.12.2011, 13:24 | Сообщение # 1042
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Попробуй. Опкод ищи в Поиске опкодов по слову headshot.
 
АксиомаДата: Воскресенье, 25.12.2011, 13:53 | Сообщение # 1043
Группа: Заблокированные
Сообщений: 81
Статус: Offline
Нашёл опкод 09A8: actor 35@ headshoted
но не действует
 
Den_spbДата: Воскресенье, 25.12.2011, 14:12 | Сообщение # 1044
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Покажи, как применяешь опкод.
 
АксиомаДата: Воскресенье, 25.12.2011, 16:19 | Сообщение # 1045
Группа: Заблокированные
Сообщений: 81
Статус: Offline
Code
{$CLEO .cs}

:kil
wait 0
0AD2: 0@ = player $PLAYER_CHAR targeted_actor
jump @kil_2

:kil_2
wait 0
if
09A8: actor 0@ headshoted  
jf @kil_2
  0AAC: 1@ = load_audiostream "CLEO\sound\headshot.mp3" //IF and SET
0AAD: set_audiostream 1@ perform_action 1
   jump @kil_2
 
Den_spbДата: Воскресенье, 25.12.2011, 16:44 | Сообщение # 1046
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Попробуй так:
Code
{$CLEO}
0AAC: 1@ = load_audiostream "CLEO\sound\headshot.mp3" //IF and SET
repeat
     wait 0
until 0AAC: 1@ = load_audiostream "CLEO\sound\headshot.mp3" //IF and SET
while true
     wait 0
     if
         not player.Defined($player_char)
     then
         continue
     end
     0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
     if
         0@ <> -1
     then
         if
             09A8: actor 0@ headshoted
         then
             0AAD: set_audiostream 1@ perform_action 1
         end
     end
end
Перед применением команд к актёрам, объектам или транспорту, необходимо делать проверку на существование (здесь это 0@ <> -1).
 
АксиомаДата: Понедельник, 26.12.2011, 16:22 | Сообщение # 1047
Группа: Заблокированные
Сообщений: 81
Статус: Offline
Den_spb, спс

Добавлено (26.12.2011, 15:30)
---------------------------------------------
Den_spb, А что означает опкод 01C2: remove_references_to_actor 0@
я так понял что если отойти от актёра который указан в опкоде то он исчезнет, правильно?

Добавлено (26.12.2011, 16:22)
---------------------------------------------
Да и ещё, как убрать цикл того что актёры то убегают от драк,поднимают руки, и когда взрывы то они приседают и держат руки за голову
как это убрать ?

 
Den_spbДата: Понедельник, 26.12.2011, 17:42 | Сообщение # 1048
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (Аксиома)
Den_spb, А что означает опкод 01C2: remove_references_to_actor 0@ я так понял что если отойти от актёра который указан в опкоде то он исчезнет, правильно?
У актёра, созданного скриптом включен флаг уникальности. Это значит, что игра сама его не удалит, даже если игрок отойдёт от актёра на большое расстояние. Команда remove_references выключает флаг уникальности, в результате чего игра сможет удалить данного актёра, как будто это обычный пед, созданный игрой. С транспортом ситуация аналогичная - разница лишь в том, что уникального актёра игра не удалит даже после его смерти, а уникальный транспорт игра может удалить, если он взорван.

Quote (Аксиома)
Да и ещё, как убрать цикл того что актёры то убегают от драк,поднимают руки, и когда взрывы то они приседают и держат руки за голову как это убрать ?
Возможно, тебе пригодится эта информация: http://sannybuilder.com/forums/viewtopic.php?id=44
 
АксиомаДата: Понедельник, 26.12.2011, 17:54 | Сообщение # 1049
Группа: Заблокированные
Сообщений: 81
Статус: Offline
а как тогда сделать что бы если игрок отошёл от актёра то он исчезнет

Добавлено (26.12.2011, 17:54)
---------------------------------------------
Den_spb, А всё равно не помогает, записываю в переменную Храброе поведение, но от этого ни чего не меняется

 
Den_spbДата: Понедельник, 26.12.2011, 18:09 | Сообщение # 1050
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (Аксиома)
а как тогда сделать что бы если игрок отошёл от актёра то он исчезнет
Проверяй расстояние между игроком и актёром - если оно больше нужной величины, то удаляй актёра.
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: