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

Labadal

Проверенные
  • Число публикаций

    235
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    1,722 [Подарить AMKoin]

Весь контент пользователя Labadal

  1. Labadal

    Скриптование

    @ted.80 точно-точно, благодарю за уточнение) с помощью xrLuaFix от RvP как-то можно получить нормальный лог, причину? не понимаю в чем проблема, вылетает в диалогах, зачастую при последней фразе ГГ. (она может быть как и последней в самом диалоге, так и предпоследней, но для ГГ она точно последняя). При: function printf(fmt,...) log(string.format(fmt,...)) local con = get_console() con:execute(string.gsub(string.format(fmt,...), " ", "_")) con:execute("flush") end в лог файле последняя запись зачастую Unknown command: *INFO*:_npc='single_player'_id='ui_talk_hide' и всё, больше никаких зацепок. Бывает, что вылетает вообще при попытке поговорить, но это единичные случаи. понять бы в чем причина.
  2. Здравствуйте, подскажите - как на небо выводится солнце и луна? К примеру, я хочу, чтоб в небе вместо луны был, допустим, чайник?
  3. Labadal

    Скриптование

    @ted.80 @Капрал Хикс В любом случае, можешь попробовать данную функцию: в своём скриптовом файле, например: sms_pda.script пишешь: function use_pda(item) local sect = item:section() if sect == "тут имя секции твоего pda" then -- тут выдаёшь сам звук, например: local snd_obj = xr_sound.get_safe_sound_object([[affects\tinnitus3a]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) --не забываешь выдать предмет обратно, т.к. при использовании он пропадает alife():create("тут имя секции твоего pda", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end затем, в bind_stalker.script пишешь: в функции function actor_binder:reinit(): self.object:set_callback(callback.use_object, self.on_use_object, self) в функции: function actor_binder:net_destroy() p/s не знаю, насколько действительно это нужно, у меня работает и без прописывании калбека в этой функции: self.object:set_callback(callback.use_object, nil) ну а дальше, где-то в bind.stalker создаёшь функцию: function actor_binder:on_use_object(obj, who) sms_pda.use_pda(obj) end после этого при использовании твоего пда будет воспроизводиться звук, который ты укажешь (ну или любое действие, которое ты хочешь, чтобы делалось при использовании определенного предмета)
  4. Labadal

    Скриптование

    @Капрал Хикс Вообще не понятно зачем это нужно? Но даже если и так, в самом деле, задания просто так не выдаются, - поршнем зачастую. Вот и отслеживай этот поршень, если он у тебя есть, и выдавай другой, например. Можешь что-то типа этого: local function name(actor, info_pairs) for _, pair in ipairs(info_pairs) do if actor:has_info(pair.check) then actor:give_info_portion(pair.give) break end end end local info_pairs = { {check = "поршень, по которому выдаётся первый квест", give = "инфопоршень, который выдаётся, если он есть"}, {check = "поршень, по которому выдаётся второй квест", give = "инфопоршень, который выдаётся, если он есть"}, {check = "поршень, по которому выдаётся третий квест", give = "инфопоршень, который выдаётся, если он есть"} } check_and_give_info(db.actor, info_pairs) это лишь примерная конструкция, я бы даже сказал псевдокод. Ну, или стандартным: if db.actor:has_info("поршень, по которому выдаётся первый квест") then db.actor:give_info_portion("инфопоршень, который выдаётся, если он есть") elseif db.actor:has_info("поршень, по которому выдаётся второй квест") then db.actor:give_info_portion("инфопоршень, который выдаётся, если он есть") elseif db.actor:has_info("поршень, по которому выдаётся третий квест") then db.actor:give_info_portion("инфопоршень, который выдаётся, если он есть") @Капрал Хикс кстати, есть ещё такой вариант, он отлавливает состояние квеста, попробуй его: local task_status = db.actor:get_task_state("тут пишешь id квеста", 0) -- id квеста из <game_task id="id квеста"> if task_status == 0 then -- Действия, если задание провалено elseif task_status == 2 then -- Действия, если задание выполнено elseif task_status == 1 then -- Действия, если задание активно elseif task_status == -1 then -- Действия, если задания нет ни в проваленных, ни в выполненных, ни в активных end
  5. Labadal

    Скриптование

    @Купер оказалось, что это не моя проблема. в оригинале этот же нпс так же "подвисает" (в деревне новичков). Понимаю, что нужно разбираться с причиной, однако её бы найти сначала.
  6. как сделать свою погоду?
  7. Labadal

    Скриптование

    @naxac всё оказалось намного проще, нужно было просто скомпилировать локу с помощью xrLC а потом через xrAI графы и спавн собирать)) Такой еще вопросик: ловлю безлоговый вылет при разговоре с НПС, зачастую в момент когда отправлю неписю предпоследнюю фразу диалога, за которой он должен ответить последней. Первым делом тоже подумал, что отсутствует функция, которая выдаётся после этой фразы, но нет, вылетает даже в пустых от различных функций диалоги. Есть моменты, когда вылатает при попытке поговорить. Есть моменты, когда нпс тупо стоит на месте спавна и с ним не поговорить, однако вдупляется после сейвлоада. в логфайле последней записью почти всегда это: *INFO*:_npc='single_player'_id='ui_talk_hide' в некоторых случаях пишет это: *INFO*:_npc='single_player'_id='ид_нпс_с_которым_разговор'
  8. Labadal

    Скриптование

    @CiberZold В том-то и дело, что со сборщиком всё нормально. Раньше ведь всё было норм.
  9. Labadal

    Скриптование

    @CiberZold Unknown command - обычно пишет, когда ты записи в лог отправляешь. В данном случае "start_game_callback_called" отправляется функцией: function start_game_callback() printf ("start_game_callback called") ←←← вот эта вот строка task_manager.clear_task_manager() treasure_manager.clear_treasure_manager() xr_sound.clear_all_sound_object() dialog_manager.fill_phrase_table() end @Купер для ясности - распаковал ОРИГИНАЛЬНУЮ локацию, добавил на карту ОДИН ЭКЗОСКЕЛЕТ, сбилдил заново и собрал с помощью xrAI. После чего ловлю безлоговый вылет. Не думаю, что это правка как-то сильно повлияла на происходящее.
  10. Labadal

    [SoC] Вопросы по SDK

    при сборке графа выскакивает это: ! There is no graph for the level l01_escape! (level is not included into the game graph) в чем проблема? графы на локе есть
  11. Labadal

    Скриптование

    @CiberZold ой, я не такой извращенец, чтоб в блокноте кодить)) Саблайм 3)) Ну или нотпад на крайний случай) @naxac@CiberZold Смотрите, какая забавная вещь получается. Взял сейчас чистый ТЧ. Запустил - играбельно. Распаковал кордон, залез, внес кое-какие правки, для теста. сделал build (без ошибок), сделал xrAi с ключами -f -g -m -s, тоже без ошибок. Запускаю игру - опять получаю безлоговый вылет, сам лог файл так же заканчивается этим: Сервер: Старт... ! Unknown command: start_game_callback_called Так что дело вряд-ли в повиснутой логике (ну либо сдк её ломает). С чем может быть связано?
  12. Labadal

    Скриптование

    @CiberZold ну, я их даже закомментил, всё так же
  13. В общем столкнулся с безлоговым вылетом, последняя запись в лог файле: Сервер: Старт... ! Unknown command: start_game_callback_called товарищи подсказали, что проблема может быть с логикой нпс. Суть-то в чем, я в СДК ковырялся на локе, до этого работало. Откат изменений не помог, я даже взял абсолютно чистые локации, открыл кордон в СДК удалил всех нпс, собрал - получаю то же самое. Вылетает на моменте "создание новой игры", судя по логам оригинала, после Сервер: Старт... должна идти Сервер: Загрузка симуляции жизни..., но не идет. И это единственная зацепка.
  14. Labadal

    Скриптование

    @naxac Да в том то и дело, что ничего такого критического не делал. откатывал, тоже ничего. Буду копать дальше, благодарю upd: взял чистые локации, загрузил кордон в сдк, удалил там всех нпс, в итоге получаю: start_game_callback_called. Можно как-то определить, в чём именно проблема. Из-за чего логика виснет, и тд?
  15. Labadal

    [SoC] Вопросы по SDK

    как лечить ошибку error has occurred in builder routine. Editor aborted на стадии Merger Lod, при сборки локи?
  16. Labadal

    Скриптование

    с чем связан этот вылет? Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...:\sdk\level_editor\gamedata\scripts\xr_walker.script:49: attempt to index field 'move_mgr' (a nil value) помню, что в СДК игрался. Если в xr_walker на 48 строке вписать: get_console():execute(self.object:name()) получаю в лог: Unknown command: esc_lager1 Что за esc_lager1? upd: esc_lager1 это имя секции нпс. Но как он связан со всем этим? тем более всё работало до того. Если удалить этого нпс, то в консоль кидает: Unknown command: start_game_callback_called
  17. Labadal

    [SoC] Вопросы по SDK

    Подскажите, пожалуйста, в чем проблема. Вот такая ошибка выскакивает, на моменте распаковки level.spawn, причем у любой локации. Если удалить файл level.spawn, оно, конечно, декомпилируется, но, понятное дело, без спавн элементов. В чем проблема? upd: ошибка как всегда в невнимательности, из-за неправильного коммента в weapons.ltx (надо ; А я, привык работать со скриптами и поставил --) @start bins\compilers\xrAI.exe -draft -f l01_escape Можно ли сюда вписать больше одной локации?
  18. Labadal

    Скриптование

    @Zander_driver А есть какая-то документация по этому поводу? Понять бы как работает И еще такой вопрос, я, к примеру создал некую переменную. С самого начала игры она равна 0, но в какой-то момент станет равна 1. Можно ли сделать так, чтобы это значение "1", сохранялось в переменной, даже если я начну новую игру?
  19. Labadal

    Скриптование

    У меня такой вопрос. Все мы знаем, что для различных уровней сложности прописаны свои значения в actor.ltx. Вопрос такой, можно ли как-то получить скриптово эти значения? Например: я хочу сделать некую систему достижений, и допустим там будет достижение "читер", которое выдастся, если эти параметры были изменены игроком. (то есть на сложности новичок у меня параметр burn_immunity = 0.3 [actor_immunities_gd_novice] burn_immunity = 0.3 но если игрок, играя на сложности новичок залет в файл и поставит значение, отличное от 0.3, то я хочу это отследить.) Вопрос в том - как и возможно ли вообще. Спасибо!
  20. Labadal

    Смена администратора (2024)

    @Murarius Спасибо за всю твою работу, удачи тебе в дальнейшем! @CyberR00T Успехов в администрировании форума!
  21. Labadal

    Обращение администратора AMK-Team

    Спасибо за всё, брат-администратор
  22. Labadal

    [SoC] Вопросы по SDK

    @imcrazyhoudini ну вот, валк, лук и сама секция: [walker@esc_lager_volk_walker5] path_walk = wolf_ugroza_walk path_look = wolf_ugroza_look meet = meet@wolf_ugroza on_info = {+esc_codedoor_sidor} walker@esc_lager_volk_walker2 danger = danger_condition@shustryi Переименовал поинты в esc_lager_wolf_walk2 и esc_lager_wolf_look2 - заработало. Странно, ну ладно.
  23. Labadal

    [SoC] Вопросы по SDK

    Здравствуйте! подскажите насчет way-поинтов. Сделал две штуки для волка Назвал esc_lager_wolf_ugroza_walk и esc_lager_wolf_ugroza_look, флаги тоже расставил, все правильно, как обычно. У волка в нужной секции прописываю: path_walk = wolf_ugroza_walk path_look = wolf_ugroza_look Но при переходе в эту секцию безлоговый вылет. Что я делаю не так? (проблема именно в новых путях, потому что если в новой секции поставить стандартные: path_walk = wolf_walk path_look = wolf_look то вылета не будет)
  24. Labadal

    Все о партиклах

    @Jekyll да, парочку докинул из другого мода, ещё немного из ориг зп. Но уже проблему решил, Спасибо!) Теперь осталось понять, как нужный мне партикл через сдк повесить на карту, и шоб работал до тех пор, пока поршень не выдам, Товарищи, подскажите - как можно уменьшить ширину партикла? (а то они у меня шире, чем дверной проём и не красиво)
  25. Labadal

    Все о партиклах

    Ну вот я как раз PETом и собираю. Игра не вылетает - там все партиклы есть, всё нормально. А вот при попытке открыть сдк (даже не важно что именно. PE,LE или AE), получаю как раз таки свой вылет. И причем это возникает, при добавлении новых .pe партиклов в общий файл (.xr) ps новых не всмысле новых, никак несвязанных, а в том смысле, которые "привязаны" к добавленному .pg. Если запаковать сам .pg без нужных .pe то сдк откроется. А если с ними, то нет)
×
×
  • Создать...