-
Публикаций
21 -
Зарегистрирован
-
Посещение
-
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент SenSEY
-
У меня на сборке l2wt gracia ginal Глючит олимп, не показывает сколько очей и не выводит инфо в таблицы Олимпиад менеджера.. Можно это как-то исправить? Если можно, то как?!
-
Подскажите как ввеличить в SW11 Menory_limit у меня стоит Menory_limit: 8M
-
l2wt Скрытый текстimport sysfrom com.l2emu.gameserver.model.quest import State from com.l2emu.gameserver.model.quest import QuestState from com.l2emu.gameserver.model.quest import Quest from com.l2emu.gameserver.datatables import DoorTable from com.l2emu.gameserver.datatables import SkillTable from com.l2emu.gameserver.model.quest.jython import QuestJython as JQuest from com.l2emu.gameserver import Announcements from com.l2emu import L2DatabaseFactory from com.l2emu import ThreadConnection from com.l2emu.gameserver.ai import CtrlIntention from com.l2emu.util import Rnd from java.lang import System from com.l2emu.gameserver.model import L2World from com.l2emu.gameserver.model.actor.instance import L2DoorInstance from com.l2emu.gameserver.datatables import DoorTable; qn = "777_LastHero" # =======================================# # Настройки # # =======================================# # Название Эвента (только английские символы) Event_name = "LastHero" # Город, в котором вы хотите поставить регистрирующего НПЦ. StartLocation = "Giran" # ID-номер регистрирующего нпц Reg_Npc = 77777 # Координаты, где будет появляться регистрирующий НПЦ StartNpcCoordinat = [82698,148638,-3468] # Вещи, необходимый для участия в Эвенте. # Формат записи [itemId1,itemId2,....] Price = [57] # Сколько заданных вещей необходимых для участия в Эвенте. Если хотите чтобы участие было бесплатным - поставте 0. # Формат записи [itemId1_count,itemId2_count,....] Price_count = [1000000] # Минимальный уровень, на котором игрок сможет принять участие в Эвенте. Min_level = 40 # Через какое время эвент запустится после рестарта сервера.(указывать в секундах) Time_to_start_after_restart = 60 # Через какое время после телепортации на эвент начнеться битва.(указывать в секундах) Time_to_wait_battle = 60 # Длительность эвента. (указывать в минутах) EVENT_INTERVAL = 5 # Время между Эвентами.(указывать в минутах) Time_to_next_start = 1440 # Время на регистрацию.(указывать в минутах) Time_for_regestration = 5 # Как часто аннонсить о регистрации на Эвент.(указывать в секундах) Announce_reg_delay = 60 # Минимальное количество игроков(не меньше 2). Min_participate_count = 2 # Максимальное количество игроков. Max_participate_count = 80 # Список наград при победе в эвенте. Выдаётся каждому игроку. # Формат записи: [[itemId1,count1,chance1],[itemId2,count2,chanceN],...] Rewards = [[6578,5,65],[6588,5,65],[6673,3000,100]] # Координаты точки куда будут телепортироваться игроки. Teleport_coordinat = [149438, 46785, -3413] # Двери которые будут закрываться на периоод прохождения эвента. # Формат записи: [Door_id1,Door_id2,...] Doors = [24190002,24190003] # ================Неизменять================ # lastPlayers = [] lastX = [] lastY = [] lastZ = [] closed = 1 Players = [] Deadplayers = [] annom = 1 f = 0 # ========================================== # class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def init_LoadGlobalData(self) : self.startQuestTimer("open_reg", Time_to_start_after_restart *1000, None, None) return def onTalk (Self,npc,player): global Players,closed st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == Reg_Npc: if closed<>1: if not player.isInOlympiadMode() : if player.getLevel() >= Min_level: if player.getName() not in Players: if len(Players) <= Max_participate_count : if Price_count[0]<>0: if st.getQuestItemsCount(Price[0])>Price_count[0]: st.takeItems(Price[0],Price_count[0]) Players.append(player.getName()) return "reg.htm" else: st.exitQuest(1) return "noPrice.htm" else: Players.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 Deadplayers,Players,annom,closed,Doors,lastPlayers,lastX,lastY,lastZ,f,n if event == "open_reg" : closed = 0 annom = 1 lastPlayers = [] Players = [] Deadplayers = [] lastX = [] lastY = [] lastZ = [] npc = self.addSpawn(Reg_Npc,StartNpcCoordinat[0],StartNpcCoordinat[1],StartNpcCoordina t[2],30000,False,0) self.startQuestTimer("wait_battle", Time_for_regestration*60000, npc, None) self.startQuestTimer("announce", Announce_reg_delay*1000, None, None) Announcements.getInstance().announceToAll("Opened registration for "+str(Event_name)+" event! You can register in "+str(StartLocation)+".") if event == "start_event": if len(Players)< Min_participate_count : closed=1 Announcements.getInstance().announceToAll("Event "+str(Event_name)+" was canceled due lack of participation.") self.startQuestTimer("set_winner", 1000, None, None) self.startQuestTimer("open_reg", Time_to_next_start*60000, None, None) else: closed=1 Announcements.getInstance().announceToAll("Event "+str(Event_name)+" has started!") self.startQuestTimer("konec", EVENT_INTERVAL*60000, None, None) f=0 for nm in Players : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.getAppearance().setVisible() i.broadcastStatusUpdate() i.broadcastUserInfo() while len(Players)>1 : for nm in Players : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isDead(): i.reviveAnswer(0) Deadplayers.append(i.getName()) Players.remove(i.getName()) self.startQuestTimer("set_winner", 1000, None, None) if event == "announce" and closed==0 and (Time_for_regestration*60 - Announce_reg_delay * annom)>0: Announcements.getInstance().announceToAll(str(Time_for_regestration*60 - Announce_reg_delay * annom ) + " seconds until event "+str(Event_name)+" will start! You can register in "+str(StartLocation)+".") annom=annom+1 self.startQuestTimer("announce", Announce_reg_delay*1000, None, None) if event == "set_winner" : if len(Players) > 0 and len(Players + Deadplayers) >= Min_participate_count: winner=L2World.getInstance().getPlayer(Players[0]) Deadplayers.append(Players[0]) if winner.isDead(): Announcements.getInstance().announceToAll("Event "+str(Event_name)+" has ended. All players is dead. Nobody Win") else : f=1 Announcements.getInstance().announceToAll("Event "+str(Event_name)+" has ended. "+str(Players[0])+" win!") for nm in Deadplayers : i=L2World.getInstance().getPlayer(nm) if i<>None and i.isOnline(): if i.isDead(): i.doRevive() i.setCurrentCp(i.getMaxCp()) i.setCurrentHp(i.getMaxHp()) i.setCurrentMp(i.getMaxMp()) i.stopAllEffects() i.broadcastStatusUpdate() i.broadcastUserInfo() if len(Deadplayers)>0: n = 0 for nm in lastPlayers : i=L2World.getInstance().getPlayer(nm) i.teleToLocation(lastX[n],lastY[n],lastZ[n]) n = n + 1 if winner<>None: if winner.isOnline() : L2World.getInstance().getPlayer(Players[0]).setHero(True) Announcements.getInstance().announceToAll("Next time registration opend at "+str(Time_to_next_start)+" minute(s)") for d in Doors: door = DoorTable.getInstance().getDoor(d) door.openMe() lastPlayers = [] Players = [] Deadplayers = [] lastX = [] lastY = [] lastZ = [] self.startQuestTimer("open_reg", Time_to_next_start*60000, None, None) if event == "exit" : if player.getName() in Players: Players.remove(player.getName()) return "exit.htm" else: return "default.htm" if event == "konec" : if f==0: for nm in Players : i=L2World.getInstance().getPlayer(nm) if i<>None: if i.isOnline() : i.teleToLocation(82698,148638,-3468) i.broadcastStatusUpdate() i.broadcastUserInfo() Announcements.getInstance().announceToAll("Event "+str(Event_name)+" was ended in drawn.") self.startQuestTimer("open_reg", Time_to_next_start*60000, None, None) if event == "wait_battle": npc.deleteMe() if len(Players) >= Min_participate_count: for nm in Players: i=L2World.getInstance().getPlayer(nm) if i<>None: if not i.isOnline() or i.isInOlympiadMode() or i.isInJail(): Players.remove(nm) else: Players.remove(nm) for nm in Players: 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.getAppearance().setInvisible(); i.broadcastStatusUpdate() i.broadcastUserInfo() lastPlayers.append(nm) lastX.append(i.getX()) lastY.append(i.getY()) lastZ.append(i.getZ()) i.teleToLocation(Teleport_coordinat[0],Teleport_coordinat[1],Teleport_coordinat[ 2]) for d in Doors: door = DoorTable.getInstance().getDoor(d) door.closeMe() Announcements.getInstance().announceToAll("Event "+str(Event_name)+": Registration close. You have "+str(Time_to_wait_battle)+" seconds for buffs before battle start") self.startQuestTimer("start_event", Time_to_wait_battle*1000, None, None) else : self.startQuestTimer("start_event", 1000, None, None) QUEST = Quest(777, qn, "Custom") QUEST.addStartNpc(int(Reg_Npc)) QUEST.addTalkId(int(Reg_Npc))
-
Вообщем установил себе на сервер last hero.. Все как надо по инструкции поставил запуск евента после рестарта сервера на 2 минут жду 20 минут не какого ефекта захожу в папку с квестом, а там вот такое чудо: Error on: C:\Documents and Settings\Администратор\Рабочий стол\Normal STAT\gameserver\data\scripts\quests\777_LastHero\__init__.py.error.log Line: -1 - Column: -1 Traceback (innermost last): (no code object) at line 0 SyntaxError: ('invalid syntax', ('__init__.py', 10, 2, ' from com.l2emu import ThreadConnection'))
-
Вот есть скилы арбалетчика Ловушки slow trap, flash trap .. Ток над рабочие для Gracia Final
-
Вот effectId <skill id="5447" levels="7" name="Paralysis"> <table name="#dmg"> 76 76 76 76 83 83 83 </table> <set name="target" val="TARGET_ONE" /> <set name="element" val="5" /> <!-- Dark --> <set name="skillType" val="PARALYZE" /> <set name="operateType" val="OP_ACTIVE" /> <set name="power" val="40" /> <!-- Guess --> <set name="isDebuff" val="true" /> <set name="castRange" val="40" /> <for> <effect name="Paralyze" time="20" val="0" /> <effect count="5" name="DamOverTime" time="3" val="#dmg" abnormal="poison" noicon="1" /> </for>
-
Вот дан скилл <skill id="523" levels="7" name="Imbue Dark Seed"> <!-- Needs to be finished with a correct abnormal effect --> <table name="#magicLvl"> 62 64 66 68 70 72 74 </table> <table name="#effectLevel"> 1 2 3 4 5 6 7 </table> <set name="mpConsume" val="30"/> <set name="magicLvl" val="#magicLvl"/> <set name="power" val="80"/> <!-- Base Land Rate --> <set name="itemConsumeId" val="10112"/> <set name="itemConsumeCount" val="1"/> <set name="target" val="TARGET_ONE"/> <set name="reuseDelay" val="4000"/> <set name="hitTime" val="1000"/> <set name="skillType" val="DEBUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="40"/> <set name="effectRange" val="400"/> <set name="effectId" val="5447"/> <set name="effectLevel" val="#effectLevel"/> Где и как поменять шанс прохождение скила?
-
Хм... В конфиге выставленно что через админку макксималка 65к и вообще какой у тя аксес левел
-
Ты скнь какого-нить НПС к примеру баффера стандартного!
-
скачай с сборки другой версии такой же файлик и вставь то что я дал, и все бафы на сутки буду и все!
-
Залезь в таблице в разде npc и скопиру от туда какого-нибудь НПС сюда, я тебе переделаю!
-
Найди где множитиль бафоф есть строка и там есть такая муть Вот готовая она: EnableModifySkillDuration = True SkillDurationList = 267,9999;270,9999;268,9999;269,9999;265,9999;264,9999;266,9999;\ 306,9999;304,9999;308,9999;305,9999;349,9999;363,9999;364,9999;\ 274,9999;277,9999;272,9999;273,9999;276,9999;271,9999;275,9999;\ 309,9999;311,9999;307,9999;310,9999;365,9999;\ 1040,9999;1068,9999;1073,9999;1078,9999;1085,9999;1204,9999;1035,9999;\ 1043,9999;1077,9999;1191,9999;1044,9999;1062,9999;1032,9999;1240,9999;\ 1242,9999;1243,9999;1036,9999;1045,9999;1048,9999;1086,9999;1033,9999;\ 1182,9999;1189,9999;1352,9999;1087,9999;1257,9999;1259,9999;1303,9999;\ 1354,9999;1059,9999;1268,9999;\ 1388,9999;1389,9999;1392,9999;1393,9999;1304,3600;1397,3600;\ 1006,9999;1009,9999;1007,9999;1010,9999;1002,3600;1003,3600;\ 1005,9999;1004,9999;1008,9999;1250,9999;1260,3600;1249,3600;\ 1261,9999;1282,9999;1305,9999;1364,9999;1365,3600;1252,3600;\ 1253,9999;1251,9999;1308,9999;1309,9999;1362,3600;1310,3600;\ 4699,9999;4700,9999;4702,9999;4703,9999;1390,3600;1391,3600;\ 1284,9999;1415,9999;1416,9999;1363,9999;\ 4391,9999;4342,9999;1355,9999;1356,9999;1413,9999;4393,9999;\ 4342,9999;4343,9999;4344,9999;4345,9999;4346,9999;4347,9999;4348,9999;4349,9999; 4350,9999;\ 4351,9999;4352,9999;4353,9999;4354,9999;4355,9999;4356,9999;4357,9999;4358,9999; 4359,9999;4360,9999;\ 1311,9999;1353,9999;1476,9999;1477,9999;1478,9999;1479,9999;1047,9999;1357,9999;\
-
Да можно в БД, если вспомню то напишу мануал Как!
-
Вообщем над сделать 4 надписи la2.fttbkhv.ru, кто сможет дам исходник надписи.. А надо сделать 4 вида, по времени года(Лето,весна,осень,зима) Кто поможет плиз?)
-
--------------------------------------------------------------------------- # Misc Player Settings # --------------------------------------------------------------------------- # Character name template. # Пример использования : CnameTemplate=[A-Z][a-z]{3,3}[A-Za-z0-9]* # Разрешает первую заглавную букву, следующие три маленькие, # а потом любую (заглавную или маленькую) букву или цифру, например ExamP1E # Более рационально поставить CnameTemplate=[A-Z][a-z]* # Разрешает только первую заглавную букву, например Example # По умолчанию .* - любые символы CnameTemplate = [A-Za-z0-9]* PetNameTemplate = [A-Za-z0-9]* Вот к примеру!
-
В конфиге где разрешение на имя чара из каких либо символов у тебя допущена ошибка, по этому он и говорит что имя не верное!
-
Писал сам, если нужны еще какие-нибудь мануалы на темы по серверу, то могу сделать только скажите какие!