Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Другие игры / Other games (https://forum.zone-game.info/forumdisplay.php?f=24)
-   -   Tales of Pirates - Серверные файлы Little WarriorS (https://forum.zone-game.info/showthread.php?t=14971)

BopoHangel 08.07.2011 13:31

Tales of Pirates - Серверные файлы Little WarriorS
 

За основу сборки взяты серверные файлы 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
end


functions.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
-- Захват флага(конец)

end

forge.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 на русские ,а точней на Аргент,Шайтан,Ледынь ,а то достали бл*ть



Копирование на другие ресурсы строго запрещено.

TieLay 08.07.2011 15:35

Re: Tales of Pirates - Серверные файлы Little WarriorS
 
BopoHangel, я так понимаю после вот ЭТОГО
Цитата:

Вот и пришёл The End.Сервер закрывается наверное навсегда.Закрывается по многим причинам: 1)Это нету денег на оплату хостинга 2) Был взлом при котором человек который взломал очень много "нарисовал" 3) Большое количество старых багов которые не хотели рассказывать игроки т.к получали очень большое приимущество.Прошу прощение за потраченое ваше время,прошу не обижаться. Как говорится "Всё что не делается всё к лучшему".Наверное будет набор developer команды и проект найдёт себя http://барон-фантом.рф/ Сервер ещё будет функционировать пару дней пока не кончится хостинг в full fan режиме.Не держите обиды

BopoHangel 08.07.2011 16:36

Re: Tales of Pirates - Серверные файлы Little WarriorS
 
Нет,это новый сервер был,но на основе старого.Ссылку на который ты дал это тоже мой сервер был,но тот старый.

Добавлено через 1 минуту
Выложил сборку тут потому что не охото смотреть на людей которые юзают шлако сборки 1.35 версии.

NanoZet 08.07.2011 16:52

Re: Tales of Pirates - Серверные файлы Little WarriorS
 
А кто поддерживает или разрабатывает ?
Просто интересно. Рынок пиратии не знаю.

BopoHangel 08.07.2011 17:07

Re: Tales of Pirates - Серверные файлы Little WarriorS
 
Цитата:

А кто поддерживает или разрабатывает ?
В каком смысле?

NanoZet 08.07.2011 18:54

Re: Tales of Pirates - Серверные файлы Little WarriorS
 
Откудато появились эти сервера, версии.
Значит кто-то где их достаёт или разрабатывает или модифицирует.

BopoHangel 08.07.2011 19:10

Re: Tales of Pirates - Серверные файлы Little WarriorS
 
Цитата:

Сообщение от NanoZet (Сообщение 130258)
Откудато появились эти сервера, версии.
Значит кто-то где их достаёт или разрабатывает или модифицирует.

Данный сервер модифицировал я,за основу брались серверные файлы с американского оффа.


Текущее время: 21:13. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot