Перейти к содержанию

Рекомендуемые сообщения

 

1491319448148138184.png

Тема посвящена моддингу на платформе Зов Чернобыля.

 

Правила темы:

  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть.
  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
  • Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться.
  • Так же, если вы модифицируете готовый мод, обязательно указывайте какой. Некоторые модификации очень сильно отличаются от Call of Chernobyl. 
  • Лайк 4
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Kalambur никак. Или поглядеть ка сделаны скрипты в млр аддоне в более сложных квестах, заменив на нужный скрипт.

Изменено пользователем Hoperise
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Kalambur это типа получение перехода на другую локу?

Я из Стасона взял скрипт на открытие перехода, вот бы мне ещё знать, как эти переходы блокировать, конечно на sigerious есть инфа как восстановить меню для перехода и как переход заблокировать изначально, и открыть лишь по сюжету.

function название функции() 
    open_transition('название перехода') 
end

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery там вопрос как выдавать переход в качестве награды через квест, а не через диалог. Разницы особой не вижу, но таков вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery лучше второй вариант, сразу, как только попадает билет в инвентарь к игроку, так и скидка действовать начинает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hunter Проблема в реализации ограничения по времени как я понял.

Misery Могу предложить альтернативу в виде сдачи торгашу купона и выдачи поршня по истечению времени (таймером) с его дальнейшим отнятием (поршня).
П.С. пример с таймером можно поглядеть в зп сдача Азоту черного ящика.

Изменено пользователем Hoperise
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hoperise ааа, ну если это квесты, как в CoC типо у каждого NPC то да никак. А если этот квест написан вручную, и этот квест один, уникальный, то можно реализовать.

Конечно блин, выдача перехода в награду от рандомного NPC, проверка на наличие перехода и если этот переход у нас есть, то выдаем другой, если он у нас есть, то выдаем другую награду. Но, нет это не очень. Лучше уж сделать в виде отдельного квеста или продавца переходов, если конечно после каждого выброса переходы не закрываются или открываются. Сложна-сложна.

13 минут назад, Hoperise сказал:

Могу предложить альтернативу в виде сдачи торгашу купона и выдачи поршня по истечению времени (таймером) с его дальнейшим отнятием (поршня).

Да, можно так сделать, спасибо.

13 минут назад, Hoperise сказал:

П.С. пример с таймером можно поглядеть в зп сдача Азоту черного ящика.

Спасибо большое!


Дополнено 3 минуты спустя

Только нужно ещё, чтобы игрок знал, что у него действует купон. В Dead Air об нейтралитете с группировкой игрок знал квестом, то есть квест выдавался типо напоминание, что действует нейтралитет.

Тогда, отдаем торгашу купон, выдаём себе квест, делаем таймер, когда таймер истечет и заберет поршень, квест отменяется.


Дополнено 6 минуты спустя

Сделаю, как отдельный аддон.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery таймер будет написан в квесте или где-то еще?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery можно не создавая квест отправить сообщение от имени торгаша игроку во время начала скидки и по его окончанию, имхо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hunter Hoperise конечно можно было бы сделать квест как напоминание, что талон действует только 3 дня, но это же не сложно запомнить, поэтому отправить сообщение от имени торговца будет лучшим решением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
22 часа назад, Hoperise сказал:

пример с таймером можно поглядеть в зп сдача Азоту черного ящика.

Не могу найти скрипт. Это же скриптово, да?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery нет, через логику рестриктора jup_b9_logic.

Спойлер


[sr_idle@4]
on_game_timer = 10800 | sr_idle@5 %+jup_b9_blackbox_decrypted_time%
on_info = {+jup_b9_blackbox_decrypted_time} sr_idle@5

[sr_idle@5]
on_info = {+jup_b9_blackbox_records_go -jup_b9_blackbox_records_end} %=disable_ui_only =play_sound(jup_b9_blackbox_records)%
on_signal 

 

Изменено пользователем Hoperise
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hoperise капец, рестриктор. Для чего нужны рестрикторы, я не очень понимаю?


Дополнено 0 минут спустя
41 минуту назад, Hoperise сказал:

on_game_timer = 10800

В миллисекундах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery да в миллисикундах.
Ничего сложного в рестрикторах нет, они позволяют упростить некоторые моменты в игре, без использования бустеров и колбеков (логика выдачи поршня, таймеры и тд.).

 

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Hoperise сказал:

