[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
|
Бывалый: |
|
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница
Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Neptun
Пятница, 18.05.2018, 07:05 | Сообщение # 991
Связной
Статус: |
|
Бывалый: |
|
Сообщений: |
672 |
Награды: |
9 |
Регистрация: |
25.03.2012 |
|
Цитата Lory ( ) определенного события(выполнения квеста), а не в самом начале. Дык, по завершению квеста выдай инфу и сделай проверку на появление диалога по этой инфе. В чём проблема? condlist_0 = {+условие_завершения_квеста} %+или_вот_так_ещё_выдай_инфу% complete В начале диалога такую штуку пишем (сразу после строки dialog id): <has_info>наша_инфа_по_завершению_квеста</has_info>
|
|
Пятница, 18.05.2018, 07:05
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.03.2012 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
DarkSatellite, Попробуйте отбирать управление у игрока на это время:
Код level.disable_input() level.enable_input()
yobakun, Единственный скрипт читающий game_relations.ltx есть ranks.script
Сообщение отредактировал denis2000 - Пятница, 18.05.2018, 08:31
|
|
Пятница, 18.05.2018, 08:31
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
yobakun
Пятница, 18.05.2018, 15:01 | Сообщение # 993
Статус: |
|
Новичок: |
|
Сообщений: |
270 |
Награды: |
5 |
Регистрация: |
30.07.2016 |
|
Цитата denis2000 ( ) yobakun, Единственный скрипт читающий game_relations.ltx есть ranks.script Я не уверен, но кажется, проблема была в том, что непись спавнился по кривым координатам которые изменились после ребилда спавна.
Можно ли сделать так, чтобы неписи которые находятся в лагере переходили в денжер если хотя бы один из сталкеров увидел врага? Допустим если в лагерь забегает кабан, то все кто в этом лагере находится сразу пытались его атаковать.
|
|
Пятница, 18.05.2018, 15:01
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
30.07.2016 |
|
|
|
|
|
Золотой Обоз
Статус: |
|
Опытный: |
|
Сообщений: |
1311 |
Награды: |
9 |
Регистрация: |
09.08.2015 |
|
Есть переменная
Код local timer = game.get_game_time() Как правильно прибавить к ней, допустим 1 час? Заранее спасибо!
|
|
Пятница, 18.05.2018, 15:03
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
09.08.2015 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
138 |
Награды: |
0 |
Регистрация: |
06.08.2015 |
|
Помогите, пж, кто знает. Поставил way-поинт, поставил ему такой параметр: wp00|a=sprint А НПС в него всё равно в эту точку идёт, а не бажит. И какую анимацию не ставлю - ничего не меняется. Почему?
Сообщение отредактировал Smilоdоn - Пятница, 18.05.2018, 19:44
|
|
Пятница, 18.05.2018, 19:40
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.08.2015 |
|
|
|
|
|
makdm
Пятница, 18.05.2018, 21:12 | Сообщение # 996
Время Альянса
Статус: |
|
Опытный: |
|
Сообщений: |
1787 |
Награды: |
19 |
Регистрация: |
22.11.2012 |
|
Цитата _S_k_i_F_ ( ) Как правильно прибавить к ней, допустим 1 час? Один час - это 3 600 000 миллисекунд. Вот это и прибавляй.
|
|
Пятница, 18.05.2018, 21:12
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
22.11.2012 |
|
|
|
|
|
Золотой Обоз
Статус: |
|
Опытный: |
|
Сообщений: |
1311 |
Награды: |
9 |
Регистрация: |
09.08.2015 |
|
makdm, это то понятно, я делал вот так
Код local timer = game.get_game_time() timer = timer + <число> Но игра вылетала
Код stack trace:
0023:039D45C0 luabind.beta7-devel.rc4.dll, luabind::detail::object_rep::crep 0023:05C98E47 xrGame.dll, CDialogHolder::CDialogHolder() 0023:039A2EA3 lua.JIT.1.1.4.dll, luaopen_io() Или здесь все правильно и ошибка в другом?
|
|
Пятница, 18.05.2018, 21:55
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
09.08.2015 |
|
|
|
|
|
makdm
Пятница, 18.05.2018, 22:36 | Сообщение # 998
Время Альянса
Статус: |
|
Опытный: |
|
Сообщений: |
1787 |
Награды: |
19 |
Регистрация: |
22.11.2012 |
|
Цитата _S_k_i_F_ ( ) я делал вот так тогда понятно в чем ошибка. Смотри функции r_CTime и w_CTime в файле utils.script Там все понятно, что и как делать.
local Y, M, D, h, m, s, ms = 0, 0, 0, 0, 0, 0, 0 Y, M, D, h, m, s, ms = t:get( Y, M, D, h, m, s, ms )
и
local t = game.CTime() t:set( Y + 2000, M, D, h, m, s, ms)
Правда, что из этого получится и зачем тебе это нужно я не знаю.
Сообщение отредактировал makdm - Пятница, 18.05.2018, 22:40
|
|
Пятница, 18.05.2018, 22:36
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
22.11.2012 |
|
|
|
|
|
Neptun
Суббота, 19.05.2018, 11:18 | Сообщение # 999
Связной
Статус: |
|
Бывалый: |
|
Сообщений: |
672 |
Награды: |
9 |
Регистрация: |
25.03.2012 |
|
Smilоdоn, это значит, что НПС побежит после того, как достигнет этой точки. Чтобы НПС сразу побежал, пропиши в его активной логике: def_state_moving = sprint В этом случае в way можешь вообще ничего не прописывать.
Цитата Smilоdоn ( ) вообще все флаги не работают Флаг это вот: p0:flags = 0x1 Он нужен, если нужно, чтобы НПС смотрел куда-то.
|
|
Суббота, 19.05.2018, 11:18
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.03.2012 |
|
|
|
|
|
Золотой Обоз
Статус: |
|
Опытный: |
|
Сообщений: |
1311 |
Награды: |
9 |
Регистрация: |
09.08.2015 |
|
makdm, что-то все равно не получается. Попробую объяснить что нужно: ГГ выдает НПС 4 ПДА одновременно, а НПС должен через каждые 3 часа отправлять ГГ смску. А во время сна, даже если спал больше 12 часов (т.е. должны все 4 смс прийти) приходит только одна. Вот и нужно во время сна все таймеры искусственно увеличить. В ui_sleep_dialog в dream_callback()
Код local timer = hours*3600 if has_alife_info("tp_actor_give_zvonar_grif_pda") and not has_alife_info("tp_zvonar_unlock_grif_pda_compl") then otstypnik_dialogs.force_grif_pda_timer(timer) end if has_alife_info("tp_actor_give_zvonar_provodnik_vasil_pda") and not has_alife_info("tp_zvonar_unlock_provodnik_vasil_pda_compl") then otstypnik_dialogs.force_vasil_pda_timer(timer) end if has_alife_info("tp_actor_give_zvonar_killer_ydav_pda") and not has_alife_info("tp_zvonar_unlock_killer_ydav_pda_compl") then otstypnik_dialogs.force_ydav_pda_timer(timer) end if has_alife_info("tp_actor_give_zvonar_monolitovec_pda") and not has_alife_info("tp_zvonar_unlock_monolitovec_pda_compl") then otstypnik_dialogs.force_monolitovec_pda_timer(timer) end Потом функция для апдейта
Код function zvonar_unlocking_pda() if has_alife_info("tp_actor_give_zvonar_grif_pda") and not has_alife_info("tp_zvonar_unlock_grif_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then give_info("tp_zvonar_unlock_one_pda") if grif_pda_timer == nil then grif_pda_timer = game.get_game_time() end end if grif_pda_timer ~= nil then if game.get_game_time():diffSec(grif_pda_timer) > 10800 then grif_pda_timer = nil give_info("tp_zvonar_unlock_grif_pda") give_info("tp_zvonar_unlock_grif_pda_compl") disable_info("tp_zvonar_unlock_one_pda") xr_effects.send_message(nil,nil,{"ПДА Грифа взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000}) end end if has_alife_info("tp_actor_give_zvonar_provodnik_vasil_pda") and not has_alife_info("tp_zvonar_unlock_provodnik_vasil_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then give_info("tp_zvonar_unlock_one_pda") if vasil_pda_timer == nil then vasil_pda_timer = game.get_game_time() end end if vasil_pda_timer ~= nil then if game.get_game_time():diffSec(vasil_pda_timer) > 10800 then vasil_pda_timer = nil give_info("tp_zvonar_unlock_provodnik_vasil_pda") give_info("tp_zvonar_unlock_provodnik_vasil_pda_compl") disable_info("tp_zvonar_unlock_one_pda") xr_effects.send_message(nil,nil,{"ПДА Василя взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000}) end end if has_alife_info("tp_actor_give_zvonar_killer_ydav_pda") and not has_alife_info("tp_zvonar_unlock_killer_ydav_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then give_info("tp_zvonar_unlock_one_pda") if ydav_pda_timer == nil then ydav_pda_timer = game.get_game_time() end end if ydav_pda_timer ~= nil then if game.get_game_time():diffSec(ydav_pda_timer) > 10800 then ydav_pda_timer = nil give_info("tp_zvonar_unlock_killer_ydav_pda") give_info("tp_zvonar_unlock_killer_ydav_pda_compl") disable_info("tp_zvonar_unlock_one_pda") xr_effects.send_message(nil,nil,{"ПДА Удава взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000}) end end if has_alife_info("tp_actor_give_zvonar_monolitovec_pda") and not has_alife_info("tp_zvonar_unlock_monolitovec_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then give_info("tp_zvonar_unlock_one_pda") if monolitovec_pda_timer == nil then monolitovec_pda_timer = game.get_game_time() end end if monolitovec_pda_timer ~= nil then if game.get_game_time():diffSec(monolitovec_pda_timer) > 10800 then monolitovec_pda_timer = nil give_info("tp_zvonar_unlock_monolitovec_pda") give_info("tp_zvonar_unlock_monolitovec_pda_compl") disable_info("tp_zvonar_unlock_one_pda") xr_effects.send_message(nil,nil,{"ПДА монолитовца взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000}) end end end И вот сама функция в которой надо увеличить таймер
Код function force_grif_pda_timer(timer) if grif_pda_timer ~= nil then local t = game.CTime() local Y, M, D, h, m, s, ms = 0, 0, 0, 0, 0, 0, 0 t:set( Y + 2000, M, D, h, m, grif_pda_timer + timer, ms) grif_pda_timer = game.get_game_time():diffSec(t) end end
|
|
Суббота, 19.05.2018, 11:42
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
09.08.2015 |
|
|
|
|
|
atanda
Суббота, 19.05.2018, 17:18 | Сообщение # 1001
Статус: |
|
Бывалый: |
|
Сообщений: |
672 |
Награды: |
7 |
Регистрация: |
12.07.2017 |
|
Цитата _S_k_i_F_ ( ) Но игра вылетала Ты пытаешься к объекту, не имеющему перегруженное сложение, прибавить число!
|
|
Суббота, 19.05.2018, 17:18
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
12.07.2017 |
|
|
|
|
|
Статус: |
|
Новичок: |
|
Сообщений: |
269 |
Награды: |
2 |
Регистрация: |
25.08.2014 |
|
Подскажите, пожалуйста... Имеются два THM В первом строки: Ђ? ? НМL= act\act_face_01_bump Во втором: Ђ? " НМL= act\act_face_01_bump В первом, как видно, знаки: и знак ? Во втором их нет. Что означают эти знаки?
Сообщение отредактировал DarkSatellite - Воскресенье, 20.05.2018, 09:00
|
|
Воскресенье, 20.05.2018, 08:49
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.08.2014 |
|
|
|
|
|
скат
Воскресенье, 20.05.2018, 09:02 | Сообщение # 1003
|
Воскресенье, 20.05.2018, 09:02
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
16.01.2014 |
|
|
|
|
Воскресенье, 20.05.2018, 09:07
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.08.2014 |
|
|
|
|
|
makdm
Воскресенье, 20.05.2018, 10:15 | Сообщение # 1005
Время Альянса
Статус: |
|
Опытный: |
|
Сообщений: |
1787 |
Награды: |
19 |
Регистрация: |
22.11.2012 |
|
_S_k_i_F_, если я правильно понял то, что ты хочешь сделать, то схема написания скрипта должна быть такой:
|
|
Воскресенье, 20.05.2018, 10:15
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
22.11.2012 |
|
|
|
|