Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Understanding NPC DROP

Newbie Spellweaver
Joined
Dec 8, 2023
Messages
7
Reaction score
1
You need to understand the first-line codes in the NPC:
What do I need to know?
There are 5 files to study:
in local/malay_gb/config/
npc_drop.lua​

in local/malay_gb/
good_item_drop.csv
item_drop_class.csv​
item_drop_color.csv​
in local/common/table/
npc.csv​



  1. in local/malay_gb/config/
    npc_drop.lua
    Here have much informations. first check level to drop in nNpcLev + 10 for drops difference level =10 level less:
    Less:
    function GetNpcMoneyAtt(nNpcLev, nUserLev, nDungeonId, nEctypeId)
        if nDungeonId ~= 0 then
            return 1
        end
        
        if nEctypeId ~= 0 then
            if (nNpcLev + 10) <= nUserLev then
                return 1
            end
    
            return 1
        end
        
        if (nNpcLev + 5) <= nUserLev then
            return 1
        end
    
        if nNpcLev >= 1 and nNpcLev <= 15 then
            return 1
        end
        
        if nNpcLev >= 16 and nNpcLev <= 25 then
            return 1
        end
    
        return 1
    end
    
    function GetNpcExpAtt(nNpcLev, nUserLev, nDungeonId, nEctypeId)
        if nDungeonId ~= 0 then
                return 1
            end
        
            if nEctypeId ~= 0 and nNpcLev >= 14 then
                return 1
            end
        
        if nNpcLev >= 1 and nNpcLev <= 15 then
                return 1
            end
    
            if nNpcLev >= 16 and nNpcLev <= 25 then
                return 1
            end
    
        return 1
    end
    
    function CanDropItem(nNpcLev, nUserLev, nDungeonId, nEctypeId, nDropType)
        if nDropType >= 5 and nDropType <= 8 then
            return 1
        end
    
        if nEctypeId ~= 0 then
            if (nNpcLev + 10) <= nUserLev then
                return 1
            end
    
            return 1
        end
        
        if (nNpcLev + 5) <= nUserLev then
            return 1
        end
    
        return 1
    end



  2. local/malay_gb/table
    good_item_drop.csv
    Here is most important check percents
    1= 100%
    0.9= 90%
    0.001= 1%
    BUT NEED CHECK OTHERS ARCHIVES. There may be differences in the %, the ideal is to test
    t1= mobs
    t2= Chests drops/ boss out / First boss cave
    t3= on mine there is no mob or boss configured here
    t4= Patrol mobs, and some boss in caves
    t5= Boss Cave
    t6= Last Caves
    t7= Veteran
    t8= World Boss
    Less:
    ID,item_id,item_name,t1,t4,t5,t6,t7,t8,minlev,maxlev,t2,t3
    44,5524,"Chest LR T6 e t8 only",0,0,0,0.2,0,0.080000,40,60,0,0
    45,5957,"Chest LE T6 e t8 only",0,0,0,0.2,0,0.080000,40,60,0,0



  3. local/malay_gb/table
    item_drop_class.csv
    1nothing
    2ID= ID for file only
    3 ID to put in npc.csv
    4"description"
    5 items
    6 % drop

    Less:
    ,ID,,,DropItems,DropRate
    90,4010,26,26������,"314,0;323,0;332,0;621,0;699,0;",0.05



  4. local/malay_gb/table
    item_drop_color.csv
    Here is most important check percents
    1= 100%
    0.9= 90%
    0.001= 1%
    BUT NEED CHECK OTHERS ARCHIVES. There may be differences in the %, the ideal is to test
    I translated here, It's self explanatory, compare the columns:
    low lev = Levl
    level max drop = Levh
    *IMPORTANT* is level of mobs, not the character!
    Less:
    ID,Name,Type,White,Green,Blue,Golden,GoldenPlus,BluePlus,GreenPlus,WhitePlus,Levl,Levh,Attenuation_Normal,Attenuation_Good
    1,mobs,1,"0.100 ","0.160 ","0.030 ","0.040 ",,,,,1,14,1,1
    2,mobs,1,"0.040 ","0.250 ","0.036 ","0.040 ",,,,,15,29,1,1
    3,mobs,1,"0.020 ","0.300 ","0.050 ","0.040 ",,,,,30,49,1,1
    4,mobs,1,"0.010 ","0.400 ","0.060 ","0.040 ",,,,,50,99,1,1
    5,BossOutCave,2,2,"0.300 ","0.005 ","0.050 ",,,,,1,19,1,1
    6,BossOutCave,2,2,"0.250 ","0.004 ","0.050 ",,,,,20,39,1,1
    7,BossOutCave,2,2,"0.250 ","0.004 ","0.050 ",,,,,40,99,1,1
    8,Nothing,3,1,"0.300 ","0.005 ",0,,,,,1,19,1,1
    9,Nothing,3,1,"0.250 ","0.004 ",0,,,,,20,39,1,1
    10,Nothing,3,1,"0.250 ","0.004 ","0.050 ",,,,,40,99,1,1
    11,mobsCave,4,1,"0.250 ","0.050 ","0.010 ",,,,,1,39,,1
    12,mobsCave,4,1,"0.250 ","0.040 ","0.010 ",,,,,40,99,,1
    13,BossCave,5,4,1,1,"0.020 ",,,,,1,14,,1
    14,BossCave,5,4,1,1,"0.010 ",,,,,15,39,,1
    15,BossCave,5,4,1,1,"0.010 ",,,,,40,99,,1
    16,BossCaveLast,6,4,1,1,"0.020 ",,,,,1,14,,1
    17,BossCaveLast,6,4,1,1,"0.020 ",,,,,15,39,,1
    18,BossCaveLast,6,4,1,1,"0.040 ",,,,,40,99,,1
    19,Vet,7,8,1,1,"0.024 ",,,,,1,39,,1
    20,Vet,7,8,1,1,"0.036 ",,,,,40,99,,1
    21,WorldBoss,8,8,1,1,"0.050 ",,,,,40,99,,1



  5. in local/common/table/

    npc.csv
    Col:
    Put here your ID of item_drop_class.csv
    40=DropItems (used to drop equips communs)
    43=AloneDropitems (used to drop rare items)

    Less:
    ID,mapname,Name,Type,Select,DetailType,ModelID,AttackFlag,TameType,ResourceType,BodyDuration,Lev,NotBroadcastDrop,EliteRate1,EliteRate2,title,BloodColorBound,EffectResist,SkillResist,HP,MP,Att,Dam,Dodge,Arm,DefaultAttack,DefaultMeleeAttack,Skills,PetSkills,elemDam,elemArm,AttRange,MovSpeed,AttSpeed,Exp,Nimbus,Gold,GoldRate,DropType,DropItems,AttrRate,LevAdjust,AloneDropItems,AloneAttrRate,AloneLevAdjust,AloneDropRate,DropItemNum,NpcRandomPos,Coor,Func,DefTalk,AcceptTask,FinishTask,RelatedTask,TrafficStation,LifeSkill,Force,CreditReward,AddMasterEffect,Foods,Home,LeaveViewUncache,CanSeeOtherNpc,DieRemoveUnderling,IsNearNpc,Memo
    294,����ħɮ,$L:npc_294$,1,3,,185,1,,,100,35,,,,0,,,,"1313 ","312 ",0,"97 ","36 ","650 ",20,,,,,650;650;650;650;650,60,120,3,"230 ","38 ",2000,0.5,1,403;,0.1;0;0;,"-1,1;",6023;4509,0;0;0;0;0;0;0;,"0,0;0,0;",0.13;0.13,,,-959;-1144;1,,,,,204;,,,,,,,,,1,,,








 
Back
Top