Clan Items
1 ответов97 просмотровСейчас просматривают: 1
· 21.09.2008, 22:24
В патч-нотах еще к CT1 было сообщение, что эполеты рыцаря, которые, к слову, дропаются во время осад замков и крепостей с гуардов и командеров, могут быть потрачены на покупку экслюзивных талисманов и рубашек. Или же их можно обменять у Clan Traders Ilia и Mulia (стоят в Адене и Руне). В разработке java-серверов пока реализации я не встречал. Решил написать сам, но вот как нарочно - ничего не выходит. Вот текст, поправьте или скажите что неверно здесь:
Код
# Created by L2Emu Team, changed by Mallorn
import sys
from net.l2emuproject.gameserver.model.quest import State
from net.l2emuproject.gameserver.model.quest import QuestState
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest
from net.l2emuproject.gameserver.network.serverpackets import PledgeShowInfoUpdate
from net.l2emuproject.gameserver.network.serverpackets import SystemMessage
from net.l2emuproject.tools.random import Rnd
qn = "7001_ClanItems"
# Vars
CLAN_POINTS_REWARD = 1000
EPAULETTE = 9912
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onFirstTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId in [32024,32025] :
if player.isClanLeader() :
htmltext = str(npcId) + ".htm"
else :
htmltext = str(npcId) + "-no.htm"
return htmltext
def onAdvEvent (self,event,npc,player) :
st = player.getQuestState(qn)
if not st : return
clan = player.getClan()
npcId = npc.getNpcId()
htmltext = event
if event == epaulettes :
if clan == None or player.isClanLeader() == 0 :
htmltext = str(npcId) + "-no.htm"
elif player.getClan().getLevel() < 5 :
htmltext = str(npcId) + "-level.htm"
else :
count = st.getQuestItemsCount(EPAULETTE)
if not count :
htmltext = str(npcId) + "-bad.htm"
elif count >= 1000 :
htmltext = str(npcId) + "-success.htm"
st.takeItems(EPAULETTE,1000)
clan.setReputationScore(clan.getReputationScore()+CLAN_POINTS_REWARD,True)
player.sendPacket(SystemMessage(1777).addNumber(CLAN_POINTS_REWARD))
clan.broadcastToOnlineMembers(PledgeShowInfoUpdate(clan))
return htmltext
QUEST = Quest(7001,qn,"custom")
QUEST.addStartNpc(32024)
QUEST.addStartNpc(32025)
QUEST.addFirstTalkId(32024)
QUEST.addFirstTalkId(32025)
QUEST.addTalkId(32024)
QUEST.addTalkId(32025)
import sys
from net.l2emuproject.gameserver.model.quest import State
from net.l2emuproject.gameserver.model.quest import QuestState
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest
from net.l2emuproject.gameserver.network.serverpackets import PledgeShowInfoUpdate
from net.l2emuproject.gameserver.network.serverpackets import SystemMessage
from net.l2emuproject.tools.random import Rnd
qn = "7001_ClanItems"
# Vars
CLAN_POINTS_REWARD = 1000
EPAULETTE = 9912
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onFirstTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId in [32024,32025] :
if player.isClanLeader() :
htmltext = str(npcId) + ".htm"
else :
htmltext = str(npcId) + "-no.htm"
return htmltext
def onAdvEvent (self,event,npc,player) :
st = player.getQuestState(qn)
if not st : return
clan = player.getClan()
npcId = npc.getNpcId()
htmltext = event
if event == epaulettes :
if clan == None or player.isClanLeader() == 0 :
htmltext = str(npcId) + "-no.htm"
elif player.getClan().getLevel() < 5 :
htmltext = str(npcId) + "-level.htm"
else :
count = st.getQuestItemsCount(EPAULETTE)
if not count :
htmltext = str(npcId) + "-bad.htm"
elif count >= 1000 :
htmltext = str(npcId) + "-success.htm"
st.takeItems(EPAULETTE,1000)
clan.setReputationScore(clan.getReputationScore()+CLAN_POINTS_REWARD,True)
player.sendPacket(SystemMessage(1777).addNumber(CLAN_POINTS_REWARD))
clan.broadcastToOnlineMembers(PledgeShowInfoUpdate(clan))
return htmltext
QUEST = Quest(7001,qn,"custom")
QUEST.addStartNpc(32024)
QUEST.addStartNpc(32025)
QUEST.addFirstTalkId(32024)
QUEST.addFirstTalkId(32025)
QUEST.addTalkId(32024)
QUEST.addTalkId(32025)
При вызове события epaulettes из хтмл просто закрывается окно с текстом, и тишина. Никаких ерроров в сервере, никаких проблем в тексте сервер на старте не находит. В чем дело, кто как думает?
Господа, давайте доделаем, будет очень полезная штука.
0
Войдите или зарегистрируйтесь чтобы ответить

