You are not logged in.
Ну пожалуйста,помогите мне с этим прицелом)
Offline
Спасибо большое, но как мне, в добавок ко всему этому, изменять машинам ведущие колеса?
Offline
Всем привет,можно ли засторить координаты куда направлен прицел?Если да то подскажите как это сделать?:crazy:
Заранее спасибо
Есть код 068E: get_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 -
заносит в переменные точку обзора камеры
Offline
Жаль что нету "set_camera_target_point"
Offline
Жаль что нету "set_camera_target_point"
Ну мне казалось что код который я написал выше примерно это и есть.
И ещё я вот нашёл код, возможно то, но не уверен.
0463: useless_store_debug_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
Offline
Lost_forever wrote:Всем привет,можно ли засторить координаты куда направлен прицел?Если да то подскажите как это сделать?:crazy:
Заранее спасибо
Есть код 068E: get_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 -
заносит в переменные точку обзора камеры
я знаю,но он заносит положение камеры,а не прицела,я уже пробовал,это не то.
Offline
Здравствуйте! Может кто-нибудь знает как можно прочитать то что вводит игрок с клавиатуры и вывести в виде текста в игре.
И еще столкнулся с проблемой - в скрипте вот это
03F0: enable_text_draw 1 033F: set_text_draw_letter_size 1.0 3.8 033E: set_draw_text_position 320.0 180.333 GXT 'BJ_PUSH' // Push 0001: wait 10000 ms 03F0: enable_text_draw 0
а на деле не задерживается 10 секунд. Объясните в чем проблема.
Last edited by Vova_Van89 (15-01-2010 06:11)
Offline
Где-то было сказано, что для хранения большого количества данных (например, координат) в скрипте можно использовать hex..end. Как пользоваться этим способом (записать данные и читать их)?
Last edited by Den_spb (16-01-2010 11:51)
Offline
@Vova_Van89 - Для перманентной отрисовки надо 03F0: enable_text_draw 1 в цикл с нулевым ожиданием класть.
03F0: enable_text_draw 1 033F: set_text_draw_letter_size 1.0 3.8 033E: set_draw_text_position 320.0 180.333 GXT 'BJ_PUSH' // Push 32@ = 0 while 32@ <= 10000 wait 0 03F0: enable_text_draw 1 end 03F0: enable_text_draw 0
Где-то было сказано, что для хранения большого количества данных (например, координат) в скрипте можно использовать hex..end. Как пользоваться этим способом (записать данные и читать их)?
в hex...end организуешь буфер, получаешь указатель на него, а потом просто пишешь читаешь с опкодами 0a8c, 0a8d.
Offline
скм-функция __LabelToOffset получает указатель на метку
0AB1: call_scm_func @ReadFromBuffer label @buffer index 1 store_to 0@ if 0@ == 1.0//то же, что и 1@ == 0x3F800000 then 03E5: show_text_box 'HELP101' // Respect can be earned be passing certain missions, killing rival gangs members, gaining territory and tagging. end :buffer hex 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 end //0AB1: call_scm_func @WriteInBuffer 3 label @buffer index 1 value 0@ :WriteInBuffer 0AB1: call_scm_func @__LabelToOffset 1 0@ 0@ 1@ *= 4 1@ += 0@ 0A8C: write_memory 1@ size 4 value 2@ virtual_protect 0 0A8D: 0@ = read_memory 1@ size 4 virtual_protect 0 0AB2: ret 0 //0AB1: call_scm_func @ReadFromBuffer 2 label @buffer index 1 store_to 0@ :ReadFromBuffer 0AB1: call_scm_func @__LabelToOffset 1 0@ 0@ 1@ *= 4 1@ += 0@ 0A8D: 0@ = read_memory 1@ size 4 virtual_protect 0 0AB2: ret 1 0@ :__LabelToOffset if 0@ == 0 then 0AB2: ret 1 0 end 0A9F: 1@ = current_thread_pointer 1@ += 0x10 0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 // baseIP 0062: 1@ -= 0@ // label address 0AB2: ret 1 1@
Offline
Alien , ты можешь помочь с координатами прицела?=(
Offline
Ребята! Как проверять, что в актера выстрелили? При этом не обязательно, ранили его или нет, отнялось хп, или нет. Просто выстрелили и попали (раздался звук и партикл крови).
Как проверить статистику игрока (STD - 0, POOR - 25, PRO - 36)?
Offline
Кто нибудь знает точное смещение между центром камеры и прицелом? Пробовал подбирать, но не получается..все равно возникает небольшая разница...
Offline
Ребята! Как проверять, что в актера выстрелили? При этом не обязательно, ранили его или нет, отнялось хп, или нет. Просто выстрелили и попали (раздался звук и партикл крови).
Можно сделать проверки на анимации ранений, но честно говоря когда я сам это пробовал, почему-то проверки не работали. Впрочем я особо не заморачивался, может что-то сделал не так.
Offline
Кто нибудь знает точное смещение между центром камеры и прицелом? Пробовал подбирать, но не получается..все равно возникает небольшая разница...
0xC8A8A8 - сюда считывается информация о смещениях прицела для анимационных групп (метка %). Состоит из 20 элементов по 0x18 байт в каждом. Индекс элемента - AlignedAnimGroupID из структуры выше.
* +0x0 = [dword] AimX
* +0x4 = [dword] AimZ
* +0x8 = [dword] DuckX
* +0xC = [dword] DuckZ
* +0x10 = [word] RLoadA
* +0x12 = [word] RLoadB
* +0x14 = [word] CrouchRLoadA
* +0x16 = [word] CrouchRLoadB
Попробуй с этим поработать. Имеет смысл не сразу делать все через память, а сначала через файл weapon.dat.
Offline
Спасибо Алиен.
Адреса разные для каждой анимационной группы или для всех можно использовать 0xC8A8A8+0xN ?
Offline
У меня вопрос: можно ли и если да, то как, проверить, имеется ли машина с определенной моделью в определенном радиусе от игрока? И если имеется, то получить ее хендл (Например есть ли в радиусе 50.0 от игрока #RHINO)
Offline
Поочерёдно (циклом) получаешь хэндлы машин из определённой зоны (в данном случае зоны вокруг игрока). Для этой цели можно воспользоваться стандартными опкодами (найдешь в поиске опкодов по словам get random car), но лучше применить новый опкод 0B12 от Alien (см. тему http://sannybuilder.com/forums/viewtopi … d=679&p=1) Хэндл получается не сразу, так что команду получения машины необходимо применять до тех пор, пока проверка на существование машины с данным хэндлом не даст положительный результат. После этого можно записать в переменную ИД номер модели машины (поиск опкодов: = car model), если модель не соответствует нужной, то "ловим" в зоне следующую машину и т.д.
Offline
Скажите, пожалуйста, как можно заморозить $Player_actor? Но заморозка не простая. Надо, чтобы скин не реагировал на кнопки управления, при этом чтобы он не был зафризин в позиции (его можно убить, задавить).
Ни один опкод не соответствует моим условиям.
01B4: set_player $PLAYER_CHAR can_move 1
04D7: set_actor $PLAYER_ACTOR locked 1
Offline
Скажите, плиз, как через память дать команду актёру (или игроку) перезарядить оружие, то есть выполнить анимацию перезарядки? Где-то это было в редакторе памяти Rysok'а, но там все комменты на японском, а мне как-то лень язык Страны восходящего солнца учить, чтоб этот адрес выковернуть.
Offline
@Den_spb, что-то ты намудрил с вычислением машины в радиусе...
Всё гораздо проще. Специально для таких целей Рокстаровцы любезно создали опкод 073E.
Там надо прописать нужную модель и желаемый радиус. А если в переменной так и останется -1 после выполнения опкода, следовательно, в указанном радиусе машины с такой моделью нет.
@Wire, для достижения своей цели используй:
073E: get_car_in_sphere 1@ 2@ 3@ radius 50.0 model #RHINO handle_as 0@
Offline