Случайная подборка модов
Путь Бандита
2.0
Припять. Точка отсчета
3.3
Первые Дни Зоны:Создание в тумане
2.8
Lost World: Origin
4.1
CoP’s Level Pack [beta]
4.1
На Болотах
3.7
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  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
Поиск: