1mp 22 Опубликовано 13 ноября, 2011 Опять прошу помощи)) при убийстве базы ничего не происходит! что мне делать?? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DivFree 0 Опубликовано 13 ноября, 2011 Ошибки в ГС есть? Если есть скидывай сюда. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FuckYeah 0 Опубликовано 13 ноября, 2011 Ошибка вроде есть Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1mp 22 Опубликовано 13 ноября, 2011 Ошибок в гс нету Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1mp 22 Опубликовано 13 ноября, 2011 Это при убийстве чара из другой команды Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1mp 22 Опубликовано 13 ноября, 2011 А вот то что не телепортирует может сдесь что то не исправно? Скрытый текстimport sysfrom com.l2jfrozen.gameserver.model.quest import State from com.l2jfrozen.gameserver.model.quest import QuestState from com.l2jfrozen.gameserver.datatables.csv import DoorTable from com.l2jfrozen.gameserver.datatables import SkillTable from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest from com.l2jfrozen.gameserver.model.entity import Announcements from com.l2jfrozen.util.database import L2DatabaseFactory from com.l2jfrozen.gameserver.ai import CtrlIntention from com.l2jfrozen.util.random import Rnd from java.lang import System from com.l2jfrozen.gameserver.model import L2World qn = "5556_Base" # ======================================= # 1 # ======================================= closed=1 res_timer=0 npc1=0 npc2=0 TEAM1 = [] TEAM2 = [] attacked = 0 annom = 1 # ======================================= # 2 # ======================================= NAME = "3AXBAT bA3bI" LOC = "Goddard" REGISTER = 13014 locr = [147712,-55520,-2733] PENI = 4037 PENI_KOL = 0 LEVEL = 76 AFTER_RESTART = 10 TIME_FOR_WAIT = 30 TIME_FOR_REG = 10 ANNOUNCE_INTERVAL = 2 YCH_MIN = 1 YCH_MAX = 40 REWARD =[[57,30000000,100],[6673,5,100],[6392,1,50],[6393,5,20]] t1 =[165520,-206165,-3663] t2 =[169955,-206926,-3571] BASE1 = 55561 BASE2 = 55562 com1 = "Лорды" com2 = "Мутанты" RES_TIME = 8 class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def init_LoadGlobalData(self) : self.startQuestTimer("open", AFTER_RESTART *60000, None, None) return def onTalk (Self,npc,player): global TEAM1,TEAM2,npc1,npc2,closed st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == REGISTER: if closed<>1: if not player.isInOlympiadMode() : if player.getLevel() >= LEVEL: if player.getName() not in TEAM1 + TEAM2 : if len(TEAM1)>len(TEAM2) : kolych = len(TEAM1) else: kolych = len(TEAM2) if kolych <= YCH_MAX : if PENI_KOL<>0: if st.getQuestItemsCount(PENI)>PENI_KOL: st.takeItems(PENI,PENI_KOL) if len(TEAM1)>len(TEAM2): TEAM2.append(player.getName()) return "reg.htm" else: TEAM1.append(player.getName()) return "reg.htm" else: st.exitQuest(1) return "nopeni.htm" else: if len(TEAM1)>len(TEAM2): TEAM2.append(player.getName()) return "reg.htm" else: TEAM1.append(player.getName()) return "reg.htm" else: return "max.htm" else: return "yje.htm" else: return "lvl.htm" else: return "You register in olympiad games now" else: return "noreg.htm" return def onAdvEvent (self,event,npc,player): global TEAM1,TEAM2,npc1,npc2,res_timer,annom,closed if event == "open" : TEAM1=[] TEAM2=[] closed=0 annom=1 npc=self.addSpawn(REGISTER,locr[0],locr[1],locr[2],30000,False,0) self.startQuestTimer("close", TIME_FOR_REG*60000, npc, None) self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None) Announcements.getInstance().announceToAll("Opened registration for "+str(NAME)+" event! You can register in "+str(LOC)+".") if event == "close": res_timer = 1 self.startQuestTimer("res", RES_TIME*1000, None, None) self.startQuestTimer("open", TIME_FOR_WAIT*60000, None, None) for nm in TEAM1: i=L2World.getInstance().getPlayer(nm) if i<>None: if not i.isOnline() or i.isInOlympiadMode(): TEAM1.remove(nm) else: TEAM1.remove(nm) for nm in TEAM2: i=L2World.getInstance().getPlayer(nm) if i<>None: if not i.isOnline() or i.isInOlympiadMode(): TEAM2.remove(nm) else: TEAM2.remove(nm) while abs(len(TEAM1)-len(TEAM2))>1: if len(TEAM1)>len(TEAM2): self.saveGlobalQuestVar(str(TEAM1[0].getObjectId()), "team2") TEAM2.append(TEAM1[0]) TEAM1.remove(TEAM1[0]) else: self.saveGlobalQuestVar(str(TEAM2[0].getObjectId()), "team1") TEAM1.append(TEAM2[0]) TEAM2.remove(TEAM2[0]) if (len(TEAM1)+len(TEAM2))< 2*YCH_MIN : npc.deleteMe() closed=1 Announcements.getInstance().announceToAll("Event "+str(NAME)+" was canceled due lack of participation.") else: closed=1 Announcements.getInstance().announceToAll("Event "+str(NAME)+" has started!") npc.deleteMe() npc1=self.addSpawn(BASE1,t1[0],t1[1],t1[2],30000,False,0) npc2=self.addSpawn(BASE2,t2[0],t2[1],t2[2],30000,False,0) for nm in TEAM1 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.stopAllEffects() i.setTeam(2) i.broadcastStatusUpdate() i.broadcastUserInfo() i.teleToLocation(t1[0]+100,t1[1],t1[2]) for nm in TEAM2 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.stopAllEffects() i.setTeam(1) i.broadcastStatusUpdate() i.broadcastUserInfo() i.teleToLocation(t2[0]+100,t2[1],t2[2]) if event == "announce" and closed==0 and (TIME_FOR_REG - ANNOUNCE_INTERVAL * annom)>0: Announcements.getInstance().announceToAll(str(TIME_FOR_REG - ANNOUNCE_INTERVAL * annom ) + " minutes until event "+str(NAME)+" will start! You can register in "+str(LOC)+". There are "+str(len(TEAM1))+" JlopgoB and "+str(len(TEAM2))+" MyTaHToB.") annom=annom+1 self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None) if event == "return_1" : res_timer = 0 for nm in TEAM1 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.teleToLocation(locr[0],locr[1],locr[2]) i.setTeam(0) i.broadcastStatusUpdate() i.broadcastUserInfo() for nm in TEAM2 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.teleToLocation(locr[0],locr[1],locr[2]) i.setTeam(0) i.broadcastStatusUpdate() i.broadcastUserInfo() Announcements.getInstance().announceToAll("Event "+str(NAME)+" has ended. "+str(com1)+" win!") if event == "return_2" : res_timer = 0 for nm in TEAM1 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.teleToLocation(locr[0],locr[1],locr[2]) i.setTeam(0) i.broadcastStatusUpdate() i.broadcastUserInfo() for nm in TEAM2 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.teleToLocation(locr[0],locr[1],locr[2]) i.setTeam(0) i.broadcastStatusUpdate() i.broadcastUserInfo() Announcements.getInstance().announceToAll("Event "+str(NAME)+" has ended. "+str(com2)+" win!") if event == "exit" : if player.getName() in TEAM1: TEAM1.remove(player.getName()) else: TEAM2.remove(player.getName()) return "exit.htm" if event == "res" and res_timer==1: self.startQuestTimer("res", RES_TIME*1000, None, None) for nm in TEAM1: i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : if i.isDead(): i.doRevive() i.setCurrentCp(i.getMaxCp()) i.setCurrentHp(i.getMaxHp()) i.setCurrentMp(i.getMaxMp()) i.stopAllEffects() i.setTeam(0) i.setTeam(2) i.broadcastStatusUpdate() i.broadcastUserInfo() i.teleToLocation(t1[0],t1[1],t1[2]) for nm in TEAM2: i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : if i.isDead(): i.doRevive() i.setCurrentCp(i.getMaxCp()) i.setCurrentHp(i.getMaxHp()) i.setCurrentMp(i.getMaxMp()) i.stopAllEffects() i.setTeam(0) i.setTeam(1) i.broadcastStatusUpdate() i.broadcastUserInfo() i.teleToLocation(t2[0],t2[1],t2[2]) return def onAttack (self,npc,player,damage,isPet): npcId = npc.getNpcId() if npcId == BASE2 and player.getName() not in TEAM1 : player.reduceCurrentHp(99999,player) if npcId == BASE1 and player.getName() not in TEAM2 : player.reduceCurrentHp(99999,player) return def onSkillSee (self,npc,player,skill,targets,isPet) : if player.getTarget() == npc and skill.getId() in [1218,1015,1258,1011,1401,58,1217,329]: player.setTeam(0) player.broadcastStatusUpdate() player.broadcastUserInfo() player.teleToLocation(locr[0],locr[1],locr[2]) if player.getName() in TEAM1 : TEAM1.remove(player.getName()) elif player.getName() in TEAM2 : TEAM2.remove(player.getName()) def onKill(self,npc,player,isPet): global TEAM1,TEAM2,npc1,npc2,res_timer npcId = npc.getNpcId() if npcId == BASE1: res_timer=0 self.startQuestTimer("return_2", 10000, None, None) npc2.deleteMe() for nm in TEAM2 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : for id, count, chance in REWARD : if Rnd.get(100)<=chance : i.getQuestState(qn).giveItems(id,count) if npcId == BASE2: res_timer=0 self.startQuestTimer("return_1", 10000, None, None) npc1.deleteMe() for nm in TEAM1 : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : for id, count, chance in REWARD : if Rnd.get(100)<=chance : i.getQuestState(qn).giveItems(id,count) return QUEST = Quest(5556, qn, "Base") QUEST.addKillId(int(BASE1)) QUEST.addAttackId(int(BASE1)) QUEST.addKillId(int(BASE2)) QUEST.addAttackId(int(BASE2)) QUEST.addStartNpc(int(REGISTER)) QUEST.addTalkId(int(REGISTER)) QUEST.addSkillUseId(int(BASE1)) QUEST.addSkillUseId(int(BASE2)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1mp 22 Опубликовано 13 ноября, 2011 Ни кто не знает в чом проблема?? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты