07-08-2011, 01:31 PM 
(Сообщение последний раз редактировалось: 07-08-2011, 04:38 PM   BopoHangel.)
		
	
	![[Изображение: e2a44293219e.jpg]](http://s005.radikal.ru/i212/1105/07/e2a44293219e.jpg)
За основу сборки взяты серверные файлы PKO 1.36(клиент 1.39) не из шары.
Содержится:
- Сделана анжела младшая и фрукты к ней
 
- Разные плюшки за удержание портов в подземельях ,а так же флагов.
 
- Множество NPC с плюшками
 
- Выполнен 95% перевод.Переведено всё от ItemInfo и до всяких skilleffect.lua и AttrCalculate.lua
 
- Все карты в рабочем состоянии и без неисправностей.
 
- Содержатся все самоцветы +2 +3 +4 +5 +8,нью самоцветы,нефриты
 
- Добавлены свои самоцветы +20 бега,+10 востановление хп и сп, +15 аспид.
 
- Данж - Захват флага Барбароссы
 
- Данж - Искупление и Утопь Демона
 
- Оптимальный баланс классов немного уклонный на маг.классы
 
- Самописаное Баунти.
 
- Системы апдрейда БС до деза и деза до 85 ансилов.
 
- Хаос Ледыни 61-64 лвл с вкусным дропом
 
- Много вариантов заработка
 
- Добавлены 35 ансилы всем классам и они даются из сундука новичка.
 
- Изменены немного феи.2 ген феи теперь дают опыт и дроп как джуниор.
 
- А так же многое другое,всё описывать не охото сами всё посмотрите  
 
Пример перевода:
skilleffect.lua
Код:
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
―――――――――――――――――――――-Мистическая сила перерождения―――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
function Skill_Rbmp_Use( role , sklv ) 
    local statelv  = sklv  
    local rb_bonus = (-1) * ( 0.070 + 0.005 * statelv ) -- Бонус 7.5%
    local mnatksa  = math.floor (  (MnatkSa (role) - rb_bonus ) * ATTR_RADIX )         --Бонус минимальной атаки
    local mxatksa  = math.floor (  (MxatkSa (role) - rb_bonus ) * ATTR_RADIX )        --Бонус максимальной атаки
    local defsa    = math.floor (  (DefSa   (role) - rb_bonus ) * ATTR_RADIX )         --Бонус защиты
    local ResistSa = math.floor (  (ResistSa(role) - rb_bonus ) * ATTR_RADIX )         --Бонус физического сопротивления
    SetCharaAttr( mnatksa  , role , ATTR_STATEC_MNATK )
    SetCharaAttr( mxatksa  , role , ATTR_STATEC_MXATK )
    SetCharaAttr( defsa    , role , ATTR_STATEC_DEF   ) 
    SetCharaAttr( ResistSa , role , ATTR_STATEC_PDEF  )
    ALLExAttrSet(role)    
end 
function Skill_Rbmp_Unuse( role , sklv ) 
        local statelv  = sklv  
    local rb_bonus = (-1) * ( 0.050 + 0.005 * statelv ) -- Бонус 7.5%
    local mnatksa  = math.floor (  (MnatkSa (role) + rb_bonus ) * ATTR_RADIX )         --Бонус минимальной атаки
    local mxatksa  = math.floor (  (MxatkSa (role) + rb_bonus ) * ATTR_RADIX )        --Бонус максимальной атаки
    local defsa    = math.floor (  (DefSa   (role) + rb_bonus ) * ATTR_RADIX )         --Бонус защиты
    local ResistSa = math.floor (  (ResistSa(role) + rb_bonus ) * ATTR_RADIX )         --Бонус физического сопротивления
    SetCharaAttr( mnatksa  , role , ATTR_STATEC_MNATK )
    SetCharaAttr( mxatksa  , role , ATTR_STATEC_MXATK )
    SetCharaAttr( defsa    , role , ATTR_STATEC_DEF   ) 
    SetCharaAttr( ResistSa , role , ATTR_STATEC_PDEF  )
    ALLExAttrSet(role)             
end 
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
―――――――――――――――――――――-Дистанционная атака――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
function Skill_lackart_Begin ( role , sklv )  
end 
function Skill_lackart_End ( ATKER , DEFER , sklv )  
    Skill_Melee_End ( ATKER , DEFER , sklv ) 
end 
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
―――――――――――――――――――――-Узы Любви――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――--
--Узы любви
function Skill_Qlzx_End ( ATKER , DEFER , sklv ) 
    local NocLock =    KitbagLock( ATKER, 0 )
    if NocLock == LUA_FALSE then
        SystemNotice( ATKER , "\200\237\226\229\237\242\224\240\252 \231\224\225\235\238\234\232\240\238\226\224\237")
        --SystemNotice( ATKER , "Инвентарь заблокирован")
        return
    end
    local item_count = CheckBagItem ( ATKER , 2520 )
    if item_count <= 0 then  
        SystemNotice( ATKER , "\211 \194\224\241 \237\229\242 \202\238\235\252\246\224 \194\235\254\225\235\229\237\237\251\245")
        --SystemNotice( ATKER , "У Вас нет Кольца Влюбленных")
        return
    else
        local ring = GetChaItem2 ( ATKER , 2 , 2520 )
        local Num_ATK_JZ = GetItemForgeParam ( ring , 1 )
        Num_ATK_JZ = TansferNum ( Num_ATK_JZ )
        local ID_ATK_Num = GetRoleID(ATKER)
        local t = {} 
        t[0] = DEFER 
        t[1] = GetTeamCha(DEFER, 0 )  
        t[2] = GetTeamCha(DEFER, 1 )   
        t[3] = GetTeamCha(DEFER, 2 )    
        t[4] = GetTeamCha(DEFER, 3 )
        local i = 1
        for i = 1 , 4 , 1 do
            if t[i] ~= nil then
                local item_count = CheckBagItem ( t[i] , 2520 )
                if item_count == 1 then  
                    local Item = GetChaItem2 ( t[i] , 2 , 2520 )
                    local Num_JZ = GetItemForgeParam ( Item , 1 )
                    Num_JZ = TansferNum ( Num_JZ )
                    if Num_JZ == ID_ATK_Num  then
                        local ID_Num = GetRoleID(t[i])
                        if Num_ATK_JZ==ID_Num then
                            local x, y = GetChaPos(t[i])
                            local map_name = GetChaMapName (t[i])
                            x = math.floor (x*0.01)
                            y = math.floor (y*0.01)
                            if map_name == "prisonisland" or map_name == "mingyun" or map_name == "guildwar" or map_name == "guildwar2" or map_name == "darkswamp" or map_name == "abandonedcity" or map_name == "abandonedcity2" or map_name == "abandonedcity3" then
                                SystemNotice ( ATKER , "\194\238\231\236\238\230\237\238, \194\224\248\224 \239\238\235\238\226\232\237\234\224 \237\224\245\238\228\232\242\241\255 \237\224 \234\224\240\242\229, \227\228\229 \237\229\235\252\231\255 \232\241\239\238\235\252\231\238\226\224\242\252 \228\224\237\237\238\229 \243\236\229\237\232\229" )
                                --SystemNotice ( ATKER , "Возможно, Ваша половинка находится на карте, где нельзя использовать данное умение" )
                                UseItemFailed ( ATKER )
                                return
                            else
                                local map_name2 = GetChaMapName ( ATKER )
                                if map_name2 == "prisonisland" or map_name2 == "mingyun" or map_name2 == "guildwar" or map_name2 == "guildwar2" or map_name2 == "darkswamp" or map_name2 == "abandonedcity" or map_name2 == "abandonedcity2" or map_name2 == "abandonedcity3" then
                                    SystemNotice ( ATKER , "\205\229\235\252\231\255 \232\241\239\238\235\252\231\238\226\224\242\252 \243\236\229\237\232\229 \237\224 \228\224\237\237\238\233 \234\224\240\242\229" )
                                    --SystemNotice ( ATKER , Нельзя использовать умение на данной карте" )
                                    UseItemFailed ( ATKER )
                                    return
                                end
                            end
                            GoTo(ATKER, x,y, map_name)
                            return
                        end
                    end
                end
            end
            if i == 4 then
                SystemNotice( ATKER , "\194 \194\224\248\229\236 \238\242\240\255\228\229 \237\229\242 \194\224\248\229\233 \239\238\235\238\226\232\237\234\232")
                --SystemNotice( ATKER , "В Вашем отряде нет Вашей половинки")
            end
        end
    end
endfunctions.lua
Код:
-- Роль функции: Таймер,отсчёт времени
-- Параметры: функции выполняются раз в секунду
function cha_timer(role, freq, time)
 
    local resume_freq = 5 
    local now_tick = GetChaParam(role, 1) 
    local is_role_living = -1
    SetChaParam(role, 1, now_tick + freq * time) 
-- Восстановление ЖЗ
    if math.mod(now_tick, resume_freq) == 0 and now_tick > 0 then 
        if is_role_living == -1 then
            is_role_living = IsChaLiving(role)
        end
        if is_role_living == 1 then 
            Resume(role)
        end 
    end
-- Восстановление ЖЗ (конец)
-- Свечение 95 ансилов
local mxhp = GetChaAttr (role, ATTR_MXHP)
    if math.mod(now_tick, resume_freq) == 0 and now_tick > 0 then
                        ZhongShenTaoZhuang(role, now_tick)
                end
-- Свечение 95 ансилов(конец)
-- Свечение 85 колец 
        local Dina_xl = GetEquipItemP(role,8)
        local Dina_xl_ID= GetItemID (Dina_xl)
        local Dina_x2 = GetEquipItemP(role,2)
        local Dina_x2_ID= GetItemID (Dina_x2)
        if Dina_xl_ID==2577 and Dina_x2_ID==2817 then
            local statelv = 1
            local statetime = 3600
            AddState ( role , role , STATE_BBRING1 , statelv , statetime ) 
        elseif Dina_xl_ID==2578 and Dina_x2_ID==2820 then
            local statelv = 1
            local statetime = 3600
            AddState ( role , role , STATE_BBRING2 , statelv , statetime ) 
        elseif Dina_xl_ID==2579 and Dina_x2_ID==2823 then
            local statelv = 1
            local statetime = 3600
            AddState ( role , role , STATE_BBRING3 , statelv , statetime ) 
        elseif Dina_xl_ID==2580 and Dina_x2_ID==2826 then
            local statelv = 1
            local statetime = 3600
            AddState ( role , role , STATE_BBRING4 , statelv , statetime ) 
        elseif Dina_xl_ID==2581 and Dina_x2_ID==2832 then
            local statelv = 1
            local statetime = 3600
            AddState ( role , role , STATE_BBRING5 , statelv , statetime ) 
        elseif Dina_xl_ID==2582 and Dina_x2_ID==2829 then
            local statelv = 1
            local statetime = 3600
            AddState ( role , role , STATE_BBRING6 , statelv , statetime ) 
        else
            local statelv_bbring1 = GetChaStateLv ( role , STATE_BBRING1 )
                if statelv_bbring1~=0 then
                    RemoveState ( role , STATE_BBRING1 ) 
                end
            local statelv_bbring2 = GetChaStateLv ( role , STATE_BBRING2 )
                if statelv_bbring2~=0 then
                    RemoveState ( role , STATE_BBRING2 ) 
                end
            local statelv_bbring3 = GetChaStateLv ( role , STATE_BBRING3 )
                if statelv_bbring3~=0 then
                    RemoveState ( role , STATE_BBRING3 ) 
                end
            local statelv_bbring4 = GetChaStateLv ( role , STATE_BBRING4 )
                if statelv_bbring4~=0 then
                    RemoveState ( role , STATE_BBRING4 ) 
                end
            local statelv_bbring5 = GetChaStateLv ( role , STATE_BBRING5 )
                if statelv_bbring5~=0 then
                    RemoveState ( role , STATE_BBRING5 ) 
                end
            local statelv_bbring6 = GetChaStateLv ( role , STATE_BBRING6 )
                if statelv_bbring6~=0 then
                    RemoveState ( role , STATE_BBRING6 ) 
                end    
        end
-- Свечение 85 колец (конец)
-- Сила в сердце
        local Eric_XZDLL = GetEquipItemP(role,8)
        local Eric_XZDLL_ID = GetItemID (Eric_XZDLL)
        if Eric_XZDLL_ID == 5827 then
            local statelv = 1
            local statetime = 3600
            AddState ( role , role , STATE_XZDLL , statelv , statetime )
        else
            local statelv_XZDLL = GetChaStateLv ( role , STATE_XZDLL )
                if statelv_XZDLL~=0 then
                    RemoveState ( role , STATE_XZDLL ) 
                end
        end
-- Сила в цердце (конец)
--Бонус за удержание порта в фс\дс
    local map_cha = GetChaMapName(role) --Карта, на которой находится персонаж
    local bonus_type = ATTR_GD --Репутация (ATTR_GD - золото; ATTR_FAME - репутация)
    local character = GetChaAttr(role, bonus_type) --Кол-во выбранного атрибута у персонажа
    local bonus_add = 150 --Сколько очков добавить
    local bonus_calc = character + bonus_add
    if map_cha == "darkswamp" then
        local x,y = GetChaPos(role)
            x = math.floor(x/100)
            y = math.floor(y/100)
        if x >= 290 and x <= 330 and y >= 325 and y <= 350 then
            SystemNotice(role, "Получено золота: ("..bonus_add..")") --Сообщение "Получены очки чести..."
            SetChaAttrI(role, bonus_type, bonus_calc)
        end
    end
    if map_cha == "abandonedcity" then
        local x,y = GetChaPos(role)
            x = math.floor(x/100)
            y = math.floor(y/100)
        if x >= 300 and x <= 315 and y >= 305 and y <= 320 then
            SystemNotice(role, "Получено золота: ("..bonus_add..")") --Сообщение "Получены очки чести..."
            SetChaAttrI(role, bonus_type, bonus_calc)
        end
    end
-- Функция обратного отсчета времени Тюремного протокола
    local juluka_freq = 60
    local energy_resume = 60
    if math.mod(now_tick, juluka_freq) == 0 and now_tick > 0 then 
        local map_name = GetChaMapName ( role )
        if map_name == "prisonisland" then
            local item_jiluka = GetChaItem( role, 2, 2)
            local item_id = GetItemID( item_jiluka )
            if item_id == 5724 then            
                local energy = GetItemAttr(item_jiluka, ITEMATTR_ENERGY)            
                if energy < 0 then
                    energy = 0
                elseif energy ==0 then            
                    SystemNotice ( role , "\209\240\238\234 \194\224\248\229\227\238 \242\254\240\229\236\237\238\227\238 \231\224\234\235\254\247\229\237\232\255 \231\224\234\238\237\247\232\235\241\255. \207\238\227\238\226\238\240\232\242\229 \241 \237\224\247\224\235\252\237\232\234\238\236 \242\254\240\252\236\251." )
                    --SystemNotice ( role , "Срок Вашего тюремного заключения закончился. Поговорите с начальником тюрьмы." )
                else                     
                    energy = energy - energy_resume          
                    SetItemAttr(item_jiluka, ITEMATTR_ENERGY, energy )            
                end
            end
        end
    end
-- Функция обратного отсчета времени Тюремного протокола (конец)
-- Функция Священного Факела
    local one_minite=60                                    -- Устанавливаем one_minite как 60 секунд
    if math.mod(now_tick, one_minite) == 0 and now_tick > 0 then            
        local num_huoju=0                                          
        local item_huoju=0    
        num_huoju = CheckBagItem( role, 5825 )
        if num_huoju==1 then
            item_huoju = GetChaItem2 ( role , 2 , 5825 )
            local item_huoju_ure=GetItemAttr(item_huoju,ITEMATTR_URE)                            
            if item_huoju_ure>=50 then
                item_huoju_ure=item_huoju_ure-50
                SetItemAttr(item_huoju,ITEMATTR_URE,item_huoju_ure)
            end
        end        
    end
-- Функция Священного Факела (конец)
-- Неизвестная функция (Fireworks Durable)
        local el_nj = GetEquipItemP(role,9)
        local el_nj_ID= GetItemID (el_nj)
--        SystemNotice ( role , "el_nj_ID=="..el_nj_ID )
        if el_nj_ID==3669 then
            local ure = GetItemAttr(el_nj, ITEMATTR_URE)
--            SystemNotice ( role , "ure=="..ure )
            local ure_resume = 1000 
            ure = ure - ure_resume 
--            SystemNotice ( role , "ure1=="..ure )
            SetItemAttr(el_nj, ITEMATTR_URE, ure )
            SynChaKitbag(role,13)
            if ure <1000 then 
                RemoveChaItem ( role , 3669 , 1 , 1 , -1, 2 , 1  )
            end 
        end
        local Max_xl = GetEquipItemP(role,5)
        local Max_xl_ID= GetItemID (Max_xl)
--        SystemNotice ( role , "Max_xl_ID=="..Max_xl_ID )
        if Max_xl_ID==2980 then
            local statelv = 1
            local statetime = 1
            AddState ( role , role , STATE_ILOVEDAD , statelv , statetime ) 
--            SystemNotice ( role , "You love my father, I also love!" )
        end
-- Неизвестная функция (Fireworks Durable)(конец)
--Функция свадебного бонуса
        local cha = TurnToCha ( role )
        local now_tick = GetChaParam(role, 1)
        local ring_bg = CheckBagItem ( cha , 2520 )
        if ring_bg ~= 0 then
                local ring = GetChaItem2 ( cha , 2 , 2520 )
                local mate_id = GetItemForgeParam ( ring , 1 )
                if IsInTeam(cha) == 1 then
                        local Role_ID = GetRoleID(cha)
                        local t = {}
                                t[0] = cha 
                                t[1] = GetTeamCha(cha, 0 )  
                                t[2] = GetTeamCha(cha, 1 )   
                                t[3] = GetTeamCha(cha, 2 )    
                                t[4] = GetTeamCha(cha, 3 )
                        for i = 1 , 4 do
                                if t[i] ~= nil then
                                        local Have_Ring = CheckBagItem(  t[i] , 2520 )  
                                        if Have_Ring == 1 then
                                                local Item = GetChaItem2 ( t[i] , 2 , 2520 )
                                                local party_mate_id = GetItemForgeParam ( Item , 1 )
                                                if Role_ID == party_mate_id  then
                                                        local party_ID = GetRoleID(t[i])
                                                        if mate_id==party_ID then
                                                                local pos_cha_x, pos_cha_y = GetChaPos(cha)
                                                                local mate = TurnToCha ( t[i] )
                                                                local pos_mate_x, pos_mate_y = GetChaPos(mate)
                                                                local distance = Distance( pos_cha_x , pos_cha_y , pos_mate_x , pos_mate_y ) 
                                                                if distance <= 500 then 
                                                                        AddState ( role , role , 234 , 1 , 3600 )
                                                                        RefreshCha(role)
                                                                elseif distance >= 500 then
                                                                        RemoveState ( role , 234 )
                                                                end 
                                                        end
                                                end
                                        end
                                end
                        end
                end
        end
--Функция свадебного бонуса(конец)        
-- Автоматический Фрукт роста
    local Item_bg = GetChaItem ( role , 2 , 1  )                     -- Получение содержимого 2ой ячейки рюкзака
    local Get_Item_Type = GetItemType ( Item_bg )
    local Item_AutoSpeed = GetChaItem ( role , 2 , 2  )                 -- Получение содержимого 3ей ячейки рюкзака
    local Item_AutoSpeed_ID = GetItemID ( Item_AutoSpeed )
    if Get_Item_Type == 59 then
    local ChaStateLv = GetChaStateLv ( role , STATE_JLJSGZ)
        if ChaStateLv > 1 then
            SystemNotice ( role , "\200\241\239\238\235\252\231\243\229\242\241\255 \225\238\235\229\229 \236\238\249\237\251\233 \243\241\232\235\229\242\232\229\235\252. \207\238\239\240\238\225\243\233\242\229 \239\238\231\230\229." )
                --SystemNotice ( role , "Используется более мощный усилетиель. Попробуйте позже." )
            UseItemFailed ( role )
        end
        if ChaStateLv == 1 then
            SystemNotice ( role , "\200\241\239\238\235\252\231\243\229\242\241\255 \225\238\235\229\229 \236\238\249\237\251\233 \243\241\232\235\232\242\232\229\235\252. \207\238\239\240\238\225\243\233\242\229 \239\238\231\230\229." )
                --SystemNotice ( role , "Используется более мощный усилитиель. Попробуйте позже." )
            UseItemFailed ( role )
        end
        if ChaStateLv == 0 and Item_AutoSpeed_ID ==5643 then            
        local k = TakeItem(  role,0,5643,1)
            if k==0 then
                SystemNotice ( role , "\205\229 \243\228\224\235\238\241\252 \232\241\239\238\235\252\231\238\226\224\242\252 \192\226\242\238\236\224\242\232\247\229\241\234\232\233 \212\240\243\234\242 \240\238\241\242\224!" )
                    --SystemNotice ( role , "Не удалось использовать Автоматический Фрукт роста!" )
            else
            local statetime = 900
            local statelv =1
            AddState( role , role , STATE_JLJSGZ , statelv , statetime )
                SystemNotice ( role , "\200\241\239\238\235\252\231\238\226\224\237 \192\226\242\238\236\224\242\232\247\229\241\234\232\233 \212\240\243\234\242 \240\238\241\242\224! \211\228\226\238\229\237 \242\229\236\239 \240\238\241\242\224 \244\229\232." )        
                    --SystemNotice ( role , "Использован Автоматический Фрукт роста! Удвоен темп роста феи." )
            end
        end
    end
-- Автоматический Фрукт роста(конец)
-- Феи
    local pet_freq = 60 
    local Item_Elf = GetChaItem ( role , 2 , 1  )
    local Get_Elf_Type = GetItemType ( Item_Elf )
    if Get_Elf_Type == 59 then
        local ure_type = GetItemAttr( Item_Elf ,ITEMATTR_URE )       
        if ure_type<=49 then
            SetChaKbItemValid2(role , Item_Elf , 0 , 1)            
        else
            SetChaKbItemValid2(role , Item_Elf , 1 , 1)            
        end
        local str = GetItemAttr( Item_Elf ,ITEMATTR_VAL_STR )       -- Сила
            local con = GetItemAttr( Item_Elf ,ITEMATTR_VAL_CON )       -- Телосложение
            local agi = GetItemAttr( Item_Elf ,ITEMATTR_VAL_AGI )       -- Ловкость
            local dex = GetItemAttr( Item_Elf ,ITEMATTR_VAL_DEX )       -- Точность
            local sta = GetItemAttr( Item_Elf ,ITEMATTR_VAL_STA )       -- Дух
        local Lv = str + agi + dex + con + sta                -- Уровень феи
        if Lv > 27 then
            pet_freq = pet_freq + ( Lv - 27 ) * 5            -- Если уровень феи выше 27, то время увеличивается
        end
    end
    local sklv = GetChaStateLv ( role , STATE_JLJSGZ )             -- Если применен Фрукт роста феи, время сокращается в 2 раза
    if  sklv~=0 then
        pet_freq =math.floor( pet_freq*0.5 )
    end    
    if math.mod(now_tick, pet_freq) == 0 and now_tick > 0 then 
        if is_role_living == -1 then
            is_role_living = IsChaLiving(role)
        end
        if is_role_living == 1 then   
            local Item_bg = GetChaItem ( role , 2 , 1  )     
            local Get_Item_Type = GetItemType ( Item_bg ) 
            local Item_siliao = GetChaItem ( role , 2 , 2  ) 
            local Item_siliao_ID = GetItemID ( Item_siliao ) 
            if Get_Item_Type == 59 then
                local Elf_URE = GetItemAttr( Item_bg ,ITEMATTR_URE )       
                local Num_JLone = GetItemForgeParam ( Item_bg , 1 )
                local Part1_JLone = GetNum_Part1 ( Num_JLone )    
-- Стандартный паек / Большой Авто-Рацион
                    if Elf_URE<=2550 and ItemUse_siliao_ID==2312 then
                            local j = TakeItem(  role,0,2312,1)
                            if j==0 then
                                SystemNotice ( role , "\209\242\224\237\228\224\240\242\237\251\233 \239\224\229\234 \237\229 \232\241\239\238\235\252\231\238\226\224\237!" )
                                    --SystemNotice ( role , "Стандартный паек не использован!" )
                            else
                                Elf_URE = Elf_URE + 2500
                                SystemNotice ( role , "\212\229\255 \224\226\242\238\236\224\242\232\247\229\241\234\232 \237\224\234\238\240\236\235\229\237\224." )
                                    --SystemNotice ( role , "Фея автоматически накормлена." )
                                SetItemAttr ( Item_bg , ITEMATTR_URE , Elf_URE )
                            end
                    elseif  Elf_URE<=5000 and Item_numeneat_ID==5645 then 
                            local j = TakeItem(  role,0,5645,1)
                            if j==0 then
                                SystemNotice ( role , "\193\238\235\252\248\238\233 \192\226\242\238-\240\224\246\232\238\237 \237\229 \232\241\239\238\235\252\231\238\226\224\237!" )
                                    --SystemNotice ( role , "Большой Авто-рацион не использован!" )
                            else
                                Elf_URE = Elf_URE + 5000
                                SystemNotice ( role , "\212\229\255 \224\226\242\238\236\224\242\232\247\229\241\234\232 \237\224\234\238\240\236\235\229\237\224." )
                                    --SystemNotice ( role , "Фея автоматически накормлена." )
                                SetItemAttr ( Item_bg , ITEMATTR_URE , Elf_URE )
                            end
                    end
-- Стандартный паек / Большой Авто-Рацион (конец)
-- Получение Монет фей, Эльф. печаток, Кор.эльф.печаток
                local star_num = GetItemAttr( Item_bg ,ITEMATTR_VAL_FUSIONID )       
                star_num=star_num+1
                if math.mod( star_num , 1) == 0 and Elf_URE>=50 and Part1_JLone==1 then
                    GiveItemX ( role , 0 , 855 , 1 , 4 )                            
                end
                if math.mod( star_num , 2) == 0 and Elf_URE>=50 and Part1_JLone~=1 then
                    GiveItemX ( role , 0 , 855 , 1 , 4 )                            
                end
                if math.mod( star_num , 30) == 0  and Elf_URE>=50 and Part1_JLone==1 then            
                    GiveItemX ( role , 0 , 2588 , 1 , 4 )                            
                end
                if math.mod( star_num , 60) == 0  and Elf_URE>=50 and Part1_JLone~=1 then    
                    GiveItemX ( role , 0 , 2588 , 1 , 4 )                            
                end
                if math.mod( star_num , 120) == 0  and Elf_URE>=50  then                
                    GiveItemX ( role , 0 , 2588 , 1 , 4 )                                        
                end
                if math.mod( star_num , 1200) == 0  and Elf_URE>=50 then                
                    GiveItemX ( role , 0 , 2589 , 1 , 4 )                            
                end
                if star_num==1200 then
                    star_num=0
                end
                SetItemAttr ( Item_bg , ITEMATTR_VAL_FUSIONID , star_num )
                
                Take_ElfURE ( role , Item_bg , 1 , 0 )
                
                Give_ElfEXP ( role , Item_bg , 1 , 0 )  
-- Получение Монет фей, Эльф. печаток, Кор.эльф.печаток (конец)
            end 
        end 
    end
-- Феи (конец)
-- Захват флага
    local map = GetChaMapName ( role ) --Получаем название карты где находяться игроки
    if map == "starena33" then --Если игрок на карте захвата флага, то...
        local flag = GetChaStateLv ( role , 204 ) --Переменная хранящая значение флага
        if flag > 0 then --Если на игроке флаг есть, то...
            id_char = role --Записать его ID в переменную "носитель флага"
            AddMoney ( role , 0 , 400 )
        end
    end
    local cha_map = GetChaMapName ( id_char ) --Получаем карту нахождения носителя флага
    if cha_map ~= "starena33" then --Если он находиться не на карте захвата флага, то...
        local name_char = GetChaDefaultName ( id_char ) --Получаем его ник
        Notice("["..name_char.."] убежал что аж пятки засверкали и выбросил флаг. Первый вошедший на локацию получит его." ) --Выводим сообщение, о потери флага
        id_char = 0 --Удаляем его ID из переменной "носитель флага"
    end
-- Захват флага(конец)
endforge.lua
Код:
function can_unite_item_main ( Table )
    local role = 0
    local ItemBag = {}                                        
    local ItemCount = {}                                        
    local ItemBagCount = {}                                        
    local Get_Count = 4
    local ItemReadCount = 0
    local ItemReadNow = 1
    local ItemReadNext = 0
    local ItemBag_Now = 0
    local ItemCount_Now = 0
    local ItemBagCount_Num = 0
    
    role , ItemBag , ItemCount , ItemBagCount , ItemBag_Now , ItemCount_Now , ItemBagCount_Num = Read_Table ( Table )
    local i = 0
    for i = 0 , 2 , 1 do                            
        if ItemBagCount[i] ~= 1 or ItemCount[i] ~= 1 then
            return 0
        end
    end
    
    
    local BagItem1 = ItemBag [0]
    local BagItem2 = ItemBag [1]
    local BagItem3 = ItemBag [2]
    local Item1 = GetChaItem ( role , 2 , BagItem1 )            
    local Item2 = GetChaItem ( role , 2 , BagItem2 )
    local Item3 = GetChaItem ( role , 2 , BagItem3 )
    
    local ItemID1 = GetItemID ( Item1 )                    
    local ItemID2 = GetItemID ( Item2 )
    local ItemID3 = GetItemID ( Item3 )
    local ItemType1 = GetItemType ( Item1 )
    local ItemType2 = GetItemType ( Item2 )
    local ItemType3 = GetItemType ( Item3 )
    if ItemType1 ~= 47 then                    
        
        SystemNotice( role ,"\221\242\238 \237\229 \241\226\232\242\238\234 \238\225\250\229\228\232\237\229\237\232\255")
        --SystemNotice( role ,"Это не свиток объединения")
        return 0
    end
    if ItemType2 ~= 49 or ItemType3 ~= 49 then            
        if ItemType2 ~= 50 or ItemType3 ~= 50 then
            SystemNotice( role , "\221\242\238 \237\229 \241\224\236\238\246\226\229\242")
            --SystemNotice( role , "Это не самоцвет")
            return 0
        end
    end
    if ItemID2 ~= ItemID3 then        
        SystemNotice(role ,"\209\224\236\238\246\226\229\242 \237\229 \241\238\238\242\226\229\242\241\242\226\243\229\242")
        --SystemNotice(role ,"Самоцвет не соответствует")
        return 0
    end
    local Item2_Lv = Get_StoneLv ( Item2 )                    
    local Item3_Lv = Get_StoneLv ( Item3 )
    
    if ItemType2 == 49 and ItemType3 == 49 then
        if Item2_Lv >= 9 or Item3_Lv >= 9 then
            SystemNotice ( role , "\211\240\238\226\229\237\252 \241\224\236\238\246\226\229\242\224 \236\224\234\241\232\236\224\235\252\237\251\233")
            --SystemNotice ( role , "Уровень самоцвета максимальный")
            return 0
        end
    end
    if Item2_Lv ~= Item3_Lv then 
        
        SystemNotice(role ,"\211\240\238\226\229\237\252 2 \241\224\236\238\246\226\229\242\224 \237\229 \241\238\226\239\224\228\224\229\242 \241 1")
        --SystemNotice(role ,"Уровень 2 самоцвета не совпадает с 1")
        return 0
    end
    local Money_Need = getunite_money_main ( Table )
    local Money_Have = GetChaAttr ( role , ATTR_GD )
    if Money_Need > Money_Have then
    
        SystemNotice( role ,"\205\229\245\226\224\242\224\229\242 \231\238\235\238\242\224 \228\235\255 \238\225\250\229\228\232\237\229\237\232\255")
        --SystemNotice( role ,"Нехватает золота для объединения")
        return 0
    end
    
    return 1
endСсылки:
Серверные файлы: http://rghost.ru/11243961
Патч: http://rghost.ru/6991971
ВНИМАНИЕ: в StringSet`e и в Group Server`e обязательно изменяем Argent,Shaitan City на русские ,а точней на Аргент,Шайтан,Ледынь ,а то достали бл*ть
Копирование на другие ресурсы строго запрещено.

 
 

 


