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

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


Svoboда

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

подскажите как подключить этот скрипт к ЗП (чтоб происходил спавн)

local actor = db.actor

 

function main()

spawn_all()

end

 

--Спавним все аномалии

function spawn_all(respawn)

 

-- РЕСПАВН МОНСТРОВ

--== БОЛОТА

--ЛЮДИ

spawn("sim_default_stalker_0",vector():set(347.982788085938,1.15263211727142,362.435119628906),1,135)

spawn("sim_default_duty_2",vector():set(-181.321166992188,2.20583915710449,536.22412109375),1,135)

spawn("sim_default_freedom_4",vector():set(106.57487487793,1.11209356784821,331.199737548828),1,135)

-- ГИГАНТЫ И ХИМЕРЫ

 

spawn("gigant_normal",vector():set(12.362359046936,1.20762395858765,465.655242919922),1,135)

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

--==Кордон==

--ВОЕННЫЕ

spawn("sim_default_military_2",vector():set(12.296178817749,2.66049242019653,99.1692047119141),2,472)

spawn("sim_default_military_4",vector():set(-269.253021240234,-21.6871528625488,-276.530120849609),2,472)

spawn("sim_default_military_3_sniper",vector():set(-88.2359161376953,-32.2155342102051,-286.156036376953),2,472)

--СОБАКИ

spawn("dog_weak",vector():set(-78.6157073974609,-31.078088760376,-400.246795654297),2,472)

spawn("boar_strong",vector():set(-88.3238067626953,-26.6163959503174,-448.000305175781),2,472)

spawn("bloodsucker_strong",vector():set(-224.939224243164,-32.7286605834961,-243.461776733398),2,472)

spawn("gigant_normal",vector():set(-106.359199523926,-21.2115707397461,-212.748565673828),2,472)

--ХИМЕРА

spawn("chimera_strong",vector():set(-138.856292724609,-4.19875192642212,-60.2471351623535),2,472)

--==СВАЛКА

--КРОВОСОСЫ И ДОЛГАШИ

spawn("bloodsucker_weak",vector():set(53.363265991211,-1.9413865804672,-230.09606933594),3,245)

spawn("sim_default_duty_4",vector():set(178.58694458008,-4.974377155304,94.88623046875),3,245)

--ХИМЕРКИ

spawn("chimera_normal",vector():set(121.49718475342,0.1320840716362,-212.03157043457),3,245)

spawn("simulation_psy_dog",vector():set(169.84217834473,0.14150622487068,199.580078125),3,245)

--== ТЕМНАЯ ДОЛИНА

--БЮРЕРЫ

spawn("sim_default_killer_4",vector():set(137.816009521484,0.427826672792435,-197.783615112305),4,743)

spawn("burer_normal",vector():set(18.2877159118652,0.105665326118469,-53.773365020752),4,743)

--ПОЛТЕРЫ

spawn("sim_default_zombied_4",vector():set(-14.5188961029053,-4.0447301864624,-284.803955078125),4,743)

spawn("sim_default_bandit_4",vector():set(47.4216194152832,-4.75452375411987,-384.968688964844),4,743)

spawn("sim_default_monolith_2",vector():set(180.663208007813,6.19037342071533,5.93422508239746),4,743)

spawn("sim_default_killer_3",vector():set(-85.68212890625,-1.58676373958588,49.1661262512207),4,743)

--ХИМЕРЫ

spawn("chimera_normal",vector():set(144.207214355469,11.7331314086914,-354.058807373047),4,743)

spawn("chimera_normal",vector():set(125.036239624023,4.33656644821167,-439.600860595703),4,743)

spawn("chimera_normal",vector():set(38.3866920471191,0.537489354610443,-488),4,743)

 

--==АГРОПРОМ

--ВОЯКИ И СТАЛКЕРНЯ

spawn("sim_default_duty_3",vector():set(232.18873596191,22.32128340454,76.087600708008),5,1057)

