Page 1 of 1

Small script problem

Posted: Thu Sep 09, 2010 12:37 pm
by Naonah
If you want to receive support we need this info to help you properly.
» Find Revision
L2J Revision Number:
L2JDP Revision Number:

Hi:)
Sry for wrong section but still not 20 posts:)

I have a problem with this script. Dunno why compile errors:)

Please have a look:

Code: Select all

### Eclipse Workspace Patch 1.0#P datapack_developmentIndex: data/scripts/handlers/itemhandlers/HeroCustomItem.java===================================================================--- data/scripts/handlers/itemhandlers/HeroCustomItem.java    (revision 0)+++ data/scripts/handlers/itemhandlers/HeroCustomItem.java    (revision 0)@@ -0,0 +1,77 @@+package handlers.itemhandlers;+++import com.l2jserver.Config;+import com.l2jserver.gameserver.handler.IItemHandler;+import com.l2jserver.gameserver.model.L2ItemInstance;+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;+import com.l2jserver.gameserver.model.actor.L2Playable;+import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;+import com.l2jserver.gameserver.network.serverpackets.SocialAction;+++public class NoblesseItem implements IItemHandler++{++    private static final int ITEM_IDS[] = ++    {++    Config.HERO_CUSTOM_ITEM_ID++    };++    public void useItem(L2Playable playable, L2ItemInstance item)++    {++    if (!(playable instanceof L2PcInstance))+         return;++    L2PcInstance activeChar = (L2PcInstance)playable;+    if (activeChar.isHero())++    {+    activeChar.sendMessage("You Are Already A Server Hero!");+    return;+    +    } +    if (activeChar.getLevel() < 76 && Config.HERO_CUSTOM_ITEM_LEVEL_RESTRICTION)++    {+    activeChar.sendMessage("You need to be lvl 76 to use this item.");+    return;+    }++    if (activeChar.isSubClassActive() && Config.HERO_CUSTOM_ITEM_SUBCLASS_RESTRICTION)++    {+    activeChar.sendMessage("You cant be a hero while subclassed");+    return;+    }++    if (!activeChar.isNoble() && Config.HERO_CUSTOM_ITEM_NOBLESS_NEEDED)++    {+    activeChar.sendMessage("You must be nobless to use this item.");+    return;++    }+    else++    {+    activeChar.broadcastPacket(new SocialAction(activeChar.getObjectId(), 16));+    activeChar.setHero(true);+    activeChar.sendMessage("You are granted with Hero Status and got Hero skills.");+    activeChar.broadcastUserInfo();+    playable.destroyItem("Consume", item.getObjectId(), 1, null, false);+    }+    }+ +    public int[] getItemIds()++    {+    return ITEM_IDS;+    }+}\ No newline at end of fileIndex: data/scripts/handlers/MasterHandler.java===================================================================--- data/scripts/handlers/MasterHandler.java    (revision 7664)+++ data/scripts/handlers/MasterHandler.java    (working copy)@@ -227,6 +227,8 @@         ItemHandler.getInstance().registerItemHandler(new Disguise());         ItemHandler.getInstance().registerItemHandler(new ManaPotion());         ItemHandler.getInstance().registerItemHandler(new EnergyStarStone());+        if (Config.ALLOW_HERO_CUSTOM_ITEM)+            ItemHandler.getInstance().registerItemHandler(new HeroCustomItem());         _log.config("Loaded " + ItemHandler.getInstance().size() + " ItemHandlers");     }     #P L2_GameServerIndex: java/com/l2jserver/Config.java===================================================================--- java/com/l2jserver/Config.java    (revision 4411)+++ java/com/l2jserver/Config.java    (working copy)@@ -676,6 +676,11 @@     public static String L2JMOD_MULTILANG_DEFAULT;     public static boolean L2JMOD_MULTILANG_VOICED_ALLOW;     public static boolean L2WALKER_PROTECTION;+    public static boolean ALLOW_HERO_CUSTOM_ITEM;+    public static int HERO_CUSTOM_ITEM_ID;+    public static boolean HERO_CUSTOM_ITEM_LEVEL_RESTRICTION;+    public static boolean HERO_CUSTOM_ITEM_NOBLESS_NEEDED;+    public static boolean HERO_CUSTOM_ITEM_SUBCLASS_RESTRICTION;      //--------------------------------------------------     // NPC Settings@@ -2028,6 +2033,11 @@                     is = new FileInputStream(new File(L2JMOD_CONFIG_FILE));                     L2JModSettings.load(is); +                    ALLOW_HERO_CUSTOM_ITEM = Boolean.parseBoolean(L2JModSettings.getProperty("AllowHeroCustomItem", "false"));+                    HERO_CUSTOM_ITEM_LEVEL_RESTRICTION = Boolean.parseBoolean(L2JModSettings.getProperty("HeroCustomItemLevelRestriction", "false"));+                    HERO_CUSTOM_ITEM_SUBCLASS_RESTRICTION = Boolean.parseBoolean(L2JModSettings.getProperty("HeroCustomItemSubclassRestriction", "false"));+                    HERO_CUSTOM_ITEM_NOBLESS_NEEDED = Boolean.parseBoolean(L2JModSettings.getProperty("HeroCustomItemNoblessNeeded", "false"));+                    HERO_CUSTOM_ITEM_ID = Integer.parseInt(L2JModSettings.getProperty("HeroCustomItemId", "6673"));                     L2JMOD_CHAMPION_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("ChampionEnable", "false"));                     L2JMOD_CHAMPION_PASSIVE = Boolean.parseBoolean(L2JModSettings.getProperty("ChampionPassive", "false"));                     L2JMOD_CHAMPION_FREQUENCY = Integer.parseInt(L2JModSettings.getProperty("ChampionFrequency", "0"));Index: java/config/l2jmods.properties===================================================================--- java/config/l2jmods.properties    (revision 4411)+++ java/config/l2jmods.properties    (working copy)@@ -379,3 +379,23 @@ # Basic protection against L2Walker. # Default: False L2WalkerProtection = False++# Allow hero custom item?+# When players double click on your selected item, they will become hero untill server restart.+AllowHeroCustomItem = False++# Hero Custom Item ID?+# Default: Festival Adena (6673)+HeroCustomItemId = 6673++# Hero Custom Item Level Restriction?+# A player with lower than 76 lvl, won't be able to use item.+HeroCustomItemLevelRestriction = False++# Hero Custom Item Needs Nobless?+# A player that isn't Nobless, won't be able to use it.+HeroCustomItemNoblessNeeded = False++# Hero Custom Item SubClass Restriction?+# A player that isn't in a subclass, won't be able to use it.+HeroCustomItemSubclassRestriction = False 
..and here errors I get:

