Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Форум для новичков[JAVA]/[help]
Search

[help]

14 replies152 viewsCurrently viewing: 1
makc
makc

User

Бывалый

Posts: 331

На форуме с: 09/03/2008

Репутация: +40

Рейтинг: 0

· 06/11/2009, 09:46 AM

Сборка la2base 1.1.6
Так как евент для базы написан,я его решил поставить!Суть такова евент пишит что в анонсах сейчас будет начинатца,но не спавнитца кот для регистрации.Помогите пожалуйсто что зделать.

0
B
Boo

User

Новичок

Posts: 23

На форуме с: 06/01/2009

Репутация: +1

Рейтинг: 0

· 06/11/2009, 11:14 AM

Ти зделай так щоб можна булоб и 1 Акк играть ато там настоит если 1 человек регенулся тогда неможна и ти зделай так

TvTEventMinPlayersInTeams = 0
TvTEventMaxPlayersInTeams = 20


А ти где скачал Евент дай силку проверим

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 06/11/2009, 11:23 AM

Morreti: Сборка la2base 1.1.6
Так как евент для базы написан,я его решил поставить!Суть такова евент пишит что в анонсах сейчас будет начинатца,но не спавнитца кот для регистрации.Помогите пожалуйсто что зделать.

Ты нпц в базу залил?

Измени вот ето на то куда ты его спавнить будешь)

Код
locr = [147712,-55520,-2733] # Соответственно координаты, где будет появляться НПЦ

— Оо

0
B
Boo

User

Новичок

Posts: 23

На форуме с: 06/01/2009

Репутация: +1

Рейтинг: 0

· 06/11/2009, 12:08 PM

Подскажите плиз Где можна скачать Евент Захват Базы??

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 06/11/2009, 12:23 PM

Boo: Подскажите плиз Где можна скачать Евент Захват Базы??

_http://la2base.ru/forum/index.php?showtopic=43693&st=0&start=0

Спасибо не забываем)

— Оо

0
B
Boo

User

Новичок

Posts: 23

На форуме с: 06/01/2009

Репутация: +1

Рейтинг: 0

· 06/11/2009, 12:29 PM

Ну я скачал у меня есть тут 2 папки 5556_Base, 55558 и чт омне с етими папками деалть куда ложить щоб Робил Захват Базы??

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 06/11/2009, 12:48 PM

1) Выключаем сервер
2) Выполняем SQL файл
3) Переносип папку 5556_Base в папку .\data\scripts\quests\
4) Добавляем в конфиг-файл scripts.ini строчку (в любом месте):
quests/5556_Base/__init__.py
5) Перемещаем файл 55558.htm в папку .\data\html\default\
6) Настраиваем скрипт под себя, открыв файл __init__.py в папке .\data\scripts\quests\5556_Base\
7) Также не забываем сделать бессмертным нпц с ид 55558 в La2Base.ini

— Оо

0
A
alex89

User

Участник

Posts: 32

На форуме с: 02/21/2009

Репутация: +2

Рейтинг: 0

· 06/11/2009, 03:10 PM

сори создал тему в квестах по этому же эвенту.
проблема выдает ошибку при запуске серва
в сервере ==== ( WARNING Failed executing script: E:\SERVAK\l2emuproject-game\dist\data\scripts\q
uests\5556_Base\__init__.py. See __init__.py.error.log for details. )

лог -==== ( Error on: E:\SERVAK\l2emuproject-game\dist\data\scripts\quests\5556_Base\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
(no code object) at line 0
ValueError: Strings added to sha hashes must not contain characters with value > 255 )


нужна помощь. сборка l2emu 1208.
на всяк случай инит==

CODE
import sys
from net.l2emuproject.gameserver.model.quest import State
from net.l2emuproject.gameserver.model.quest import QuestState
from net.l2emuproject.gameserver.datatables import DoorTable
from net.l2emuproject.gameserver.datatables import SkillTable
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest
from net.l2emuproject.gameserver import Announcements
from net.l2emuproject import L2DatabaseFactory
from net.l2emuproject.gameserver.ai import CtrlIntention
from net.l2emuproject.util import Rnd
from java.lang import System
from net.l2emuproject.gameserver.model import L2World

