Exemplo n.º 1
0
	def showResult(self, player, htmString):
		if not player or not htmString or len(htmString) == 0: return True
		if htmString.endswith(".htm") or htmString.endswith(".html"):
			htmString = JQuest.getHtm(self, player.getHtmlPrefix(), htmString)
		if len(htmString) != 0:
			st = player.getQuestState(qn)
			if player.getTarget():
				htmString.replace("%objectId%", str(player.getTarget().getObjectId()))
			htmString = htmString.replace("%playername%", player.getName())		
			htmString = htmString.replace("%times%", str(max(st.getInt('times'), 0)))
			htmString = htmString.replace("%skillSTR%", str(max(player.getSkillLevel(skillSTR), 1)-1))
			htmString = htmString.replace("%skillDEX%", str(max(player.getSkillLevel(skillDEX), 1)-1))
			htmString = htmString.replace("%skillCON%", str(max(player.getSkillLevel(skillCON), 1)-1))
			htmString = htmString.replace("%skillINT%", str(max(player.getSkillLevel(skillINT), 1)-1))
			htmString = htmString.replace("%skillWIT%", str(max(player.getSkillLevel(skillWIT), 1)-1))
			htmString = htmString.replace("%skillMEN%", str(max(player.getSkillLevel(skillMEN), 1)-1))

			htmString = htmString.replace("%freeRebirthPoint%", str(self.getFreeRebirthPoint(player)))
			htmString = htmString.replace("%maxRebirthPoint%", str(maxRebirthPoint))
			htmString = htmString.replace("%levelAfterRebirth%", str(levelAfterRebirth))
			htmString = htmString.replace("%require_level%", str(requireLevel))
			htmString = htmString.replace("%require_item_count_1%", str(requireItem[0][1]))
			html = NpcHtmlMessage(player.getTarget().getObjectId())
			html.setHtml(htmString)
			player.sendPacket(html)
		return htmString
Exemplo n.º 2
0
	def useVoicedCommand(self, command, player, params):
		def get_class_desc(cid):
			try:
				return ClassListData.getInstance().getClass(cid).getClientCode()
			except:
				return CharTemplateTable.getInstance().getClassNameById(cid)
				
		def make_link(sci, desc):
			return "<a action=\"bypass -h voice .%(vcn)s %(sci)d\">%(desc)s</a><br>" % {"desc":desc,"vcn":self.commands[0],"sci":sci}

		def check(p):
			if p.isInCombat() or p.isDead(): return False
			if isinstance(p, L2PcInstance):
				if p.isInStoreMode() or p.isInCraftMode() or p.isFakeDeath() or not p.isOnline() or p.isFishing(): return False
			return True

		if params:
			if int(params) > len(player.getSubClasses()): return
			if not player.getFloodProtectors().getSubclass().tryPerformAction("change class"): return
			if player.getClassIndex() == int(params): return
			if not check(player): return
			player.setActiveClass(int(params))
			player.sendPacket(SystemMessageId.SUBCLASS_TRANSFER_COMPLETED)
			return
		r = make_link(0, get_class_desc(player.getBaseClass()))
		sc = player.getSubClasses()
		for i in sc:
			r += make_link(i, get_class_desc(sc[i].getClassId()))
		htmString = self.htm_header + r + self.htm_footer
		html = NpcHtmlMessage(player.getObjectId())
		html.setHtml(htmString)
		player.sendPacket(html)
Exemplo n.º 3
0
    def useVoicedCommand(self, command, player, params):
        def get_class_desc(cid):
            try:
                return ClassListData.getInstance().getClass(
                    cid).getClientCode()
            except:
                return CharTemplateTable.getInstance().getClassNameById(cid)

        def make_link(sci, desc):
            return "<a action=\"bypass -h voice .%(vcn)s %(sci)d\">%(desc)s</a><br>" % {
                "desc": desc,
                "vcn": self.commands[0],
                "sci": sci
            }

        def check(p):
            if p.isInCombat() or p.isDead(): return False
            if isinstance(p, L2PcInstance):
                if p.isInStoreMode() or p.isInCraftMode() or p.isFakeDeath(
                ) or not p.isOnline() or p.isFishing():
                    return False
            return True

        if params:
            if int(params) > len(player.getSubClasses()): return
            if not player.getFloodProtectors().getSubclass().tryPerformAction(
                    "change class"):
                return
            if player.getClassIndex() == int(params): return
            if not check(player): return
            player.setActiveClass(int(params))
            player.sendPacket(SystemMessageId.SUBCLASS_TRANSFER_COMPLETED)
            return
        r = make_link(0, get_class_desc(player.getBaseClass()))
        sc = player.getSubClasses()
        for i in sc:
            r += make_link(i, get_class_desc(sc[i].getClassId()))
        htmString = self.htm_header + r + self.htm_footer
        html = NpcHtmlMessage(player.getObjectId())
        html.setHtml(htmString)
        player.sendPacket(html)
Exemplo n.º 4
0
    def showResult(self, player, htmString):
        if not player or not htmString or len(htmString) == 0: return True
        if htmString.endswith(".htm") or htmString.endswith(".html"):
            htmString = JQuest.getHtm(self, player.getHtmlPrefix(), htmString)
        if len(htmString) != 0:
            st = player.getQuestState(qn)
            if player.getTarget():
                htmString.replace("%objectId%",
                                  str(player.getTarget().getObjectId()))
            htmString = htmString.replace("%playername%", player.getName())
            htmString = htmString.replace("%times%",
                                          str(max(st.getInt('times'), 0)))
            htmString = htmString.replace(
                "%skillSTR%", str(max(player.getSkillLevel(skillSTR), 1) - 1))
            htmString = htmString.replace(
                "%skillDEX%", str(max(player.getSkillLevel(skillDEX), 1) - 1))
            htmString = htmString.replace(
                "%skillCON%", str(max(player.getSkillLevel(skillCON), 1) - 1))
            htmString = htmString.replace(
                "%skillINT%", str(max(player.getSkillLevel(skillINT), 1) - 1))
            htmString = htmString.replace(
                "%skillWIT%", str(max(player.getSkillLevel(skillWIT), 1) - 1))
            htmString = htmString.replace(
                "%skillMEN%", str(max(player.getSkillLevel(skillMEN), 1) - 1))

            htmString = htmString.replace(
                "%freeRebirthPoint%", str(self.getFreeRebirthPoint(player)))
            htmString = htmString.replace("%maxRebirthPoint%",
                                          str(maxRebirthPoint))
            htmString = htmString.replace("%levelAfterRebirth%",
                                          str(levelAfterRebirth))
            htmString = htmString.replace("%require_level%", str(requireLevel))
            htmString = htmString.replace("%require_item_count_1%",
                                          str(requireItem[0][1]))
            html = NpcHtmlMessage(player.getTarget().getObjectId())
            html.setHtml(htmString)
            player.sendPacket(html)
        return htmString
Exemplo n.º 5
0
	def showResult(self, player, htmString):
		if not player or not htmString or len(htmString) == 0: return True
		if htmString.endswith(".htm") or htmString.endswith(".html"):
			htmString = JQuest.getHtm(self, player.getHtmlPrefix(), htmString)
		if len(htmString) != 0:
			st = player.getQuestState(self.qn)
			if player.getTarget():
				htmString.replace("%objectId%", str(player.getTarget().getObjectId()))
			htmString = htmString.replace("%playername%", player.getName())		

			myBuffList = self.getMyBuffList(st)
			if myBuffList:
				myBuffList = myBuffList.split()
				myBuffList = filter(lambda b: b in self.allowBuffList, myBuffList)
				for i in myBuffList:
					# htmString = htmString.replace('%'+i+'%', '_checked')
					htmString = htmString.replace('%'+i+'%', 'bgcolor=903000')
			for i in self.allowBuffList:
				htmString = htmString.replace('%'+i+'%', '')
			html = NpcHtmlMessage(player.getTarget().getObjectId())
			html.setHtml(htmString)
			player.sendPacket(html)
		return htmString
Exemplo n.º 6
0
 def showQuestion(self, player):
     st = player.getQuestState(self.qn)
     if not st:
         st = self.newQuestState(player)
         st.setState(State.STARTED)
     q = self.getQuestion()
     self.info("%s %s %s %s" % (self.qn, player, q[0], q[1]))
     st.set('answer', str(q[1]))
     self.showScreenMessage(player,
                            "%s\n%s\n%s" % (self.title, self.desc, q[0]),
                            self.question_duration)
     if self.isShowHtml:
         player.sendPacket(
             NpcHtmlMessage(
                 player.getObjectId(),
                 "<html><body>%s<br>%s<br>%s</body></html>" %
                 (self.title, self.desc, q[0])))
Exemplo n.º 7
0
    def useVoicedCommand(self, command, player, params):
        if not player.isGM(): return
        mobid = 0
        max_mob = Random().nextInt(3) + 1
        dist = 400
        perm = False

        try:
            if params:
                param = params.split()
                mobid = int(param[0])
                max_mob = int(param[1])
                dist = int(param[2])
                perm = param[3].lower(
                ) == "true" or param[3] == "1" or param[3] == "永久"
        except:
            pass

        def my_spawn(player, mobid, dist, perm):
            mobt = NpcTable.getInstance().getTemplate(mobid)
            if not mobt: return
            spawn = L2Spawn(mobt)
            spawn.setInstanceId(0)
            if Config.SAVE_GMSPAWN_ON_CUSTOM:
                spawn.setCustom(True)
            spawn.setLocx(player.getX() - dist + Random().nextInt(dist * 2))
            spawn.setLocy(player.getY() - dist + Random().nextInt(dist * 2))
            spawn.setLocz(player.getZ())
            spawn.setHeading(player.getHeading())
            spawn.setAmount(1)
            spawn.setRespawnDelay(0)
            if perm:
                SpawnTable.getInstance().addNewSpawn(spawn, True)
                spawn.init()
            else:
                spawn.stopRespawn()
                spawn.doSpawn()

        if mobid:
            for mob in xrange(max_mob):
                my_spawn(player, mobid, dist, perm)

        player.sendPacket(
            NpcHtmlMessage(player.getObjectId(), self.html_spawn_input))