Code: Select all

1. ERROR in \MasterHandler.java (at line 231)        ItemHandler.getInstance().registerItemHandler(new HeroCustomItem());                                                          ^^^^^^^^^^^^^^HeroCustomItem cannot be resolved to a type--------------------2. ERROR in C:\Documents and Settings\bolo.LOL-805AA799D1C\Pulpit\ServerEpilogue\gameserver\data\scripts\handlers\itemhandlers\HeroCustomItem.java (at line 13)        public class NoblesseItem implements IItemHandler                     ^^^^^^^^^^^^The public type NoblesseItem must be defined in its own file
Thank you for any replies.
Best regards..

Re: Small script problem

Posted: Thu Sep 09, 2010 1:14 pm
by SolidSnake

Code: Select all

import com.l2jserver.gameserver.network.serverpackets.SocialAction;  -public class NoblesseItem implements IItemHandler+public class HeroCustomItem implements IItemHandler {     private static final int ITEM_IDS[] =  

Re: Small script problem

Posted: Thu Sep 09, 2010 1:54 pm
by Naonah
thx:)

I had to remove this too:

Code: Select all

import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
cuz of compile error.

....but this script is not working:D When I double press item (here: Festival Adena), nothing happens.

Need to be checked again:)

Re: Small script problem

Posted: Thu Sep 09, 2010 1:55 pm
by SolidSnake
What's the error?

Re: Small script problem

Posted: Thu Sep 09, 2010 2:24 pm
by Naonah
It is rather WARNING than error:p

