Перейти к контенту

Скриптование


Svoboда

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

Отшель[НИК],

на acdc_cs.pl или какой там у тебя, нажимаешь правой кнопкой -> изменить, или открыть с помощью, блокнота.

ищешь секции с аномалиями (правка -> найти в блокноте,)

например под етой :

zone_zharka_static            => 'se_zone_anom',
    zone_zharka_static_weak            => 'se_zone_anom',
    zone_zharka_static_average        => 'se_zone_anom',
    zone_zharka_static_strong        => 'se_zone_anom',

 

 

пишешь свою секцию(или секции, взависимости от профилей аномалий) , 3 раза tab щелкаешь и пишешь

=> 'se_zone_anom',

 

 

А что за аномалии сделал? и как делал?

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

Отшель[НИК],

Вообщем слушай, в симбионе аномалии родные, их не меняли, т.е ты еще раз добавляешь родные, которые есть, и это приводит к ошибки дубликата,

Если есть новые аномалии, то не те что ты написал...

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

Отшель[НИК],

Может просто родные аномалии в симбионе переименовали? добавили им m_zone_buzz

 

вот у меня на чистой

zone_buzz                => 'se_zone_anom',
    zone_buzz_weak                => 'se_zone_anom',
    zone_buzz_average            => 'se_zone_anom',
    zone_buzz_strong            => 'se_zone_anom',

 

Распакуй аллспаун симбиона, и в каждом алайв,файле поищи m_zone_zharka_static, если найдешь, значит это аномалия спаунена на уровне, значит и конфиги аномалий в симбионе другие,:

1)Или они просто аномалии переименовали в конфигах, и в секциях аллспауна.

2)Или это новые аномалии и спаунены вместе с обычными.

Если найдешь и m_zone_zharka_static и zone_zharka_static, значит это новые аномалии спаунены вместе с родными, если только первое то аномалии перименованы, у меня нет етого мода, так что ничего более конкретного сказать не моуг, так что-ты хочешь? я послушаю хоть и мутарно?

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

Отшель[НИК],

Тыды еще проще, я даже не думал что там динамки стоят, я даже не знаю, почему у тебя идет ошибка,старано,

но если ты в в плагин открытый блокнотом под секциями других аномалий добавишь вот так:

m_zone_buzz                => 'se_zone_anom',
    m_zone_buzz_weak                => 'se_zone_anom',
    m_zone_buzz_average            => 'se_zone_anom',
    m_zone_buzz_strong            => 'se_zone_anom',

    m_zone_gravi_zone                => 'se_zone_anom',
    m_zone_gravi_zone_weak            => 'se_zone_anom',
    m_zone_gravi_zone_average            => 'se_zone_anom',
    m_zone_gravi_zone_strong            => 'se_zone_anom',

    m_zone_mincer                => 'se_zone_anom',
    m_zone_mincer_weak            => 'se_zone_anom',
    m_zone_mincer_weak_noart            => 'se_zone_anom',
    m_zone_mincer_average            => 'se_zone_anom',
    m_zone_mincer_strong            => 'se_zone_anom',

    m_zone_mosquito_bald            => 'se_zone_anom',
    m_zone_mosquito_bald_weak            => 'se_zone_anom',
    m_zone_mosquito_bald_weak_noart        => 'se_zone_anom',
    m_zone_mosquito_bald_average        => 'se_zone_anom',
    m_zone_mosquito_bald_strong        => 'se_zone_anom',
    m_zone_mosquito_bald_strong_noart        => 'se_zone_anom',

    m_zone_witches_galantine            => 'se_zone_anom',
    m_zone_witches_galantine_weak        => 'se_zone_anom',
    m_zone_witches_galantine_average        => 'se_zone_anom',
    m_zone_witches_galantine_strong        => 'se_zone_anom',
    m_zone_witches_galantine_safe        => 'se_zone_anom',

    m_zone_zharka_static            => 'se_zone_anom',
    m_zone_zharka_static_weak            => 'se_zone_anom',
    m_zone_zharka_static_average        => 'se_zone_anom',
    m_zone_zharka_static_strong        => 'se_zone_anom',

 

то вылета быть не должно.

 

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

Что-то кончается, что-то начинается...

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


Ссылка на сообщение
(изменено)

Ребята, такая вот проблема, автора спрашивал, он молчит., вообщем скачал скрипт Шокера аномалии на болотах, там аномалии спаунятся на болота, вот два файла ( янемного правил под монстров)

