-
Публикаций
79 -
Зарегистрирован
-
Посещение
-
Победитель дней
3 -
Отзывы
0%
Сообщения, опубликованные gekasav
-
-
Дайте патч пожалуйсто оригинал
-
Робочий евент Пекло на пв?
да есле что пиши в скайп помогу gekasav1
-
Ребят решил проблему взял скрипт с другой сборки
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)) -
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
-
Получил ответ от Тех поддержки Да, скоро сделаем специальный модуль, а пока можете попробовать установить модуль от UnitPay и немного изменить под нас.
С уважением, поддержка Game Donate
Как настрою скину сюда!
-
Ребят хелп так и не кто не ответил(((
-
Хорошо
-
Добрый вечер помогите настроить gdonate.ru не реклама
<?phpclass 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 -
Может вам чтото скажет баг с невидемостью? досехпор действуюший на 18реве!
-
Сборка полная фигня найдено множество багов разработчик не чем не смог помочь очень не советую!
-
1
-
-
в данной версии имеется баг с инвизом обновления за апрель!
-
Солью последнею реву l2jlovely в шару за отвязку и прекрутку антибота! Так как разработчик не может этого сделать! Разработчик уже не может править баги!
Писать в вк https://vk.com/vin_stim
-
1
-
-
я не могу вот эти импорты переписать
from com.l2jfrozen.gameserver.templates import L2EtcItemType
from com.l2jfrozen.gameserver.templates import L2WeaponType
from com.l2jfrozen.gameserver.templates import L2Item -
не очень скрипт, без проверки, есть ли уже данный скил
ru\catssoftware
дальше сами
Скилы я сам допишу а вот импорты я не могу написать и чесно я не понял ваш ответ!
-
РЕБЯТ ПОМОГИТЕ ПЕРЕПИСАТЬ ИМПОРТЫ ПОД 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)
-
Интересно почему эти фиксы все умалчивают ?Хм вроде платных адреналин ботов не так много обычно все пытаются использовать ломаного а на него фикс есть
-
Может и выложу на досуге, врятли обойдет )
только ручками
Напиши в скайп или в ВК даже куплю есле поможешь подогнать и она реально работает
-
А то что вы про окна пишете уже давно боты научились распознавать всю эту байду или тутже пишут скрипт дак и смы сол тогда перерывать половину интернета в поисках хрен знает чего ! А с нынешней обстановкой тема очень актуальна так как каждый 3тий школьник юзает адреналина!
-
Ну дак ребят что трепатся та ну выложите более лучшей сюда вариант мы все будем благодарны я написал как возможно избавится от 70 % ботов таким способом и этот способ доступен без особых знаний в сборке и написания скриптов !
-
Таким оброзом посуте у нас моб остается на месте просто мы на него не можем навести таргет иза того что у нас анимация и описание монстра смешено ! ну обычно фарм локации на пвп серверах не сильно большие и возможно расставить монстров создав макрос //spawn 213123 10 мин и локация готова! Растовлять нужно хотябы 1 на 3 обычных!
-
Обойдут просто сделают атака мобов по ИД и все твой моб с другим ид автоматом отфильтруется
Возможно вы мне поможете улучьшеть и даработать напишите в лс!
-
Для каждого вашего обхода есть фикс этого способа!
-
откуда ты узнаеш айди монстра есле он допустим с фреи и у него другой айди! И есле ты обычный игрок то не будиш заморачиватся и искать ид в клиенте!
-
Извините пишу мануал впервые просто хотел поделится!
Dragon Shop
в Дополнения для сервера
Опубликовано
Спасибо