CoP. Определение координат ГГ на локации — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(Отмена правки 12030 участника Earthworm-Jim (обсуждение)) |
(Отмена правки 12033 участника Schoolfucker (обсуждение) Чтоб тебя зона сожрала Schoolfucker!) |
||
Строка 1: | Строка 1: | ||
− | + | Понадобятся два файла от ЗП: '''bind_stalker.script''' и '''ui_custom_msgs.xml''' | |
− | + | Создаём в папке с игрой, папку '''gamedata''', в ней создаём папку '''scripts'''. Помещаем в папку <u>'''scripts'''</u> файл '''bind_stalker.script''' от ЗП. | |
+ | |||
+ | Открываем файл '''bind_stalker.script''' любым текстовым редактором (например Notepad++), и ищем в нём строчку, начинающуюся на '''xr_s.on_actor_update(delta)'''. Нашли? Хорошо. Теперь пишем перед этой строчкой следующий код: | ||
+ | <code> | ||
+ | if true then | ||
+ | local hud = get_hud() | ||
+ | local cs = hud:GetCustomStatic("cs_debug" ) | ||
+ | if cs == nil then | ||
+ | hud:AddCustomStatic("cs_debug", true) | ||
+ | cs = hud:GetCustomStatic("cs_debug" ) | ||
+ | end | ||
+ | local lvid, gvid = db.actor:level_vertex_id(), db.actor:game_vertex_id() | ||
+ | local pos, dir = db.actor: position(), db.actor:direction() | ||
+ | local pos2 = level.vertex_position(lvid) | ||
+ | local valid = pos2:distance_to(pos) <= 0.7 | ||
+ | local msg = string.format("lvid: %d\\n", lvid) .. | ||
+ | string.format("gvid: %d\\n", gvid) .. | ||
+ | string.format("pos: %f,%f,%f\\n", pos.x, pos.y, pos.z) .. | ||
+ | string.format("dir: %f,%f,%f\\n", dir.x, dir.y, dir.z) .. | ||
+ | string.format("valid: %s", tostring(valid)) | ||
+ | if cs ~= nil then | ||
+ | cs:wnd():TextControl():SetText(msg) | ||
+ | end | ||
+ | end | ||
+ | </code> | ||
+ | Сохраняем изменения в файле '''bind_stalker.script'''. | ||
+ | |||
+ | |||
+ | В ранее созданной папке <u>'''gamedata'''</u>, создаём папку '''configs''', потом в папке '''configs''', создаём папку '''ui'''. В папке <u>'''ui'''</u> помещаем файл '''ui_custom_msgs.xml''' | ||
+ | |||
+ | Открываем '''ui_custom_msgs.xml''' любым текстовым редактором (например Notepad++), и в самом конце файла пишем следующий код: | ||
+ | <code> | ||
+ | <cs_debug x="200" y="180" width="600" height="100" complex_mode="1"> | ||
+ | <text font="graffiti22" r="240" g="217" b="182" a="255" align="l"/> | ||
+ | </cs_debug> | ||
+ | </code> | ||
+ | Сохраняем изменения в файле '''ui_custom_msgs.xml''' | ||
+ | |||
+ | Всё готово! Теперь в игре, на игровой интерфейс будет выводится информация с координатами ГГ на локации. | ||
+ | |||
+ | == Скриншот: == | ||
+ | |||
+ | [[Файл:CoP._Определение_координат_ГГ_на_локации.jpg|200px|]] | ||
+ | |||
+ | == Авторы: == | ||
+ | |||
+ | |||
+ | '''bardak''' (Оригинальный скрипт), '''Мортарион''' (адаптация скрипта к ЧН), '''bip-bip:)''' (адаптация изменённого ''Мортарион'ом'' скрипта ''bardak'а'', к ЗП), '''Earthworm-Jim''' (инструкция по вставке скрипта). |
Версия 17:20, 23 апреля 2012
Понадобятся два файла от ЗП: bind_stalker.script и ui_custom_msgs.xml
Создаём в папке с игрой, папку gamedata, в ней создаём папку scripts. Помещаем в папку scripts файл bind_stalker.script от ЗП.
Открываем файл bind_stalker.script любым текстовым редактором (например Notepad++), и ищем в нём строчку, начинающуюся на xr_s.on_actor_update(delta). Нашли? Хорошо. Теперь пишем перед этой строчкой следующий код:
if true then
local hud = get_hud()
local cs = hud:GetCustomStatic("cs_debug" )
if cs == nil then
hud:AddCustomStatic("cs_debug", true)
cs = hud:GetCustomStatic("cs_debug" )
end
local lvid, gvid = db.actor:level_vertex_id(), db.actor:game_vertex_id()
local pos, dir = db.actor: position(), db.actor:direction()
local pos2 = level.vertex_position(lvid)
local valid = pos2:distance_to(pos) <= 0.7
local msg = string.format("lvid: %d\\n", lvid) ..
string.format("gvid: %d\\n", gvid) ..
string.format("pos: %f,%f,%f\\n", pos.x, pos.y, pos.z) ..
string.format("dir: %f,%f,%f\\n", dir.x, dir.y, dir.z) ..
string.format("valid: %s", tostring(valid))
if cs ~= nil then
cs:wnd():TextControl():SetText(msg)
end
end
Сохраняем изменения в файле bind_stalker.script.
В ранее созданной папке gamedata, создаём папку configs, потом в папке configs, создаём папку ui. В папке ui помещаем файл ui_custom_msgs.xml
Открываем ui_custom_msgs.xml любым текстовым редактором (например Notepad++), и в самом конце файла пишем следующий код:
<cs_debug x="200" y="180" width="600" height="100" complex_mode="1">
<text font="graffiti22" r="240" g="217" b="182" a="255" align="l"/>
</cs_debug>
Сохраняем изменения в файле ui_custom_msgs.xml
Всё готово! Теперь в игре, на игровой интерфейс будет выводится информация с координатами ГГ на локации.
Скриншот:
Авторы:
bardak (Оригинальный скрипт), Мортарион (адаптация скрипта к ЧН), bip-bip:) (адаптация изменённого Мортарион'ом скрипта bardak'а, к ЗП), Earthworm-Jim (инструкция по вставке скрипта).