да в миллисикундах.

Тогда если я хочу на три дня, то нужно написать число 72000?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery без понятия как это все высчитывать. честно говоря.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hoperise Рестрикторы нужно обязательно заспавнить через LevelEditor?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Misery есть способ через асдс, если есть в наличие нужная версия и снятые координаты. Однако это дитчайший костыль, которым пользуются не многие, те у кого либо сдк по тем или иным причинам не идет, либо просто не слышали про сдк.

Изменено пользователем Hoperise

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
   

Hoperise а через сколько часов в оригинале Азот присылает сообщение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Приветствую. Подскажите пожалуйста скрипт спавна уникального нпс на локации. Нужно чтобы нпс сравнился сразу при старте игры, либо когда игрок придёт на данную локацию. Скрипт должен активироваться сразу, не через диалог или ещё как нибудь там. У самого не получилось написать рабочий. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

ParaworldFan Этот подойдет?

Спойлер

local level_vertexes={
уровень = {lvid=значение, gvid=значение},
}

local npc = { -- берутся из spawn_sections, но может и по классу пройдет. Не знаю.
"имя"
}

function random_npc_spawn()
local count = 1
local section = npc[math.random(table.getn(npc))] -- выбираем секцию моба
local lv = math.random(level_vertexes[level.name()]["lvid"]) --выбираем левел вертекс
local gv = level_vertexes[level.name()]["gvid"] --выбираем гэйм вертекс
for ind = 1, count do
	alife():create(section, level.vertex_position(lv), lv, gv)--\\level.vertex_position(lv) - позиция левел вертекса
   end
end

 

Активировать сразу и 1 раз, думаю, как-то можно. math.randomы поубирать, думаю, тоже можно. Вроде как _init в bind_stalker срабатывает 1 раз. Но это все надо пробовать. Я не мастак, просто рискнул помочь)

Изменено пользователем ian98

76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
28 минут назад, ian98 сказал:

ParaworldFan Этот подойдет?

  Скрыть контент


local level_vertexes={
уровень = {lvid=значение, gvid=значение},
}

local npc = { -- берутся из spawn_sections, но может и по классу пройдет. Не знаю.
"имя"
}

function random_npc_spawn()
local count = 1
local section = npc[math.random(table.getn(npc))] -- выбираем секцию моба
local lv = math.random(level_vertexes[level.name()]["lvid"]) --выбираем левел вертекс
local gv = level_vertexes[level.name()]["gvid"] --выбираем гэйм вертекс
for ind = 1, count do
	alife():create(section, level.vertex_position(lv), lv, gv)--\\level.vertex_position(lv) - позиция левел вертекса
   end
end

 

Активировать сразу и 1 раз, думаю, как-то можно. math.randomы поубирать, думаю, тоже можно. Вроде как _init в bind_stalker срабатывает 1 раз. Но это все надо пробовать. Я не мастак, просто рискнул помочь)

Спасибо большое, попробую так

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

ParaworldFan всегда пожалуйста, а вообще,  если нужен с ни, то может all.spawn? Или там через сдк какой? Что-то мне подсказывает, что так было бы лучше.


76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
11 минут назад, ian98 сказал:

ParaworldFan всегда пожалуйста, а вообще,  если нужен с ни, то может all.spawn? Или там через сдк какой? Что-то мне подсказывает, что так было бы лучше.

Рад был бы, да вот он не распаковывается, отсутсвует какая то новая переменная и распаковщик не распаковывает.


Дополнено 19 минуты спустя

Я новичок в модострое, со скриптами не очень дружу. Смотрел в интернете, статьи как спавнить нпс, нашел варианты - all.spawn, smart terrain и через script. all.spawn stason174 (6.05) на котором я экспериментирую у меня не распаковывается, а smart terrain мне не подходит. Вот в моде SGM 2.2 узнал, что есть NPC спаунящиеся через скрипт, прикрепляю его. Но добавив и включив такой же скрипт через bind_stalker в CoC, мне не удалось никого заспавнить. Поведайте опытные, что же этот файл все таки делает, мне кажется он делает не то, что мне нужно?

sgm_spawner.script

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Подскажите пожалуйста, правельную логику торгаша которой сразу стреляет, а не бегает по базе просто с места на место !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн