Meikis Posted January 30, 2015 Posted January 30, 2015 I want to add abnormal effect when player is inside xx radius of object, I've tried to use in L2Pcinstance something like - if(isInsideRadius(objX,objY,objZ,500, false, false)) { startAbnormalEffect(AbnormalEffect.MAGIC_CIRCLE); sendMessage("You have entered artefact area"); } but it doesn't work, how to do it right?
0 SweeTs Posted January 31, 2015 Posted January 31, 2015 You can do the trick with for loop. for (L2PcInstance player : getKnownList().getKnownTypeInRadius(L2PcInstance.class, 300))
0 Tessa Posted January 30, 2015 Posted January 30, 2015 Do you have a checkIfInRange() method in Util?
0 Meikis Posted January 30, 2015 Author Posted January 30, 2015 Do you have a checkIfInRange() method in Util? nope
0 Tessa Posted January 30, 2015 Posted January 30, 2015 nope You do... I've checked, there are two methods checkIfInShortRadius() and checkIfInRange(): java/net/sf/l2j/gameserver/util/Util.java They are documented, so check them.
0 Meikis Posted January 30, 2015 Author Posted January 30, 2015 You do... I've checked, there are two methods checkIfInShortRadius() and checkIfInRange(): java/net/sf/l2j/gameserver/util/Util.java They are documented, so check them. I'm using L2j Acis 3xx, there is no such methods in Util class
0 Tessa Posted January 30, 2015 Posted January 30, 2015 Strange... do you check the right class? Because there are two classes with the same name, you need the one in gameserver/util!
0 Meikis Posted January 30, 2015 Author Posted January 30, 2015 Strange... do you check the right class? Because there are two classes with the same name, you need the one in gameserver/util! My bad, thought that name is uniqe
0 Tessa Posted January 30, 2015 Posted January 30, 2015 checkIfInRange() will be better for this purpose, I think...
0 Voqus Posted January 30, 2015 Posted January 30, 2015 If you want to add effect on the people that are INSIDE an area, you dont really need to check radius but just check if the player is in that zone. So, while he is in that zone he receives the effect. snippet ex. while(player.isInsidePvPZone()){ // i do not know if the method exists in your pack. startAbnormalEffect(AbnormalEffect.MAGIC_CIRCLE);} //this will give non stop magic_circle effect on the player while he is inside the pvp zone. If you want to add effect on the people that get close to a NPC for example, there you need to use isInsideRadius method of the npc and the player. And then of course invoke the effect on the player that is actually inside the radius. int _range = 800; if(isInsideRadius(player,npc,_range)) // i do not know if the method exists in your pack. { startAbnormalEffect(AbnormalEffect.MAGIC_CIRCLE); } Last, i do not know if these methods exist or not, but thats a logic approach i believe.
0 Tryskell Posted January 31, 2015 Posted January 31, 2015 What do you want to do, EXACTLY ? Your idea looks more like a custom script where you have to define onAggroRange. All answers previously said go from "wrong" to "terribly bad" (no offense).
0 Meikis Posted January 31, 2015 Author Posted January 31, 2015 What do you want to do, EXACTLY ? Your idea looks more like a custom script where you have to define onAggroRange. All answers previously said go from "wrong" to "terribly bad" (no offense). I want to add effect on the people that get close to a NPC.
0 ’Insider Posted January 31, 2015 Posted January 31, 2015 while(player.isInsidePvPZone()){ // i do not know if the method exists in your pack. startAbnormalEffect(AbnormalEffect.MAGIC_CIRCLE);} //this will give non stop magic_circle effect on the player while he is inside the pvp zone. XD PS: If you throw the dedi box off the 3rd floor it will pain less than running that "snippet"
0 Tryskell Posted January 31, 2015 Posted January 31, 2015 I want to add effect on the people that get close to a NPC. Consider to read PrimevalIsle.java, Sprigant got a similar feature. As I said, onAggroRange method.
0 Meikis Posted January 31, 2015 Author Posted January 31, 2015 You can do the trick with for loop. for (L2PcInstance player : getKnownList().getKnownTypeInRadius(L2PcInstance.class, 300)) Nice, thanks, easy and works!
Question
Meikis
I want to add abnormal effect when player is inside xx radius of object, I've tried to use in L2Pcinstance something like -
but it doesn't work, how to do it right?
15 answers to this question
Recommended Posts