Перейти к содержанию

Саня

Пользователи
  • Публикаций

    37
  • Зарегистрирован

  • Посещение

  • Отзывы

    0%

Весь контент Саня

  1. Саня

    Ошибка Ивента

    Пинать не буду)) но ты помог обратить внимание снова на ту строку, родного скрипта и я решил убрать код по бокам цифры -1 [-u-][-b-] -1 [-/-b-][-/-u-] (минусы я поставил, чтобы он тут как код не показался). Ну вообщем код этот я убрал, оставив только цифру -1, после чего скрипт загрузился, без ошибок, а также и появился регистратор NPC. Но это оказалось ещё пол дела.. После того как я подхожу к NPC и пытаюсь зарегистрироваться, выдаётся "script error". Я почему-то уверен, что тут проблема в импортах, что я их не привильно прописал. Вот как выглядит у меня import sys from net.sf.l2j.gameserver.model.quest import State from net.sf.l2j.gameserver.model.quest import QuestState from net.sf.l2j.gameserver.datatables import DoorTable from net.sf.l2j.gameserver.datatables import SkillTable from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest from net.sf.l2j.gameserver import Announcements from net.sf.l2j import L2DatabaseFactory from net.sf.l2j.gameserver.ai import CtrlIntention from net.sf.l2j.util import Rnd from java.lang import System from net.sf.l2j.gameserver.model import L2World Вот как выгляит в оригинале net.la2base.gameserver.model.quest import State from net.la2base.gameserver.model.quest import QuestState from net.la2base.gameserver.datatables import DoorTable from net.la2base.gameserver.datatables import SkillTable from la2base.gameserver.model.quest.jython import QuestJython as JQuest from la2base.gameserver import Announcements from net.la2base import L2DatabaseFactory from net.la2base.gameserver.ai import CtrlIntention from la2base.util import Rnd from la2base.java.lang import System from net.la2basegameserver.model import L2World Из этого видно, что я "from net.la2base" заменил на "from net.sf.l2j.", но "from la2base" я заменил также как и "from net.la2base", т.е. на "from net.sf.l2j.". я пробовал заменять на "sf.l2j", "l2j", но даёт ошибку import name Я думаю, что нужно что-то другое... P.S. + перед str, как ты говорил, не значит ничего, даже ошибки не даёт, что с ним, что без него)
  2. Саня

    Ошибка Ивента

    не, на ней он работает, я сам проверял, просто у меня сборка была на флешке, аа флэшка сгорела, я вытащил сервер по частям, собрал основу, базу, слава богу, вытащил полностью. А вот ивент этот не вытащился вовсе, но раньше он работал, мне администратор этого портала помогал с ним через аську, вот только аську и ник его я забыл... Поэтому в сборке ивент работал, а так же мобы, появлялись, работал ивент полноценно. La2Base 1.1.8
  3. Саня

    Ошибка Ивента

    Admiralio, ошибки теперь нет, но ивент в игре всё ровно не пускается, в базу всё хорошо залито, проверил spawn. В чем может быть проблема?
  4. Саня

    Ошибка Ивента

    Спасибо за помощь, адмиралио) Исправил ошибку. 1. Дописал имопорты 2. и была ошибка, там где в логе указывалась. Вот как должно выглядить) class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
  5. Саня

    Ошибка Ивента

    Теперь такая ошибка.. Traceback (innermost last): (no code object) at line 0 SyntaxError: ('invalid syntax', ('__init__.py', 52, 1, 'def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)'))
  6. Саня

    Ошибка Ивента

    нет, не помогло.
  7. Саня

    Геймсервер

    в бд ошибка
  8. Саня

    Ошибка Ивента

    Помогите пожалуйста исправить ошибку в ивенте "peklo".. Лог ошибки Error on: C:\Documents and Settings\Admin\serv\data\scripts\quests\5555_Peklo\__init__.py.error.log Line: -1 - Column: -1 Traceback (innermost last): (no code object) at line 0 SyntaxError: ('invalid syntax', ('__init__.py', 103, 7, ' Announcements.getInstance().announceToAll(str(TIME_FOR_REG - ANNOUNCE_INTERVAL * annom [u][b]- 1[/b][/u]) + " minutes until event "+str(NAME)+" will start! You can register in "+str(LOC)+".")')) Сам ивент import sys from net.sf.l2j.gameserver.model.quest import State from net.sf.l2j.gameserver.model.quest import QuestState from net.sf.l2j.gameserver.datatables import DoorTable from net.sf.l2j.gameserver.datatables import SkillTable from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest from net.sf.l2j.gameserver import Announcements from net.sf.l2j import L2DatabaseFactory from net.sf.l2j.gameserver.ai import CtrlIntention from net.sf.l2j.util import Rnd from java.lang import System from net.sf.l2j.gameserver.model import L2World qn = "5555_Peklo" # ======================================= # НЕ ТРОГАЕМ # ======================================= annom=1 ATTAKERS = [] tek = 0 nyj = 1 closed = 1 # ======================================= # КОНФИГ # ======================================= # Название (только английские символы) NAME = "IIeklo" LOC = "Town of Giran" # Место, где вы поставили регистрирующего НПЦ. REGISTER = 55557 # Регистрирующий нпц. НЕ ЗАБЫВАЕМ ДЕЛАТЬ ЕГО БЕССМЕРТНЫМ. locr = [[82448,149424,-3468]] # Соответственно координаты, где будет появляться НПЦ. Сколько угодно различных точек PENI = 1164 # Итем, необходимый для участия PENI_KOL = 5 # Сколько итемов необходимо для участия. Если хотите чтобы участие было бесплатным - поставте 0 LEVEL = 80 # Минимальный уровень, на котором игрок сможет принять участие в ивенте. AFTER_RESTART = 25 # Время, которое пройдёт от запуска сервера(перезагрузки скрипта) до начала ивента. TIME_FOR_WAIT = 50 # Время между ивентами в минутах TIME_FOR_REG = 20 # Время на регистрацию в минутах ANNOUNCE_INTERVAL = 2 # Как часто аннонсить о регистрации на ивент в минутах. MOB = 55556 # Моб, которого надо убивать. С него ничего не должно дропаться. Желательно не менять, т.к. есть защита от незарегистрированных игроков. locf = [-88957,136220,-3085] # Соответственно координаты, где будет появляться 1 моб locfp = [-88651,136535,-3118] # Соответственно координаты, куда телепортируются игроки. Здесь же и ресаются. RADIUS = 10 # Радиус появления мобов относительно 1 моба MOB_R = 55555 # Моб, при помощи которого выдаётся награда. Здесь должен быть прописан дроп. YCH_MIN = 1 # Минимальное количество участников YCH_MAX = 35 # Максимальное количество участников. MOBS_TO_CHEL = 1 # Количество мобов на человека. Максимальное количество мобов, которое придётся убить участникам за последний заход= кл-во участников * на MOBS_TO_CHEL. CANCEL_TIME = 10 # Если в течение этого времени (минуты) мобы не атакуются - ивент считается проигранным. Пишется, что мобы выиграли и все они исчезают. REWARD =[[9840,20,25,100]] # Список наград. Выдайтся каждому участнику. Формат записи: [[itemId1,countMIN1,countMAX1,chance1],[itemId2,countMIN2,countMAX2,chanceN],... [itemIdN,countMINN,countMAXN,chanceN]] TIM = [] # Часы, в течение которых ивент не начнётся. Т.е если написано 20, то в период с 20:00:00 до 20:59:59 ивент не стартует. RAD = 5000 # Если в момент выдачи награды игрок находится вне этого радиуса, то награда не выдаётся. 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 closed st = player.getQuestState(qn) global ATTAKERS npcId = npc.getNpcId() if npcId == REGISTER: if closed<>1 and int(Date().getHours()) not in TIM : if not player.isInOlympiadMode() : if player.getLevel() >= LEVEL: if player.getName() not in ATTAKERS : kolych = len(ATTAKERS) if kolych <= YCH_MAX : if PENI_KOL<>0: if st.getQuestItemsCount(PENI)>PENI_KOL: st.takeItems(PENI,PENI_KOL) ATTAKERS.append(player.getName()) return "reg.htm" else: st.exitQuest(1) return "nopeni.htm" else: ATTAKERS.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 tek,nyj,ATTAKERS,kolych,annom,closed if event == "open" : ATTAKERS=[] closed=0 annom=1 spawncoord=locr[Rnd.get(len(locr))] npc=self.addSpawn(REGISTER,spawncoord[0],spawncoord[1],spawncoord[2],30000,False ,0) npc.startAbnormalEffect(8192) self.startQuestTimer("close", TIME_FOR_REG*60000, npc, None) self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None) Announcements.getInstance().announceToAll(str(TIME_FOR_REG - ANNOUNCE_INTERVAL * annom [u][b]- 1[/b][/u]) + " minutes until event "+str(NAME)+" will start! You can register in "+str(LOC)+".") annom=annom+1 if event == "close": tek=0 nyj=1 self.startQuestTimer("open", TIME_FOR_WAIT*60000, None, None) kolych = len(ATTAKERS) if kolych < 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() self.addSpawn(MOB,locf[0],locf[1],locf[2],30000,False,CANCEL_TIME*60000) self.startQuestTimer("return_l", CANCEL_TIME*60000, None, None) for nm in ATTAKERS : i=L2World.getInstance().getPlayer(nm) try : if i.isOnline() : i.stopAllEffects() i.teleToLocation(locfp[0],locfp[1],locfp[2]) except : pass 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)+".") annom=annom+1 self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None) if event == "return" : Announcements.getInstance().announceToAll("Event "+str(NAME)+" has ended. Players win!") for nm in ATTAKERS : i=L2World.getInstance().getPlayer(nm) try : if i.isOnline() : i.teleToLocation(83456,148208,-3406) except : pass if event == "return_l" : Announcements.getInstance().announceToAll("Event "+str(NAME)+" has ended. Monsters win!") for nm in ATTAKERS : i=L2World.getInstance().getPlayer(nm) try : if i.isOnline() : i.teleToLocation(83456,148208,-3406) except : pass if event == "exit" : ATTAKERS.remove(player.getName()) return "exit.htm" return def onAttack (self,npc,player,damage,isPet): if player.getName() not in ATTAKERS : try: player.teleToLocation(147725,-56517,9999) except : pass return def onKill(self,npc,player,isPet): global tek,nyj,kolych mobcount=(MOBS_TO_CHEL * kolych)+15 tek=tek+1 if tek==nyj and (2*nyj) < mobcount: for i in range(0,2*tek) : randx = 25*(20-Rnd.get(40)) randy = 25*(20-Rnd.get(40)) self.addSpawn(MOB,locf[0] + randx, locf[1] + randy, locf[2]+100,30000,False,CANCEL_TIME*60000) nyj=2*tek tek=0 self.cancelQuestTimer("return_l",None,None) self.startQuestTimer("return_l", CANCEL_TIME*60000, None, None) npcppc=self.addSpawn(MOB,locf[0],locf[1],locf[2]+100,30000,False,CANCEL_TIME*600 00) npcppc.broadcastPacket(CreatureSay(npcppc.getObjectId(), 1, "Event "+str(NAME)+": ","You have "+str(CANCEL_TIME)+" minutes for kill this monsters!")) npcppc.deleteMe() elif tek==nyj and (2*nyj) >= mobcount: for i in range(0,mobcount) : randx = 25*(20-Rnd.get(40)) randy = 25*(20-Rnd.get(40)) mobb=self.addSpawn(MOB,locf[0] + randx, locf[1] + randy, locf[2]+100,30000,False,CANCEL_TIME*60000) mobb.startAbnormalEffect(8192) nyj=mobcount+1 tek=0 self.cancelQuestTimer("return_l",None,None) self.startQuestTimer("return_l", (CANCEL_TIME)*60000, None, None) npcppc=self.addSpawn(MOB,locf[0],locf[1],locf[2]+100,30000,False,CANCEL_TIME*600 00) npcppc.broadcastPacket(CreatureSay(npcppc.getObjectId(), 1, "Event "+str(NAME)+": ","You have "+str(CANCEL_TIME)+" minutes for kill this monsters!")) npcppc.deleteMe() elif tek==mobcount: for nm in ATTAKERS : player=L2World.getInstance().getPlayer(nm) if player<>None: if abs(abs(player.getX())-abs(locf[0]))>RAD or abs(abs(player.getY())-abs(locf[1]))>RAD : ATTAKERS.remove(nm) else: ATTAKERS.remove(nm) for nm in ATTAKERS : i=L2World.getInstance().getPlayer(nm) try: for id, countmin, countmax, chance in REWARD : if Rnd.get(100)<=chance : count=Rnd.get(countmin,countmax) i.getQuestState(qn).giveItems(id,count) except : pass self.startQuestTimer("return", 30000, None, None) self.cancelQuestTimer("return_l",None,None) return QUEST = Quest(5555, qn, "Peklo") QUEST.addKillId(int(MOB)) QUEST.addAttackId(int(MOB)) QUEST.addStartNpc(int(REGISTER)) QUEST.addTalkId(int(REGISTER))
  9. Саня

    Личные Баффы

    ну там баффы, которые например у ТХ (focus power или focus chance) шли на другую строку, а не в баффы, так же и мираж...
  10. Саня

    Личные Баффы

    хм, я вот видел такое на одном сервере bestw..d, наврятли им разработчики наверно помогали...
  11. Саня

    Личные Баффы

    Всем привет. Подскажите как сделать, чтобы личные баффы игроков шли не в основной бафф, а в отдельную строку, например как дебафф "малярия". Так же дебаффы нужно перенести в отдельную строку.. Сборка la2base платная.
  12. Что-то я тут не понял, power стоит 0.0, может так и должно быть И effectRange надо увеличить? Ещё заметил, что забегая в озеро отравление не снимаются... (( <skill id="4554" levels="10" name="Hot Springs Malaria"> <table name="#mAtkSpd"> 1.04 1.08 1.12 1.16 1.08 1 1 1 1 1 </table> <table name="#MpConsumeRate"> 1 0.96 0.96 0.96 0.92 0.92 0.92 0.88 0.88 0.84 </table> <set name="mpInitialConsume" val="14"/> <set name="mpConsume" val="55"/> <set name="power" val="0.0"/> <set name="magicLvl" val="75"/> <set name="target" val="TARGET_ONE"/> <set name="hitTime" val="0"/> <set name="skillType" val="BUFF"/> <set name="isMagic" val="true"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="600"/> <set name="effectRange" val="1100"/> <set name="aggroPoints" val="-100"/> <for> <effect count="1" name="Buff" time="3600" val="0" abnormal="poison"> <mul order="0x30" stat="mAtkSpd" val="#mAtkSpd"/> <mul order="0x30" stat="MpConsumeRate" val="#MpConsumeRate"/> </effect> </for> </skill>
  13. Саня

    Скорость Интернета

    6 мегабит интернета на 100-200, было дело проверял, хватало На счёт железа, с геодатой лучше 4 гб озу. А так на 100 чел 2 гб хватит
  14. Привет, такая проблема, мобы в хс очень долго кидают отравления malaria и flu минут 20 надо бить, чтобы малярию 4-го получить, а Flu вообще редко появляется... Как можно это исправить? Сборка Java Interlude La2Base 1.0.8
  15. Саня

    Вопрос О Портах

    Привет, подскажите (стыдно спрашивать, забыл просто) Traffic Type для сервера нужно TCP, UDP или Any?
  16. Саня

    Проблема С Эвентом

    Написал обоим, не ответа, ни привета.
  17. Саня

    Проблема С Эвентом

    Если кто-то из вас сможет подправить чтобы эвенты эти заработали, то напишите, я вам заплачу за работу
  18. Саня

    Проблема С Эвентом

    Хочется же новый эвент, не хочу я этот твт ставить. Нет не своими руками делал. Подскажите где лежат эти импорты тогда, у меня и захват базы не ставится, вот лог ошибки: Error on: C:\la2base\data\scripts\quests\5556_Base\__init__.py.error.log Line: -1 - Column: -1 Traceback (innermost last): (no code object) at line 0 SyntaxError: ('invalid syntax', ('__init__.py', 1, 36, 'net.la2base.gameserver.model.quest import State'))
  19. Саня

    Проблема С Эвентом

    Всем привет. Установил эвент "peklo" в базу всё норм вошло подавил папку в quests и прописал в scripts.ini. Но эвент всё ровно не запускается. сборка la2base. В папке с квестом остался лог ошибки, вот седержиое: Error on: C:\Сборка la2base - платная последняя\data\scripts\quests\5555_Peklo\__init__.py.error.log Line: -1 - Column: -1 Error on: C:\Сборка la2base - платная последняя\data\scripts\quests\5555_Peklo\__init__.py.error.log Line: -1 - Column: -1 Traceback (innermost last): (no code object) at line 0 SyntaxError: ('invalid syntax', ('__init__.py', 104, 103, ' Announcements.getInstance().announceToAll(str(TIME_FOR_REG - ANNOUNCE_INTERVAL * annom - 1) + " minutes until event "+str(NAME)+" will start! You can register in "+str(LOC)+".")')) Подскажите, что делать
  20. Всем знатокам по ява сборкам, сервер у меня La2Base Interlude. Не первый раз работаю с серверами. Многое там понимаю, но всё же есть такая проблема, я никогда не умел делать дополнительные скиллы (блок бафф и голдбар = 2ккк). Кому несложно объясните по подробней как это делать. А то я читал темы на сайтах по этому поводу, ничего дельного, говорят возьми ненужный скилл и поменяй, а какой скилл с каким ID, на что заменить, я так и не понял... Объясните, будьте так добры
×
×
  • Создать...