You are not logged in.
Pages: 1
Подскажите плиз, как можно проверить столкнулась ли машина с чем либо?
Нашел тоько вот этот опкод:
0897: car 96@ collided_with_object 282@(42@,10i)
ой
ну я стормозил...
Den_spb большое тебе спасибо)
Вот смотри, даже скриншот прилепил)
0A97: 2@ = car 1@ struct
0A8E: 3@ = 2@ + 68 // int
0A8E: 4@ = 3@ + 72 // int
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
0A8D: 3@ = read_memory 4@ size 4 virtual_protect 0
0604: get_Z_angle_for_point 3@ 4@ store_to 5@ // возвращает угол между вектором {x;y} и глобальной осью Y
0092: 7@ = float 5@ to_integer
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 44 position 320.00 407.40 size 180.0 176.13 RGBA 255 255 255 255
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 45 position 320.00 407.40 size 180.0 177.13 angle 5@ RGBA 255 255 255 255
03E3: set_texture_to_be_drawn_antialiased 1
0340: set_text_draw_RGBA 180 180 180 255
033F: set_text_draw_letter_size 0.7 2.6
045A: draw_text_1number 320.00 407.40 GXT 'NUMBER' number 5@
Den_spb Опкод
0604: get_Z_angle_for_point 2@ 3@ store_to 4@
возвращает постоянное число 270, которое всю игру одно и тоже, и от этого числа отнимаешь угол машины. Я ещё новичок и жестко туплю, но если вычислять угол между вектором скорости и направлением машины, угол должен быть не больше ±90 градусов.
Зачем нужно отнимать угол машины? Проблема в опкоде 0604, или я такой дурак, что он мне всегда выдает 270?
Заменил на локальные, заметил что число меняется, но на очень маленькие числа, гдето около миллионных или даже бальше.
car.StorePos(1@,$X,$Y,$Z) 0A8E: 4@ = $Y + 72.00 0604: get_Z_angle_for_point 4@ $Y store_to 5@
Селал вот так, но вычисления дают постоянное число. $Y и 4@ изменяются, проверял, а вот число после вычислений опкодом всегда одно...
Просмотрел все опкоды со словом car, вектора скорости вроде как нет. Нашел вот эти опкоды:
06BE: 274@ = car 95@ y_angle car.StorePos($Car,$X,$Y,$Z) - записать координаты машины в переменные $X, $Y и $Z 077D: $7513 = car 35@ x_angle 083F: get_car 35@ vertical_deviation_to $7522
Как можно вычислиь
[q]угол отклонения продольной оси машины от вектора её скорости[/q] ?
Прошу прощенья за возможно глупый вопрос, заранее спасибо.
Проблема в том, что мне надо заставить стрелку двигаться с одним углом, как и машина, а так она стоит в одной позиции, которую мы задали. Как можно сделать, чтобы данные обновлял каждую секунду, ну или после нажатия на кнопки поворота??
Прошу помочь в написании скрипта. Смысл в том, что нужно отображать угол поворота на экране. График олжен поддерживать токо половину круга. Как вывести угол я разобрался, но как сделать так, чтобы Показывало только угол в зоне от (90;270)?? Стрелка показывающая угол, направлена вверх (в игре 180 градусов), при повороте направо отклоняется направо, налево-налево, потом возвращается в начальную позицию.
Вот, настрочил, но не хочет отображаться(знаю, что оч коряво, я новичок):
{$CLEO}
0000:
:DRIFT1
wait 0
if and
Actor.Driving($PLAYER_ACTOR)
$ACTIVE_INTERIOR == 0
0038: $ONMISSION == 0
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
84A7: not actor $PLAYER_ACTOR driving_boat
jf @DRIFT1
0811: 1@ = actor $PLAYER_ACTOR car
0390: load_txd_dictionary 'DRIFT'
038F: load_texture "grad" as 44
038F: load_texture "ukaz" as 45
wait 1000
jump @DRIFT4
:DRIFT4
wait 0
if and
Actor.Driving($PLAYER_ACTOR)
$ACTIVE_INTERIOR == 0
jf @DRIFT3
0174: 18@ = car 1@ Z_angle
0092: 27@ = float 18@ to_integer
while true
wait 0
if 27@ > 180
then
if 27@ < 270
then
0092: 16@ = float 27@ to_integer
Break
else
if 27@ < 360
then
0A8F: 16@ = 27@ - 90.00
Break
else
16@ = 180.00
Break
end
else
0A8F: 16@ = 27@ + 90.00
Break
end
end
end
wait 0
03F0: enable_text_draw 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 44 position 320.00 407.40 size 180.0 176.13 RGBA 255 255 255 255
03E3: set_texture_to_be_drawn_antialiased 1
074B: draw_texture 45 position 320.00 407.40 size 180.0 177.13 angle 16@ RGBA 255 255 255 255
03E3: set_texture_to_be_drawn_antialiased 1
0340: set_text_draw_RGBA 180 180 180 255
033F: set_text_draw_letter_size 0.7 2.6
045A: draw_text_1number 320.00 407.40 GXT 'NUMBER' number 27@
jump @DRIFT4
:DRIFT3
wait 0
03F0: enable_text_draw 0
0391: release_txd_dictionary
jump @DRIFT1
end_thread
Pages: 1