Nik, молодец! с ним будет интересней,но вот сюда бы еще сделать костюмы всех группировок,вот тогда было бы вообще супер)) А так пока что заново начинать не охото,с чем нибудь из глобальных модов надо смешать))))
Сообщение отредактировал sApeR-63rus - Среда, 02.05.2012, 20:01
Antdiablon, Зачем изменять группировку если можно изменить отношения к группировке?
Добавлено (03.05.2012, 18:09) --------------------------------------------- Кстати код, аля товарищ Artos, он на АМК это писал.
Вот для сравнения код:
Code
local idOutfit = nil
function outfit_npc() local oActor = db.actor local oOutfit = oActor and oActor:get_current_outfit() local sCommunity = "actor" if oOutfit then if oOutfit:id() == idOutfit then return else idOutfit = oOutfit:id() --/ таблица соответствий группировок костюмам (секциям) local tCommunityByOutfit = { ["stalker_outfit"] = "stalker", ["exo_outfit"] = "stalker", ["svoboda_light_outfit"] = "freedom", ["dolg_outfit"] = "dolg", ["svoboda_heavy_outfit"] = "freedom", ["specops_outfit"] = "army", ["dolg_heavy_outfit"] = "dolg" } sCommunity = tCommunityByOutfit[oOutfit:section()] or sCommunity end elseif idOutfit then idOutfit = nil else return end if sCommunity ~= oActor:character_community() then oActor:set_character_community(sCommunity, 0, 0) end end
Code
local idOutfit = nil --/ ID надетого костюма
function prov_npc() local oActor = db.actor --/ кешируем объект актора local oOutfit = oActor and oActor:get_current_outfit() --/ объект костюма на акторе local sCommunity = "actor" --/ для 'голого' актора if oOutfit then --/ костюм надет if oOutfit:id() == idOutfit then --/ костюм не сменился? return --/> костюм прежний else --/ сменялся - определяем группировку idOutfit = oOutfit:id() --/ запоминаем ID надетого костюма --/ таблица соответствий группировок костюмам (секциям) local tCommunityByOutfit = { ["bandit_outfit"] = "bandit", ["specops_outfit"] = "military", ["dolg_outfit"] = "dolg" } --/ определяем группировку соответвующую текущему костюму sCommunity = tCommunityByOutfit[oOutfit:section()] or sCommunity end elseif idOutfit then --/ а был ли костюм? idOutfit = nil --/ костюм снят - чистим else --/ уже 'голенький' return --/> end if sCommunity ~= oActor:character_community() then --/ если еще не в группировке oActor:set_character_community(sCommunity, 0, 0) end end
Изменения названия функции - ловко придумано...
Quote
Разработчик: Nik
Это как минимум подло с твоей стороны.
Сообщение отредактировал Tris - Четверг, 03.05.2012, 18:12
function prov_npc() local oActor = db.actor --/ кешируем объект актора local oOutfit = oActor and oActor:get_current_outfit() --/ объект костюма на акторе local sCommunity = "actor" --/ для 'голого' актора if oOutfit then --/ костюм надет if oOutfit:id() == idOutfit then --/ костюм не сменился? return --/> костюм прежний else --/ сменялся - определяем группировку idOutfit = oOutfit:id() --/ запоминаем ID надетого костюма --/ таблица соответствий группировок костюмам (секциям) local tCommunityByOutfit = { ["bandit_outfit"] = "bandit", ["specops_outfit"] = "military", ["dolg_outfit"] = "dolg" } --/ определяем группировку соответвующую текущему костюму sCommunity = tCommunityByOutfit[oOutfit:section()] or sCommunity end elseif idOutfit then --/ а был ли костюм? idOutfit = nil --/ костюм снят - чистим else --/ уже 'голенький' return --/> end if sCommunity ~= oActor:character_community() then --/ если еще не в группировке oActor:set_character_community(sCommunity, 0, 0) end end
Источник Тут совпадение 100%, даже имя функции совпадает.