--'******************************************************
--'*    Биндер объекта группировки.
--'******************************************************
function bind(obj)
    obj:bind_object(faction_binder(obj))
end

class "faction_binder" (object_binder)
function faction_binder:__init(obj) super(obj)
end
function faction_binder:net_spawn(server_object)
    if not object_binder.net_spawn(self, server_object) then
        return false
    end

    --' получить ссылку на настоящий серверный объект
    self.faction = alife():object(self.object:id())

    return true
end
function faction_binder:update(delta)
    object_binder.update(self, delta)

    self.faction:update()
    new_monsters.main()
end

 

и вот сам скрипт

local actor = db.actor

function main()
spawn_all()
end

--Спавним все аномалии
function spawn_all(respawn)
if load("spawn_anom",false)==false or respawn==true then




-- Бюрреры на болотах
   


spawn("burer_weak",vector():set(-170.53266906738,0.67925143241882,-312.03155517578),1,135)
    

   save("spawn_anom",true)
end
end

function create_anom(section,rad_anom,x,y,z,lv,gv,mode)
        --   con(section)
      if gv==nil then gv=db.actor:game_vertex_id() end
      if lv==nil then lv=db.actor:level_vertex_id() end
      if pos==nil then pos=db.actor:position() end

      local p_obj = alife():create(section,vector():set(x,y,z),lv,gv)

      local packet = net_packet()
      packet:w_begin(0)
      p_obj:STATE_Write(packet)
      packet:r_seek(2)

    local game_vertex_id = packet:r_u16()
    local cse_alife_object__unk1_f32 = packet:r_float()
    local cse_alife_object__unk2_u32 = packet:r_s32()
    local level_vertex_id = packet:r_s32()
    local object_flags = packet:r_s32()
    local custom_data = packet:r_stringZ()
    local story_id = packet:r_s32()
    local cse_alife_object__unk3_u32 = packet:r_s32()

    local shape_count = packet:r_u8()
    for i=1,shape_count do
        local shape_type = packet:r_u8()
        if shape_type == 0 then
            local center = packet:r_vec3()
            local radius = packet:r_float()
        else
            local box = packet:r_matrix()
        end
    end

    local restrictor_type = packet:r_u8()

    local cse_alife_custom_zone__unk1_f32 = packet:r_float()
    local cse_alife_custom_zone__unk2_u32 = packet:r_s32()
    local on_off_mode_enabled_time = packet:r_s32()
    local on_off_mode_disabled_time = packet:r_s32()
    local on_off_mode_shift_time = packet:r_s32()

    local offline_interactive_radius = packet:r_float()
    local artefact_spawn_places_count = packet:r_u16()
    local cse_alife_anomalous_zone__unk1_u32 = packet:r_s32()

    local last_spawn_time_present = packet:r_u8()

--    if packet:r_elapsed() ~= 0 then abort("left=%d", packet:r_elapsed()) end

    packet:w_u16(game_vertex_id)
    packet:w_float(cse_alife_object__unk1_f32)
    packet:w_s32(cse_alife_object__unk2_u32)
    packet:w_s32(level_vertex_id)
    packet:w_s32(object_flags)
    if mode~=nil then custom_data = mode end
    packet:w_stringZ(custom_data)
    packet:w_s32(story_id)
    packet:w_s32(cse_alife_object__unk3_u32)

    packet:w_u8(1)
    packet:w_u8(0)
    local sphere_center = vector()
    sphere_center:set(0, 0, 0)
    packet:w_vec3(sphere_center)
    radius = rad_anom
    packet:w_float(radius)

    packet:w_u8(restrictor_type)

    packet:w_float(cse_alife_custom_zone__unk1_f32)
    cse_alife_custom_zone__unk2_u32 = bit_not(0)
    packet:w_s32(cse_alife_custom_zone__unk2_u32)
    packet:w_s32(on_off_mode_enabled_time)
    packet:w_s32(on_off_mode_disabled_time)
    packet:w_s32(on_off_mode_shift_time)

    packet:w_float(offline_interactive_radius)
    packet:w_u16(artefact_spawn_places_count)
    packet:w_s32(cse_alife_anomalous_zone__unk1_u32)

if mode == nil then

    packet:w_u8(last_spawn_time_present)
