Secret Experience

Secret Experience (https://secretexperience.net/)
-   [Lineage] Java Mods (https://secretexperience.net/lineage-java-mods/)
-   -   [L2JServer] Fix Exploit for L2ObservationInstance (https://secretexperience.net/lineage-java-mods/33131-fix-exploit-l2observationinstance.html)

allanalcantara 30-10-2011 03:02 AM

Fix Exploit for L2ObservationInstance
 
mais outro pra vocês
bom o que ele faz?

ATENÇÃO: NÃO É EM TODAS AS PACK QUE TEM ESSE ERRO!
Citação:

ele corrige o erro de ficar observando pra quem não sabe, ta ai a correção! :D:D
abraços.
Código:

--- trunk/gameserver/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ObservationInstance.java (revision 59)
+++ trunk/gameserver/head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ObservationInstance.java (revision 651)
@@ -21,6 +21,7 @@
 import java.util.StringTokenizer;
 
 import com.l2jfrozen.gameserver.managers.SiegeManager;
+import com.l2jfrozen.gameserver.model.entity.olympiad.Olympiad;
 import com.l2jfrozen.gameserver.network.SystemMessageId;
 import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
 import com.l2jfrozen.gameserver.network.serverpackets.ItemList;
@@ -52,6 +53,24 @@
                        StringTokenizer st = new StringTokenizer(val);
                        st.nextToken(); // Bypass cost
 
+                        if(Olympiad.getInstance().isRegistered(player) || player.isInOlympiadMode())
+                        {
+                                player.sendMessage("You already participated in Olympiad!");
+                                return;
+                        }
+                       
+                        if(player._inEventTvT || player._inEventDM || player._inEventCTF)
+                        {
+                                player.sendMessage("You already participated in Event!");
+                                return;
+                        }
+                       
+                        if(player.isInCombat() || player.getPvpFlag() > 0)
+                        {
+                                player.sendMessage("You are in combat now!");
+                                return;
+                        }
+                       
                        if(SiegeManager.getInstance().getSiege(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken())) != null)
                        {
                                doObserve(player, val);
@@ -66,6 +85,24 @@
                }
                else if(command.startsWith("observe"))
                {
+                        if(Olympiad.getInstance().isRegistered(player) || player.isInOlympiadMode())
+                        {
+                                player.sendMessage("You already participated in Olympiad!");
+                                return;
+                        }
+                       
+                        if(player._inEventTvT || player._inEventDM || player._inEventCTF)
+                        {
+                                player.sendMessage("You already participated in Event!");
+                                return;
+                        }
+                       
+                        if(player.isInCombat() || player.getPvpFlag() > 0)
+                        {
+                                player.sendMessage("You are in combat now!");
+                                return;
+                        }
+                       
                        doObserve(player, command.substring(8));
                }
                else


leonardoalves 03-11-2011 01:40 AM

muito bom alcantara valeu mesmo amigo isso vai me ajudar ^^


Horários baseados na GMT -3. Agora são 06:53 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0