Случайная подборка модов
Dollchan 7: Inception
2.9
Lost World 3.0
3.9
NEYA Online
3.1
We Are Not Alone
4.0
Priboi story
4.1
MDRK mod 1.0
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
Российская Федерация  [Qvt]
Пятница, 25.03.2016, 10:57 | Сообщение # 616
Статус:
Отмычка:
Сообщений: 154
Награды: 3
Регистрация: 19.02.2016

mmihaill, смотри тут и посты дальше
http://ap-pro.ru/forum/1-9999-665#843634
  Злобная реклама
Пятница, 25.03.2016, 10:57
Статус:
Сообщений: 666
Регистрация: 19.02.2016
Российская Федерация  Neptun
Пятница, 25.03.2016, 13:54 | Сообщение # 617
Связной
Статус:
Бывалый:
Сообщений: 672
Награды: 9
Регистрация: 25.03.2012

[Qvt], спасибо, а чем компилить/декомпилить движковый файл?
  Злобная реклама
Пятница, 25.03.2016, 13:54
Статус:
Сообщений: 666
Регистрация: 25.03.2012
Российская Федерация  denis2000
Пятница, 25.03.2016, 14:27 | Сообщение # 618
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Mopa, Сожалею, что вы настолько заняты, что не можете прочитать всю переписку.


_S_k_i_F_, Что-то типа такого:
Код
function generic_object_binder:save(packet)
    set_save_marker(packet, "save", false, "generic_object_binder")
    object_binder.save(self, packet)
    xr_logic.save_obj(self.object, packet)
    if self.use then
  packet:w_bool(self.use)
  packet:w_stringZ(self.item)
  packet:w_u16(self.item_count)
    else
  packet:w_bool(false)
    end
    set_save_marker(packet, "save", true, "generic_object_binder")
end

function generic_object_binder:load(reader)
    self.loaded = true
    set_save_marker(reader, "load", false, "generic_object_binder")
    object_binder.load(self, reader)
    xr_logic.load_obj(self.object, reader)
    self.use = reader:r_bool()
    if self.use then
  self.item = reader:r_stringZ()
  self.item_count = reader:r_u16()
  self.object:set_callback(callback.use_object, self.on_use, self)
    end
    set_save_marker(reader, "load", true, "generic_object_binder")
end
Сообщение отредактировал denis2000 - Пятница, 25.03.2016, 14:29
  Злобная реклама
Пятница, 25.03.2016, 14:27
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Украина  _S_k_i_F_
Пятница, 25.03.2016, 15:07 | Сообщение # 619
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

denis2000, большущее человеческое спасибо! Все как надо! Правда пришлось функцию загрузки немного изменить
Код

function generic_object_binder:load(reader)
    self.loaded = true
    set_save_marker(reader, "load", false, "generic_object_binder")
    object_binder.load(self, reader)
    xr_logic.load_obj(self.object, reader)
    self.use = reader:r_bool()
    if self.use then
  self.item = reader:r_stringZ()
  self.item_count = reader:r_u16()
local character_use = "mutant_character_use"
  self.object:set_tip_text(character_use)
  self.object:set_callback(callback.use_object, self.on_use, self)
  self.sound_use = sound_object("material\\dead-body\\collide\\hithard0"..tostring(math.random(1,
6)).."hl")
    end
    set_save_marker(reader, "load", true, "generic_object_binder")
end
  Злобная реклама
Пятница, 25.03.2016, 15:07
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  Advisor890
Пятница, 25.03.2016, 16:58 | Сообщение # 620
Статус:
Отмычка:
Сообщений: 115
Награды: 1
Регистрация: 07.07.2012

Какой функцией в ЧН можно перевести НПС в оффлайн или просто "удалить"?
Пробовал вот эту функцию:

function name()
local npc = alife():story_object(sid)
if npc then
alife():set_switch_offline (npc.id, true)
alife():set_switch_online (npc.id, false)
alife():set_interactive (npc.id, false)
end
end

Если её вызывать из диалога, то НПС не пропадает.
Пробовал ещё вот такую функцию:

function name()
local npc = level_object_by_sid(sid)
if obj then
alife():release(obj, true)
end
end

Но она тоже не работает.
  Злобная реклама
Пятница, 25.03.2016, 16:58
Статус:
Сообщений: 666
Регистрация: 07.07.2012
Российская Федерация  [Qvt]
Пятница, 25.03.2016, 17:06 | Сообщение # 621
Статус:
Отмычка:
Сообщений: 154
Награды: 3
Регистрация: 19.02.2016

mmihaill, ничем, скачивай слитые исходники.
  Злобная реклама
Пятница, 25.03.2016, 17:06
Статус:
Сообщений: 666
Регистрация: 19.02.2016
Украина  _S_k_i_F_
Пятница, 25.03.2016, 17:08 | Сообщение # 622
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

Advisor890, для удаление НПС вот функция
Код
function del_npc()
local npc_id = get_story_object_id("стори_айди_НПС")
if npc_id ~= nil then
alife():release(alife():object(npc_id), true)
end
end
  Злобная реклама
Пятница, 25.03.2016, 17:08
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  Advisor890
Пятница, 25.03.2016, 17:30 | Сообщение # 623
Статус:
Отмычка:
Сообщений: 115
Награды: 1
Регистрация: 07.07.2012

_S_k_i_F_, Вызываю через диалог с НПС и вылетает вот с таким логом:
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
Line : 180
Description : <no expression>
Arguments : LUA error: ... - Чистое Небо\gamedata\scripts\marsh_scripts.script:32: attempt to call global 'get_story_object_id' (a nil value)
  Злобная реклама
Пятница, 25.03.2016, 17:30
Статус:
Сообщений: 666
Регистрация: 07.07.2012
Украина  _S_k_i_F_
Пятница, 25.03.2016, 17:52 | Сообщение # 624
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

Advisor890, удалять НПС через диалог с ним некорректно. Перемести функцию в xr_effects, по окончанию диалога выдай поршень и вызови функцию через рестриктор
Код
[logic]
active = sr_idle

[sr_idle]
on_info = {+info} sr_idle@1

[sr_idle@1]
on_game_timer = 30 | sr_idle@nil %=del_npc%

[sr_idle@nil]

Добавлено (25.03.2016, 17:52)
---------------------------------------------
Advisor890, если в _g.script нет функции

Код
function get_object_story_id(obj_id)
    return story_objects.get_story_objects_registry():get_story_id(obj_id)
end

то добавь её и вылета не должно быть.
Сообщение отредактировал _S_k_i_F_ - Пятница, 25.03.2016, 17:50
  Злобная реклама
Пятница, 25.03.2016, 17:52
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  ins33
Пятница, 25.03.2016, 18:02 | Сообщение # 625
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

_S_k_i_F_, Зачем ставить рестриктор? НПС сам в состоянии себя удалить логикой. И теоретически можно и из диалога, но поршнем. Сам не проверял.

Advisor890, Проще добавить универсальную ф-ию в xr_effects
Код
---------------------------------------------------------------------
-- =release_sid(number)
---------------------------------------------------------------------

function release_sid(actor, npc, p)
local sim = alife()
local se_obj = sim:story_object(p[1])
if se_obj then
sim:release(se_obj, true)
end
end

И вызывать
Код
on_info = {+,-,=,!} nil %=release_sid(4)%

Опять Волку досталось.
Сообщение отредактировал ins33 - Пятница, 25.03.2016, 18:05
  Злобная реклама
Пятница, 25.03.2016, 18:02
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Российская Федерация  Advisor890
Пятница, 25.03.2016, 18:24 | Сообщение # 626
Статус:
Отмычка:
Сообщений: 115
Награды: 1
Регистрация: 07.07.2012

ins33, Твоя функция работает. Спасибо.
  Злобная реклама
Пятница, 25.03.2016, 18:24
Статус:
Сообщений: 666
Регистрация: 07.07.2012
Украина  alex1197
Пятница, 25.03.2016, 20:31 | Сообщение # 627
Статус:
Отмычка:
Сообщений: 160
Награды: 8
Регистрация: 09.03.2014

Кто сталкивался с таким вылетом? biggrin
Код

stack trace:

0023:061FAA92 xrGame.dll, xrFactory_Create()

[error][     183]    : Невозможно создать файл, так как он уже существует.
  Злобная реклама
Пятница, 25.03.2016, 20:31
Статус:
Сообщений: 666
Регистрация: 09.03.2014
Российская Федерация  AzzzA
Пятница, 25.03.2016, 21:45 | Сообщение # 628
Clear sky: Время перемен
Статус:
Опытный:
Сообщений: 3933
Награды: 11
Регистрация: 14.08.2012

Есть ли где тутор по реализации рандомных тайников в ЗП?
Скрипт АМК слишком трешевый для меня.
  Злобная реклама
Пятница, 25.03.2016, 21:45
Статус:
Сообщений: 666
Регистрация: 14.08.2012
Российская Федерация  denis2000
Пятница, 25.03.2016, 21:54 | Сообщение # 629
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

AzzzA,
Создание тайника в ЗП затронуто здесь. Выдача рандомного тайника осуществляется сриптом:
Код
treasure_manager.get_treasure_manager():give_random()
Сообщение отредактировал denis2000 - Пятница, 25.03.2016, 21:55
  Злобная реклама
Пятница, 25.03.2016, 21:54
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  c0nvercE
Пятница, 25.03.2016, 23:10 | Сообщение # 630
Статус:
Зевака:
Сообщений: 11
Награды: 1
Регистрация: 16.12.2015

Кто-нибудь работал с имитацией голоса под противогаз? Можно ли прописать эту заглушку под противогаз в конфигах или нет? С помощью какой программы отредактировать исходник, если нельзя через конфиг?
  Злобная реклама
Пятница, 25.03.2016, 23:10
Статус:
Сообщений: 666
Регистрация: 16.12.2015
Поиск: