03-27-2012, 03:27 AM
Добрый вечер.
Такая трабла: поставил НПС который должен красить ник и титул. Нпс то красит, но вот после рестарта все это пропадает. Как сделать что бы сохранялось?
Сборка - Teon v.1127 (interlude)
Вот НПС:
Такая трабла: поставил НПС который должен красить ник и титул. Нпс то красит, но вот после рестарта все это пропадает. Как сделать что бы сохранялось?
Сборка - Teon v.1127 (interlude)
Вот НПС:
PHP код:
<?php
###########################################
import sys
from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
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
#
#========================================
# DO NOT TOUCH THIS
#========================================
QuestId = 1000
QuestName = "ColorManager"
QuestDesc = "custom"
qn = "q"+str(QuestId)+"_"+str(QuestName)
#========================================
StartNpc = 50000
ItemId = 57
ItemQty = 1
MinLevel = 1
MaxLevel = 80
#========================================
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onAdvEvent(Self,event,npc,player):
text = "noaction.htm"
st = player.getQuestState(qn)
if not st : return text
if (player.getLevel() < MinLevel) or (player.getLevel() > MaxLevel) : return "charlevel.htm"
if st.getQuestItemsCount(ItemId) < ItemQty : return "nomoney.htm"
nameColor = hex(player.getAppearance().getNameColor())
titleColor = hex(player.getAppearance().getTitleColor())
st.set("nameColor",str(nameColor))
st.set("titleColor",str(titleColor))
if event == "N_Blue" :
nameColor = "FF0000"
elif event == "N_Red" :
nameColor = "0000FF"
elif event == "N_Cyan" :
nameColor = "00FF00"
elif event == "N_Magenta" :
nameColor = "FF00FF"
elif event == "N_Yellow" :
nameColor = "00FFFF"
elif event == "N_Gray" :
nameColor = "808080"
elif event == "N_White" :
nameColor = "FFFFFF"
elif event == "T_Blue" :
titleColor = "FF0000"
elif event == "T_Red" :
titleColor = "0000FF"
elif event == "T_Cyan" :
titleColor = "FFFF00"
elif event == "T_Green" :
titleColor = "00FF00"
elif event == "T_Magenta" :
titleColor = "FF00FF"
elif event == "T_Yellow" :
titleColor = "00FFFF"
elif event == "T_Gray" :
titleColor = "808080"
elif event == "T_White" :
titleColor = "FFFFFF"
nameColor = int(nameColor,16)
titleColor = int(titleColor,16)
player.getAppearance().setNameColor(nameColor)
player.getAppearance().setTitleColor(titleColor)
st.takeItems(ItemId,ItemQty)
player.broadcastUserInfo()
player.store()
text = "done.htm"
return text
def onTalk (Self,npc,player):
st = player.getQuestState(qn)
if not st :
return "Quest is not started!"
st.setState(State.STARTED)
return "1.htm"
def onFirstTalk (Self,npc,player):
st = getQuestState(qn)
if not st : return "Invalid quest state"
QUEST = Quest(QuestId,qn,QuestDesc)
QUEST.addStartNpc(StartNpc)
QUEST.addTalkId(StartNpc)
В мускуле, в таблице characters создал 2 колонки с именами nameColor и titleColor (именно так, с учетом регистра), поставил колонкам тин int, и максимальную длинну 16 символов. Но все равно не сохраняет...Может кто то сталкивался, подскажет что делать?
Буду очень благодарен