I am unable to give my summons custom skills. Let's say I want to add Dash (4) lvl 1 to Nightshade. I inserted the lvl 1 Nightshade (same with the summon skill lvl) in Npc_skill table. I restarted server and checked in game but it does not add the skill. I found SOME ID's in Eclipse (RequestActionUse) but they are only the skill ID without the NPC ID.
I am also unable to give my summon a weapon. I wanted to give my summon weapon ID 232 (dark elven dagger), but in game it does not show up even when it is set in the SQL. I have tried other weapons and other summoned NPC's.
Could this be a client problem?
Using Interlude L2JFrozen...
### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java (revision 906)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java (working copy)
@@ -26,6 +26,7 @@
import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.ai.CtrlIntention;
+import com.l2jfrozen.gameserver.datatables.sql.ItemTable;
import com.l2jfrozen.gameserver.datatables.sql.L2PetDataTable;
import com.l2jfrozen.gameserver.idfactory.IdFactory;
import com.l2jfrozen.gameserver.managers.CursedWeaponsManager;
@@ -90,6 +91,8 @@
if(_data == null)
{
_data = L2PetDataTable.getInstance().getPetData(getTemplate().npcId, getStat().getLevel());
+ _currentLHandId = getTemplate().lhand;
+ _currentRHandId = getTemplate().rhand;
}
return _data;
@@ -314,17 +317,40 @@
{
_pkKills = pkKills;
}
+
+ private int _currentLHandId; // normally this shouldn't change from the template, but there exist exceptions
+ private int _currentRHandId; // normally this shouldn't change from the template, but there exist exceptions
+ public void setLHandId(int newWeaponId)
+ {
+ _currentLHandId = newWeaponId;
+ }
+
+ public void setRHandId(int newWeaponId)
+ {
+ _currentRHandId = newWeaponId;
+ }
+ public int getLeftHandItem()
+ {
+ return _currentLHandId;
+ }
+
+ /**
+ * Return the Identifier of the item in the right hand of this L2NpcInstance contained in the L2NpcTemplate.<BR>
+ * <BR>
+ */
+ public int getRightHandItem()
+ {
+ return _currentRHandId;
+ }
/**
+ /**
* Returns the pet's currently equipped weapon instance (if any).
*/
@Override
public L2ItemInstance getActiveWeaponInstance()
{
- for(L2ItemInstance item : getInventory().getItems())
- if(item.getLocation() == L2ItemInstance.ItemLocation.PET_EQUIP && item.getItem().getBodyPart() == L2Item.SLOT_R_HAND)
- return item;
-
+ // regular NPCs dont have weapons instancies
return null;
}
@@ -334,28 +360,52 @@
@Override
public L2Weapon getActiveWeaponItem()
{
- L2ItemInstance weapon = getActiveWeaponInstance();
+ int weaponId = getTemplate().rhand;
+
+ if(weaponId < 1)
+ return null;
+
+ L2Item item = ItemTable.getInstance().getTemplate(getTemplate().rhand);
- if(weapon == null)
+ if(!(item instanceof L2Weapon))
return null;
- return (L2Weapon) weapon.getItem();
+ return (L2Weapon) item;
}
+ /**
+ * Return null (regular NPCs don't have weapons instancies).<BR>
+ * <BR>
+ */
+
@Override
public L2ItemInstance getSecondaryWeaponInstance()
{
- // temporary? unavailable
+ // regular NPCs dont have weapons instancies
return null;
}
+ /**
+ * Return the weapon item equiped in the left hand of the L2NpcInstance or null.<BR>
+ * <BR>
+ */
@Override
public L2Weapon getSecondaryWeaponItem()
{
- // temporary? unavailable
- return null;
- }
+ // Get the weapon identifier equiped in the right hand of the L2NpcInstance
+ int weaponId = getTemplate().lhand;
+
+ if(weaponId < 1)
+ return null;
+
+ // Get the weapon item equiped in the right hand of the L2NpcInstance
+ L2Item item = ItemTable.getInstance().getTemplate(getTemplate().lhand);
+
+ if(!(item instanceof L2Weapon))
+ return null;
+ return (L2Weapon) item;
+ }
@Override
public PetInventory getInventory()
{
The stuff I changed is in that patch, I took pieces from L2NpcInstance which had something about weapons, but didn't work qq
I helped you with the c6 source to fix the issues of that guy and still has issues as a friend if you give it away to anyone then forget about me 🙂 i managed to fix the source alone to avoid this kind of shits but seems the ego is higher, thinking about it now its better to lose a friend on this situations cause as i see pixels matters more for you ...
Question
DONALD TRUMP 2016
I am unable to give my summons custom skills. Let's say I want to add Dash (4) lvl 1 to Nightshade. I inserted the lvl 1 Nightshade (same with the summon skill lvl) in Npc_skill table. I restarted server and checked in game but it does not add the skill. I found SOME ID's in Eclipse (RequestActionUse) but they are only the skill ID without the NPC ID.
I am also unable to give my summon a weapon. I wanted to give my summon weapon ID 232 (dark elven dagger), but in game it does not show up even when it is set in the SQL. I have tried other weapons and other summoned NPC's.
Could this be a client problem?
Using Interlude L2JFrozen...
The stuff I changed is in that patch, I took pieces from L2NpcInstance which had something about weapons, but didn't work qq
SQL
Thanks
2 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now