Make different posts for different quests.
Q501_ProofOfClanAlliance
Index: dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java
===================================================================
--- dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java (revision 7463)
+++ dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java (working copy)
@@ -557,11 +557,17 @@
public QuestState getClanLeaderQuestState(PlayerInstance player, NpcInstance npc)
{
final Clan clan = player.getClan();
+ if (clan == null)
+ {
+ return null;
+ }
+
final PlayerInstance leader = clan.getLeader().getPlayerInstance();
if (leader == null)
{
return null;
}
+
return leader.getQuestState(getName());
}
}
Q039_RedEyedInvaders
Index: dist/game/data/scripts/quests/Q039_RedEyedInvaders/Q039_RedEyedInvaders.java
===================================================================
--- dist/game/data/scripts/quests/Q039_RedEyedInvaders/Q039_RedEyedInvaders.java (revision 7463)
+++ dist/game/data/scripts/quests/Q039_RedEyedInvaders/Q039_RedEyedInvaders.java (working copy)
@@ -229,10 +229,13 @@
if ((partyMember != null) && (npcId != MAILLE_LIZARDMAN))
{
final QuestState st = partyMember.getQuestState(getName());
- final int[] list = SECOND_DP.get(npcId);
- if (st.dropItems(list[0], 1, 30, list[2]) && (st.getQuestItemsCount(list[1]) == 30))
+ if (st != null)
{
- st.set("cond", "5");
+ final int[] list = SECOND_DP.get(npcId);
+ if (st.dropItems(list[0], 1, 30, list[2]) && (st.getQuestItemsCount(list[1]) == 30))
+ {
+ st.set("cond", "5");
+ }
}
}
}