Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Я для себя писал вот такие функции. Разберёшься, как юзать?
Код
function ObjSetSwitchOnline(story_obj_id) local obj_id = nil local type_id = type(story_obj_id)
if type_id == "string" then obj_id = story_objects.get_story_objects_registry():get(story_obj_id) elseif type_id == "number" then obj_id = story_obj_id else log("! Error type '%s' for 'story_obj_id' in function ObjSetSwitchOnline!", type_id) return end
if obj_id ~= nil then local sobj = alife():object(obj_id) if sobj ~= nil then alife():set_switch_online(sobj.id, true) alife():set_switch_offline(sobj.id, false) log("& ObjSetSwitchOnline: %s", story_obj_id) else log("! ObjSetSwitchOnline: 'sobj' == nil (%s)", story_obj_id) end else log("! ObjSetSwitchOnline: 'obj_id' == nil (%s)", story_obj_id) end end
Код
function ObjSetSwitchOffline(story_obj_id) local obj_id = nil local type_id = type(story_obj_id)
if type_id == "string" then obj_id = story_objects.get_story_objects_registry():get(story_obj_id) elseif type_id == "number" then obj_id = story_obj_id else log("! Error type '%s' for 'story_obj_id' in function ObjSetSwitchOffline!", type_id) return end
if obj_id ~= nil then local sobj = alife():object(obj_id) if sobj ~= nil then alife():set_switch_online(sobj.id, false) alife():set_switch_offline(sobj.id, true) log("& ObjSetSwitchOffline: %s", story_obj_id) else log("! ObjSetSwitchOffline: 'sobj' == nil (%s)", story_obj_id) end else log("! ObjSetSwitchOffline: 'obj_id' == nil (%s)", story_obj_id) end end
Можно ли сделать, если можно то как: чтобы при выбрасывании предмета в рестриктор, он это определял через логику.
Хотел сделать квест, где надо кинуть артефакт в аномальную зону и надо чтобы рестриктор проверял правильный ли предмет в него кинули, и он это орпределял, удалял этот предмет и выдавал инфу.
Если это можно как-то сделать, то не могли бы мне кратко показать как будет выглядеть эта логика. И если какие-то функции в скрипты надо дописывать, то тоже их укажите.
Есть animated object дверь, в ней есть 4 стандартные анимации (idle и открытия/закрытия), я добавил ей через Actor Editor еще одну анимацию, которую хочу активировать при определенных событиях.
Какой функцией вызывать эту новую анимацию?
Сообщение отредактировал molodoy_chelovek - Пятница, 19.07.2019, 20:48
molodoy_chelovek, насколько я понимаю, то никакой. Какую анимацию установите в SDK объекту, та и будет проигрываться. Движковые методы run_anim_forward() и run_anim_back() при их вызовах не предусматривают передачу в двигало названия анимации. Двигало берет название анимации из нет-пакета объекта.
Сообщение отредактировал makdm - Пятница, 19.07.2019, 22:04
оригинале ЗП такие объекты использовались на логике ph_button
Хм.. Понятно. Я просто не понял о каком объекте ты пишешь. Ты пишешь про объект, объявленный как physic_object А я писАл про объект, объявленный как door_lab_x8 Естественно они биндятся абсолютно по разному. Вопрос исчерпан.
[walker@1] ... meet = {+info} meet@1, no_meet -- сразу меняем секцию мита при получении поршня
Пробовал править xr_meet.script
Код
function reset_generic_scheme(npc,scheme,section,stype,st) if (st.meet) then local meet_section
if scheme == nil or scheme == "nil" then -- meet_section = st.ini:r_string_ex(st.section_logic,"meet") or "nil" meet_section = xr_logic.parse_condlist(npc, section, "meet", st.ini:r_string_ex(st.section_logic,"meet")) or "nil" else -- meet_section = st.ini:r_string_ex(section,"meet") or "nil" meet_section = xr_logic.parse_condlist(npc, section, "meet", st.ini:r_string_ex(section,"meet")) or "nil" end
init_meet(npc, st.ini, meet_section, st.meet, scheme) end end
Вылетает
Цитата
! [SCRIPT ERROR]: ...\gamedata\scripts\_g.script:1574: attempt to concatenate local 's' (a table value)
Код
local ini_cache = { [system_ini()] = {} } function clear_ini_cache(ini) ini_cache[ini] = empty_table(ini_cache[ini]) end if (USE_INI_MEMOIZE) then -- memoize ini results local function r_memoize(ini,s,k,def,typ) if not (s) then callstack() end
if (ini_cache[ini]) then local key = s.."&"..k -- ссылается сюда if (ini_cache[ini][key]) then return ini_cache[ini][key] end end
Сообщение отредактировал yobakun - Суббота, 20.07.2019, 18:46
Всем ку, проблема вот в чём: у меня есть локи чн из исходников, мне нужно перекомпилировать спавн и для этого мне нужно сбилдить локу, но на стадии merge lod textures происходит вылет:
Expression : fatal error Function : out_of_memory_handler File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp Line : 335 Description : <no expression> Arguments : Out of memory. Memory request: 131072 K
stack trace:
что делать?
п.с. 1) размер лодов тут ни при чём, как минимум потому что это оригинальные локи (даже не декомпилы) и как минимум потому что оно бы орало что-то вроде "lod larger than [2048x2048]" (точно не помню) 2) раньше мне помогало пару раз перезапустить сдк, но щас не помогает 3) память, которую он просит (131072 K) он без изменений просил у меня всегда, когда у меня была такая проблема (я надеюсь понятно, что это было как минимум в разные дни?), что, как мне кажется, довольно странно
Здравствуйте. Подскажите, пожалуйста, есть ли какой-то способ приказать неписю стрелять в опр. точку или другого непися? Понимаю, что вопрос, вероятно, тривиальный, но никаких примерно похожих схем сыскать не сумел. Заранее спасибо.