end
    p_obj:STATE_Read(packet, packet:w_tell()-packet:r_tell())
  --    add_spot_on_map(p_obj.id,"red_location","Аномалия")


    return p_obj
end


-- Вывод инфы в консоль
function con(msg)
get_console():execute(msg)
end


-- Записываем переменную
function save(variable_name, value)
    xr_logic.pstor_store(db.actor, variable_name, value)
end

-- Загружаем переменную
function load(variable_name, value_if_not_found)
    return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
end

-- Удаляем переменную
function del(variable_name)
    if db.storage[db.actor:id()].pstor[variable_name] then
        db.storage[db.actor:id()].pstor[variable_name] = nil
    end
end

-- Функция спауна объекта
function spawn(section,pos,lv,gv)

--    vector():set(x,y,z) 

      if gv==nil then gv=db.actor:game_vertex_id() end
      if lv==nil then lv=db.actor:level_vertex_id() end
      if pos==nil then pos=db.actor:position() end

      if section==nil then
      con("Не_указанная_секция")
      else
      return alife():create(section,pos,lv,gv)
      end

end

 

Сначала я его исползовал при проверке монстров, монстров прописал через алл.спаун, и логику только через него ж можно добавить?

 

Потом думал и решил этим же скриптом спаунить арты(он для егтого и был) , но чтоб этот скрипт в определенный момент времени спаунил их, ну проще говоря, куда прописать время(допустим каждые 36 часов), чтоб он оспаунил эти арты каждые 36 часов, ане зависимости от того брал ли ты предыдыщий или нет, это вообще можно сделать?

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

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

меченый(стрелок),

Получилось, спс, а таймер я стартовал через амк_мод.скрипт(у меня спальник от них) там и таймеры пописаны)))

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

меченый(стрелок), ccорь, но можешь еще объяснить тупому.

решил сделать респаун монстров через каждые 6 минут(для теста)

вот скрипт

local actor = db.actor

function main()
spawn_all()
end

--Спавним все аномалии
function spawn_all(respawn)
if load("spawn_anom",false)==false or respawn==true then
--test
spawn("sim_default_monolith_3",vector():set(-170.53266906738,0.67925143241882,-312.03155517578),1,135)



-- РЕСПАВН МОНСТРОВ
--== БОЛОТА
--БЮРЕРЫ   
spawn("burer_weak",vector():set(347.982788085938,1.15263211727142,362.435119628906),1,135)
spawn("burer_normal",vector():set(-181.321166992188,2.20583915710449,536.22412109375),1,135)   
spawn("burer_strong",vector():set(106.57487487793,1.11209356784821,331.199737548828),1,135)
-- ХИМЕрЫ

spawn("chimera_normal",vector():set(12.362359046936,1.20762395858765,465.655242919922),1,135)
spawn("chimera_normal",vector():set(-103.976005554199,0.348260492086411,334.711975097656),1,135)



   save("spawn_anom",true)
end
end

function create_anom(section,rad_anom,x,y,z,lv,gv,mode)
        --   con(section)
      if gv==nil then gv=db.actor:game_vertex_id() end
      if lv==nil then lv=db.actor:level_vertex_id() end
      if pos==nil then pos=db.actor:position() end

      local p_obj = alife():create(section,vector():set(x,y,z),lv,gv)

      local packet = net_packet()
      packet:w_begin(0)
      p_obj:STATE_Write(packet)
      packet:r_seek(2)

    local game_vertex_id = packet:r_u16()
    local cse_alife_object__unk1_f32 = packet:r_float()
    local cse_alife_object__unk2_u32 = packet:r_s32()
    local level_vertex_id = packet:r_s32()
    local object_flags = packet:r_s32()
    local custom_data = packet:r_stringZ()
    local story_id = packet:r_s32()
    local cse_alife_object__unk3_u32 = packet:r_s32()

    local shape_count = packet:r_u8()
    for i=1,shape_count do
        local shape_type = packet:r_u8()
        if shape_type == 0 then
            local center = packet:r_vec3()
            local radius = packet:r_float()
        else
            local box = packet:r_matrix()
        end
    end

    local restrictor_type = packet:r_u8()

    local cse_alife_custom_zone__unk1_f32 = packet:r_float()
    local cse_alife_custom_zone__unk2_u32 = packet:r_s32()
    local on_off_mode_enabled_time = packet:r_s32()
    local on_off_mode_disabled_time = packet:r_s32()
    local on_off_mode_shift_time = packet:r_s32()

    local offline_interactive_radius = packet:r_float()
    local artefact_spawn_places_count = packet:r_u16()
    local cse_alife_anomalous_zone__unk1_u32 = packet:r_s32()

    local last_spawn_time_present = packet:r_u8()

