Small script problem

Support for the latest build of L2J Server, get help here with installations, upgrades, problems.
Do not post bugs reports here, use viewforum.php?f=77 instead.
There is no support for other server builds than the official provided by l2jserver.com
Forum rules
READ NOW: L2j Forums Rules of Conduct
Post Reply
User avatar
Naonah
Posts: 357
Joined: Sun Apr 04, 2010 11:12 pm

Small script problem

Post 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..
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
User avatar
SolidSnake
Posts: 865
Joined: Wed Jan 20, 2010 6:54 pm
Location: Italy

Re: Small script problem

Post 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[] =  
Image
User avatar
Naonah
Posts: 357
Joined: Sun Apr 04, 2010 11:12 pm

Re: Small script problem

Post 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:)
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
User avatar
SolidSnake
Posts: 865
Joined: Wed Jan 20, 2010 6:54 pm
Location: Italy

Re: Small script problem

Post by SolidSnake »

What's the error?
Image
User avatar
Naonah
Posts: 357
Joined: Sun Apr 04, 2010 11:12 pm

Re: Small script problem

Post 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.
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
User avatar
SolidSnake
Posts: 865
Joined: Wed Jan 20, 2010 6:54 pm
Location: Italy

Re: Small script problem

Post 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
Last edited by SolidSnake on Thu Sep 09, 2010 2:33 pm, edited 1 time in total.
Image
User avatar
jurchiks
Posts: 6769
Joined: Sat Sep 19, 2009 4:16 pm
Location: Eastern Europe

Re: Small script problem

Post 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...
If you have problems, FIRST TRY SOLVING THEM YOURSELF, and if you get errors, TRY TO ANALYZE THEM, and ONLY if you can't help it, THEN ask here.
Otherwise you will never learn anything if all you do is copy-paste!
Discussion breeds innovation.
User avatar
SolidSnake
Posts: 865
Joined: Wed Jan 20, 2010 6:54 pm
Location: Italy

Re: Small script problem

Post 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
Image
User avatar
Naonah
Posts: 357
Joined: Sun Apr 04, 2010 11:12 pm

Re: Small script problem

Post by Naonah »

Thank you.

Script works fine.

Best regards:)
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
User avatar
SolidSnake
Posts: 865
Joined: Wed Jan 20, 2010 6:54 pm
Location: Italy

Re: Small script problem

Post 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:
Last edited by SolidSnake on Thu Sep 09, 2010 2:52 pm, edited 2 times in total.
Image
User avatar
Naonah
Posts: 357
Joined: Sun Apr 04, 2010 11:12 pm

Re: Small script problem

Post 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:)
public void l2jserver ()
{
if (you want l2j server == no problems)
use Linux;
else
use Windows;
}
Post Reply