#1826 11-01-2010 15:17

Lost_forever
From: Saint-Petersburg
Registered: 12-08-2009
Posts: 28
Website

Re: Один вопрос

Ну пожалуйста,помогите мне с этим прицелом)

Offline

#1827 11-01-2010 21:32

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: Один вопрос

@Alien

СПАСИБО ЗА ИНФУ!
За неродивых! я скажу это.


I know everything and nothing...

Offline

#1828 12-01-2010 07:08

GTASA
Registered: 13-09-2008
Posts: 476

Re: Один вопрос

Спасибо большое, но как мне, в добавок ко всему этому, изменять машинам ведущие колеса?

Offline

#1829 14-01-2010 08:08

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Lost_forever wrote:

Всем привет,можно ли засторить координаты куда направлен прицел?Если да то подскажите как это сделать?:crazy:

Заранее спасибо smilegood

Есть код 068E: get_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 -
заносит в переменные точку обзора камеры

Offline

#1830 14-01-2010 12:44

DimP
Registered: 23-03-2009
Posts: 51

Re: Один вопрос

Жаль что нету "set_camera_target_point" crazy

Offline

#1831 14-01-2010 13:17

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

DimP wrote:

Жаль что нету "set_camera_target_point" crazy

Ну мне казалось что код который я написал выше примерно это и есть.
И ещё я вот нашёл код, возможно то, но не уверен.
0463: useless_store_debug_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3

Offline

#1832 14-01-2010 16:26

Lost_forever
From: Saint-Petersburg
Registered: 12-08-2009
Posts: 28
Website

Re: Один вопрос

d88 wrote:
Lost_forever wrote:

Всем привет,можно ли засторить координаты куда направлен прицел?Если да то подскажите как это сделать?:crazy:

Заранее спасибо smilegood

Есть код 068E: get_camera_target_point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 -
заносит в переменные точку обзора камеры

я знаю,но он заносит положение камеры,а не прицела,я уже пробовал,это не то.

Offline

#1833 15-01-2010 04:54

Vova_Van89
Registered: 02-11-2008
Posts: 6

Re: Один вопрос

Здравствуйте! Может кто-нибудь знает как можно прочитать то что вводит игрок с клавиатуры и вывести в виде текста в игре.

И еще столкнулся с проблемой - в скрипте вот это

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

#1834 16-01-2010 09:18

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

Где-то было сказано, что для хранения большого количества данных (например, координат) в скрипте можно использовать hex..end. Как пользоваться этим способом (записать данные и читать их)?

Last edited by Den_spb (16-01-2010 11:51)

Offline

#1835 16-01-2010 11:43

Alien
Registered: 12-10-2008
Posts: 564

Re: Один вопрос

@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
Den_spb wrote:

Где-то было сказано, что для хранения большого количества данных (например, координат) в скрипте можно использовать hex..end. Как пользоваться этим способом (записать данные и читать их)?

в hex...end организуешь буфер, получаешь указатель на него, а потом просто пишешь читаешь с опкодами 0a8c, 0a8d.

Offline

#1836 16-01-2010 11:51

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

А как получить указатель на начало буфера? Адрес будет зависеть от положения буфера в коде?

Last edited by Den_spb (16-01-2010 11:53)

Offline

#1837 16-01-2010 12:32

Alien
Registered: 12-10-2008
Posts: 564

Re: Один вопрос

скм-функция __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

#1838 16-01-2010 12:50

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: Один вопрос

Кстате после применения в цикле 03F0: enable_text_draw 1,
03F0: enable_text_draw 0 делать не надо.


I know everything and nothing...

Offline

#1839 17-01-2010 09:02

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

Хорошо. Теперь такой вопрос - можно ли узнать, куда направлено дуло танка или сватвана?

Offline

#1840 17-01-2010 14:19

Lost_forever
From: Saint-Petersburg
Registered: 12-08-2009
Posts: 28
Website

Re: Один вопрос