--    if packet:r_elapsed() ~= 0 then abort("left=%d", packet:r_elapsed()) end

    packet:w_u16(game_vertex_id)
    packet:w_float(cse_alife_object__unk1_f32)
    packet:w_s32(cse_alife_object__unk2_u32)
    packet:w_s32(level_vertex_id)
    packet:w_s32(object_flags)
    if mode~=nil then custom_data = mode end
    packet:w_stringZ(custom_data)
    packet:w_s32(story_id)
    packet:w_s32(cse_alife_object__unk3_u32)

    packet:w_u8(1)
    packet:w_u8(0)
    local sphere_center = vector()
    sphere_center:set(0, 0, 0)
    packet:w_vec3(sphere_center)
    radius = rad_anom
    packet:w_float(radius)

    packet:w_u8(restrictor_type)

    packet:w_float(cse_alife_custom_zone__unk1_f32)
    cse_alife_custom_zone__unk2_u32 = bit_not(0)
    packet:w_s32(cse_alife_custom_zone__unk2_u32)
    packet:w_s32(on_off_mode_enabled_time)
    packet:w_s32(on_off_mode_disabled_time)
    packet:w_s32(on_off_mode_shift_time)

    packet:w_float(offline_interactive_radius)
    packet:w_u16(artefact_spawn_places_count)
    packet:w_s32(cse_alife_anomalous_zone__unk1_u32)

if mode == nil then

    packet:w_u8(last_spawn_time_present)
end
    p_obj:STATE_Read(packet, packet:w_tell()-packet:r_tell())
  --    add_spot_on_map(p_obj.id,"red_location","Аномалия")


    return p_obj
end


-- Вывод инфы в консоль
function con(msg)
get_console():execute(msg)
end


-- Записываем переменную
function save(variable_name, value)
    xr_logic.pstor_store(db.actor, variable_name, value)
end

-- Загружаем переменную
function load(variable_name, value_if_not_found)
    return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
end

-- Удаляем переменную
function del(variable_name)
    if db.storage[db.actor:id()].pstor[variable_name] then
        db.storage[db.actor:id()].pstor[variable_name] = nil
    end
end

-- Функция спауна объекта
function spawn(section,pos,lv,gv)

--    vector():set(x,y,z) 

      if gv==nil then gv=db.actor:game_vertex_id() end
      if lv==nil then lv=db.actor:level_vertex_id() end
      if pos==nil then pos=db.actor:position() end

      if section==nil then
      con("Не_указанная_секция")
      else
      return alife():create(section,pos,lv,gv)
      end

end

 

далее в amk_mod.script добавил строку таймера и вот что получилось:

local nrg,med,cnt,gv,lv,w


-- Эта функция вызывается первой. Онлайновые объекты недоступны! db.actor недоступен!
function on_game_start()
    math.randomseed (device ():time_global ())
end

function first_run() 
    if amk.load_variable("x_first_run",true) then
        amk.g_start_timer("main",0,0,6) -- вызов респауна!!!!!!!!!!!!
        amk.g_start_timer("gg_need_sleep",0,0,6)
        --amk.g_start_timer("show_news",0,0,10)
        amk.spawn_item_in_inv("matras")
        amk.save_variable("x_first_run",false)
    end
end 
......... а там далее спальник пошел...

 

 

потом как ты и сказал в amk.script там где надо вписал ето

--- функция респавна монстров

if select_string=="main" then
new_monsters.main()
amk.g_start_timer("main",0,0,6)    
end

 

 

Проблема в том, что тестовый монолитовец после старта и6 минут спаунится, валит там пару ребят,НО больше он не спаунится, один раз только, и все, хотя он же должен каждые 6 минут вариться,

Вопрос, я неправильно сбросил таймер, как его надо было сбрасывать???

 

Так же , прописал на всех локациях монстров людей, тоже для респауна в томже файле, но тогда вообще вылет, т.е скрипт не может спаунить предмет пока ты не на той локации где он прописан??

И можно это как нибудь поправить???

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

меченый(стрелок),

Окей, все теперь наспауниль заразы , благодарствую)

Что-то кончается, что-то начинается...

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


Ссылка на сообщение
(изменено)

AKKK1,

 

Это конечно интересно, и очень нужно , но тут стоит вопрос в другом, сделаем мы хотя бы 20 таких НПС с путями и логиками, а будем делать долго, ну так дня 2, а потом раз и убили их вояки или химера съест, потом пойдет респаун и все наш труд напрасен, если и делать такое, то только через скрипт, чтоб если непись, допустим: 1.5_patrul убили, то вместо нее заспаунить другую (худ,диалоги и т.д) но чтоб привязать эту же логику и пути(автоматически скриптом).

Может такое есть, но я не видел.Если провернуть такую штуку хотя бы с 30 процентами населения, это будет что-то новое в жизни сталкеров.Все реализуемо, кроме респавна неписи и привязкиой ему логики умершего скриптом.

Но может кто и сделает.

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

Что-то кончается, что-то начинается...

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


Ссылка на сообщение
(изменено)

AKKK1,

Да нет, у меня так не получалось, тех что ты прописал в алл.спауне, ты тут же убил, они больше не возобновятся респауном, а респаунится будут другие и без логики, их просто камп под себя подбирает и все, а там у же у кого какие функции.

 

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

 

ЗЫ если где-то не прав исправьте.

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

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

Такой маленький вопрос, в ЗП ( хотя без разницы наверно) спавню предмет, функция стандартная

alife():create("n",vector():set(x,y,z),level_vertex,game_vertex_id)

 

Так вот, чего надо под ней подписать, чтоб задать количество"жизней" ну то есть степень целости?

 

Далее, апдейт спавне через бинд.сталкер, но прилепил к нему проверку на

 

if spawn_item.load_variable("spawn_item",false)==false then

spawn_item.brona_on_levels()

spawn_item.save_variable("spawn_item",true)

end

(взято из фака Меченого(стрелка) по нпс)

 

вопрос в следующем, вот заспавнился этот предмет, его номер или что там сохранился , если его продать, он исчезнет из игрового мира? или перейдет в оффлайн? и останется ли запись о том что он уже был? т.е повторного спавна не будет?

 

 

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

Парни вырцчайие, а можн ли динамически(через скрипт) заспавнить точку на карте( как в вейтах в аллспаун) , если да, то где можно посмотреть функцию, в каком файлике.

 

Если нет, тотогда вопрос, если спавнишь мостра, ему можно приписать логику как и нпс, т.е

function .......

цфг = путь к крнфигу логики

енд

 

Получит ли монстр логику? и куда она сохранится? вернее запись о ней будет сохранена? чтоб при загрузке уровня монстр использовал эту логику?

 

 

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

А родной нет? без амкшного колбэка?

Что-то кончается, что-то начинается...

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


Ссылка на сообщение
(изменено)

Я может и не прав, но секции распологаются в алфавитном порядке), Т.е когда компилируешь, твоя секция ставится таким образом, и ничего страшного тут нет, и объекты идет только на одной локе, с других не считывается.... и вообще лучше спавни скриптом, и логика прикручивается легко(единственно для новых вейтов нужно править алл.спавн, но зато игра новая не нужна, когда правишь вейты)

 

 

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

Что-то кончается, что-то начинается...

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


Ссылка на сообщение
(изменено)

Найди секцию с аномалией перепиши её name на любое, координаты, лв_вертексы и нейм_вертекс айди и добавь в конец, не зхабудь номер на 1 больше в скобках поставить, чем последний, ну а лучше скриптом.

Скриптом не проще?

 

