Перейти к контенту

X-Ray extensions


Malandrinus

Рекомендуемые сообщения

Подскажите, пожалуйста, у кого-нибудь получилось изменить высоту прыжка с помощью set_actor_float()? В частности, делаю

db.actor:set_actor_float(nil, v, 1444)

и никаких изменений не наблюдаю. Изначально, читая из 1444, получаю именно то значение, которое стоит в ltx.

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

, не, это больше на jump_power похоже, по результату. Вывели 2000 значений через get_actor_condition_float() и не нашел там ничего похожего на 7.6.

Поделиться этим сообщением


Ссылка на сообщение

Кому-нибудь удавалось менять для оружия режим стрельбы с помощью set_wpn_int()? По смещению 1872 возвращает текущий режим стрельбы ( одиночные, по два, очередь и т.д ), но на изменение не реагирует? Или может это делается каким-нибудь иным способом?

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Подскажите пожалуйста, добавлялся в x-ray extensions какой-нибудь способ обездвижить главного героя? Я пока только остановился на установке walk_accel в 0. Не двигается, но может прыгать на месте. Что-то мне кажется, будто я встречал другой способ.

 

На мой взгляд вполне себе нормальный способ. Можно ещё и прыжки отключить, если jump_speed = 0.

Malandrinus

Изменено пользователем Malandrinus

Поделиться этим сообщением


Ссылка на сообщение

@TIGER_VLAD, скопирую сюда ответ тебе же:

Вот эта функция устанавливает walk_accel в нужное тебе значение:


function set_walk_accel(v)         db.actor:set_actor_float(nil, v, 1440) end

А про jump_speed забудь. Не меняется он с помощью x-ray extensions. Точнее, поменять не сложно, но это изменение никакого эффекта не оказывает.
 
На вот тебе, до кучи, еще (почти все взято из OGSE, еще раз спасибо им за это):

-- получение некоторых значений с плавающей запятой
-- параметры бега
function get_walk_accel()         return db.actor:get_actor_float(1440) end
function get_jump_speed()         return db.actor:get_actor_float(1444) end
function get_run_factor()         return db.actor:get_actor_float(1448) end
function get_run_back_factor()    return db.actor:get_actor_float(1452) end
function get_walk_back_factor()   return db.actor:get_actor_float(1456) end
function get_crouch_factor()      return db.actor:get_actor_float(1460) end
function get_climb_factor()       return db.actor:get_actor_float(1464) end
function get_sprint_factor()      return db.actor:get_actor_float(1468) end
function get_walk_strafe_factor() return db.actor:get_actor_float(1472) end
function get_run_strafe_factor()  return db.actor:get_actor_float(1476) end
-- параметры стрельбы
function get_disp_base()          return db.actor:get_actor_float(1484) end -- в радианах
function get_disp_aim()           return db.actor:get_actor_float(1488) end -- в радианах
function get_disp_vel_factor()    return db.actor:get_actor_float(1492) end
function get_disp_accel_factor()  return db.actor:get_actor_float(1496) end
function get_disp_crouch_factor() return db.actor:get_actor_float(1500) end
function get_disp_crouch_no_accel_factor()  return db.actor:get_actor_float(1504) end
-- получение некоторых целых и логических значений
-- режим прицеливания
function zoom_mode() return bit_and(db.actor:get_actor_int(nil, 1480), 1) end -- возвращает 0/1

-- установка некоторых значений
-- параметры бега
function set_sprint_factor(v)      db.actor:set_actor_float(nil, v, 1468) end
function set_jump_speed(v)         db.actor:set_actor_float(nil, v, 1444) end
function set_walk_accel(v)         db.actor:set_actor_float(nil, v, 1440) end
function set_run_factor(v)         db.actor:set_actor_float(nil, v, 1448) end
function set_run_back_factor(v)    db.actor:set_actor_float(nil, v, 1452) end
function set_walk_back_factor(v)   db.actor:set_actor_float(nil, v, 1456) end
function set_crouch_factor(v)      db.actor:set_actor_float(nil, v, 1460) end
function set_climb_factor(v)       db.actor:set_actor_float(nil, v, 1464) end
function set_walk_strafe_factor(v) db.actor:set_actor_float(nil, v, 1472) end
function set_run_strafe_factor(v)  db.actor:set_actor_float(nil, v, 1476) end
-- параметры стрельбы
function set_disp_base(v)          db.actor:set_actor_float(nil, v, 1484) end -- в радианах

function set_jump_power( v )
  db.actor:set_actor_condition_float( nil, v, 276 )
end
function set_walk_power( v )
  db.actor:set_actor_condition_float( nil, v, 284 )
end

  • Спасибо 2

Поделиться этим сообщением


Ссылка на сообщение

Кто-нибудь использовал функции семейства

set_manual_grouping_on()
set_trade_filtration_on()
set_manual_highlight_on()

и иже с ними? Что-то я при их использовании, пытаясь установить запрет торговли и свою подсветку, никакого эффекта не вижу. Может там какая-нибудь хитрость есть?

Поделиться этим сообщением


Ссылка на сообщение

Для этого, правку нужно активировать и написать скриптовую обработку закраски.

Может у тебя есть точно работающий пример? Я попробовал закраску сделать - никакого эффекта.

Поделиться этим сообщением


Ссылка на сообщение
@RayTwitty,спасибо Кэп :) Именно этот модуль я и использовал. Никакого эффекта. В OGSE он не используется, т.ч. я даже не могу быть уверен, что в нём нет каких-нибудь ошибок или неточностей.

Поделиться этим сообщением


Ссылка на сообщение

Так а что мешает подключить и посмотреть на эффект?

Издеваешься, да? :) Я же пишу, именно его и использовал. Т.е. подключал, добавлял отладочный вывод, что бы убедиться, что все выполняется. Все выполняется, но в окне торговли и обыска никакой раскраски я не увидел.

Поделиться этим сообщением


Ссылка на сообщение

 

 

Открывать постоянно станицу, смотреть, нет ли новых ревизий, опять жать кнопку, если они есть

 

Для этого существует git. Не именно для того, что ты описал, а для получения изменений в свой, локальный репозиторий. Проще говоря, вместо того, что ты написал, нужно выполнить git pull и все.

Поделиться этим сообщением


Ссылка на сообщение

@TIGER_VLAD, не, ты не повторяешь вопрос. Ты спрашивал о каком-то "правильно расчитать хит", что бы это не значило. А тип хита можно определить в коллбэке, который вызывается перед обработкой хита. См. вот тут: https://code.google.com/p/xray-extensions/wiki/new_collbacks информацию о 152. Пример использования можешь посмотреть тут: https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/dsh_art_degrad.script

в функции before_hit.

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
@Malandrinus, вот это определение состояния актора по битам, имеет какие-нибудь отличия от db.actor:is_actor_running() и т.п. из того же OGSE? Или это тоже самое?

Поделиться этим сообщением


Ссылка на сообщение
@phorumer, существует. Поищи в какой-то оружейной теме скрипт для Абакана от Нанобота, там как раз это делается. Если не найдешь, я позже покажу этот момент.
  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
@phorumer, да. Это собственно и взято из скрипта Нанобота. Но код я что-то не узнаю. Не мой стиль. Наверное кто-то другой делал по подобию. У меня в подписи ссылка на репозиторий. Там, в том-же скрипте, немного по другому сделано, в фунции configure_rpm(). Изменено пользователем dsh

Поделиться этим сообщением


Ссылка на сообщение

@phorumer, вот смотри, взято отсюда же:

 

 

function get_actor_condition_values(cycle_length)
  get_console():execute("clear_log")
  for i = 1, cycle_length do
    local value = db.actor:get_actor_condition_float(i)
    if value then log1("Float value = "..value.."; Position = "..i) end
  end
  flush_log()
end
 

 

 

 

Поменяй, get_actor_condition_float() на то, что тебе нужно. Запусти и поищи в логе известные тебе значения position. Можешь прямо в функцию добавить фильтрацию значения и выводить только те, что укладываются в определенный диапазон.
 
И вот, кстати, еще посмотри:
Кажется здесь добрые люди уже расписали то, что тебе нужно.
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

У кого-нибудь есть рабочие примеры использования функций семейства set_*_shared_str()? Попробовал поменять m_Description, с ходу не получилось. Вроде бы смещение 168.

Поделиться этим сообщением


Ссылка на сообщение

Кто-нибудь может рассказать историю коллбека 153. Вызывается при получении неписем хита и после него выполняется какая-то обработка этого хита. Чем этот коллбек отличается от стандартного и что там происходит?

Поделиться этим сообщением


Ссылка на сообщение

@Malandrinus, так вот мне и не понятно, зачем сделан 153, при наличии стандартного callback.hit и 152-го?

Для чего такого, уникального, нужен 153? И что этот код еще делает? Там не только обработка set_int_arg0. Там какие-то действия, в зависимости от типа хита. Не могу понять, плохо ассемблер знаю.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...