Stan, ну так я описал выше. Спавним сталкеров через спавнер, спавним контролёра, прячемся и смотрим, стали ли они через какое-то время зомбированными. Надо только подключить сам файл с этим скриптом. Кстати, я кое-что жестко натупил(а точнее - не поменял имена со старых на новые). Поэтому выкладываю переписанный скрипт, надеюсь, что он будет работать.
self.chtime=time_global()+2000 if self.object:clsid()==clsid.controller_s and self.object:alive() then local npc=self.object:get_enemy() if npc then if npc:id()~=db.actor:id() and npc:clsid()==clsid.script_stalker and self.object:see(npc) and npc:character_community()~="zombied" and self.object:position():distance_to(npc:position())<30 then
local sobj=alife():object( npc:id() ) if sobj and sobj.online then local zomb=load_pstor_table("zombies") zomb[sobj.id]={master=self.object:id(),comm=npc:character_community(),gw=npc:goodwill(db.actor)} save_pstor_table("zombies",zomb) npc:set_character_community("zombied",0,0) local orgtbl=pstor_load_all(sobj) if (not string.find(orgtbl.profile,"_zombi")) then orgtbl.profile=orgtbl.profile.."_zombi" end pstor_save_all(orgtbl,sobj) end end end end ===============================Реализация функций для скрипта(вынести в отдельный файл!)=======================================
function save_pstor_table(pk, tbl, obj) local tp for k, v in pairs(tbl) do if v == true then pk:w_u8(pstor_true) elseif v == false then pk:w_u8(pstor_false) else tp = type(v) if tp == "number" then pk:w_u8(pstor_number) pk:w_float(v) elseif tp == "string" then pk:w_u8(pstor_string) pk:w_stringZ(v) elseif tp == "table" then pk:w_u8(pstor_table) xr_logic.save_pstor_table(pk, v, obj) elseif tp == "userdata" then pk:w_u8(pstor_custom) pk:w_stringZ(v.classname == k and "" or v.classname) v:save(pk) else abort("xr_logic.save_pstor_table for %s: not registered type '%s' encountered [ %s :: %s ]", obj:name(), tv, k, utils.to_str(v)) end end pk:w_stringZ(k) end pk:w_u8(pstor_end_table) end
function load_pstor_table(pk, tbl, obj) local k, v, n while true do n = pk:r_u8() if n == pstor_end_table then return tbl else if n == pstor_true then v = true elseif n == pstor_false then v = false elseif n == pstor_number then v = pk:r_float() elseif n == pstor_string then v = pk:r_stringZ() elseif n == pstor_table then v = {} xr_logic.load_pstor_table(pk, v, obj) elseif n == pstor_custom then local cls = reader:r_stringZ() if cls == "" then cls = k end v = pstor_custom_impl[cls]() v:load(pk) else abort("У объекта [%s] повреждён пстор, этим сохранением нельзя пользоваться - удалите его и переиграйте с предыдущего.", obj:name()) v = nil end k = pk:r_stringZ() tbl[k] = v end end end
function pstor_save_all(obj, packet) local npc_id = obj:id() local pstor = db.storage[npc_id].pstor if not pstor then pstor = {} db.storage[npc_id].pstor = pstor end save_pstor_table(packet, pstor, obj) end
function pstor_load_all(obj, reader) local npc_id = obj:id() local pstor = db.storage[npc_id].pstor if not pstor then pstor = {} db.storage[npc_id].pstor = pstor end if (not db.actor) and npc_id ~= 0 then abort("Не создан актор. Возможно, синтаксическая ошибка в bind_stalker.script") end load_pstor_table(reader, pstor, obj) end
vlad8599, ты выглядишь очень глупо. "Я хочу зомбирование неписей контроллером, вот, я нашел вам скрипт. Правда я в них не разбираюсь, но вы же обязательно это сделаете, я уверен! Я даже игру не качал, нет возможности проверить." По факту, движки ТЧ и ЗП отличаются, методы реализации, сделанные в АМК, могут не сработать в CoC, в котором, кстати, движок тоже серьезно перелопачен по сравнению с оригиналом. В том что ты скинул есть вызовы функций mylog и write_stalker_params, которых у тебя нет.
Доброй ночи) Уже устал запускать новый СоС. Сборка ОпмизШоу. В поисках решения в гугле попадал даже на какой то болгарский форум! [/spoiler] FATAL ERROR
[error]Expression : <no expression> [error]Function : CScriptEngine::lua_error [error]File : ..\xrServerEntities\script_engine.cpp [error]Line : 189 [error]Description : fatal error [error]Arguments : LUA error: d:\lk\coc_opmizshow\gamedata\scripts\trans_outfit.script:46: attempt to perform arithmetic on global 'timer_transparent' (a nil value)
stack trace:
001B:0056399C xrCore.dll, xrDebug::fatal() 001B:04B82FB5 xrGame.dll, CDialogHolder::IgnorePause() 001B:04B6C7A9 xrGame.dll, CDialogHolder::IgnorePause() [spoiler] За 4 часа блуждания по интернету и по файлам типа .скрипт так ниразу и не смог начать игру. Последный шанс это форум)
[error]Arguments : LUA error: d:\lk\coc_opmizshow\gamedata\scripts\trans_outfit.script:46: attempt to perform arithmetic on global 'timer_transparent' (a nil value)
Кто-то криво камуфляж поставил... проверяй есть ли в _g.script
Код
timer_transparent = 0 --для камуфляжа
в bind_stalker.script
Код
trans_outfit.timer_trans() -- уменьшение дистанции видимости при одевании соотв. броников
И этот кто-то - Я.. Я фулл симулэйшн а-лайф закинул а в нем строки этой нет. А сам же шарился по дефолтному, вот и не понимал что не так со значениями, правил все что мог уже =\ Спасибо, направил на путь истинный)
Тогда такой вопрос, строку камуфляжа в а-лайфовский _g.script просто вписать можно? Или надо шаманить? А то я в этом не очень силен. Последний раз лет 7 назад таким в ГТА СА занимался, а мяско в сталкере люблю) Раньше на Зов ставил спаунер и устраивал баталии между 250-300 НПС
Такой вопрос: 1) нужно ли в теме указывать на ссылки на разные глобальные аддоны, типа СоМ, МЛР, Хабарщик и т.д. 2) Нужна ли тема "Лучшие аддоны"? Тем итак много, а она непонятно для чего - эдакое место для элиты? 3) Б.А.П. еще актуален? Может его удалить? 4) Удалять ли ссылки на старые сборки? Типа сборки на патч 1.4.10 (кроме Холодильника и т.д.)
1) Можно оставить ссыль на список тем CoC для тех кто попадает через поисковик и не видет, что в подтеме(подфоруме) 2)Нет, лучше пересортируй остальное. 3)х.з. 4)Под "архивный" спойлер закинь и подпиши, что без поддержки.
Если конечно моё мнение кому то интересно.
Добавь патч STCoP 5.1
Сообщение отредактировал ProFFesor117 - Среда, 04.01.2017, 08:10
MoDoStRoY, заметил баг - если деньгами уйти в минус, то дают состоятельного клиента
Добавлено (04.01.2017, 08:17) --------------------------------------------- извиняюсь - апдейт не заметил
Добавлено (04.01.2017, 09:19) --------------------------------------------- адаптация аутфита, одна координата из всех правильная, автор ты пьяный что ли извиняюсь - все переправлю нафиг
Нашёл в сталкере такой интересный файлик trade_generic.ltx,там были предметы из сталкера ,которые продаются у торговцев,но что значат цифры например 1.3 и через пробел 1.8?
Всем привет, может есть тот кто уже во все моды и сборки переиграл, мне нужна сборка с хардкором, но что бы до идиотизма не доходило, и что бы перестрелки интресные были. Надеюсь вы меня поняли. Заранее спасибо. С новым годом!