function create_anomalies(section,rad_anom,x,y,z,lv,gv,mode)
      if gv==nil then gv=db.actor:game_vertex_id() end
      if lv==nil then lv=db.actor:level_vertex_id() end
      if pos==nil then pos=db.actor:position() end
      local p_obj = alife():create(section,vector():set(x,y,z),lv,gv)
      local packet = net_packet()
      packet:w_begin(0)
      p_obj:STATE_Write(packet)
      packet:r_seek(2)
    local game_vertex_id = packet:r_u16()
    local cse_alife_object__unk1_f32 = packet:r_float()
    local cse_alife_object__unk2_u32 = packet:r_s32()
    local level_vertex_id = packet:r_s32()
    local object_flags = packet:r_s32()
    local custom_data = packet:r_stringZ()
    local story_id = packet:r_s32()
    local cse_alife_object__unk3_u32 = packet:r_s32()
    local shape_count = packet:r_u8()
    for i=1,shape_count do
        local shape_type = packet:r_u8()
        if shape_type == 0 then
            local center = packet:r_vec3()
            local radius = packet:r_float()
        else
            local box = packet:r_matrix()
        end
    end
    local restrictor_type = packet:r_u8()
    local cse_alife_custom_zone__unk1_f32 = packet:r_float()
    local cse_alife_custom_zone__unk2_u32 = packet:r_s32()
    local on_off_mode_enabled_time = packet:r_s32()
    local on_off_mode_disabled_time = packet:r_s32()
    local on_off_mode_shift_time = packet:r_s32()
    local offline_interactive_radius = packet:r_float()
    local artefact_spawn_places_count = packet:r_u16()
    local cse_alife_anomalous_zone__unk1_u32 = packet:r_s32()
    local last_spawn_time_present = packet:r_u8()
    packet:w_u16(game_vertex_id)
    packet:w_float(cse_alife_object__unk1_f32)
    packet:w_s32(cse_alife_object__unk2_u32)
    packet:w_s32(level_vertex_id)
    packet:w_s32(object_flags)
    if mode~=nil then custom_data = mode end
    packet:w_stringZ(custom_data)
    packet:w_s32(story_id)
    packet:w_s32(cse_alife_object__unk3_u32)
    packet:w_u8(1)
    packet:w_u8(0)
    local sphere_center = vector()
    sphere_center:set(0, 0, 0)
    packet:w_vec3(sphere_center)
    radius = rad_anom
    packet:w_float(radius)
    packet:w_u8(restrictor_type)
    packet:w_float(cse_alife_custom_zone__unk1_f32)
    cse_alife_custom_zone__unk2_u32 = bit_not(0)
    packet:w_s32(cse_alife_custom_zone__unk2_u32)
    packet:w_s32(on_off_mode_enabled_time)
    packet:w_s32(on_off_mode_disabled_time)
    packet:w_s32(on_off_mode_shift_time)
    packet:w_float(offline_interactive_radius)
    packet:w_u16(artefact_spawn_places_count)
    packet:w_s32(cse_alife_anomalous_zone__unk1_u32)
if mode == nil then
    packet:w_u8(last_spawn_time_present)
end
    p_obj:STATE_Read(packet, packet:w_tell()-packet:r_tell())
    return p_obj
end

create_anomalies(section,rad_anom,x,y,z,lv,gv,mode) --спавн аномалии

 

 

ЗЫ: цитата из новостей ресурса Niko1995,

 

.

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

 

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

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

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

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

 

function mod_spawn ()
if not db.actor:has_info("spawn_esc_hunt")  then
alife():create("esc_hunt",vector():set(-213.69770812988,-23.183309555054,-122.53145599365),39933,59)
db.actor:give_info_portion("spawn_esc_hunt")
end
end

 

Единственно прописать инфопоршень в файлы, понимаю, что способ извращенский и немного подгружает апдейтер, но если у вас не слишком много повешено на апдейт, то должно сработать...

 

если колбэк не стоит , просто вызывайте в bind_stalker.script function actor_binder:update(delta) перед закрытием функциию

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

TREWKO, в файле system.ltx есть некоторое упоминание для всех слотов

slot_persistent_11  = false;artefact
slot_active_11      = true

Думаю слот под номером 11 , для шлемов со слотом 12 все отлично проверялось....

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

TREWKO, меня этот метод немного раздражает

method 'get_hanging_lamp'

возможно не метод, а параметр ?

т.е

ds = obj.get_hanging_lamp

 

У меня такое было с id , похоже что метод пока не может быть применен, попробуй параметром.

Или может метода такого нет?

Что-то кончается, что-то начинается...

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


Ссылка на сообщение
malandrinus, ясно. А не подскажешь, почему SetWidth(number) в ЗП, тоже выдает ошибку на метод? Может его можно чем заменить?

Что-то кончается, что-то начинается...

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


Ссылка на сообщение

malandrinus, точно, спасибо, помогло.

У меня такой вопрос, не мог бы ты подсказать, или дать готовый пример как делать последовательность через апдейт?

Т.е допустим выполняются 5 разных действий(функций) через 20 секунд каждая. Может есть готовый образец где?

Что-то кончается, что-то начинается...

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...