Случайная подборка модов
Paradise Lost
3.7
Autumn Aurora 2
4.1
Prosectors Project
4.0
Судьба Зоны 0.5
3.9
Тайный путь
3.6
SGM 1.7: Geonezis Addon
4.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  Wolfstalker
Среда, 24.02.2016, 00:25 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга


• Не флудить
• Предварительно просматривайте раздел, ведь ответ на ваш вопрос может быть там
• В своем вопросе указывайте платформу моддинга — Тень Чернобыля, Чистое небо или Зов Припяти




F.A.Q

  Злобная реклама
Среда, 24.02.2016, 00:25
Статус:
Сообщений: 666
Регистрация: 05.04.2010
Российская Федерация  STALKER_Game
Вторник, 26.09.2017, 17:23 | Сообщение # 8101
Статус:
Отмычка:
Сообщений: 84
Награды: 6
Регистрация: 16.02.2016

Как полностью отключить респавн(обновление популяции) NPC и мутантов?
Платформа: сталкер ТЧ 1.0006
  Злобная реклама
Вторник, 26.09.2017, 17:23
Статус:
Сообщений: 666
Регистрация: 16.02.2016
Российская Федерация  makdm
Вторник, 26.09.2017, 17:40 | Сообщение # 8102
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата _S_k_i_F_ ()
Такая проблема: написал функцию для замены визуала НПС

Методы движка работают корректно при переходе НПС из OFFLINE в ONLINE
Прописываются в скриптах в методах net_spawn(sobject)

Поэтому я делал по другому:
НПС "ждал", когда ГГ "отвернется". Тогда быстрый перевод НПС в offline и возврат в online с заиеной визуала и группировки.

З.Ы. И не забывайте, что движковый метод set_visual_name "писался" разрабами под кат-сцены с ГГ. Поэтому такая смена визуала у НПС автоматом включает его бессмертие.
Сообщение отредактировал makdm - Вторник, 26.09.2017, 18:21
  Злобная реклама
Вторник, 26.09.2017, 17:40
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Украина  _S_k_i_F_
Вторник, 26.09.2017, 19:04 | Сообщение # 8103
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

makdm, сделал с переводом в он/офф-лайн, вылетает без лога stack trace:
Код
function wf_a3_set_npc_zombied(actor, npc, p)
local visual = npc:get_visual_name()
alife():set_switch_offline(npc.id, true)
alife():set_switch_online(npc.id, false)
npc:set_character_community("zombied", 0, 0)
npc:set_visual_name(tostring(visual.."_zombied"))
alife():set_switch_online(npc.id, true)
alife():set_switch_offline(npc.id, false)
end

Если написать так, то не вылетает, но и не переводит в он/офф-лайн
Код
function wf_a3_set_npc_zombied(actor, npc, p)
local visual = npc:get_visual_name()
alife():set_switch_offline(npc:id(), true)
alife():set_switch_online(npc:id(), false)
npc:set_character_community("zombied", 0, 0)
npc:set_visual_name(tostring(visual.."_zombied"))
alife():set_switch_online(npc:id(), true)
alife():set_switch_offline(npc:id(), false)
end
Сообщение отредактировал _S_k_i_F_ - Вторник, 26.09.2017, 19:16
  Злобная реклама
Вторник, 26.09.2017, 19:04
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  xr_Sanya
Вторник, 26.09.2017, 21:52 | Сообщение # 8104
Статус:
Бывалый:
Сообщений: 876
Награды: 4
Регистрация: 19.08.2015

ЗП. Можно ли както получить информацию о деньгах НПС в ОФФЛАЙНЕ? Насколько я знаю инфа о деньгах НПС запакована в net packet, МБ есть способ получения денег нпс без нет пакета?
Сообщение отредактировал xr_Sanya - Вторник, 26.09.2017, 21:52
  Злобная реклама
Вторник, 26.09.2017, 21:52
Статус:
Сообщений: 666
Регистрация: 19.08.2015
Российская Федерация  makdm
Среда, 27.09.2017, 14:02 | Сообщение # 8105
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата _S_k_i_F_ ()
сделал с переводом в он/офф-лайн, вылетает без лога stack trace:

_S_k_i_F_, немного не так.
Вот так пишите в xr_effects.script:



А в xr_motivator.script в метод motivator_binder:net_spawn(sobject) пишите:



Еще раз говорю, что метод set_visual_name написан для кат-сцен. Там ведь как, проспавнили чувака, поменяли его визуал на визуал ГГ, отыграли сцену и удалили чувака.
Поэтому метод меняет только UPDATE часть нет-пакета. После сейв\лоад у чувака будет старый визуал.
Для изменения визуала "навсегда" нужен другой подход : перевод НПС в оффлайн, перепаковка STATE части нет-пакета, возврат НПС в онлайн.
Но... это совсем другие скрипты.

Добавлено (27.09.2017, 14:02)
---------------------------------------------
Цитата xr_Sanya ()
МБ есть способ получения денег нпс без нет пакета?

xr_Sanya, Нет такого способа.
А вас что, смущает нет-пакет?
Не нужно его бояться. Нужно просто приложить усилие и разобраться в нем.
Получение денег у НПС по его story_id:
Где-то в каком-то скрипте получаем количество денег у НПС со story_id = stalker_has_story_id :

local money = get_money_by_story_id("stalker_has_story_id ")

В _G.script пишем функцию:



Вот и всех делов - то.
Сообщение отредактировал makdm - Среда, 27.09.2017, 14:04
  Злобная реклама
Среда, 27.09.2017, 14:02
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  atanda
Среда, 27.09.2017, 15:24 | Сообщение # 8106
Статус:
Бывалый:
Сообщений: 672
Награды: 7
Регистрация: 12.07.2017

Нашёл метод для тушения костра в зп, написал кое какой код, вставил в actor_binder:update и при заходе в игру ловлю вот такой вот вылет:
Код

Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : No such operator defined


Вот, собственно, код:
Код

for i = 1, 65535 do
    local s = alife():object(i)
    if s then
  local o = level.object_by_id(s.id)
  if o then
   local cf = o:get_campfire()
   if cf and o:position():distance_to(db:actor():position()) < 5 then
    cf:turn_off()
   end
  end
    end
end
  Злобная реклама
Среда, 27.09.2017, 15:24
Статус:
Сообщений: 666
Регистрация: 12.07.2017
Российская Федерация  denis2000
Среда, 27.09.2017, 15:55 | Сообщение # 8107
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

buffy, Зачем писать настолько кривой код если достаточно в скрипте bind_campfire.script расскоментировать строки отвечающие за управление кострами? И сделать этот код таким каким тебе нужно.
Сообщение отредактировал denis2000 - Среда, 27.09.2017, 15:59
  Злобная реклама
Среда, 27.09.2017, 15:55
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  atanda
Среда, 27.09.2017, 16:07 | Сообщение # 8108
Статус:
Бывалый:
Сообщений: 672
Награды: 7
Регистрация: 12.07.2017

denis2000,
Да я так для теста написал, ну ладно и на этом спасибо. Так в чём собственно была то ошибка, как я понял какого-то оператора нет.

Добавлено (27.09.2017, 16:07)
---------------------------------------------
denis2000,
И да, а где происходит инициализация этого метода campfire_binder:__init? ну а точнее есть ли экземпляр этого класса?

  Злобная реклама
Среда, 27.09.2017, 16:07
Статус:
Сообщений: 666
Регистрация: 12.07.2017
Российская Федерация  denis2000
Среда, 27.09.2017, 16:32 | Сообщение # 8109
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

buffy, Всякий ли объект имеет такой метод: local cf = o:get_campfire()? Скорее всего не каждый. Что будет если вызвать отсутствующий метод? Правильно - вылет.
  Злобная реклама
Среда, 27.09.2017, 16:32
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  atanda
Среда, 27.09.2017, 16:45 | Сообщение # 8110
Статус:
Бывалый:
Сообщений: 672
Награды: 7
Регистрация: 12.07.2017

denis2000,
Хм, у меня что-то нет идей как раелизовать проверку на то, что объект например нпс или тот же самый костёр wacko
  Злобная реклама
Среда, 27.09.2017, 16:45
Статус:
Сообщений: 666
Регистрация: 12.07.2017
Российская Федерация  denis2000
Среда, 27.09.2017, 16:58 | Сообщение # 8111
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Цитата buffy ()
что объект например нпс

Уже сделано за вас GSC в _g.script:
Код
function IsStalker (object, class_id)
  local id = class_id or get_clsid(object)
  return stalker_classes[id] == true
end

Для костров делаете по аналогии. У костров clsid.zone_campfire = 206 (см. lua_help.script)
Сообщение отредактировал denis2000 - Среда, 27.09.2017, 17:01
  Злобная реклама
Среда, 27.09.2017, 16:58
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Сомали  WolfHeart
Среда, 27.09.2017, 21:19 | Сообщение # 8112
Статус:
Опытный:
Сообщений: 3154
Награды: 18
Регистрация: 06.06.2017

Цитата VovanFitisov ()
Нужна оригинальная gamedata со всеми файлами для ЗП

А сам распаковать, не можешь?
Вот распаковщик: S.T.A.L.K.E.R. Universal Extractor 2.0
Там все подробно расписано.

Сообщение отредактировал WolfHeart - Среда, 27.09.2017, 21:20
  Злобная реклама
Среда, 27.09.2017, 21:19
Статус:
Сообщений: 666
Регистрация: 06.06.2017
Российская Федерация  topdog
Среда, 27.09.2017, 22:18 | Сообщение # 8113
Статус:
Неопытный:
Сообщений: 412
Награды: 5
Регистрация: 09.10.2013

VovanFitisov, ну так посмотри в resources и levels. Вдруг что и найдется. smile Да и в patches тоже заглянуть не помешает.
Сообщение отредактировал topdog - Среда, 27.09.2017, 22:20
  Злобная реклама
Среда, 27.09.2017, 22:18
Статус:
Сообщений: 666
Регистрация: 09.10.2013
Сомали  WolfHeart
Среда, 27.09.2017, 22:25 | Сообщение # 8114
Статус:
Опытный:
Сообщений: 3154
Награды: 18
Регистрация: 06.06.2017

Цитата VovanFitisov ()
Никаких .db архивов нет, все облазил.

Как это нет?
Что папки levels, localization, mp, patches и resources, пустые? surprised
Так тогда может и папка bin пустая? biggrin
Цитата VovanFitisov ()
И ссылка твоя нерабочая

Как это не рабочая??? Я прежде чем что-то давать, проверяю.


Сообщение отредактировал WolfHeart - Среда, 27.09.2017, 22:26
  Злобная реклама
Среда, 27.09.2017, 22:25
Статус:
Сообщений: 666
Регистрация: 06.06.2017
Российская Федерация  NEO
Среда, 27.09.2017, 23:10 | Сообщение # 8115
Статус:
Ветеран:
Сообщений: 4497
Награды: 11
Регистрация: 24.05.2012

VovanFitisov, Вот в этих папках все нужные архивы:

А вот тебе распаковщик с инструкцией http://rgho.st/6qPS8clnB
  Злобная реклама
Среда, 27.09.2017, 23:10
Статус:
Сообщений: 666
Регистрация: 24.05.2012
Поиск: