gekasav

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

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

  • Посещение

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

    1
  • Отзывы

    0%

gekasav стал победителем дня 30 марта 2016

gekasav имел наиболее популярный контент!

Репутация

7

3 Подписчика

Информация о gekasav

  • Звание
    Решил остаться

Информация

  • Пол
    Мужчина

Контакты

  1. Пекло на пв

    да есле что пиши в скайп помогу gekasav1
  2. Пекло на пв

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

    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
  4. Получил ответ от Тех поддержки Да, скоро сделаем специальный модуль, а пока можете попробовать установить модуль от UnitPay и немного изменить под нас. С уважением, поддержка Game Donate Как настрою скину сюда!
  5. Ребят хелп так и не кто не ответил(((
  6. Добрый вечер помогите настроить 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
  7. L2Jlovely

    Может вам чтото скажет баг с невидемостью? досехпор действуюший на 18реве!
  8. L2Jlovely

    Сборка полная фигня найдено множество багов разработчик не чем не смог помочь очень не советую!
  9. в данной версии имеется баг с инвизом обновления за апрель!
  10. Солью последнею реву l2jlovely в шару за отвязку и прекрутку антибота! Так как разработчик не может этого сделать! Разработчик уже не может править баги! Писать в вк https://vk.com/vin_stim
  11. я не могу вот эти импорты переписать from com.l2jfrozen.gameserver.templates import L2EtcItemType from com.l2jfrozen.gameserver.templates import L2WeaponType from com.l2jfrozen.gameserver.templates import L2Item
  12. Скилы я сам допишу а вот импорты я не могу написать и чесно я не понял ваш ответ!
  13. РЕБЯТ ПОМОГИТЕ ПЕРЕПИСАТЬ ИМПОРТЫ ПОД 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)
  14. Вобшем фиксим Бот адриналин

    Интересно почему эти фиксы все умалчивают ?