Browse Source

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 13 years ago
parent
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 State
 from com.l2jserver.gameserver.model.quest import QuestState
 from com.l2jserver.gameserver.model.quest import QuestState
 from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
 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 NpcSay
 from com.l2jserver.gameserver.network.serverpackets import ExShowScreenMessage
 from com.l2jserver.gameserver.network.serverpackets import ExShowScreenMessage
 
 
@@ -44,7 +45,7 @@ class Quest (JQuest) :
              st.takeItems(Detector,1)
              st.takeItems(Detector,1)
              st.giveItems(Detector2,1)
              st.giveItems(Detector2,1)
              st.set("cond","18")
              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
              break
     return
     return
 
 
@@ -150,7 +151,9 @@ class Quest (JQuest) :
     elif event == "32047-15a.htm" :
     elif event == "32047-15a.htm" :
        if self.isSpawned == 0 :
        if self.isSpawned == 0 :
           golem = st.addSpawn(Guardian,96977,-110625,-3280,0,False,900000)
           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.setRunning()
           golem.addDamageHate(player,0,999)
           golem.addDamageHate(player,0,999)
           golem.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player)
           golem.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player)
@@ -207,7 +210,7 @@ class Quest (JQuest) :
            st.takeItems(Detector,1)
            st.takeItems(Detector,1)
            st.giveItems(Detector2,1)
            st.giveItems(Detector2,1)
            st.set("cond","18")
            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)
     npc.showChatWindow(player)
     return None
     return None
 
 
@@ -356,7 +359,7 @@ class Quest (JQuest) :
    npcId = npc.getNpcId()
    npcId = npc.getNpcId()
    if st.getState() == State.STARTED and st.getInt("cond") == 10:
    if st.getState() == State.STARTED and st.getInt("cond") == 10:
       if npcId == Guardian :
       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.set("cond","11")
          st.playSound("ItemSound.quest_middle")
          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 State
 from com.l2jserver.gameserver.model.quest			import QuestState
 from com.l2jserver.gameserver.model.quest			import QuestState
 from com.l2jserver.gameserver.model.quest.jython	import QuestJython as JQuest
 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 NpcSay
 from com.l2jserver.gameserver.network.serverpackets	import ExShowScreenMessage
 from com.l2jserver.gameserver.network.serverpackets	import ExShowScreenMessage
 
 
@@ -95,17 +96,17 @@ class Quest (JQuest) :
 					st.playSound("ItemSound.quest_middle")
 					st.playSound("ItemSound.quest_middle")
 			else :
 			else :
 				htmltext = ""
 				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 = st.addSpawn(WARRIOR_MON,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),True,600000)
 				warrior.setRunning()
 				warrior.setRunning()
 				warrior.addDamageHate(player,0,999)
 				warrior.addDamageHate(player,0,999)
 				warrior.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player)
 				warrior.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player)
 				if self.getRandom(100) < 50 :
 				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.getSpawn().decreaseCount(npc)
 					npc.deleteMe()
 					npc.deleteMe()
 				else :
 				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.getSpawn().decreaseCount(npc)
 					npc.deleteMe()
 					npc.deleteMe()
 		return htmltext
 		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)
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
 	{
 		final QuestState st = player.getQuestState(qn);
 		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);
 			final long count = st.getQuestItemsCount(FRAGMENT_POWDER);
 			if (count < 100)
 			if (count < 100)