Jump to content
Sign in to follow this  
BETEP/macs509

Сложение

Recommended Posts

Как из трёх чисел получить дроп 1 число буу, зя и т.д, 2 число рейты сервера, 3 число дроп от феи. Нужно понять как их правильно сложить. Я что то сам себя запутал

function Check_Baoliao(ATKER, DEFER, ... )
    local diaoliao_count = arg.n  
    Atker = TurnToCha ( ATKER ) 
    Defer = TurnToCha ( DEFER ) 
    local lv_atker = Lv(Atker)
    local lv_defer = Lv(Defer)
    local count = 0
    local crt_baoliao1 = 0.1 
    local crt_baoliao2 = 0.01 
    local crt_baoliao3 = 0.00001
    local MF_RAID_STATE = 1
    local DROP_FAIRY = 1
    local StateLv = GetChaStateLv ( ATKER , STATE_SBBLGZ )
    item = {} 
    local bsmf=( 1) * ( 1 ) 
    if IsPlayer(Defer) == 1 then
        if IsInGymkhana(Defer) == 1 then 
            count = 1 
            if lv_defer - lv_atker >= 5 then
                item[count] = 1
            elseif lv_defer - lv_atker <= (- 5)  then
                item[count] = 3
            else
                item[count] = 2
            end
            SetItemFall ( count , item[1] , item[2] , item[3] , item[4] , item[5] , item[6], item[7] ,item[8],item[9],item[10] )
        end 
    else     
        if diaoliao_count <= 0 or diaoliao_count > 10 then 
            return 
        end 
        if StateLv >= 0 and StateLv <= 10 then
            if StateLv == 1 then
                MF_RAID_STATE = StateLv + 1
            end
            if StateLv == 2 then
                MF_RAID_STATE = 2.5
            end
            if StateLv == 3 then
                MF_RAID_STATE = 3
            end
        end

                    local Item_bg = GetChaItem (ATKER , 2 , 1  )                    --Введём переменную Item_bg, что бы присвоить ей то что находится во 2 ячейке 1 ряда
                    local Get_Item_Type = GetItemType ( Item_bg )                    --Введём переменную Get_Item_Type, что бы узнать тип предмета у переменной Item_bg
                    if Get_Item_Type==59 then                                        --Есом тип предмета 59(или просто что это фея), то
                        local Item_ID = GetItemID ( Item_bg )                        --Введём перенную Item_ID, что бы узнать ID феи
                        local str = GetItemAttr( Item_bg ,ITEMATTR_VAL_STR )        --Введём перенную str, что бы узнать количество силы у феи
                        local con = GetItemAttr( Item_bg ,ITEMATTR_VAL_CON )        --Введём перенную con, что бы узнать количество телосложения у феи
                        local agi = GetItemAttr( Item_bg ,ITEMATTR_VAL_AGI )        --Введём перенную agi, что бы узнать количество ловкости у феи
                        local dex = GetItemAttr( Item_bg ,ITEMATTR_VAL_DEX )        --Введём перенную dex, что бы узнать количество точности у феи
                        local sta = GetItemAttr( Item_bg ,ITEMATTR_VAL_STA )        --Введём перенную sta, что бы узнать количество духа у феи
                        local URE = GetItemAttr( Item_bg ,ITEMATTR_URE )            --Введём перенную URE, что бы узнать количество энергии у феи
                        local MAXURE = GetItemAttr( Item_bg ,ITEMATTR_MAXURE )        --Введём перенную MAXURE, что бы узнать максимальное количество энергии у феи
                        local lv_JL = str + con + agi + dex + sta                    --Введём перенную lv_JL и узнаем уровень феи найдя сумму всех переменных str, con, agi, dex, sta
                        local StateLv1 = GetChaStateLv (ATKER , STATE_JLFT1 )        --Введём переменную StateLv1 и присвоим тип пасешена STATE_JLFT1                        
                        local flag=0                                                --Введём переменную flag и присвоем значение 0

                        if Item_ID==231 and StateLv1~=0 then
                            flag=1
                        end
                        if flag == 1 then                                            --Если флаг равен 1, то запищем дроп дающийся во время пасешена
                            if StateLv1 ~= 0 then                                    --Если используются анжела, то
                                DROP_FAIRY = lv_JL * 0.02 + 1                        --DROP_FAIRY равен сумме 1 и уровня феи умноженого на 0.02
                            end
                        end
                        SetItemAttr ( Item_bg , ITEMATTR_URE , URE )
                    end
        for i = 1 , diaoliao_count , 1 do 
            if arg >= 100 then 
                mf = math.min ( 1, 100 / arg * bsmf ) * MF_RAID * MF_RAID_STATE * DROP_FAIRY
                a = Percentage_Random(mf) 
                if a == 1 then 
                    count = count + 1 
                    item[count] = i 
                end
            else 
            end 
        end
        SetItemFall ( count , item[1] , item[2] , item[3] , item[4] , item[5] , item[6], item[7] ,item[8],item[9],item[10] )  
    end
end 

Share this post


Link to post
Share on other sites
7 часов назад, BETEP/macs509 сказал:

Нет, тогда получает пустая фея 1 лвл будет давать +1х к дропу чего на самом деле нет

У тебя сейчас если уровень феи 1 то дроп х1, а как мы знает 1 * на любое число - будет это самое число.
Ты либо умножение замени на сложение 

 mf = math.min ( 1, 100 / arg * bsmf ) * MF_RAID * MF_RAID_STATE + DROP_FAIRY

Либо меняй условие вот на такое.

DROP_FAIRY = lv_JL * 0.02 + 2   


ЗЫ насколько я помню дроп плохо работает с десятичными цифрами и все это дело округляется в конечном счете и причем не очень правильно.


Делай добро и бросай его в воду

Share this post


Link to post
Share on other sites

Нет, не то. Я не собираюсь ничего менять. Допустим:
MF_RAID = 2 - рейты сервера
MF_RAID_STATE = 3 - усиление от буу
DROP_FAIRY = 1,78 - фея
 

2*3*1,78 = 10,68 - это будет итоговый дроп?

Share this post


Link to post
Share on other sites

Нужно перемножить все рейты


Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...