[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница

Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Статус: |
 |
Опытный: |
 |
Сообщений: |
1343 |
Награды: |
6 |
Регистрация: |
07.03.2016 |
|
Цитата oleg19966 (  ) какая-то функция, но она походу не прописана в xr_effects Может автор опечатался?
Единственное похожее что нашел:
Код function remove_npc(actor, npc, p) if p and p[1] then npc_id = get_story_object_id(p[1]) end if npc_id ~= nil then alife():release(alife():object(npc_id), true) end end
Попробовал - прокатило.
Цитата Overfirst (  ) destroy_object А в чём разница между ними?
В принципе попробовал, работает.
Код function destroy_object(actor, obj, p) local sobj if p == nil then sobj = alife():object(obj:id()) else if p[1] == nil or p[2] == nil then abort("Wrong parameters in destroy_object function!!!") end local target_str = nil if p[3] ~= nil then target_str = p[1].."|"..p[2]..","..p[3] else target_str = p[1].."|"..p[2] end local target_position, target_id, target_init = xr_remark.init_target(obj, target_str) if target_id == nil then printf("You are trying to set non-existant target [%s] for object [%s] in section [%s]", tostring(target_str), tostring(obj:name()), tostring(db.storage[obj:id()].active_section)) end sobj = alife():object(target_id) end if sobj == nil then return end printf("releasing object ["..sobj:name().."]") alife():release(sobj, true) end
Непонятно что лучше юзать в контексте логики мода.Добавлено (08.04.2020, 00:11) --------------------------------------------- Ну судя по тому, что в аналогичных файлах рядом юзается destroy_object, значит он.
remove_npc юзается в логике рестрикторов в моде.
|
|
Среда, 08.04.2020, 00:02
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
07.03.2016 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
Цитата sektor_aka (  ) А в чём разница между ними? Функция remove_npc удаляет любой объект по story_id (на самом деле не только неписей, несмотря на название). Функция destroy_object, если вызвать её без параметров, просто удалит объект, которым она была вызвана, а если параметры передавать, то тут уже интереснее. Первым аргументом она принимает, по какому параметру мы будем получать удаляемый объект, а потом передаем значение этого параметра. Пример:
Код %=destroy_object(story:object_story_id)% Ключевое слово story говорит об удалении объекта с полем story_id = object_story_id. Есть там еще приблуды по другим параметрам, посмотри саму функцию и примеры её использования от GSC, там и по работе в смарте, и по чему-то ещё можно удалять объекты.
Цитата sektor_aka (  ) Непонятно что лучше юзать в контексте логики мода. Нет никаких ограничений. Что тебе нравится больше, то и используй. Обе эти функции в конечном итоге вызывают одно и то же, просто приходят к этому по-разному, получая объект разными способами.
|
|
Среда, 08.04.2020, 00:11
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Статус: |
 |
Отмычка: |
 |
Сообщений: |
165 |
Награды: |
1 |
Регистрация: |
10.10.2018 |
|
подскажите плз,а можно както исправить чтобы всегда была метка и не нужно жать кнопки ?! вот с такого скрипта....
Сообщение отредактировал KOLOMBO13 - Среда, 08.04.2020, 00:37
|
|
Среда, 08.04.2020, 00:35
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
10.10.2018 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
316 |
Награды: |
2 |
Регистрация: |
14.07.2019 |
|
KOLOMBO13, в on_game_start:
Цитата local obj_id = get_story_object_id("mar_smart_terrain_doc_doctor") level.map_add_object_spot(obj_id, "ui_pda2_quest_npc_location", "Болотный Доктор")
|
|
Среда, 08.04.2020, 11:00
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
14.07.2019 |
|
|
|
|
|
Статус: |
 |
Отмычка: |
 |
Сообщений: |
165 |
Награды: |
1 |
Регистрация: |
10.10.2018 |
|
molodoy_chelovek, да Вы ищо и dobriy_chelovek спасибо, а то я тут вычитал про новую отметку как делать, а у Вас проще будет !
Сообщение отредактировал KOLOMBO13 - Среда, 08.04.2020, 11:41
|
|
Среда, 08.04.2020, 11:40
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
10.10.2018 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
312 |
Награды: |
2 |
Регистрация: |
11.02.2019 |
|
Ребята вот такая проблема... в общем имеется дверь с вот такой логикой:
Проблема в том что изначально если следовать логике по умолчанию дверь открыта, но вот физически если на неё нажать то она реагировать не будет почему-то. Надпись "открыть дверь" так же присутствует. Можно конечно сразу сделать её физически открытой но тогда это будет проходной двор и мне никак не нужно.
Сообщение отредактировал Paradox27kms - Среда, 08.04.2020, 14:50
|
|
Среда, 08.04.2020, 14:47
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.02.2019 |
|
|
|
|
|
Время Альянса
Статус: |
 |
Ветеран: |
 |
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
Paradox27kms, Во первых дверь изначально в этой логике не "открыта", а "незаперта". То есть она закрыта и при взаимодействии с ней игрока она откроется (при верно написанной логике). Во вторых дверь под логикой и не должна реагировать на физические воздействия. В третьих, а что собственно нужно? Или это ваш маленький секрет?
Сообщение отредактировал denis2000 - Среда, 08.04.2020, 15:07
|
|
Среда, 08.04.2020, 14:56
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
Статус: |
 |
Опытный: |
 |
Сообщений: |
1313 |
Награды: |
4 |
Регистрация: |
30.08.2018 |
|
Paradox27kms, Код [ph_door@closed] closed = true
[ph_door@open] closed = true Конечно, у вас в разных секциях параметр "closed" одинаковый, замени:Код [ph_door@open] closed = true На вот это:
Код [ph_door@open] closed = false
UPD: Кстати, вот эту часть логики можно вообще удалить, так как она не используется:Код [ph_door@locked] locked = true snd_open_start = trader_door_unlock
Сообщение отредактировал AziatkaVictor - Среда, 08.04.2020, 15:04
|
|
Среда, 08.04.2020, 15:00
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
30.08.2018 |
|
|
|
|
|
Время Альянса
Статус: |
 |
Ветеран: |
 |
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
AziatkaVictor, Для начала, неплохо быдло бы узнать какая логика двери в принципе требуется, хотя может вы телепат...
sashakrop, Я только идею предложил, даже без каких либо гарантий ее реализуемости.
Сообщение отредактировал denis2000 - Среда, 08.04.2020, 15:09
|
|
Среда, 08.04.2020, 15:07
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
Среда, 08.04.2020, 15:10
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
30.08.2018 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
312 |
Награды: |
2 |
Регистрация: |
11.02.2019 |
|
AziatkaVictor, Именно так.
|
|
Среда, 08.04.2020, 15:15
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.02.2019 |
|
|
|
|
|
Время Альянса
Статус: |
 |
Ветеран: |
 |
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
Цитата AziatkaVictor (  ) наверное он говорил о том, что дверь на нажатие "F" не реагирует Ничего подобного в изначальном посте я не увидел, но вам возможно виднее... Вы точно телепат!!!
Цитата Paradox27kms (  ) Именно так. А сразу постеснялись объяснить суть проблемы?
Сообщение отредактировал denis2000 - Среда, 08.04.2020, 15:20
|
|
Среда, 08.04.2020, 15:15
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
312 |
Награды: |
2 |
Регистрация: |
11.02.2019 |
|
AziatkaVictor, По твоей логике у меня в игре дверь уже по умолчанию открыта физически (понимание физичечки - сама моделька двери открыта изначально). А мне нужно чтобы было как положено, она закрыта - нажал на F открыл!
|
|
Среда, 08.04.2020, 15:30
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.02.2019 |
|
|
|
|
|
Статус: |
 |
Опытный: |
 |
Сообщений: |
1313 |
Награды: |
4 |
Регистрация: |
30.08.2018 |
|
Paradox27kms, ну откройте глаза! Вот:Код [logic] active = ph_door@open Вы сами указали активной секцию, где она открыта, поменяйте на: Код [logic] active = ph_door@closed
|
|
Среда, 08.04.2020, 15:32
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
30.08.2018 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
 |
Опытный: |
 |
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Paradox27kms,
Это где? в ЗП или в ТЧ????? Ты тут такой бардак развёл, что хрен проссы про что разговор, валишь всё в одну кучу и ТЧ и ЗП...
|
|
Среда, 08.04.2020, 15:35
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|