Jump to content

Custom Race Starting Items


iSparky

Recommended Posts

 

As I said before, there is no need for equip part, since it's already there, few lines below :P

            if (item.isEquipable())
            {
                if (newChar.getActiveWeaponItem() == null || !(item.getItem().getType2() != Item.TYPE2_WEAPON))
                    newChar.getInventory().equipItemAndRecord(item);
            }

 

its not same at all 

(item,getItem().getType2() != Item,TYPE2_weapon)

 

 

(helm,getItem().getType2() != Item,TYPE2_HEAD)...

(chest,getItem().getType2() != Item,TYPE2_EHEST)...

etc....

Link to comment
Share on other sites

its not same at all 

(item,getItem().getType2() != Item,TYPE2_weapon)

 

 

(helm,getItem().getType2() != Item,TYPE2_HEAD)...

(chest,getItem().getType2() != Item,TYPE2_EHEST)...

etc....

This is an example, and sweets tell you that there is already there.

Does not need to put lines for equip items.

If I understood correctly because English is not my forte. :P

Link to comment
Share on other sites

Well...from what i remember there is already a table in database to config this things by classId/itemid, its similar, but don't automatic equip the items on creation

 

Just a question, this one, equip the items when the char enter in the world or already equip in the lobby room?

Too much configs is a bit complex, maybe you can do 2 versions of this

A basic one
+By Fighter/Mage Class

And a complex one with a lot of configs
+For All
+By Fighter/Mage Class

+By Race

+By Specific Class Id

And a tip, try to use arrays/maps like the others said,
If you don't know what this means, just do a little search and make some tutorials

You can simplify this code with a for loop and switch/cases based on a built array

My english is not my "forte" too so i hope you understand, i'm just trying to be nice :)

 

Link to comment
Share on other sites

Well...from what i remember there is already a table in database to config this things by classId/itemid, its similar, but don't automatic equip the items on creation

 

Yes, there is actually and it's auto equipping - at least on aCis.. So, basically this share is kinda useless :)

 

But still a good practice for the author.

Edited by SweeTs
Link to comment
Share on other sites

  • 2 weeks later...
<?xml version="1.0" encoding="UTF-8"?>
<list>
    <template race="-1" classId="-1">
        <equipment slot="rhand" item="12345"/>
        <equipment slot="lhand" item="12345"/>
        <inventory>
            <item id="1234" count="12313" />
            <item id="567" count="2222" />
        </inventory>
        <shortCut slot="1" page="1" type="1" id="5555" level="-1" charType="1">
    </template>
</list>

Is possible to change code to: When player success his 3rd class get his class items? Soultaker for example am,dc .. ?

Link to comment
Share on other sites

 

<?xml version="1.0" encoding="UTF-8"?>
<list>
    <template race="-1" classId="-1">
        <equipment slot="rhand" item="12345"/>
        <equipment slot="lhand" item="12345"/>
        <inventory>
            <item id="1234" count="12313" />
            <item id="567" count="2222" />
        </inventory>
        <shortCut slot="1" page="1" type="1" id="5555" level="-1" charType="1">
    </template>
</list>

Is possible to change code to: When player success his 3rd class get his class items? Soultaker for example am,dc .. ?

 

This XML was an example and it's related to the character creation. You should edit the quest (Saga of the Soultaker in your case) or add them as a reward if you use the custom class master.

Link to comment
Share on other sites

  • 1 month later...

I separated the class put even when one activates the two are receiving the items

 

# Human Fighter
EnableHumanFighterReward = True
HumanFighterHelmID = 43
HumanFighterChestID = 23
HumanFighterLegsID = 2386
HumanFighterBootsID = 39
HumanFighterGlovesID = 49
HumanFighterWeaponID = 2
# Human Mage
EnableHumanMageReward = False
HumanMageHelmID = 43
HumanMageChestID = 1101
HumanMageLegsID = 1104
HumanMageBootsID = 39
HumanMageGlovesID = 49
HumanMageWeaponID = 6

 

 

public static boolean ENABLE_HUMAN_FIGHTER_REWARD;
public static boolean ENABLE_HUMAN_MAGE_REWARD;

 

 

public static int HUMAN_M_HELM_ID;
public static int HUMAN_M_CHEST_ID;
 public static int HUMAN_M_LEGS_ID;
 public static int HUMAN_M_BOOTS_ID;
 public static int HUMAN_M_GLOVES_ID;
 public static int HUMAN_M_WEAPON_ID;
 public static int HUMAN_F_HELM_ID;
 public static int HUMAN_F_CHEST_ID;
 public static int HUMAN_F_LEGS_ID;
 public static int HUMAN_F_BOOTS_ID;
 public static int HUMAN_F_GLOVES_ID;
 public static int HUMAN_F_WEAPON_ID;

 

 

if (Config.ENABLE_HUMAN_MAGE_REWARD)
               {
                       if (newChar.getRace() == Race.Human || newChar.isMageClass())
                       {
                               final L2ItemInstance Helm = newChar.getInventory().addItem("Init", Config.HUMAN_M_HELM_ID, 1, newChar, null);
                               if (Helm.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Helm.getItem().getType2() != L2Item.SLOT_HEAD))
                                               newChar.getInventory().equipItemAndRecord(Helm);
                               final L2ItemInstance Chest = newChar.getInventory().addItem("Init", Config.HUMAN_M_CHEST_ID, 1, newChar, null);
                               if (Chest.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Chest.getItem().getType2() != L2Item.SLOT_CHEST))
                                               newChar.getInventory().equipItemAndRecord(Chest);
                               final L2ItemInstance Legs = newChar.getInventory().addItem("Init", Config.HUMAN_M_LEGS_ID, 1, newChar, null);
                               if (Legs.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Legs.getItem().getType2() != L2Item.SLOT_LEGS))
                                               newChar.getInventory().equipItemAndRecord(Legs);
                               final L2ItemInstance Boots = newChar.getInventory().addItem("Init", Config.HUMAN_M_BOOTS_ID, 1, newChar, null);
                               if (Boots.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Boots.getItem().getType2() != L2Item.SLOT_FEET))
                                               newChar.getInventory().equipItemAndRecord(Boots);
                               final L2ItemInstance Gloves = newChar.getInventory().addItem("Init", Config.HUMAN_M_GLOVES_ID, 1, newChar, null);
                              if (Gloves.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Gloves.getItem().getType2() != L2Item.SLOT_GLOVES))
                                               newChar.getInventory().equipItemAndRecord(Gloves);
                               final L2ItemInstance Weap = newChar.getInventory().addItem("Init", Config.HUMAN_M_WEAPON_ID, 1, newChar, null);
                               if (Weap.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Weap.getItem().getType2() != L2Item.TYPE2_WEAPON))
                                               newChar.getInventory().equipItemAndRecord(Weap);
                       }
                }       
                
        if (Config.ENABLE_HUMAN_FIGHTER_REWARD)
            {
                       if (newChar.getRace() == Race.Human)
                       {
                               final L2ItemInstance Helm = newChar.getInventory().addItem("Init", Config.HUMAN_F_HELM_ID, 1, newChar, null);
                               if (Helm.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Helm.getItem().getType2() != L2Item.SLOT_HEAD))
                                               newChar.getInventory().equipItemAndRecord(Helm);
                               final L2ItemInstance Chest = newChar.getInventory().addItem("Init", Config.HUMAN_F_CHEST_ID, 1, newChar, null);
                               if (Chest.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Chest.getItem().getType2() != L2Item.SLOT_CHEST))
                                               newChar.getInventory().equipItemAndRecord(Chest);
                               final L2ItemInstance Legs = newChar.getInventory().addItem("Init", Config.HUMAN_F_LEGS_ID, 1, newChar, null);
                               if (Legs.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Legs.getItem().getType2() != L2Item.SLOT_LEGS))
                                               newChar.getInventory().equipItemAndRecord(Legs);
                               final L2ItemInstance Boots = newChar.getInventory().addItem("Init", Config.HUMAN_F_BOOTS_ID, 1, newChar, null);
                               if (Boots.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Boots.getItem().getType2() != L2Item.SLOT_FEET))
                                               newChar.getInventory().equipItemAndRecord(Boots);
                               final L2ItemInstance Gloves = newChar.getInventory().addItem("Init", Config.HUMAN_F_GLOVES_ID, 1, newChar, null);
                               if (Gloves.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Gloves.getItem().getType2() != L2Item.SLOT_GLOVES))
                                               newChar.getInventory().equipItemAndRecord(Gloves);
                               final L2ItemInstance Weap = newChar.getInventory().addItem("Init", Config.HUMAN_F_WEAPON_ID, 1, newChar, null);
                               if (Weap.isEquipable())
                                       if (newChar.getActiveWeaponItem() == null || !(Weap.getItem().getType2() != L2Item.TYPE2_WEAPON))
                                               newChar.getInventory().equipItemAndRecord(Weap);
                       }
            }

 

activated the fight but the magician is receiving also because it will be?

Link to comment
Share on other sites

if (newChar.getRace() == Race.Human || newChar.isMageClass())

==>

if (newChar.getRace() == Race.Human && newChar.isMageClass())

It's kinda racist, free items only for humans :troll:

Edited by SweeTs
Link to comment
Share on other sites

if (newChar.getRace() == Race.Human || newChar.isMageClass())

==>

if (newChar.getRace() == Race.Human && newChar.isMageClass())

It's kinda racist, free items only for humans :troll:

 

 

put so but the wizard still getting the items fighter

 

if (newChar.getRace() == Race.Human && newChar.isMageClass())
Link to comment
Share on other sites

Bcs the fighter check is ONLY about race.. You can add && !newChar.isMageClass()

Edited by SweeTs
Link to comment
Share on other sites

Bcs the fighter check is ONLY about race.. You can add && !newChar.isMageClass()

 

forgot to say that I'm adapting to H5

 

got worse I see thus enabling

# Human Fighter
# Default: False
EnableHumanFighterReward = False
HumanFighterHelmID = 43
HumanFighterChestID = 23
HumanFighterLegsID = 2386
HumanFighterBootsID = 39
HumanFighterGlovesID = 49
HumanFighterWeaponID = 2
# Human Mage
# Default: False
EnableHumanMageReward = True
HumanMageHelmID = 43
HumanMageChestID = 1101
HumanMageLegsID = 1104
HumanMageBootsID = 39
HumanMageGlovesID = 49
HumanMageWeaponID = 6

put to the wizard and get the fight not only in the fight game received the items of the two and the magician not received anything

if (newChar.getRace() == Race.Human && !newChar.isMageClass())
Edited by nery
Link to comment
Share on other sites

Maybe you do not understand where you have to put " && !newChar.isMageClass() "

 

For mage:

if (Config.ENABLE_HUMAN_MAGE_REWARD)
               {
                       if (newChar.getRace() == Race.Human && newChar.isMageClass())
                       {

For fighter

        if (Config.ENABLE_HUMAN_FIGHTER_REWARD)
            {
                       if (newChar.getRace() == Race.Human && !newChar.isMageClass())
Edited by 'Baggos'
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now



×
×
  • Create New...