Случайная подборка модов
ArmSTALKER: Warzone 2.0
3.9
Old Episodes. Epilogue
3.2
Новое Время. Научный Подход
3.8
MISERY 2.2
4.1
История Конвона. Часть первая
3.1
Равновесие
3.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  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
Российская Федерация  ins33
Понедельник, 27.06.2016, 17:15 | Сообщение # 2131
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

_S_k_i_F_, Точно! Тут ф-ия прерывается:if art~=nil then
Вот рабочая ф-ия
Код

function art_inv_ruk_test()
local ltx = system_ini()
for a=10,65635,1 do
local obj = db.actor:object(a)
if obj and string.find(obj:name(),"af_") then
local osect = obj:section()
local health = ltx:r_string(osect, "health_restore_speed")
local bleed = ltx:r_string(osect, "bleeding_restore_speed")
local radiation = ltx:r_string(osect, "radiation_restore_speed")
local power = ltx:r_string(osect, "power_restore_speed")
local acthealth = db.actor.health + health
--local actbleed = db.actor.bleeding + bleed
local actrad = db.actor.radiation + radiation
local actpower = db.actor.power + power
if health then
db.actor.health = acthealth
end
--if bleed then
--db.actor.bleeding = actbleed
--end
if radiation then
db.actor.radiation = actrad
end
if power then
db.actor.power = actpower
SendMessage("Здоровье = "..health)
SendMessage("Кровотечение = "..bleed)
SendMessage("Радиактивное воздействие = "..radiation)
SendMessage("Усталость = "..power)
end
end
end
end    
--end    

function SendMessage(text)
news_manager.send_tip(db.actor, text, 0, "default", 3000)
end
  Злобная реклама
Понедельник, 27.06.2016, 17:15
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Российская Федерация  makdm
Понедельник, 27.06.2016, 17:35 | Сообщение # 2132
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

ins33, в ЗП есть биндер артефактов.
Достаточно добавить таблицу артефактов в db.script, а в методах биндера net_spawn и net_destroy работать с этой таблицей.
Тогда не нужно перебирать 65635 объектов, а достаточно перебрать артефакты в этой таблице и получить нужный, если он там есть.

Кстати, касается всех клиентских классов объектов , которые вы хотите найти с помощью for a=10,65635,1 do
Впрочем и некоторых серверных.
  Злобная реклама
Понедельник, 27.06.2016, 17:35
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Украина  _S_k_i_F_
Понедельник, 27.06.2016, 17:44 | Сообщение # 2133
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

ins33, чет никак не хочет работать sad
  Злобная реклама
Понедельник, 27.06.2016, 17:44
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  ins33
Понедельник, 27.06.2016, 17:47 | Сообщение # 2134
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

makdm, У меня ТЧ.
Цитата makdm ()
net_spawn и net_destroy работать с этой таблицей
Не совсем понял о какой работе идёт речь.

Народ, залейте на обменник db.script из ЗП.
  Злобная реклама
Понедельник, 27.06.2016, 17:47
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Украина  _S_k_i_F_
Понедельник, 27.06.2016, 20:54 | Сообщение # 2135
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

makdm, это типа такая таблица
Код
artefacts = {}

?
И как потом работать с этой таблицей в net_spawn и net_destroy?
Зараннее спасибо!

Добавлено (27.06.2016, 17:47)
---------------------------------------------
ins33, вот код из этого скрипта
Код
--[[------------------------------------------------------------------------------------------------
База данных живых онлайновых объектов, зон и рестрикторов, актёра
Чугай Александр
--------------------------------------------------------------------------------------------------]]

zone_by_name        = {}
script_ids   = {}
storage             = {}
actor               = nil
actor_proxy         = actor_proxy.actor_proxy()
heli                = {}
camp_storage        = {}
story_by_id         = {}
smart_terrain_by_id = {}
info_restr          = {}
strn_by_respawn     = {}
heli_enemies        = {}
heli_enemy_count    = 0
anim_obj_by_name    = {}
goodwill    = {sympathy = {}, relations = {}}
story_object  = {}
signal_light  = {}
offline_objects  = {}
anomaly_by_name     = {}
level_doors   = {}  -- Содержит список всех дверей на уровне (чтобы нпс могли по нему пробегаться и открывать двери, рядом с которыми они стоят.
no_weap_zones   = {}
spawned_vertex_by_id= {}

function add_enemy( obj )
    heli_enemies[heli_enemy_count] = obj
    heli_enemy_count = heli_enemy_count + 1
end

function delete_enemy( e_index )
    heli_enemies[e_index] = nil
end

function add_obj( obj )
    printf("adding object %s",obj:name())
    storage[obj:id()].object = obj
end

function del_obj( obj )
    storage   [obj:id()] = nil
end

function add_zone( zone )
    zone_by_name[zone:name()] = zone
end

function del_zone( zone )
    zone_by_name[zone:name()] = nil
end

function add_anomaly( anomaly )
    anomaly_by_name[anomaly.object:name()] = anomaly
end

function del_anomaly( anomaly )
    anomaly_by_name[anomaly.object:name()] = nil
end

function add_actor( obj )
    actor = obj
    actor_proxy:net_spawn( obj )
    add_obj( obj )
end

function del_actor()
    del_obj( actor )
    actor_proxy:net_destroy()
    actor = nil
end

function add_heli(obj)
    heli[obj:id()] = obj
end
function del_heli(obj)
    heli[obj:id()] = nil
end

function add_smart_terrain( obj )
    smart_terrain_by_id[obj.id] = obj
end

function del_smart_terrain( obj )
    smart_terrain_by_id[obj.id] = nil
end

function add_anim_obj(anim_obj, binder)
    anim_obj_by_name[anim_obj:name()] = binder
    add_obj(anim_obj)
end

function del_anim_obj(anim_obj)
    anim_obj_by_name[anim_obj:name()] = nil
    del_obj(anim_obj)
end


Добавлено (27.06.2016, 20:54)
---------------------------------------------
Сумел таки адаптировать авто для ЗП, заспавнил буханку ф-цией spawn_object, но тут вопросик - а как назначить ей эксклюзивную логику (надо чтоб запускалась только если у ГГ есть определенный предмет - для каждого авто он свой будет)? Зараннее спасибо!
--------------------------------------------------------

И еще уточнить хотел: для уборки трупов монстров достаточно в биндере монстров этой строки (кусок кода)
Код
function generic_object_binder:death_callback(victim, who)
    printf("stop_dead_id"..self.object:id())

    xr_combat_ignore.fighting_with_actor_npcs[self.object:id()] = nil

-------------------------- Подключаем уборщик трупов мутантов ---------------------------
    release_body_manager.get_release_body_manager():moving_dead_body(self.object)
-----------------------------------------------------------------------------------------
    self:hit_callback(victim, 1, vector():set(0,0,0), who, "from_death_callback")
    if who:id() == db.actor:id() then
  xr_statistic.inc_killed_monsters_counter()
  xr_statistic.set_best_monster(self.object)
    end

А то несколько дней спал - а трупы все там же. Выброса пока нет (может в этой проблема)?
Сообщение отредактировал _S_k_i_F_ - Понедельник, 27.06.2016, 22:38
  Злобная реклама
Понедельник, 27.06.2016, 20:54
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Андорра  Rindoshiz
Понедельник, 27.06.2016, 22:27 | Сообщение # 2136
Статус:
Гость:
Сообщений: 31
Награды: 0
Регистрация: 24.01.2015

Здравствуйте. Будет ли алл.спавн от сгм 2.2 работать с сдк?
  Злобная реклама
Понедельник, 27.06.2016, 22:27
Статус:
Сообщений: 666
Регистрация: 24.01.2015
Российская Федерация  Overfirst
Понедельник, 27.06.2016, 22:36 | Сообщение # 2137
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

Rindoshiz, all.spawn не читается SDK, при декомпиляции локации конвертер читает level.spawn из папки с уровнем. Создается level.spawn при компиляции в SDK нажатием кнопки Make Game. А all.spawn, в свою очередь, уже создается компилятором xrAI, полученный файл level_name.spawn в папке spawns переименовывают в all.spawn и он уже читается игрой. По твоему вопросу. SDK может жаловаться на отсутствующие секции, остальные проблемы не припомню.
  Злобная реклама
Понедельник, 27.06.2016, 22:36
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Сомали  ur3icf
Понедельник, 27.06.2016, 23:11 | Сообщение # 2138
Статус:
Опытный:
Сообщений: 2667
Награды: 7
Регистрация: 04.06.2012

Вечер добрый!
Подскажите пожалуйста: почему в 3DMax некоторые из добавленных на террейн полигонов "зеленеют". Добавляю два полигона, причем рядом, стык в стык, один нормальный, а второй "зеленый" да еще и в полосочку.
Сообщение отредактировал ur3icf - Понедельник, 27.06.2016, 23:11
  Злобная реклама
Понедельник, 27.06.2016, 23:11
Статус:
Сообщений: 666
Регистрация: 04.06.2012
Российская Федерация  denis2000
Понедельник, 27.06.2016, 23:16 | Сообщение # 2139
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

  Злобная реклама
Понедельник, 27.06.2016, 23:16
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  ins33
Понедельник, 27.06.2016, 23:20 | Сообщение # 2140
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

_S_k_i_F_, Лови:
Ты с артами разобрался?
  Злобная реклама
Понедельник, 27.06.2016, 23:20
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Беларусь  Krachkovskii
Понедельник, 27.06.2016, 23:27 | Сообщение # 2141
Статус:
Отмычка:
Сообщений: 149
Награды: 4
Регистрация: 21.11.2015

Как сделать проверку на влк\вылк фонарика ГГ?
  Злобная реклама
Понедельник, 27.06.2016, 23:27
Статус:
Сообщений: 666
Регистрация: 21.11.2015
Украина  _S_k_i_F_
Понедельник, 27.06.2016, 23:30 | Сообщение # 2142
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

ins33, с артами нет пока. А по логике я не совсем то имел ввиду: мне нужно конкретно этому (заспавненного через скрипт), назначить индивидуальный файл логики.

Добавлено (27.06.2016, 23:30)
---------------------------------------------
Krachkovskii,

Код
function is_torch_enable()
local torch = db.actor:object( "device_torch" )
if torch~=nil and torch:torch_enabled() then
return true
end
return false
end
  Злобная реклама
Понедельник, 27.06.2016, 23:30
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  ins33
Понедельник, 27.06.2016, 23:54 | Сообщение # 2143
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

_S_k_i_F_, Тут без пакетов не обойтись. Выше приводил пример спавна используя m_netpk.script >>пост<<

А можно используя ф-ии АМК (не проверял)
Код
local obj=alife():create("sektion_name",vector():set(x, y, z),lv, gv)
local params=amk.read_stalker_params(obj)
params.custom="[logic]\ncfg = scripts\\new\\leila_ohr1.ltx"
params.sid=30151
amk.write_stalker_params(params,obj)
  Злобная реклама
Понедельник, 27.06.2016, 23:54
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Украина  скат
Вторник, 28.06.2016, 01:00 | Сообщение # 2144
Статус:
Бывалый:
Сообщений: 942
Награды: 9
Регистрация: 16.01.2014

ur3icf, Развертку текстуры на терейне сделай.
  Злобная реклама
Вторник, 28.06.2016, 01:00
Статус:
Сообщений: 666
Регистрация: 16.01.2014
Российская Федерация  KADAR
Вторник, 28.06.2016, 01:07 | Сообщение # 2145
Статус:
Опытный:
Сообщений: 1547
Награды: 5
Регистрация: 03.04.2013

Как настроить пнв? Хочется что бы он в темноте помогал видеть, а не тупо цвет экрана менял. Возможна правка через файл, или только сам эффект надо менять?
  Злобная реклама
Вторник, 28.06.2016, 01:07
Статус:
Сообщений: 666
Регистрация: 03.04.2013
Поиск: