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

1mp

Постоялец
  • Публикаций

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

  • Посещение

  • Отзывы

    0%

Весь контент 1mp

  1. 1mp

    Frozen

    спать ушол(
  2. 1mp

    Профессии

    Вообщем в клиенте sysstring-e.dat
  3. 1mp

    Frozen

    У меня в гейм сервере 4 папки config lib-----Тут ява файлы но EnterWorld.java нету data log
  4. 1mp

    Frozen

    EnterWorld.java где находится этот файл?
  5. 1mp

    Frozen

    Ни чего не поменялось)
  6. 1mp

    Frozen

    Изменил, Сделал рестарт, Ни чего не изменилось
  7. 1mp

    Frozen

    Не подскажеш в каком именно конфиге?
  8. 1mp

    Frozen

    работать с ява файлами не умею(
  9. 1mp

    Frozen

    можно ли убрать??
  10. 1mp

    Захвать Базы

    Ни кто не знает в чом проблема??
  11. 1mp

    Захвать Базы

    А вот то что не телепортирует может сдесь что то не исправно? Скрытый текст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))
  12. 1mp

    Захвать Базы

    Это при убийстве чара из другой команды
  13. 1mp

    Захвать Базы

    Ошибок в гс нету
  14. 1mp

    Захвать Базы

    Опять прошу помощи)) при убийстве базы ничего не происходит! что мне делать??
  15. 1mp

    Sql

    Спасибо)
  16. 1mp

    Sql

    INSERT INTO `npc` VALUES ('55561', '13001', 'Power of Dark', '1', '', '0', 'NPC.heart_of_warding', '42.50', '75.00', '80', 'female', 'L2GrandBoss', '0', '200000', '3793', '0.00', '0.00', '60', '57', '73', '76', '70', '80', '2374400', '1196456', '0', '5000', '0', '6000', '0', '0', '0', '0', '0', '0', '0', '0', 'NULL', '0', '0', '12', 'FULL_PARTY', '0', '0', '0', 'balanced'); INSERT INTO `npc` VALUES ('55562', '13001', 'Power of Ligth', '1', '', '0', 'NPC.heart_of_warding', '42.50', '75.00', '80', 'female', 'L2GrandBoss', '0', '200000', '3793', '0.00', '0.00', '60', '57', '73', '76', '70', '80', '2374400', '1196456', '0', '5000', '0', '6000', '0', '0', '0', '0', '0', '0', '0', '0', 'NULL', '0', '0', '12', 'FULL_PARTY', '0', '0', '0', 'balanced'); как его подправить под сборку фрозен?
  17. 1mp

    Npc

    кто нибудь знает ид этого нпц?? или где он находится
  18. 1mp

    Хелп

    Нашел уже)) http://forummaxi.ru/index.php?showtopic=2966 Спасибо
  19. 1mp

    Хелп

    Спс) следующая ошибка Traceback (innermost last): File "__init__.py", line 7, in ? ImportError: cannot import name Announcements
  20. 1mp

    Хелп

    import sys from com.l2jfrozen.gameserver.model.quest import State from com.l2jfrozen.gameserver.model.quest import QuestState from com.l2jfrozen.gameserver.datatables import DoorTable from com.l2jfrozen.gameserver.datatables import SkillTable from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest from com.l2jfrozen.gameserver import Announcements from com.l2jfrozen import L2DatabaseFactory from com.l2jfrozen.gameserver.ai import CtrlIntention from com.l2jfrozen.util import Rnd from java.lang import System from com.l2jfrozen.gameserver.model import L2World from com.l2jfrozen.util import Rnd 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 = 55558 locr = [147712,-55520,-2733] PENI = 4037 PENI_KOL = 0 LEVEL = 76 AFTER_RESTART = 10 TIME_FOR_WAIT = 120 TIME_FOR_REG = 10 ANNOUNCE_INTERVAL = 2 YCH_MIN = 2 YCH_MAX = 20 REWARD =[[6673,3,100],[5556,1,100]] t1 =[175732,-87983,-5107] t2 =[172713,-87983,-5107] BASE1 = 55561 BASE2 = 55562 com1 = "Dark power" com2 = "Light power" 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))+" Dark warriors and "+str(len(TEAM2))+" Heroes of Light.") 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.addSkillSeeId(int(BASE1)) QUEST.addSkillSeeId(int(BASE2))
  21. 1mp

    Хелп

    Error on: C:\Documents and Settings\RoCuS\Мои документы\Новая папка\1mp-team\gameserver\data\scripts\quests\5556_Base\__init__.py.error.log Line: -1 - Column: -1 Traceback (innermost last): File "__init__.py", line 4, in ? ImportError: cannot import name DoorTable
  22. 1mp

    Хелп

    Не могу поставить эвент захвать базы пишет еррор при чтении __init__.py что делать сборка фрозен
  23. 1mp

    Dle

    Все сделал в итоге черный экран))
  24. 1mp

    Dle

    кто нибудь сможет переделать шаблон дле под стресс веб?? http://l2maxi.ru/java/web/templates/84-shablon-dle.html вот этот
×
×
  • Создать...