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

gekasav

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

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

  • Посещение

  • Победитель дней

    3
  • Отзывы

    0%

Сообщения, опубликованные gekasav


  1. Ребят решил проблему взял скрипт с другой сборки 

    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.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
    from net.sf.l2j.gameserver.network.serverpackets import CreatureSay
    from java.util import Date
    from time import gmtime, strftime

    qn = "5555_Peklo"
    # =======================================
    # НЕ ТРОГАЕМ
    # =======================================
    annom=1
    ATTAKERS = []
    tek = 0
    nyj = 1
    closed = 1
    # =======================================
    # КОНФИГ
    # =======================================

    NAME = u"IIeklo" # Название (только английские символы)
    LOC = u"Town of Giran" # Место, где вы поставили регистрирующего НПЦ.
    REGISTER = 55557 # Регистрирующий нпц. НЕ ЗАБЫВАЕМ ДЕЛАТЬ ЕГО БЕССМЕРТНЫМ.
    locr = [[82840,149361,-3469]] # Соответственно координаты, где будет появляться НПЦ. Сколько угодно различных точек
    PENI = 1164 # Итем, необходимый для участия
    PENI_KOL = 1 # Сколько итемов необходимо для участия. Если хотите чтобы участие было бесплатным - поставте 0
    LEVEL = 61 # Минимальный уровень, на котором игрок сможет принять участие в ивенте.
    AFTER_RESTART = 1 # Время, которое пройдёт от запуска сервера(перезагрузки скрипта) до начала ивента.
    TIME_FOR_WAIT = 420 # Время между ивентами в минутах
    TIME_FOR_REG = 3 # Время на регистрацию в минутах
    ANNOUNCE_INTERVAL = 1 # Как часто аннонсить о регистрации на ивент в минутах.
    MOB = 20158 # Моб, которого надо убивать. С него ничего не должно дропаться. Желательно не менять, т.к. есть защита от незарегистрированных игроков.
    locf = [-88957,136220,-3085] # Соответственно координаты, где будет появляться 1 моб
    locfp = [-88957,136220,-3085] # Соответственно координаты, куда телепортируются игроки. Здесь же и ресаются.
    RADIUS = 10 # Радиус появления мобов относительно 1 моба
    MOB_R = 20158 # Моб, при помощи которого выдаётся награда. Здесь должен быть прописан дроп.
    YCH_MIN = 1 # Минимальное количество участников
    YCH_MAX = 80 # Максимальное количество участников.
    MOBS_TO_CHEL = 1 # Количество мобов на человека. Максимальное количество мобов, которое придётся убить участникам за последний заход= кл-во участников * на MOBS_TO_CHEL.
    CANCEL_TIME = 10 # Если в течение этого времени (минуты) мобы не атакуются - ивент считается проигранным. Пишется, что мобы выиграли и все они исчезают.
    REWARD =[[4357,1,1,100]] # Список наград. Выдайтся каждому участнику. Формат записи: [[itemId1,countMIN1,countMAX1,chance1],[itemId2,countMIN2,countMAX2,chanceN],...[itemIdN,countMINN,countMAXN,chanceN]]
    TIM = [] # Часы, в течение которых ивент не начнётся. Т.е если написано 20, то в период с 20:00:00 до 20:59:59 ивент не стартует.
    RAD = 10000 # Если в момент выдачи награды игрок находится вне этого радиуса, то награда не выдаётся.

    print "Event IIeklo:................................Initialized"

    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" 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(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u043e\u0442\u043c\u0435\u043d\u0451\u043d \u0438\u0437-\u0437\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432!!!")
    else:
    closed=1
    Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u043d\u0430\u0447\u0430\u043b\u0441\u044f!!!")
    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 ) + u" \u043c\u0438\u043d\u0443\u0442(\u044b) \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u044d\u0432\u0435\u043d\u0442\u0430 "+str(NAME)+u" \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0432 \u0433\u043e\u0440\u043e\u0434\u0435 "+str(LOC)+".")
    annom=annom+1
    self.startQuestTimer("announce", ANNOUNCE_INTERVAL*60000, None, None)
    if event == "return" :
    Announcements.getInstance().announceToAll(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f. \u0418\u0433\u0440\u043e\u043a\u0438 \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438!!!")
    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(u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+u" \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f. \u041c\u043e\u043d\u0441\u0442\u0440\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438!!!")
    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*60000)
    npcppc.broadcastPacket(CreatureSay(npcppc.getObjectId(), 1, u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+": ",u"\u0423 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c "+str(CANCEL_TIME)+u" \u043c\u0438\u043d\u0443\u0442 \u0447\u0442\u043e\u0431\u044b \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u043c\u043e\u043d\u0441\u0442\u0440\u043e\u0432!!!"))
    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*60000)
    npcppc.broadcastPacket(CreatureSay(npcppc.getObjectId(), 1, u"\u042d\u0432\u0435\u043d\u0442 "+str(NAME)+": ",u"\u0423 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c "+str(CANCEL_TIME)+u" \u043c\u0438\u043d\u0443\u0442 \u0447\u0442\u043e\u0431\u044b \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442\u044c \u0432\u0441\u0435\u0445 \u043c\u043e\u043d\u0441\u0442\u0440\u043e\u0432!!!"))
    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))

     


  2. 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.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 net.sf.l2j.gameserver.model import L2World
    from net.sf.l2j.gameserver.network.serverpackets import CreatureSay
    from java.lang import System
    from time import gmtime, strftime 
    
    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 = 1                # Время, которое пройдёт от запуска сервера(перезагрузки скрипта) до начала ивента.
    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*60000)
       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*60000)
       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))
    

    Помогите настроить импорты для pwsoft Или дайте пожалуйсто рабочий для pwsoft сейчас пишит гейм сервер  failed to import custom :  5555_Peklo


  3. Добрый вечер помогите настроить gdonate.ru не реклама 

     

    <?php
     
    class Config
    {
        // Ваш секретный ключ (из настроек проекта в личном кабинете cp.gdonate.ru )
        const SECRET_KEY = '';
        // Стоимость товара в руб.
        const ITEM_PRICE = 10;
     
        // Таблица начисления товара, например `users`  
        const TABLE_ACCOUNT = '';
        // Название поля из таблицы начисления товара по которому производится поиск аккаунта/счета, например `email`
        const TABLE_ACCOUNT_NAME = '';
        // Название поля из таблицы начисления товара которое будет увеличено на колличево оплаченого товара, например `sum`, `donate`
        const TABLE_ACCOUNT_DONATE= '';
     
        // Параметры соединения с бд
        // Хост
        const DB_HOST = 'localhost';
        // Имя пользователя
        const DB_USER = 'root';
        // Пароль
        const DB_PASS = '';
        // Назывние базы
        const DB_NAME = 'db_name';
     
     
     
     
     
     
     
    Не знаю что здесь прописывать 
     
      // Таблица начисления товара, например `users`  
        const TABLE_ACCOUNT = '';
        // Название поля из таблицы начисления товара по которому производится поиск аккаунта/счета, например `email`
        const TABLE_ACCOUNT_NAME = '';
        // Название поля из таблицы начисления товара которое будет увеличено на колличево оплаченого товара, например `sum`, `donate`
        const TABLE_ACCOUNT_DONATE= '';
     
    И где прописать ид выдаваемого итема 
     
     
    Кто поможет скайп gekasav1
     
     
     

  4. РЕБЯТ ПОМОГИТЕ ПЕРЕПИСАТЬ ИМПОРТЫ ПОД l2jlovely 

    import sys
    from com.l2jfrozen.gameserver.datatables import SkillTable
    from com.l2jfrozen.gameserver.model.quest import State
    from com.l2jfrozen.gameserver.model.quest import QuestState
    from com.l2jfrozen.gameserver.model import L2Augmentation
    from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
    from com.l2jfrozen.util.random import Rnd
    from com.l2jfrozen.util.database import L2DatabaseFactory
    from com.l2jfrozen.gameserver.templates import L2EtcItemType
    from com.l2jfrozen.gameserver.templates import L2WeaponType
    from com.l2jfrozen.gameserver.templates import L2Item
    from com.l2jfrozen.gameserver.network.serverpackets import InventoryUpdate
    from java.lang import System
    
    
    #
    #@author KFan
    #ICQ: 604883692
    #Skype: Kotyara20141
    #
    
    NPC_ID = 60007
    ITEM_ID = 57
    #ITEM_COUNT = 0
    #Do not need a subject
    ITEM_COUNT = 1
    
    #A player can learn just one skill? 1 = true 0 = false
    ONLY_ONE = 0
    
    
    qn = "9994_skill_trader"
    print "9994_skill_trader Loading Started"
    
    class Quest (JQuest) :
    
     def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
    
     def onTalk (self,npc,player):
        st = player.getQuestState(qn)
        htmltext = "<html><head><body>I have nothing to say you</body></html>"
        npcId = npc.getNpcId()
        if not st : return
        cond = st.getInt("cond")
        onlyone = st.getInt("onlyone")
        if ONLY_ONE :
            if onlyone > 0 :
                return "fail.htm"
        if cond >= 0 :
            st.set("cond", "1")
            st.setState(STARTED)
            htmltext = "start.htm"
        return htmltext
    
    
    
     def onEvent (self,event,st) :
        htmltext = event
        cond = st.getInt("cond")
        if event == "buy" :
            htmltext = "buy.htm"
        elif event.startswith('buy_') :
            if st.getQuestItemsCount(ITEM_ID) <= ITEM_COUNT :
                return "n-money.htm"
            buy_skill = str(event.replace("buy_", ""))
            buy_skill_splite = buy_skill.split('_')
            st.takeItems(ITEM_ID, ITEM_COUNT)
            st.getPlayer().addSkill(SkillTable.getInstance().getInfo(int(buy_skill_splite[0]), int(buy_skill_splite[1])))
            if ONLY_ONE :
                st.set("onlyone", "1")
            st.set("cond", "0")
            st.setState(COMPLETED)
            htmltext = "buy.htm"
        return htmltext
    
    
    QUEST 		= Quest( -1, qn, "custom")
    
    CREATED     = State('Start',     QUEST)
    STARTED     = State('Started',   QUEST)
    COMPLETED   = State('Completed', QUEST)
    
    QUEST.setInitialState(CREATED)
    QUEST.addStartNpc(NPC_ID)
    QUEST.addTalkId(NPC_ID)
    
    

  5. А то что вы про окна пишете уже давно боты научились распознавать всю эту байду или тутже пишут скрипт дак и смы сол тогда перерывать половину интернета в поисках хрен знает чего ! А с нынешней обстановкой тема очень актуальна так как каждый 3тий школьник юзает адреналина!


  6. Ну дак ребят что трепатся та ну выложите более лучшей сюда вариант мы все будем благодарны я написал как возможно избавится от 70 % ботов таким способом и этот способ доступен без особых знаний в сборке и написания скриптов !


  7. Таким оброзом посуте у нас моб остается на месте просто мы на него не можем навести таргет иза того что у нас анимация и описание монстра смешено ! ну обычно фарм локации на пвп серверах не сильно большие и возможно расставить монстров создав макрос //spawn 213123   10 мин и локация готова! Растовлять нужно хотябы 1 на 3 обычных!

×
×
  • Создать...