BETEP/macs509 87 Report post Posted February 6, 2018 Как из трёх чисел получить дроп 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 Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted February 6, 2018 Нет, тогда получает пустая фея 1 лвл будет давать +1х к дропу чего на самом деле нет Quote Share this post Link to post Share on other sites
WVWMK 121 Report post Posted February 7, 2018 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 ЗЫ насколько я помню дроп плохо работает с десятичными цифрами и все это дело округляется в конечном счете и причем не очень правильно. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted February 7, 2018 Нет, не то. Я не собираюсь ничего менять. Допустим: MF_RAID = 2 - рейты сервера MF_RAID_STATE = 3 - усиление от буу DROP_FAIRY = 1,78 - фея 2*3*1,78 = 10,68 - это будет итоговый дроп? Quote Share this post Link to post Share on other sites
V3ct0r 2,116 Report post Posted February 10, 2018 Нужно перемножить все рейты Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites