def onSkillSee (self, npc, player, skill, targets, isPet): st = player.getQuestState(qn) if not st : return if Util.contains(targets, npc) and st.getInt("cond") == 1 and skill.getId() == 2630: st.playSound("ItemSound.quest_itemget") npcId = npc.getNpcId() if npcId in range(18684,18687): st.giveItems(red,1) elif npcId in range(18687,18690): st.giveItems(blue,1) elif npcId in range(18690,18693): st.giveItems(green,1) npc.doDie(player) return
def handleChat(self, type, activeChar, target, text): if activeChar.isChatBanned() and Util.contains(Config.BAN_CHAT_CHANNELS, type): activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED) return cs = CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text) pls = L2World.getInstance().getAllPlayersArray() if Config.DEFAULT_GLOBAL_CHAT.lower() == "on" or (Config.DEFAULT_GLOBAL_CHAT.lower() == "gm" and activeChar.isGM()): region = MapRegionManager.getInstance().getMapRegionLocId(activeChar) for player in pls: if region == MapRegionManager.getInstance().getMapRegionLocId(player) and not BlockList.isBlocked(player, activeChar) and player.getInstanceId() == activeChar.getInstanceId(): player.sendPacket(cs) elif Config.DEFAULT_GLOBAL_CHAT.lower() == "global": if not activeChar.isGM() and not activeChar.getFloodProtectors().getGlobalChat().tryPerformAction("global chat"): activeChar.sendMessage(1101) return for player in pls: if not BlockList.isBlocked(player, activeChar): player.sendPacket(cs) if not self.answer == None: if text == self.answer: self.answer = None Announcements.getInstance().announceToAll("恭喜 %s 獲得 %s 數量 %s 答案:%s" % (activeChar.getName(), self.item, self.qty, text), self.isCritical) activeChar.addItem(self.qn, self.gifts[self.item], int(self.qty), None, True)