Jump to content
  • 0

About Augmentions


melron

Question

Hello,

 

Im wondering how can we insert for example passive duel might lvl 10 and str+1.

 

 im working on IL (acis) and in augmentations table i got :

 

Item_id / attributes / skill_id / skill_level

 

the method to get the attribute for example passive duel might is:

 

get the augmentation id (16285) * 65536 = 1067253760.

 

So if we insert in db

 

item_id          attributes        skill_id   skill_level

268480257   1067253760   3243      10

 
we get our weap with stats:
 
Passive: duel might lvl 10.
 
if we add 1 more number in attributes (1067253760+1 = 1067253761):
 

item_id          attributes        skill_id   skill_level

268480257   1067253761   3243      10

 

we get our weap with stats:
 
P.def. +15.4
Passive: duel might lvl 10.
 
 
+2 (1067253761+1 = 1067253762)
 

item_id          attributes        skill_id   skill_level

268480257   1067253762   3243      10

 
then we will get in our weap:
 
M.def. +12.3
Passive: duel might lvl 10.
 
But what about extra stats?

 

the list of the extra stats are 17  : 

 

Increase Accuracy between +0.4 and +3.0 

Increase CP Recovery between +0.1 and +0.8

Increase Critical between +4.9 and +32.7

Increase Dodge between +0.4 and +3.0

Increase Recovery between +0.1 and +0.8

Increase M. Atk. between +2.5 +28.2

Increase Maximum CP between +19.2 and +214.9

Increase Maximum HP between +12.7 and +155.9

Increase Maximum MP between +6.1 and +115.1

Increase M. Def. between +4 and +30.8

Increase MP Recovery between +0.1 and +0.4

Increase P. Atk. between +2.2 and +24.2

Increase P. Def. between +5.1 and +38.2

Increase CON +1

Increase INT +1

Increase MEN +1

Increase STR +1

 

imagine how many numbers we can add in attribute to caught the STR +1 and its not only that...

Stats can combined for example Dodge and recovery so we have 17 stats * the numbers we can get of each one?

and if example we have 5000 numbers if we do the retard method in db (add 1 in attribute , reload items , rr and see what we got 5000 times

we will caught the d.might lvl 10 + STR +1? 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Open optiondata_client-e.dat from system folder. You will find all attributes id you are looking for. For my custom augmenter I put + Rnd.get(min, max) to generate random stat.

Link to comment
Share on other sites

  • 0

So, In one weap we cant get both? i mean skill + str+1 or smt?

 

(u are using Rnd to get what? extra stats ?)

Edited by ⏇Melron⏇℠Abs
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Posts

    • I use l2fandc files. I need a java code, I've been searching a lot and waiting for help. What I want to do is to teleport to the players doing pvp. So it's like finding the flag player. I found some files but they did not fit my system. I'm waiting for help..   EXAMPLE:     package handlers.bypasshandlers; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import com.l2jmobius.Config; import com.l2jmobius.commons.util.Rnd; import com.l2jmobius.gameserver.enums.ChatType; import com.l2jmobius.gameserver.handler.IBypassHandler; import com.l2jmobius.gameserver.model.L2World; import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.zone.ZoneId; import com.l2jmobius.gameserver.network.serverpackets.CreatureSay; /**  * @author Mobius (based on Tenkai pvpzone)  */ public class FindPvP implements IBypassHandler {     private static final String[] COMMANDS =     {         "FindPvP"     };          @Override     public boolean useBypass(String command, L2PcInstance activeChar, L2Character target)     {         if (!Config.ENABLE_FIND_PVP || !target.isNpc())         {             return false;         }                  L2PcInstance mostPvP = null;         int max = -1;         for (L2PcInstance player : L2World.getInstance().getPlayers())         {             if ((player == null) //                 || (player.getPvpFlag() == 0) //                 || (player.getInstanceId() != 0) //                 || player.isGM() //                 || player.isInsideZone(ZoneId.PEACE) //                 || player.isInsideZone(ZoneId.SIEGE) //                 || player.isInsideZone(ZoneId.NO_SUMMON_FRIEND))             {                 continue;             }                          int count = 0;             for (L2PcInstance pl : L2World.getInstance().getVisibleObjects(player, L2PcInstance.class))             {                 if ((pl.getPvpFlag() > 0) && !pl.isInsideZone(ZoneId.PEACE))                 {                     count++;                 }             }                          if (count > max)             {                 max = count;                 mostPvP = player;             }         }                  if (mostPvP != null)         {             // Check if the player's clan is already outnumbering the PvP             if (activeChar.getClan() != null)             {                 Map<Integer, Integer> clanNumbers = new HashMap<>();                 int allyId = activeChar.getAllyId();                 if (allyId == 0)                 {                     allyId = activeChar.getClanId();                 }                 clanNumbers.put(allyId, 1);                 for (L2PcInstance known : L2World.getInstance().getVisibleObjects(mostPvP, L2PcInstance.class))                 {                     int knownAllyId = known.getAllyId();                     if (knownAllyId == 0)                     {                         knownAllyId = known.getClanId();                     }                     if (knownAllyId != 0)                     {                         if (clanNumbers.containsKey(knownAllyId))                         {                             clanNumbers.put(knownAllyId, clanNumbers.get(knownAllyId) + 1);                         }                         else                         {                             clanNumbers.put(knownAllyId, 1);                         }                     }                 }                                  int biggestAllyId = 0;                 int biggestAmount = 2;                 for (Entry<Integer, Integer> clanNumber : clanNumbers.entrySet())                 {                     if (clanNumber.getValue() > biggestAmount)                     {                         biggestAllyId = clanNumber.getKey();                         biggestAmount = clanNumber.getValue();                     }                 }                                  if (biggestAllyId == allyId)                 {                     activeChar.sendPacket(new CreatureSay(0, ChatType.WHISPER, target.getName(), "Sorry, your clan/ally is outnumbering the place already so you can't move there."));                     return true;                 }             }                          activeChar.teleToLocation((mostPvP.getX() + Rnd.get(300)) - 150, (mostPvP.getY() + Rnd.get(300)) - 150, mostPvP.getZ());             activeChar.setSpawnProtection(true);             if (!activeChar.isGM())             {                 activeChar.setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_PVP_TIME);                 activeChar.startPvPFlag();             }         }         else         {             activeChar.sendPacket(new CreatureSay(0, ChatType.WHISPER, target.getName(), "Sorry, I can't find anyone in flag status right now."));         }         return false;     }          @Override     public String[] getBypassList()     {         return COMMANDS;     } }
    • How are you, fucking Nazi? Haven't you been sent to the front line yet, as cannon fodder? or are you Nazi scum still hiding in the basements? you whores destroyed the inhabitants of Donbass for 8 years, and now you are a fagot hiding behind the backs of women. Nazis in Ukraine will be physically destroyed! every! we will get each of you! if not immediately, then years later you will be punished for your crimes!
  • Topics

×
×
  • Create New...