spawn("duty_sim_squad_veteran",vector():set(198.80717468262,20.148874282837,99.754737854004),5,1057)

spawn("sim_default_military_4",vector():set(140.23600769043,16.151906967163,183.02565002441),5,1057)

spawn("sim_default_military_3_sniper",vector():set(-24.292402267456,11.846901893616,180.2127532959),5,1057)

spawn("sim_default_military_1",vector():set(-209.73248291016,1.73156409988,118.22413635254),5,1057)

--ХИМЕРЫ

spawn("chimera_normal",vector():set(-209.89938354492,2.586462020874,-10.034078598022),5,1057)

spawn("chimera_normal",vector():set(-150.57160949707,6.513599395752,-92.870819091797),5,1057)

spawn("chimera_normal",vector():set(-90.4501953125,10.583999633789,-99.46720123291),5,1057)

--КОНТРОЛЕР

spawn("m_controller_normal",vector():set(63.503658294678,9.7990942001343,-183.00830078125),5,1057)

--==ЯНТАРЬ

--БЮРЕРЫ

spawn("burer_strong",vector():set(-61.805332183838,-4.3734092712402,-343.49011230469),7,1212)

spawn("burer_strong",vector():set(-96.9124374389655,-8.4365587234497,-298.34219360352),7,1212)

spawn("burer_strong",vector():set(-164.98713684082,6.1591620445251,-302.52072143555),7,1212)

--==КОНТРОЛЕРЫ

spawn("m_controller_normal",vector():set(85.905838012695,0.058679908514023,-38.014339447021),7,1212)

spawn("controller_weak",vector():set(23.739946365356,0.311467677735481,-10.59485244751),7,1212)

--==МИЛИРИТАРИ

--ДОЛГОВЦЫ

spawn("sim_default_duty_4",vector():set(-326.03182983398,-22.402235031128,238.6107635498),9,1313)

spawn("m_controller_normal",vector():set(-214.55545043945,-21.84263420105,199.97067260742),9,1313)

spawn("sim_default_duty_4",vector():set(89.25658416748,-5.7359156608582,341.10025024414),9,1313)

--ХИМЕРЫ

spawn("gigant_normal",vector():set(-79.532272338867,-8.4085884094238,408.64053344727),9,1313)

spawn("gigant_normal",vector():set(102.94105529785,-9.3632946014404,247.88220214844),9,1313)

spawn("chimera_weak",vector():set(58.276752471924,-9.6115550994873,105.6272277832),9,1313)

spawn("chimera_weak",vector():set(-249.71379089355,-17.293375015259,-16.878582000732),9,1313)

--СВОБОДА

spawn("sim_default_freedom_4",vector():set(-198.77252197266,-12.654818534851,65.836784362793),9,1313)

spawn("sim_default_freedom_4",vector():set(-141.22608947754,-21.489429473877,127.33731079102),9,1313)

spawn("sim_default_freedom_2",vector():set(83.89656829834,-10.065062522888,2.1003093719482),9,1313)

spawn("sim_default_freedom_2",vector():set(-28.417978286743,-13.027275085449,53.650508880615),9,1313)

 

 

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

 

Сюжетное продолжение чистого неба
Зона обр.2010г.
S.T.A.L.K.E.R.-Расширение территорий

 

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


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

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

 

Строгое предупреждение от модератора n6260
Юзаем Заглавные буквы и знаки препинания.
Сюжетное продолжение чистого неба
Зона обр.2010г.
S.T.A.L.K.E.R.-Расширение территорий

 

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


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

подскажите что писать в логике, спавню скриптом НПС в ЗП, а он разговаривать не хочет,

спавн через смарт-терраин для меня не выход

Строгое предупреждение от модератора n6260
Юзаем заглавные буквы.
Изменено пользователем n6260
Сюжетное продолжение чистого неба
Зона обр.2010г.
S.T.A.L.K.E.R.-Расширение территорий

 

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


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

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

AMK-Team.ru

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