Alien , ты можешь помочь с координатами прицела?=(

Offline

#1841 18-01-2010 08:18

GTASA
Registered: 13-09-2008
Posts: 476

Re: Один вопрос

Ребята! Как проверять, что в актера выстрелили? При этом не обязательно, ранили его или нет, отнялось хп, или нет. Просто выстрелили и попали (раздался звук и партикл крови).

Как проверить статистику игрока (STD - 0, POOR - 25, PRO - 36)?

Offline

#1842 18-01-2010 13:42

DimP
Registered: 23-03-2009
Posts: 51

Re: Один вопрос

Кто нибудь знает точное смещение между центром камеры и прицелом? Пробовал подбирать, но не получается..все равно возникает небольшая разница...

Offline

#1843 18-01-2010 14:20

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

GTASA wrote:

Ребята! Как проверять, что в актера выстрелили? При этом не обязательно, ранили его или нет, отнялось хп, или нет. Просто выстрелили и попали (раздался звук и партикл крови).

Можно сделать проверки на анимации ранений, но честно говоря когда я сам это пробовал, почему-то проверки не работали. Впрочем я особо не заморачивался, может что-то сделал не так.

Offline

#1844 18-01-2010 14:42

Alien
Registered: 12-10-2008
Posts: 564

Re: Один вопрос

DimP wrote:

Кто нибудь знает точное смещение между центром камеры и прицелом? Пробовал подбирать, но не получается..все равно возникает небольшая разница...

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

#1845 18-01-2010 16:22

DimP
Registered: 23-03-2009
Posts: 51

Re: Один вопрос

Спасибо Алиен.
Адреса разные для каждой анимационной группы или для всех можно использовать  0xC8A8A8+0xN ?

Offline

#1846 28-01-2010 18:07

Wire
From: Днепр
Registered: 19-08-2009
Posts: 56

Re: Один вопрос

У меня вопрос: можно ли и если да, то как, проверить, имеется ли машина с определенной моделью в определенном радиусе от игрока? И если имеется, то получить ее хендл (Например есть ли в радиусе 50.0 от игрока #RHINO)

Offline

#1847 28-01-2010 19:55

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

Поочерёдно (циклом) получаешь хэндлы машин из определённой зоны (в данном случае зоны вокруг игрока). Для этой цели можно воспользоваться стандартными опкодами (найдешь в поиске опкодов по словам get random car), но лучше применить новый опкод 0B12 от Alien (см. тему http://sannybuilder.com/forums/viewtopi … d=679&p=1) Хэндл получается не сразу, так что команду получения машины необходимо применять до тех пор, пока проверка на существование машины с данным хэндлом не даст положительный результат. После этого можно записать в переменную ИД номер модели машины (поиск опкодов: = car model), если модель не соответствует нужной, то "ловим" в зоне следующую машину и т.д.

Offline

#1848 30-01-2010 11:56

GTASA
Registered: 13-09-2008
Posts: 476

Re: Один вопрос

Скажите, пожалуйста, как можно заморозить $Player_actor? Но заморозка не простая. Надо, чтобы скин не реагировал на кнопки управления, при этом чтобы он не был зафризин в позиции (его можно убить, задавить).

Ни один опкод не соответствует моим условиям.

01B4: set_player $PLAYER_CHAR can_move 1
04D7: set_actor $PLAYER_ACTOR locked 1

Offline

#1849 30-01-2010 12:15

Daeman
From: }{абаровск
Registered: 08-05-2009
Posts: 70

Re: Один вопрос

Скажите, плиз, как через память дать команду актёру (или игроку) перезарядить оружие, то есть выполнить анимацию перезарядки? Где-то это было в редакторе памяти Rysok'а, но там все комменты на японском, а мне как-то лень язык Страны восходящего солнца учить, чтоб этот адрес выковернуть. crazy

Offline

#1850 30-01-2010 12:30

Daeman
From: }{абаровск
Registered: 08-05-2009
Posts: 70

Re: Один вопрос

@Den_spb, что-то ты намудрил с вычислением машины в радиусе... rolleyes

Всё гораздо проще. Специально для таких целей Рокстаровцы любезно создали опкод 073E.
Там надо прописать нужную модель и желаемый радиус. А если в переменной так и останется -1 после выполнения опкода, следовательно, в указанном радиусе машины с такой моделью нет.
@Wire, для достижения своей цели используй:

073E: get_car_in_sphere 1@ 2@ 3@ radius 50.0 model #RHINO handle_as 0@

Offline

Board footer

Powered by FluxBB