qn = "5556_Base"
# =======================================
# НЕ ТРОГАЕМ
# =======================================
closed=1
res_timer=0
npc1=0
npc2=0
TEAM1 = []
TEAM2 = []
attacked = 0
annom = 1
# =======================================
# КОНФИГ
# =======================================
NAME = "3AXBAT bA3bI" # Название (только английские символы)
LOC = "Giran" # Место, где вы поставили регистрирующего НПЦ.
REGISTER = 55558 # Регистрирующий нпц. НЕ ЗАБЫВАЕМ ДЕЛАТЬ ЕГО БЕССМЕРТНЫМ.
locr = [82690,148256,-3469] # Соответственно координаты, где будет появляться НПЦ
PENI = 4037 # Итем, необходимый для участия
PENI_KOL = 0 # Сколько итемов необходимо для участия. Если хотите чтобы участие было бесплатным - поставте 0
LEVEL = 40 # Минимальный уровень, на котором игрок сможет принять участие в ивенте.
AFTER_RESTART = 10 # Время, которое пройдёт от запуска сервера(перезагрузки скрипта) до начала ивента.
TIME_FOR_WAIT = 120 # Время между ивентами в минутах
TIME_FOR_REG = 10 # Время на регистрацию в минутах
ANNOUNCE_INTERVAL = 2 # Как часто аннонсить о регистрации на ивент в минутах.
YCH_MIN = 2 # Минимальное количество участников в команде
YCH_MAX = 20 # Максимальное количество участников в команде
REWARD =[[6673,5,100],[57,1000000,100]] # Список наград. Выдаётся каждому участнику. Формат записи: [[itemId1,count1,chance1],[itemId2,count2,chanceN],...[itemIdN,countN,chanceN]]
t1 =[-81982,-53410,-10732] # Место телепорта 1 команды и 1 базы
t2 =[-79409,-45746,-10732] # Место телепорта 2 команды и 2 базы
BASE1 = 55561 # ИД НПЦ базы №1
BASE2 = 55562 # ИД НПЦ базы №2
com1 = "Dark power" # Название 1 команды
com2 = "Light power" # Название 2 команды
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))

0
B
Boo

User

Новичок

Posts: 23

На форуме с: 06/01/2009

Репутация: +1

Рейтинг: 0

· 06/11/2009, 03:36 PM

Я все так зделал как ти зказал но SQL незаливается в базу что делать ??

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 06/11/2009, 03:44 PM

Boo: Я все так зделал как ти зказал но SQL незаливается в базу что делать ??

Телепаты ау...
Какую ошибку?? я телепат??? threaten.gif

— Оо

0
B
Boo

User

Новичок

Posts: 23

На форуме с: 06/01/2009

Репутация: +1

Рейтинг: 0

· 06/11/2009, 03:50 PM

Я непонял 6 Ответ что там надо зделать поподробны

Ну я Открил __init__.py в 5556_Base и что делать ?

0
A
alex89

User

Участник

Posts: 32

На форуме с: 02/21/2009

Репутация: +2

Рейтинг: 0

· 06/11/2009, 03:55 PM

-=[BloodKill]=- плиз глянь выше что у меня за проблемма )
а в базу забей ручками . возможно занят ай-ди занят .

0
B
Boo

User

Новичок

Posts: 23

На форуме с: 06/01/2009

Репутация: +1

Рейтинг: 0

· 06/11/2009, 04:00 PM

Ктота подскажет или нет ?

0
A
alex89

User

Участник

Posts: 32

На форуме с: 02/21/2009

Репутация: +2

Рейтинг: 0

· 06/12/2009, 04:46 AM

темку ап . сори.

0
Войдите или зарегистрируйтесь чтобы ответить