Explorar el Código

BETA: Quest fixes:
* By VlLight:
* NPE vulnerability fix for Light Fragment(10272).
* Unhardcoding ExShowScreenMessage in Grave Robber Rescue(450).
* By me:
* Unhardcoding NpcSay in Grave Robber Rescue(450).
* Unhardcoding ExShowScreenMessage in Resurrection of an Old Manager(114).
* Unhardcoding NpcSay in Resurrection of an Old Manager(114).

Zoey76 hace 13 años
padre
commit
183c1d5349

+ 7 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/114_ResurrectionOfAnOldManager/__init__.py

@@ -7,6 +7,7 @@ from com.l2jserver.gameserver.datatables import SpawnTable
 from com.l2jserver.gameserver.model.quest import State
 from com.l2jserver.gameserver.model.quest import QuestState
 from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
+from com.l2jserver.gameserver.network import NpcStringId
 from com.l2jserver.gameserver.network.serverpackets import NpcSay
 from com.l2jserver.gameserver.network.serverpackets import ExShowScreenMessage
 
@@ -44,7 +45,7 @@ class Quest (JQuest) :
              st.takeItems(Detector,1)
              st.giveItems(Detector2,1)
              st.set("cond","18")
-             player.sendPacket(ExShowScreenMessage("The radio signal detector is responding. # A suspicious pile of stones catches your eye.",4500))
+             player.sendPacket(ExShowScreenMessage(NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500))
              break
     return
 
@@ -150,7 +151,9 @@ class Quest (JQuest) :
     elif event == "32047-15a.htm" :
        if self.isSpawned == 0 :
           golem = st.addSpawn(Guardian,96977,-110625,-3280,0,False,900000)
-          golem.broadcastPacket(NpcSay(golem.getObjectId(),0,golem.getNpcId(),"You, "+st.getPlayer().getName()+", you attacked Wendy. Prepare to die!"))
+          nSay = NpcSay(golem.getObjectId(), 0, golem.getNpcId(), NpcStringId.YOU_S1_YOU_ATTACKED_WENDY_PREPARE_TO_DIE)
+          nSay.addStringParameter(player.getName())
+          golem.broadcastPacket(nSay)
           golem.setRunning()
           golem.addDamageHate(player,0,999)
           golem.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player)
@@ -207,7 +210,7 @@ class Quest (JQuest) :
            st.takeItems(Detector,1)
            st.giveItems(Detector2,1)
            st.set("cond","18")
-           player.sendPacket(ExShowScreenMessage("The radio signal detector is responding. # A suspicious pile of stones catches your eye.",4500))
+           player.sendPacket(ExShowScreenMessage(NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500))
     npc.showChatWindow(player)
     return None
 
@@ -356,7 +359,7 @@ class Quest (JQuest) :
    npcId = npc.getNpcId()
    if st.getState() == State.STARTED and st.getInt("cond") == 10:
       if npcId == Guardian :
-         npc.broadcastPacket(NpcSay(npc.getObjectId(),0,npcId,"This enemy is far too powerful for me to fight. I must withdraw"))
+         npc.broadcastPacket(NpcSay(npc.getObjectId(), 0, npcId, NpcStringId.THIS_ENEMY_IS_FAR_TOO_POWERFUL_FOR_ME_TO_FIGHT_I_MUST_WITHDRAW))
          st.set("cond","11")
          st.playSound("ItemSound.quest_middle")
 

+ 4 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/450_GraveRobberMemberRescue/__init__.py

@@ -7,6 +7,7 @@ from com.l2jserver.gameserver.model					import L2CharPosition
 from com.l2jserver.gameserver.model.quest			import State
 from com.l2jserver.gameserver.model.quest			import QuestState
 from com.l2jserver.gameserver.model.quest.jython	import QuestJython as JQuest
+from com.l2jserver.gameserver.network				import NpcStringId
 from com.l2jserver.gameserver.network.serverpackets	import NpcSay
 from com.l2jserver.gameserver.network.serverpackets	import ExShowScreenMessage
 
@@ -95,17 +96,17 @@ class Quest (JQuest) :
 					st.playSound("ItemSound.quest_middle")
 			else :
 				htmltext = ""
-				player.sendPacket(ExShowScreenMessage(1,0,5,0,1,0,0,2,4000,1,"The grave robber warrior has been filled with dark energy and is attacking you!"))
+				player.sendPacket(ExShowScreenMessage(2, 0, 5, 0, 1, 0, 0, 2, 4000 , 1, "", NpcStringId.THE_GRAVE_ROBBER_WARRIOR_HAS_BEEN_FILLED_WITH_DARK_ENERGY_AND_IS_ATTACKING_YOU))
 				warrior = st.addSpawn(WARRIOR_MON,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),True,600000)
 				warrior.setRunning()
 				warrior.addDamageHate(player,0,999)
 				warrior.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player)
 				if self.getRandom(100) < 50 :
-					npc.broadcastPacket(NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "...Grunt... oh..."))
+					npc.broadcastPacket(NpcSay(npc.getObjectId(), 0, npc.getNpcId(), NpcStringId.GRUNT_OH))
 					npc.getSpawn().decreaseCount(npc)
 					npc.deleteMe()
 				else :
-					npc.broadcastPacket(NpcSay(npc.getObjectId(), 0, npc.getNpcId(), "Grunt... What's... wrong with me..."))
+					npc.broadcastPacket(NpcSay(npc.getObjectId(), 0, npc.getNpcId(), NpcStringId.GRUNT_WHATS_WRONG_WITH_ME))
 					npc.getSpawn().decreaseCount(npc)
 					npc.deleteMe()
 		return htmltext

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java

@@ -273,7 +273,7 @@ public class Q10272_LightFragment extends Quest
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
 		final QuestState st = player.getQuestState(qn);
-		if (st.getInt("cond") == 5)
+		if ((st != null) && st.getInt("cond") == 5)
 		{
 			final long count = st.getQuestItemsCount(FRAGMENT_POWDER);
 			if (count < 100)