Please have a look:

Code: Select all

1. WARNING in C:\Documents and Settings\bolo.LOL-805AA799D1C\Pulpit\ServerEpilogue\gameserver\data\scripts\handlers\itemhandlers\HeroCustomItem.java (at line 9)         import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^The import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse is never used
Thank you.

Re: Small script problem

Posted: Thu Sep 09, 2010 2:32 pm
by SolidSnake
The import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse is never used

This isn't the problem, anyway I'll share a new patch wait plz

Re: Small script problem

Posted: Thu Sep 09, 2010 2:33 pm
by jurchiks
lol, just delete that import...
i don't understand why people don't enable auto-format code in eclipse, it's so good and reliable, but so many people don't use it...

Re: Small script problem

Posted: Thu Sep 09, 2010 2:34 pm
by SolidSnake
Naonah wrote:thx:)

I had to remove this too:

Code: Select all

import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
cuz of compile error.

....but this script is not working:D When I double press item (here: Festival Adena), nothing happens.

Need to be checked again:)
Read topic before post jurchiks, that's not the problem

Re: Small script problem

Posted: Thu Sep 09, 2010 2:41 pm
by Naonah
Thank you.

Script works fine.

Best regards:)

Re: Small script problem

Posted: Thu Sep 09, 2010 2:45 pm
by SolidSnake
Here a new patch, try this one:

Code: Select all

Index: data/scripts/handlers/itemhandlers/HeroItem.java===================================================================--- data/scripts/handlers/itemhandlers/HeroItem.java    (revision 7664)+++ data/scripts/handlers/itemhandlers/HeroItem.java    (revision 7664)@@ -0,0 +1,2 @@+/*+ * This program is free software: you can redistribute it and/or modify it under+ * the terms of the GNU General Public License as published by the Free Software+ * Foundation, either version 3 of the License, or (at your option) any later+ * version.+ * + * This program is distributed in the hope that it will be useful, but WITHOUT+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more+ * details.+ * + * You should have received a copy of the GNU General Public License along with+ * this program. If not, see <http://www.gnu.org/licenses/>.+ */+package net.sf.l2j.gameserver.handler.itemhandlers;++import com.l2jserver.gameserver.handler.IItemHandler;+import com.l2jserver.gameserver.model.L2ItemInstance;+import com.l2jserver.gameserver.model.actor.L2Playable;+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;+++/**+ *+ * @author  HanWik+ */+public class HeroItem implements IItemHandler+{+   private static final int[] ITEM_IDS = { YOUR ITEM ID - replace here };++   public void useItem(L2Playable playable, L2ItemInstance item)+   {+      if (!(playable instanceof L2PcInstance))+         return;+      L2PcInstance activeChar = (L2PcInstance)playable;+       int itemId = item.getItemId();+      +       if (itemId == YOUR ITEM ID - replace here) // Item to become hero+       {+          activeChar.setHero(true);+          activeChar.broadcastUserInfo();+       }+   }+   +   /**+    * @see net.sf.l2j.gameserver.handler.IItemHandler#getItemIds()+    */+   public int[] getItemIds()+   {+      return ITEM_IDS;+   }+}--- data/scripts/handlers/MasterHandler.java    (revision 7664)+++ data/scripts/handlers/MasterHandler.java    (working copy)@@ -227,6 +227,8 @@        ItemHandler.getInstance().registerItemHandler(new Disguise());        ItemHandler.getInstance().registerItemHandler(new ManaPotion());        ItemHandler.getInstance().registerItemHandler(new EnergyStarStone());+        ItemHandler.getInstance().registerItemHandler(new HeroItem());        _log.config("Loaded " + ItemHandler.getInstance().size() + " ItemHandlers");    } 
EDIT: Ah ok, nothing :mrgreen:

Re: Small script problem

Posted: Thu Sep 09, 2010 2:50 pm
by Naonah
...and dont forget to change Handler to HeroCustomItem in database for a custom item (here: festival adena):D

jurchiks wrote: i don't understand why people don't enable auto-format code in eclipse, it's so good and reliable, but so many people don't use it...
I ll do it, thx:)