Jump to content
  • 0

Character Killing Monument


andy1984

Question

Hello MxC!

I am trying to adapt a event that every day will spawn a npc with the outfit of the top player. I managed to add the patch that i found but on aCis 401 that im using a lot of things are changes. I dont have any error but the npc doesn't appear as it has. here is the patch for what i did.

https://pastebin.com/nnpTSaJ9

 I think the problem is on this lines

+    public void setPolymorphInfo(CharSelectInfoPackage polymorphInfo)
+    {
+        _polymorphInfo = polymorphInfo;
+        
+        for (L2Object object : getKnownList().getKnownObjects())
+        {
+            if (object instanceof L2PcInstance)
+            {
+                sendInfo(object.getActingPlayer());
+            }
+        }
+    }

this is from an older acis pack.

 

I did it like this:

    public void setPolymorphInfo(CharSelectSlot polymorphInfo)
    {
        _polymorphInfo = polymorphInfo;
        
        for (Object object : getKnownTypeInRadius(Player.class, 2000))
        {
            if (object instanceof Player)
            {
                sendInfo(((Player) object).getActingPlayer());
            }
        }
    }

if anyone can help i will apreciate it

Edited by Vision
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

no.

image.png.dd26519cb8013ca92d8eb4e834b32dff.png

Im stupid. fixed.

    public void setPolymorphInfo(CharSelectSlot polymorphInfo)
    {
        _polymorphInfo = polymorphInfo;
        
        for (WorldObject object : getKnownType(Player.class))
        {
            if (object instanceof Player)
            {
                sendInfo(object.getActingPlayer());
            }
        }
    }

its not Object its WorldObject.

There are more to fix. I will update the patch when im done for anyone interesting

https://pastebin.com/MdMQdEwe

 

 

Edited by andy1984
None
Link to comment
Share on other sites

  • 0

Hello again!

I found something that is bothering me a lot on this system. When i spawn the npc and no active winner to show his monument the heading on npc  is fine. When a winner exist and his monument spawn, heading is always to the east. i tryed to change is in the serverpacket and made it even static number to check and nothing happened. Any clue?

Link to comment
Share on other sites

  • 0
10 hours ago, xJustMe said:

Maybe try this, i dont know if it will help 😄
 

 

I allready tryed it. Its always the same. Even when you login a normal character always is heading to the east.

Link to comment
Share on other sites

  • 0
for (WorldObject object : getKnownType(Player.class))
{
if (object instanceof Player)
{
sendInfo(object.getActingPlayer());
}
}

>

getKnownType(Player.class).forEach(p -> sendInfo(p));
Link to comment
Share on other sites

  • 0
33 minutes ago, Tryskell said:

for (WorldObject object : getKnownType(Player.class))
{
if (object instanceof Player)
{
sendInfo(object.getActingPlayer());
}
}

>

getKnownType(Player.class).forEach(p -> sendInfo(p));

is there any difference in performance ( faster completing task ) in the different types ?

Link to comment
Share on other sites

  • 0
2 hours ago, Tryskell said:

for (WorldObject object : getKnownType(Player.class))
{
if (object instanceof Player)
{
sendInfo(object.getActingPlayer());
}
}

>

getKnownType(Player.class).forEach(p -> sendInfo(p));

thanks for the top. any clue about heading?

Link to comment
Share on other sites

  • 0
  1. + private void broadcastPvPMorphUpdate(L2PcPolymorph npc, CharSelectSlot winnerPvPKillsInfo)
  2. + {
  3. + if (winnerPvPKillsInfo == null)
  4. + {
  5. + npc.setPolymorphInfo(null);
  6. + return;
  7. + }
  8. + npc.setVisibleTitle(Config.CKM_PVP_NPC_TITLE.replaceAll("%kills%", String.valueOf(_winnerPvPKillsCount)));
  9. + npc.setTitleColor(Config.CKM_PVP_NPC_TITLE_COLOR);
  10. + npc.setNameColor(Config.CKM_PVP_NPC_NAME_COLOR);
  11. + npc.setPolymorphInfo(winnerPvPKillsInfo);
  12. + npc.broadcastPacket(new SocialAction(npc, 16));'
  13.  ++ npc.setHeading(VALUE)
  14. + }
  15. +
  16. + private void broadcastPKMorphUpdate(L2PcPolymorph npc, CharSelectSlot winnerPKKillsInfo)
  17. + {
  18. + if (winnerPKKillsInfo == null)
  19. + {
  20. + npc.setPolymorphInfo(null);
  21. + return;
  22. + }
  23. + npc.setVisibleTitle(Config.CKM_PK_NPC_TITLE.replaceAll("%kills%", String.valueOf(_winnerPKKillsCount)));
  24. + npc.setTitleColor(Config.CKM_PK_NPC_TITLE_COLOR);
  25. + npc.setNameColor(Config.CKM_PK_NPC_NAME_COLOR);
  26. + npc.setPolymorphInfo(winnerPKKillsInfo);
  27. + npc.broadcastPacket(new SocialAction(npc, 16));
  28.  ++ npc.setHeading(VALUE)
  29. + }
  30. +
 
  1. + public void broadcastMorphUpdate()
  2. + {
  3. + final CharSelectSlot winnerPvPKillsInfo = getWinnerPvPKillsInfo();
  4. + for (L2PcPolymorph npc : pvpMorphListeners)
  5. + {
  6. + broadcastPvPMorphUpdate(npc, winnerPvPKillsInfo);
  7.  npc.setHeading(VALUE)
  8. + }
  9. +
  10. + final CharSelectSlot winnerPKKillsInfo = getWinnerPKKillsInfo();
  11. + for (L2PcPolymorph npc : pkMorphListeners)
  12. + {
  13. + broadcastPKMorphUpdate(npc, winnerPKKillsInfo);
  14.  npc.setHeading(VALUE)
  15. + }
  16. + }
try this
Edited by LoVe+
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...