Перейти к содержанию
Авторизация  
Kutuzov

Почта пв

Рекомендуемые сообщения

Доброго дня опять те грабли, нпц говорит что у меня для вас ничего нету...

id npc 99999

int ру d в папке costum

__all__ = [
'q3995_echo',
'q4000_ShadowWeapons',
'q6050_KetraOrcSupport',
'q6051_VarkaSilenosSupport',
'q7000_HeroItems',
'q8000_RaidbossInfo',
'q8001_NpcLocationInfo',
'q8008_ArenaCP',
'purchase',
'q8009_HotSpringsBuffs',
'q8031_DonateExShop',
'q8030_Donate',
'partydrop',
'partydrop2',
'partydrop4',
'q8024_ChgColor',
'q8019_SetHero',
'q8018_CngNick'
'q8782_ExpressPost'
]
print ""
print "importing custom data ..."
for name in __all__ :
    try :
        __import__('data.jscript.custom.'+name,globals(), locals(), ['__init__'], -1)
    except:
        print "failed to import custom : ",name
print "... done"
print ""

int py в папке q8782_ExpressPost

# -*- coding: utf-8 -*-
import sys
from net.sf.l2j import Config
from net.sf.l2j import L2DatabaseFactory
from net.sf.l2j.gameserver.datatables import AugmentationData
from net.sf.l2j.gameserver.datatables import ItemTable
from net.sf.l2j.gameserver.datatables import SkillTable
from net.sf.l2j.gameserver.idfactory import IdFactory
from net.sf.l2j.gameserver.model import L2Augmentation
from net.sf.l2j.gameserver.model import L2World
from net.sf.l2j.gameserver.model import L2ItemInstance
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.network import SystemMessageId
from net.sf.l2j.gameserver.network.serverpackets import StatusUpdate
from net.sf.l2j.gameserver.network.serverpackets import ItemList
from net.sf.l2j.gameserver.network.serverpackets import SystemMessage
from net.sf.l2j.gameserver.network.serverpackets import ExShowQuestMark
from net.sf.l2j.gameserver.network.serverpackets import ExMailArrived
from net.sf.l2j.gameserver.network.serverpackets import PlaySound
from net.sf.l2j.gameserver.templates import L2EtcItemType
from net.sf.l2j.gameserver.templates import L2Item
from time import gmtime, strftime

qn = "q8782_ExpressPost"

#нпц
POSTMAN = 99999

#id марки
POSTMARK = 9142

#цены
PISMO = 1 # отправка письма
POSILKA = 2 # отправка посылки

#показ сообщений на страницу
LIMIT = 25
#показ шмота на страницу
LIMITT = 15

RAZDELY = [1,2]#,3,4,5,6,7,8,9,10,11,12,13,14,15]
#отображение названий разделов
trans = {1: "Оружие", 2: "Броня"}#, 3: "Ресурсы", 4: "Рецепты", 5: "Книжки", 6: "Патроны", 7: "7 печатей", 8: "Скроллы", 9: "Кристаллы", 10: "Зелья", 11: "Тату", 12: "Стрелы", 13: "СА кри", 14: "Удочки", 15: "Квестовые", 16: "Life Stone"}
# sorts не трогать!!
sorts = {1: "Weapon", 2: "Armor"}#, 3: "Resource", 4: "Recipe", 5: "Spellbook", 6: "Soulshot", 7: "AncientAdena", 8: "Scroll", 9: "Crystal", 10: "Potion", 11: "Tatoo", 12: "Arrow", 13: "SoulCrystal", 14: "Rod", 15: "QuestItems", 16: "LifeStone"}
#
CENCH = "CCCC33"
CPRICE = "669966"
CITEM = "993366"
CAUG1 = "333366"
CAUG2 = "006699"

class Quest (JQuest) :
 
 def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

 def init_LoadGlobalData(self) :
   print "q8782_ExpressPost (Comercial) loaded."
   return

 def closeStat(self,st):
   if st != None:
     st.close()
   return  
     
 def closeRes(self,rs):
   if rs != None:
     rs.close()
   return  
     
 def closeCon(self,con):
   if con != None:
     con.close()
   return  
   
 def getAugmentSkill(self, aid, lvl):
   augment = SkillTable.getInstance().getInfo(aid, 1)
   if augment == None:
     return "" 
   augName = augment.getName();
   stype = "Шанс";
   if augment.isActive():
     stype = "Актив"
   elif augment.isPassive():
     stype = "Пассив"
   augName = augName.replace("Item Skill: ", "");  
   return "<font color="+CAUG1+">Аугмент:</font> <font color="+CAUG2+">" + augName + " (" + stype + ":" + str(lvl) + "lvl)</font>";
 
 def onAdvEvent (self,event,npc,player):
   st = player.getQuestState(qn)
   if event == "pisma":
     st.unset("stranic")
     htmltext = "pismo.htm"
     return htmltext
   elif event == "posilki":
     st.unset("sellitem")
     st.unset("lcount")
     htmltext = "posilka.htm"
     return htmltext
   elif event == "home":
     htmltext = "<html><body>Почтальон:<br>"
     htmltext += "<table width=270><tr><td><a action=\"bypass -h Quest q8782_ExpressPost inn\">Письма.</a><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Посылки.</a><br></td>"
     htmltext += "</tr></table><br>"
     htmltext += "Стоимость отправки письма: " + str(PISMO) + " Silver Shillien.<br1>"
     htmltext += "Стоимость отправки посылки: " + str(POSILKA) + " Silver Shillien.<br>"
     htmltext += "</body></html>"
     return htmltext
   elif event == "inn":
     name = str(st.getPlayer().getName())
     self.startQuestTimer("innn",500,None,player)
     htmltext = "<html><body>Загрузка "+name+"...<br1><img src=\"sek.cbui176\" width=10 height=3></body></html>"
     return htmltext
   elif event == "innn":
     name = str(st.getPlayer().getName())
     self.startQuestTimer("innnn",500,None,player)
     htmltext = "<html><body>Загрузка "+name+"...<br1><img src=\"sek.cbui176\" width=60 height=3></body></html>"
     return htmltext
   elif event == "innnn":
     name = str(st.getPlayer().getName())
     self.startQuestTimer("innnnn",500,None,player)
     htmltext = "<html><body>Загрузка "+name+"...<br1><img src=\"sek.cbui176\" width=110 height=3></body></html>"
     return htmltext
   elif event == "innnnn":
     name = str(st.getPlayer().getName())
     self.startQuestTimer("in",300,None,player)
     htmltext = "<html><body>Загрузка "+name+"...<br1><img src=\"sek.cbui176\" width=160 height=3></body></html>"
     return htmltext
   elif event == "in":
     name = str(st.getPlayer().getName())
     htmltext = "<html><body><table width=280><tr><td>Почта:</td><td align=right><table width=220 border=0><tr><td align=right><edit var=\"search\" width=90 length=\"16\"></td><td align=right><combobox width=51 var=keyword list=\"Тема;Автор\"></td><td><button value=\"Поиск\" action=\"bypass -h Quest q8782_ExpressPost find_ $search _ $keyword\" width=30 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table></td></tr></table><br>"
     htmltext += "<table width=280><tr><td>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost in\">Входящие</a><br1>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost out\">Отправленные</a><br>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost adrbook\">Адресная книга</a>"
     htmltext += "</td><td align=right>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost pisma\">Написать письмо</a><br>"
     htmltext += "</td></table><br>"
     htmltext += "Входящие"
     htmltext += "<table width=300><tr><td></td><td>Автор</td><td>Тема</td><td>Дата</td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     inbox=con.prepareStatement("SELECT * FROM `z_post_in` WHERE `to`=?  ORDER BY `date` DESC, `time` DESC LIMIT 0,?")
     inbox.setString(1, name)
     inbox.setInt(2, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")  
       tema=rs.getString("tema")
       sender=rs.getString("from")
       data=rs.getString("date")
       ptype=rs.getInt("type")
       time=rs.getString("time")
       try :
         cdata = str(strftime("%Y-%m-%d", gmtime()))
         if cdata == data:
           data = "Сегодня "+time+""
         if ptype == 1:
           htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
         else:
           htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\"><font color=CC00FF>"+str(tema)+"</font></a></td><td>"+str(data)+"</td></tr>"
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(`to`) FROM `z_post_in` WHERE `to`=?")
     getcount.setString(1,name)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       rows  = rsc.getInt(1)
       vsego = int((rows/LIMIT)+1)
       if vsego > 2:
         htmltext += "Страницы: "
         st.set("stranic",str(vsego))
         prvsego = range(1,vsego)
         for i in prvsego:
           htmltext += ""
           htmltext += " <a action=\"bypass -h Quest q8782_ExpressPost str_1_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
         else:
           htmltext += ""
     rsc.close()
     getcount.close()
     cona.close()
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost home\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event == "out":
     name = str(st.getPlayer().getName())
     htmltext = "<html><body><table width=280><tr><td>Почта:</td><td align=right></td></tr></table><br>"
     htmltext += "<table width=280><tr><td>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost in\">Входящие</a><br1>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost out\">Отправленные</a><br>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost adrbook\">Адресная книга</a>"
     htmltext += "</td><td align=right>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost pisma\">Написать письмо</a><br>"
     htmltext += "</td></table><br>"
     htmltext += "Отправленные:"
     htmltext += "<table width=300><tr><td></td><td>Адресат</td><td>Тема</td><td>Дата</td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     inbox=con.prepareStatement("SELECT * FROM `z_post_out` WHERE `from`=?  ORDER BY `date` DESC, `time` DESC LIMIT 0,?")
     inbox.setString(1, name)
     inbox.setInt(2, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")  
       tema=rs.getString("tema")
       sender=rs.getString("to")
       data=rs.getString("date")
       ptype=rs.getInt("type")
       time=rs.getString("time")
       try :
         cdata = str(strftime("%d %m %Y", gmtime()))
         if cdata == data:
           data = time
         htmltext += "<tr><td><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost outshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(`from`) FROM `z_post_in` WHERE `from`=?")
     getcount.setString(1,name)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       rows  = rsc.getInt(1)
       vsego = int((rows/LIMIT)+1)
       if vsego > 2:
         htmltext += "Страницы: "
         st.set("stranic",str(vsego))
         prvsego = range(1,vsego)
         for i in prvsego:
           htmltext += ""
           htmltext += " <a action=\"bypass -h Quest q8782_ExpressPost str_2_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
         else:
           htmltext += ""
     rsc.close()
     getcount.close()
     cona.close()
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("inshow_"):
     sid = int(event.replace("inshow_", ""))
     con=L2DatabaseFactory.getInstance().getConnection()
     show=con.prepareStatement("SELECT * FROM `z_post_in` WHERE `id`=?")
     show.setInt(1, sid)
     rs=show.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")
       tema=rs.getString("tema")
       text=rs.getString("text")
       sender=rs.getString("from")
       data=rs.getString("date")
       time=rs.getString("time")
       ptype=rs.getInt("type")
       try :
         cdata = str(strftime("%d %m %Y", gmtime()))
         if cdata == data:
           pdata = time
         else:
           pdata = str(""+data+" ("+time+")")  
         htmltext = "<html><body><table width=290><tr><td align=left>"+str(tema)+"</td><td align=right><a action=\"bypass -h Quest q8782_ExpressPost in\">Входящие|x</a></td></tr></table><br>"
         htmltext += "<table width=300><tr><td align=left>От: "+str(sender)+"</td><td align=right>"+str(pdata)+"</td><td width=55 align=right><button value=\"Ответить\" action=\"bypass -h Quest q8782_ExpressPost fpform_"+str(sender)+"\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
         htmltext += "<img src=\"sek.cbui355\" width=300 height=2><br>"+str(text)+"<br><br><img src=\"sek.cbui355\" width=300 height=2><br>"
         htmltext += "<table width=280><tr><td align=left><button value=\"Доб. контакт\" action=\"bypass -h Quest q8782_ExpressPost adrbook_ "+str(sender)+" _ +\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td><td align=right><button value=\"Удалить письмо\" action=\"bypass -h Quest q8782_ExpressPost del_1_"+str(pid)+"\" width=85 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
         htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost in\">Назад.</a></body></html>"
         #
         if ptype == 0:
           incon=L2DatabaseFactory.getInstance().getConnection()
           updatein=incon.prepareStatement("UPDATE z_post_in SET type=1 WHERE id=?")
           updatein.setInt(1, pid)
           try :
             updatein.executeUpdate()
             updatein.close()
             incon.close()
           except :
             try : incon.close()
             except : pass
       except :
         try : show.close()
         except : pass
     try :
       con.close()
     except :
       pass
     return htmltext
   elif event.startswith("outshow_"):
     oid = int(event.replace("outshow_", ""))
     con=L2DatabaseFactory.getInstance().getConnection()
     show=con.prepareStatement("SELECT * FROM `z_post_out` WHERE id=?")
     show.setInt(1, oid)
     rs=show.executeQuery()
     while (rs.next()) :
       pid=rs.getString("id")
       tema=rs.getString("tema")
       text=rs.getString("text")
       sender=rs.getString("to")
       date=rs.getString("date")
       time=rs.getString("time")
       try :
         cdata = str(strftime("%d %m %Y", gmtime()))
         if cdata == date:
           pdata = time
         else:
           pdata = str(""+date+" ("+time+")")  
         htmltext = "<html><body><table width=260><tr><td align=left>"+str(tema)+"</td><td align=right><a action=\"bypass -h Quest q8782_ExpressPost out\">Отправленные|x</a></td></tr></table><br>"
         htmltext += "<table width=300><tr><td align=left>Кому: "+str(sender)+"</td><td align=right>"+str(pdata)+"</td></tr></table><br>"
         htmltext += "<img src=\"sek.cbui355\" width=300 height=2><br>"+str(text)+"<br><br><img src=\"sek.cbui355\" width=300 height=2><br>"
         htmltext += "<table width=280><tr><td align=left></td><td align=right><button value=\"Удалить письмо\" action=\"bypass -h Quest q8782_ExpressPost del_2_"+str(pid)+"\" width=85 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
         htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost out\">Назад.</a></body></html>"
       except :
         try : show.close()
         except : pass
     try :
       con.close()
     except :
       pass
     return htmltext
   elif event == "pis_char":
     if st.getQuestItemsCount(POSTMARK) < PISMO:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     htmltext = "<html><body>Кому:<br>"
     htmltext += "<edit var=\"target\" width=200 length=\"16\">"
     htmltext += "Тема:<br>"
     htmltext += "<edit var=\"tema\" width=200 length=\"16\">"
     htmltext += "Текст:"
     htmltext += "<multiedit var=\"text\" width=280 height=70><br>"
     htmltext += "<button value=\"Отправить\" action=\"bypass -h Quest q8782_ExpressPost send_ $target _ $tema _ $text\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("send_ "):
     if st.getQuestItemsCount(POSTMARK) < PISMO:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     search = str(event.replace("send_ ", ""))
     target,tema,text=search.split("_")
    #<
     target = str(target.replace(" ", ""))
     tema = str(tema.replace(" ", ""))
     ctext = str(text.replace(" ", ""))
     if target == "":
       htmltext = "<html><body>Вы не ввели имя получателя.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     if tema == "":
       tema = "Без темы"
     if ctext == "":
       text = " "
    #<
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(char_name) FROM characters WHERE char_name=?")
     getcount.setString(1,target)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       if rsc.getInt(1) == 0:
         htmltext = "<html><body>Перс с ником "+target+" не найден.<br>"
         htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
         return htmltext
     rsc.close()
     getcount.close()
     cona.close()
    #< 
     name = str(st.getPlayer().getName())
     data = str(strftime("%Y-%m-%d", gmtime()))
     time = str(strftime("%H:%M:%S", gmtime()))
     uniq = IdFactory.getInstance().getNextId()
    #>
     ins=L2DatabaseFactory.getInstance().getConnection()
     sendin=ins.prepareStatement("INSERT INTO z_post_in VALUES (?,?,?,?,?,?,?,?)") 
     sendin.setInt(1, uniq)
     sendin.setString(2, tema)
     sendin.setString(3, text)
     sendin.setString(4, name)
     sendin.setString(5, target)
     sendin.setInt(6, int(0))
     sendin.setString(7, data)
     sendin.setString(8, time)
     try :
       sendin.executeUpdate()
       sendin.close()
       ins.close()
     except :
       try : ins.close()
       except : pass
    #>
     ins=L2DatabaseFactory.getInstance().getConnection()
     sendin=ins.prepareStatement("INSERT INTO z_post_out VALUES (?,?,?,?,?,?,?,?)") 
     sendin.setInt(1, uniq)
     sendin.setString(2, tema)
     sendin.setString(3, text)
     sendin.setString(4, name)
     sendin.setString(5, target)
     sendin.setInt(6, int(0))
     sendin.setString(7, data)
     sendin.setString(8, time)
     try :
       sendin.executeUpdate()
       sendin.close()
       ins.close()
     except :
       try : ins.close()
       except : pass
    #>
     alarm = L2World.getInstance().getPlayer(target)
     if alarm:
       alarm.sendPacket(SystemMessage.sendString("Вам было отправлено письмо!"))
       alarm.sendPacket(ExMailArrived())
       alarm.sendPacket(PlaySound("ItemSound.quest_finish"))
    #>
     st.takeItems(POSTMARK,PISMO)
     htmltext = "<html><body>Почтальон:<br>"
     htmltext += "Ваше письмо для "+target+" ("+tema+") отправлено.<br><br>"
     htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a><br>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("del_"):
     search = str(event.replace("del_", ""))
     ptype,pid=search.split("_")
     ptype,pid=int(ptype),int(pid)
    #>
     con=L2DatabaseFactory.getInstance().getConnection()
     if ptype == 1:
       sql=con.prepareStatement("DELETE FROM z_post_in WHERE id=?")
     else:
       sql=con.prepareStatement("DELETE FROM z_post_out WHERE id=?")
     delete=sql 
     delete.setInt(1, pid)
     try :
       delete.executeUpdate()
       delete.close()
       con.close()
     except :
       try : con.close()
       except : pass
    #>
     htmltext = "<html><body>Почтальон:<br>"
     htmltext += "Удалено.<br><br>"
     if ptype == 1:
       htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a><br>"
     else:
       htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost out\">Вернуться.</a><br>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("str_"):
     search = str(event.replace("str_", ""))
     iotype,ioid=search.split("_")
     iotype,ioid=int(iotype),int(ioid)
     name = str(st.getPlayer().getName())
     strCount = st.getInt("stranic")
     strList = int(ioid - 1)
     ones = {1: 0, 2: LIMIT} 
     one = ones.get(ioid, int(LIMIT*strList))
     two = LIMIT
     if iotype == 1:
       htmltext = "<html><body>Почтальон:<br>"
       htmltext += "Входящие"
       htmltext += "<table width=300><tr><td></td><td>Автор</td><td>Тема</td><td>Дата</td></tr>"
       con=L2DatabaseFactory.getInstance().getConnection()
       inbox=con.prepareStatement("SELECT * FROM `z_post_in` WHERE `to`=?  ORDER BY `date` DESC, `time` DESC LIMIT ?,?")
       inbox.setString(1, name)
       inbox.setInt(2, one)
       inbox.setInt(3, two)
       rs=inbox.executeQuery()
       while (rs.next()) :
         pid=rs.getInt("id")  
         tema=rs.getString("tema")
         sender=rs.getString("from")
         data=rs.getString("date")
         ptype=rs.getInt("type")
         time=rs.getString("time")
         try :
           cdata = str(strftime("%d %m %Y", gmtime()))
           if cdata == data:
             data = time
           if ptype == 1:
             htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
           else:
             htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\"><font color=CC00FF>"+str(tema)+"</font></a></td><td>"+str(data)+"</td></tr>"
         except :
           try : inbox.close()
           except : pass
       try :
         con.close()
       except :
         pass
     elif iotype == 2:
       htmltext = "<html><body>Почтальон:<br>"
       htmltext += "Отправленные:"
       htmltext += "<table width=300><tr><td></td><td>Адресат</td><td>Тема</td><td>Дата</td></tr>"
       con=L2DatabaseFactory.getInstance().getConnection()
       inbox=con.prepareStatement("SELECT * FROM `z_post_out` WHERE `from`=?  ORDER BY `date` DESC, `time` DESC LIMIT ?,?")
       inbox.setString(1, name)
       inbox.setInt(2, one)
       inbox.setInt(3, two)
       rs=inbox.executeQuery()
       while (rs.next()) :
         pid=rs.getInt("id")  
         tema=rs.getString("tema")
         sender=rs.getString("from")
         data=rs.getString("date")
         ptype=rs.getInt("type")
         try :
           htmltext += "<tr><td><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost outshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
         except :
           try : inbox.close()
           except : pass
       try :
         con.close()
       except :
         pass
     elif iotype == 3:
       htmltext = "<html><body>Почтальон:<br>"
       htmltext += "Входящие"
       htmltext += "<table width=300><tr><td></td><td>Автор</td><td>Тема</td><td>Дата</td></tr>"
       con=L2DatabaseFactory.getInstance().getConnection()
       inbox=con.prepareStatement("SELECT * FROM `z_post_pos` WHERE `to`=?  ORDER BY `date` DESC, `time` DESC LIMIT 0,?")
       inbox.setString(1, name)
       inbox.setInt(2, int(LIMIT))
       rs=inbox.executeQuery()
       while (rs.next()) :
         pid=rs.getInt("id")  
         tema=rs.getString("tema")
         sender=rs.getString("from")
         data=rs.getString("date")
         ptype=rs.getInt("type")
         time=rs.getString("time")
         try :
           cdata = str(strftime("%d %m %Y", gmtime()))
           if cdata == data:
             data = time
           if ptype == 1:
             htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
           else:
             htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\"><font color=CC00FF>"+str(tema)+"</font></a></td><td>"+str(data)+"</td></tr>"
         except :
           try : inbox.close()
           except : pass
       try :
         con.close()
       except :
         pass
     elif iotype == 4:
       ownerId = str(st.getPlayer().getObjectId())
       htmltext = "<html><body>Почтальон:<br>"
       htmltext += "Список друзей:"
       htmltext += "<table width=300><tr><td></td></tr>"
       con=L2DatabaseFactory.getInstance().getConnection()
       inbox=con.prepareStatement("SELECT * FROM `character_friends` WHERE `char_id`=?  ORDER BY `friend_name` LIMIT 0,?")
       inbox.setString(1, ownerId)
       inbox.setInt(2, int(LIMIT))
       rs=inbox.executeQuery()
       while (rs.next()) :
         target=rs.getString("friend_name")  
         try :
           if ptype == 1:
             htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fpform_"+str(target)+"\">"+str(target)+"</a></td></tr>"
           else:
             htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fposform_"+str(target)+"\">"+str(target)+"</a></td></tr>"      
         except :
           try : inbox.close()
           except : pass
       try :
         con.close()
       except :
         pass
     elif iotype == 5:
       clanId = str(st.getPlayer().getClanId())
       htmltext = "<html><body>Почтальон:<br>"
       htmltext += "Список сокланов:"
       htmltext += "<table width=300><tr><td></td></tr>"
       con=L2DatabaseFactory.getInstance().getConnection()
       inbox=con.prepareStatement("SELECT * FROM `characters` WHERE `clanid`=?  ORDER BY `clanid` LIMIT 0,?")
       inbox.setString(1, clanId)
       inbox.setInt(2, int(LIMIT))
       rs=inbox.executeQuery()
       while (rs.next()) :
         target=rs.getString("char_name")  
         try :
           if ptype == 1:
             htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fpform_"+str(target)+"\">"+str(target)+"</a></td></tr>"
           else:
             htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost cposform_"+str(target)+"\">"+str(target)+"</a></td></tr>"      
         except :
           try : inbox.close()
           except : pass
       try :
         con.close()
       except :
         pass
     elif iotype == 6:
       name = str(st.getPlayer().getName())
       htmltext = "<html><body>Почта:<table width=220 border=0><tr><td align=right><edit var=\"nick\" width=90 length=\"16\"></td><td align=right><combobox width=15 var=act list=\"+;-\"></td><td><button value=\"Ок\" action=\"bypass -h Quest q8782_ExpressPost adrbook_ $nick _ $act\" width=30 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table>"
       htmltext += "<br>Адресная книга"
       htmltext += "<table width=300><tr><td></td></tr>"
       con=L2DatabaseFactory.getInstance().getConnection()
       inbox=con.prepareStatement("SELECT * FROM `z_post_adrbook` WHERE `name`=?  ORDER BY `friend` LIMIT 0,?")
       inbox.setString(1, name)
       inbox.setInt(2, int(LIMIT))
       rs=inbox.executeQuery()
       while (rs.next()) :
         target=rs.getString("friend")  
         try :
           htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fpform_"+str(target)+"\">"+str(target)+"</a></td></tr>"    
         except :
           try : inbox.close()
           except : pass
       try :
         con.close()
       except :
         pass
     htmltext += "</table><br>Страницы: "
     prvsego = range(1,strCount)
     for i in prvsego:
       htmltext += "<a action=\"bypass -h Quest q8782_ExpressPost str_"+str(iotype)+"_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost home\">Вернуться.</a><br>"
     htmltext += "</body></html>"
     return htmltext
   elif event == "send_pos":
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожذлению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
       return htmltext
     st.unset("count")
     st.unset("stranic")
     st.unset("sellitem")
     st.unset("grade")
     st.unset("type")
     htmltext = "<html><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>"   
     htmltext += "<table width=256><tr><td width=128><center><font color=37ADFF></font>Приветствую, вы хотите отправить?<br>"
    #for i in RAZDELY:
      #razdel = trans.get(i, str(""))  
      #htmltext += "<button value=\""+str(razdel)+"\" action=\"bypass -h Quest q8782_ExpressPost wtss_"+str(i)+"\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br1>"
     htmltext += "<button value=\"Пушки с ЛС\" action=\"bypass -h Quest q8782_ExpressPost augment\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br1>"
     htmltext += "</center></td></tr></table><br><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></center>"
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event == "augment":
     htmltext = "<html><body><table><tr><td width=260>Аукцион</td><td align=right width=70><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Назад|<-</a></td></tr></table><br1>"
     htmltext += "Шаг 1.<br>Выберите шмотку:<br><br><table width=300>"
     for item in player.getInventory().getItems():
       itemTemplate = item.getItem()
       itemId = itemTemplate.getItemId()
       itemType = itemTemplate.getType2()
       itemGrade = itemTemplate.getCrystalType()
       preench = item.getEnchantLevel()
       if item.canBeEnchanted() and item.isAugmented() and item.getAugmentation().getAugmentSkill() != None and itemType == 0 and not item.isEquipped():
         augment = item.getAugmentation().getAugmentSkill()
         augment,level = str(augment.getId()),str(augment.getLevel())
         augment = self.getAugmentSkill(int(augment), int(level))
         htmltext += "<tr><td><img src=\""+itemTemplate.getIcon()+"\" width=32 height=32><br></td><td><a action=\"bypass -h Quest q8782_ExpressPost posonenext_" + str(item.getObjectId()) +"\">" + itemTemplate.getName() + "</a> <font color="+CENCH+">+" + str(preench) + "</font><br1>" + augment + "</td></tr>"
     htmltext += "</table><br></body></html>"
     return htmltext
   elif event.startswith("wtss_"):
     wts = int(event.replace("wtss_", ""))
     razdel = trans.get(wts, str(""))
     htmltext = "<html><body>Почтальон:Посылка:<br>"+str(razdel)+":<br><table width=300>"
     SPWEAPONS = ["Sword","Blunt","Dagger","Bow","Etc","Pole","Fist","Dual Sword","Dual Fist","Big Sword","Big Blunt"]
     SPARMOR = ["Shield","Light","Heavy","Magic","None"]
     sorts = {1: SPWEAPONS, 2: SPARMOR}#, 3: "Material", 4: "Receipe", 5: "Spellbook", 6: "Shot", 7: "Money", 8: EWA, 9: CRY, 10: "Potion", 11: TATOO, 12: "Arrow", 13: SACRY, 14: "Rod", 15: QUESTITEMS, 16: LIFESTONE}
     wtsType = sorts.get(wts, str(""))
     #trouble = [8,9,11,13,15]  
     for Item in player.getInventory().getItems():
       itemTemplate = Item.getItem()
       idtest = Item.getItemId()
       itype = str(Item.getItemType())
       if not Item.isEquipped() and idtest != 57 and itype in wtsType:
         cnt = Item.getCount()
         count = str(cnt)
         grade = itemTemplate.getCrystalType()   
         if grade == 1:
           pgrade = str("[D]")
         elif grade == 2:
           pgrade = str("[C]")
         elif grade == 3:
           pgrade = str("[B]")
         elif grade == 4:
           pgrade = str("[A]")
         elif grade == 5:
           pgrade = str("[S]")
         else:
           pgrade = str("")
         if Item.getEnchantLevel() == 0:
           enchant = str("")
         else:
           enchant = " +"+str(Item.getEnchantLevel())+""
         chk = int(count)
         count = (count > 1 and str(count)) or str("")
         if wts == 7:
           s = str(cnt)
           for i in xrange(len(s)-3,s[0] in ('+','-'),-3):
             s=s[:i]+','+s[i:]
           count = "<font color=00CCFF>"+str(s)+"</font>"
         if chk == 1:
           htmltext += "<tr><td><img src=\""+itemTemplate.getIcon()+"\" width=32 height=32></td><td><a action=\"bypass -h Quest q8782_ExpressPost posonenext_" + str(Item.getObjectId()) +"\">" + itemTemplate.getName() + ""+str(pgrade)+" " + enchant + "</a></td></tr>"
         else:
           htmltext += "<tr><td><img src=\""+itemTemplate.getIcon()+"\" width=32 height=32></td><td><a action=\"bypass -h Quest q8782_ExpressPost posmore_" + str(Item.getObjectId()) +"\">"+str(count)+" " + itemTemplate.getName() + ""+str(pgrade)+" " + enchant + "</a></td></tr>"
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("posonenext_"):
     itemObjId = int(event.replace("posonenext_", ""))
     obj = str(itemObjId)
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
       return htmltext
     item = player.getInventory().getItemByObjectId(itemObjId)
     if item and item.isAugmented() and item.getAugmentation().getAugmentSkill() != None and not item.isEquipped():
       itemId = item.getItemId()
       itemTemplate = item.getItem() 
       itemType = itemTemplate.getType2()
       preench = item.getEnchantLevel()
       augment = item.getAugmentation().getAugmentSkill()
       augment,level = str(augment.getId()),str(augment.getLevel())
       augment = self.getAugmentSkill(int(augment), int(level))
       st.set("sellitem",str(itemObjId))
       st.set("enchant",str(preench)) 
       htmltext =  "<html><body>Шаг 2.<br>Подтверждаете?<br>"
       htmltext += "<table width=300><tr><td><img src=\""+itemTemplate.getIcon()+"\" width=32 height=32></td><td><font color="+CITEM+">" + itemTemplate.getName() + "</font><font color="+CENCH+">+" + str(preench) + "</font><br>"+ augment + "</td></tr></table><br><br>"
       htmltext += "Отправить...<br1>"
       htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost friend_2\">Другу</a>"
       htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost clan_2\">Соклану</a>"
       htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost posone_" + str(item.getObjectId()) +"\">Персонажу</a>"
       htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     else :
       htmltext = "<html><body>Ошибка!<br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("posmorenext_"):
     search = str(event.replace("posmorenext_ ", ""))
     itemCount,itemObjId=search.split(" _ ")
     itemCount,itemObjId=int(itemCount),int(itemObjId)
     obj = str(itemObjId)
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     Item = st.getPlayer().getInventory().getItemByObjectId(itemObjId)
     itemTemplate = Item.getItem()
     if Item and Item.isAugmented() and Item.getAugmentation().getAugmentSkill() != None and itemTemplate.getDuration() == -1 and not Item.isEquipped() and not Item.isAugmented() and Item.isTradeable():
       grade = itemTemplate.getCrystalType()
       igrade = str(itemTemplate.getCrystalType())
       itype = str(Item.getItemType())
       idtest = Item.getItemId()
       st.set("sellitem",obj)
       st.set("lcount",str(itemCount))
       grades = {1: "d", 2: "c", 3: "b", 4: "a", 5: "s"}
       pgrade = grades.get(grade, str(""))
       enchant = (Item.getEnchantLevel() > 0 and " +"+str(Item.getEnchantLevel())+"") or str("")
       htmltext =  "<html><body>Почтальон:<br>Заполните форму:<br>"
       htmltext += "<table width=300><tr><td><img src=\"" + itemTemplate.getIcon() + "\" width=32 height=32></td><td><font color=LEVEL>" + itemTemplate.getName() + " " + enchant + "</font><img src=\"symbol.grade_"+str(pgrade)+"\" width=16 height=16><br></td></tr></table><br><br>"
       htmltext += "Количество: "+str(itemCount)+"<br>"
       htmltext += "Получатель:<br>"
       htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost friend_2\">Другу</a>"
       htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost clan_2\">Соклану</a>"
       htmltext += "<br><a action=\"bypass -h Quest q8782_ExpressPost posmoreend_"+str(itemCount)+"_"+str(Item.getObjectId())+"\">Персонажу</a>"
       htmltext += "<br><br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     else :
       htmltext = "<html><body>Этот предмет нельзя отправить!<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("posone_"):
     itemObjId = int(event.replace("posone_", ""))
     obj = str(itemObjId)
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
       return htmltext
     item = player.getInventory().getItemByObjectId(itemObjId)
     if item and item.canBeEnchanted() and item.isAugmented() and item.getAugmentation().getAugmentSkill() != None and not item.isEquipped():
       itemId = item.getItemId()
       itemTemplate = item.getItem() 
       itemType = itemTemplate.getType2()
       preench = item.getEnchantLevel()
       augSkill = 0  
       augment = item.getAugmentation().getAugmentSkill()
       augment,level = str(augment.getId()),str(augment.getLevel())
       augSkill = int(augment)
       augment = self.getAugmentSkill(int(augment), int(level))
       htmltext =  "<html><body>Шаг 3.<br>Кому<br>"
       htmltext += "<table width=300><tr><td><img src=\""+itemTemplate.getIcon()+"\" width=32 height=32></td><td><font color="+CITEM+">" + itemTemplate.getName() + "</font><font color="+CENCH+">+" + str(preench) + "</font><br>"+ augment + "</td></tr></table><br><br>"
       htmltext += "Получатель:"
       htmltext += "<edit var=\"target\" width=200 length=\"16\"><br>"
       htmltext += "Тема:"
       htmltext += "<edit var=\"tema\" width=200 length=\"16\"><br>"
       htmltext += "Текст:"
       htmltext += "<multiedit var=\"text\" width=280 height=70><br>"
       htmltext += "<br><br>Безопасность***:<br>"
       htmltext += "Ключевое слово:"
       htmltext += "<edit var=\"key\" width=200 length=\"16\"><br>"
       htmltext += "Coin of Luck:"
       htmltext += "<edit var=\"col\" width=50 length=\"5\">"
       htmltext += "Blue Eva:"
       htmltext += "<edit var=\"blueeva\" width=50 length=\"5\">"
       htmltext += "Gold Golem:"
       htmltext += "<edit var=\"goldgolem\" width=50 length=\"5\"><br><br>"
       htmltext += "<button value=\"Отправить\" action=\"bypass -h Quest q8782_ExpressPost possend_ $target _ $tema _ $text _ $key _ $col _ $blueeva _ $goldgolem\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"
       htmltext += "<br><br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a><br>"
       htmltext += "*** указываем, сколько получатель должен заплатить за посылку или ключевое слово.</body></html>"
     else :
       htmltext = "<html><body>Ошибка!<br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("posmore_"):
     itemObjId = int(event.replace("posmore_", ""))
     obj = str(itemObjId)
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
       return htmltext
     Item = st.getPlayer().getInventory().getItemByObjectId(itemObjId)
     itemTemplate = Item.getItem()
     if Item and Item.isAugmented() and Item.getAugmentation().getAugmentSkill() != None and itemTemplate.getDuration() == -1 and not Item.isEquipped() and not Item.isAugmented() and Item.isTradeable():
       cnt = Item.getCount()
       count = str(cnt)
       grade = itemTemplate.getCrystalType()
       igrade = str(itemTemplate.getCrystalType())
       itype = str(Item.getItemType())
       idtest = Item.getItemId()
       grades = {1: "d", 2: "c", 3: "b", 4: "a", 5: "s"}
       pgrade = grades.get(grade, str(""))
       enchant = (Item.getEnchantLevel() > 0 and " +"+str(Item.getEnchantLevel())+"") or str("")
       st.set("sellitem",obj)
       htmltext =  "<html><body>Почтальон:<br>Установите количество:<br>"
       htmltext += "<table width=300><tr><td><img src=\"" + itemTemplate.getIcon() + "\" width=32 height=32></td><td><font color=LEVEL>" + itemTemplate.getName() + " " + enchant + "</font><img src=\"symbol.grade_"+str(pgrade)+"\" width=16 height=16><br></td></tr></table><br><br>"
       htmltext += "Всего: "+count+"<br>"
       htmltext += "Укажите количество: <br>"
       htmltext += "<edit var=\"cols\" width=200 length=\"16\"><br>"
       htmltext += "<button value=\"Ok\" action=\"bypass -h Quest q8782_ExpressPost posmorenext_ $cols _ "+str(obj)+"\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"
       htmltext += "<br><br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     else :
       htmltext = "<html><body>Этот предмет нельзя отправить!<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("posmoreend_"):
     search = str(event.replace("posmoreend_", ""))
     itemCount,itemObjId=search.split("_")
     itemCount,itemObjId=int(itemCount),int(itemObjId)
     obj = str(itemObjId)
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     Item = st.getPlayer().getInventory().getItemByObjectId(itemObjId)
     itemTemplate = Item.getItem()
     if Item and Item.isAugmented() and Item.getAugmentation().getAugmentSkill() != None and itemTemplate.getDuration() == -1 and not Item.isEquipped() and not Item.isAugmented() and Item.isTradeable():
       grade = itemTemplate.getCrystalType()
       igrade = str(itemTemplate.getCrystalType())
       itype = str(Item.getItemType())
       idtest = Item.getItemId()
       st.set("sellitem",obj)
       st.set("lcount",str(itemCount))
       grades = {1: "d", 2: "c", 3: "b", 4: "a", 5: "s"}
       pgrade = grades.get(grade, str(""))
       enchant = (Item.getEnchantLevel() > 0 and " +"+str(Item.getEnchantLevel())+"") or str("")
       htmltext =  "<html><body>Почтальон:<br>Заполните форму:<br>"
       htmltext += "<table width=300><tr><td><img src=\"" + itemTemplate.getIcon() + "\" width=32 height=32></td><td><font color=LEVEL>" + itemTemplate.getName() + " " + enchant + "</font><img src=\"symbol.grade_"+str(pgrade)+"\" width=16 height=16><br></td></tr></table><br><br>"
       htmltext += "Количество: "+str(itemCount)+"<br>"
       htmltext += "Получатель:<br>"
       htmltext += "<edit var=\"target\" width=200 length=\"16\">"
       htmltext += "Тема:<br>"
       htmltext += "<edit var=\"tema\" width=200 length=\"16\">"
       htmltext += "Текст:"
       htmltext += "<multiedit var=\"text\" width=280 height=70><br>"
       htmltext += "<br><br>Опции зищиты***:<br>"
       htmltext += "Ключевое слово:<br>"
       htmltext += "<edit var=\"key\" width=50 length=\"16\">"
       htmltext += "Coin of Luck:<br>"
       htmltext += "<edit var=\"col\" width=50 length=\"16\">"
       htmltext += "Blue Eva:<br>"
       htmltext += "<edit var=\"blueeva\" width=50 length=\"16\">"
       htmltext += "Gold Golem:<br>"
       htmltext += "<edit var=\"goldgolem\" width=200 length=\"16\"><br><br>"
       htmltext += "<button value=\"Отправить\" action=\"bypass -h Quest q8782_ExpressPost possend_ $target _ $tema _ $text _ $key _ $col _ $blueeva _ $goldgolem\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"
       htmltext += "<br><br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a><br>"
       htmltext += "*** указываем, сколько получатель должен заплатить за посылку или ключевое слово.</body></html>"
     else :
       htmltext = "<html><body>Этот предмет нельзя отправить!<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("possend_ "):
    #htmltext = "<html><body>Перерыв 5 минут.</body></html>"
    #return htmltext
     search = str(event.replace("possend_ ", ""))
     target,tema,text,key,col,blueeva,goldgolem=search.split("_")
     target,tema,text,key,col,blueeva,goldgolem=str(target),str(tema),str(text),str(key),str(col),str(blueeva),str(goldgolem)
    #<
     target = str(target.replace(" ", ""))
     tema = str(tema.replace(" ", ""))
     ctext = str(text.replace(" ", ""))
     key = str(key.replace(" ", ""))
     col = str(col.replace(" ", ""))
     blueeva = str(blueeva.replace(" ", ""))
     goldgolem = str(goldgolem.replace(" ", ""))
     if target == "":
       htmltext = "<html><body>Вы не ввели имя получателя.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
       return htmltext
     if tema == "":
       tema = "Без темы"
     if ctext == "":
       text = " "
     if key == "":
       key = "0"
     if col == "":
       col = "0"
     if blueeva == "":
       blueeva = "0"
     if goldgolem == "":
       goldgolem = "0"
    #<
     con = None
     try:
       con=L2DatabaseFactory.getInstance().getConnection()
       stm=con.prepareStatement("SELECT COUNT(char_name) FROM characters WHERE char_name=?")
       stm.setString(1,target)
       rsc=stm.executeQuery()
       if (rsc.next()):
         if rsc.getInt(1) == 0:
           htmltext = "<html><body>Перс с ником "+target+" не найден.<br>"
           htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
           self.closeCon(con)
           return htmltext
     except:
       pass 
     finally:
       self.closeRes(rsc)
       self.closeStat(stm)
    #< 
     name = str(st.getPlayer().getName())
     data = str(strftime("%Y-%m-%d", gmtime()))
     time = str(strftime("%H:%M:%S", gmtime()))
     uniq = IdFactory.getInstance().getNextId()
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
       return htmltext
     itemObjId = st.getInt("sellitem")
     itemCount = st.getInt("lcount")
     myEnch = st.getInt("enchant")
    #>
     Item = st.getPlayer().getInventory().getItemByObjectId(itemObjId)
     itemTemplate = Item.getItem()
     if Item and Item.canBeEnchanted() and Item.isAugmented() and Item.getAugmentation().getAugmentSkill() != None and itemTemplate.getDuration() == -1 and not Item.isEquipped():
       itemId = Item.getItemId()
       itemName=str(itemTemplate.getName())
       count = str(itemCount)
       count = (itemCount > 1 and str(itemCount)) or str("")
       enchLvl=Item.getEnchantLevel()
       if enchLvl != myEnch:
         htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
         htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
         return htmltext
       enchant = (enchLvl > 0 and " +"+str(enchLvl)+"") or str("")
       augment = Item.getAugmentation().getAugmentSkill()
       augEffId = Item.getAugmentation().getAugmentationId()
       augSkId,augSkLvl = str(augment.getId()),str(augment.getLevel())
      #>
       try:
         stm = con.prepareStatement("INSERT INTO `z_post_pos` (`id`,`tema`,`text`,`from`,`to`,`type`,`date`,`time`,`itemName`,`itemId`,`itemCount`,`itemEnch`,`augData`,`augSkill`,`augLvl`,`key`,`col`,`blueeva`,`goldgolem`) VALUES (NULL,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")
         stm.setString(1, tema)
         stm.setString(2, text)
         stm.setString(3, name)
         stm.setString(4, target)
         stm.setInt(5, 0)
         stm.setString(6, data)
         stm.setString(7, time)
         stm.setString(8, itemName)
         stm.setInt(9, int(itemId))
         stm.setInt(10, 1)
         stm.setInt(11, int(enchLvl))
         stm.setInt(12, int(augEffId))
         stm.setInt(13, int(augSkId))
         stm.setInt(14, int(augSkLvl))
         stm.setString(15, key)
         stm.setString(16, col)
         stm.setString(17, blueeva)
         stm.setString(18, goldgolem)
         stm.execute()
         alarm = L2World.getInstance().getPlayer(sName)
         if alarm:
           alarm.sendMessage("Вам была отправлена посылка!")
           alarm.sendPacket(ExMailArrived())
           alarm.sendPacket(PlaySound("ItemSound.quest_finish"))
       except: 
         pass
       finally: 
         self.closeStat(stm)
         self.closeCon(con)
      #>
       st.takeItems(POSTMARK,POSILKA)
       player.destroyItem("q8782_ExpressPost",itemObjId, 1, player, 0)
       htmltext = "<html><body>Почтальон:<br>Вашa посылка <font color=LEVEL>"+str(count)+" "+itemName+""+str(enchant)+"</font> для "+target+" ("+tema+") отправлена.<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a>"
      #>
       alarm = L2World.getInstance().getPlayer(target)
       if alarm:
         alarm.sendPacket(SystemMessage.sendString("Вам была отправлена посылка!"))
         alarm.sendPacket(ExMailArrived())
         alarm.sendPacket(PlaySound("ItemSound.quest_finish"))
    #>
     else :
       htmltext = "<html><body>Этот предмет нельзя отправить!<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event == "in_pos":
     name = str(st.getPlayer().getName())
     htmltext = "<html><body>Почтальон:<br>"
     htmltext += "Входящие"
     htmltext += "<table width=300><tr><td></td><td></td><td></td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     inbox=con.prepareStatement("SELECT * FROM `z_post_pos` WHERE `to`=?  ORDER BY `date` DESC, `time` DESC LIMIT 0,?")
     inbox.setString(1, name)
     inbox.setInt(2, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")  
       tema=rs.getString("tema")
       sender=rs.getString("from")
       data=rs.getString("date")
       ptype=rs.getInt("type")
       time=rs.getString("time")
       try :
         cdata = str(strftime("%Y-%m-%d", gmtime()))
         if cdata == data:
           data = time[:5]
         if ptype == 1:
           htmltext += "<tr><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inposshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
         else:
           htmltext += "<tr><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inposshow_"+str(pid)+"\"><font color=CC00FF>"+str(tema)+"</font></a></td><td>"+str(data)+"</td></tr>"
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(`to`) FROM `z_post_pos` WHERE `to`=?")
     getcount.setString(1,name)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       rows  = rsc.getInt(1)
       vsego = int((rows/LIMIT)+1)
       if vsego > 1:
         htmltext += "Страницы: "
         st.set("stranic",str(vsego))
         prvsego = range(1,vsego)
         for i in prvsego:
           htmltext += ""
           htmltext += " <a action=\"bypass -h Quest q8782_ExpressPost str_3_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
         else:
           htmltext += ""
     rsc.close()
     getcount.close()
     cona.close()
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event == "out_pos":
     name = str(st.getPlayer().getName())
     htmltext = "<html><body>Почтальон:<br>"
     htmltext += "Отправленные"
     htmltext += "<table width=300><tr><td>Кому</td><td>Тема</td><td>Дата</td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     inbox=con.prepareStatement("SELECT * FROM `z_post_pos` WHERE `from`=?  ORDER BY `date` DESC, `time` DESC LIMIT 0,?")
     inbox.setString(1, name)
     inbox.setInt(2, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")  
       tema=rs.getString("tema")
       sender=rs.getString("to")
       data=rs.getString("date")
       ptype=rs.getInt("type")
       aug=rs.getInt("augData")
       time=rs.getString("time")
       try :
         if len(tema) > 25:  
           tema = tema[:25]+"..."  
         cdata = str(strftime("%Y-%m-%d", gmtime()))
         if cdata == data:
           data = time[:5]
         if aug != 0:
           htmltext += "<tr><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost outposshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
         else:
           htmltext += "<tr><td><font color=666666>"+str(sender)+"</td><td>"+str(tema)+"</td><td>"+str(data)+"</font></td></tr>"
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("outposshow_"):
     sid = int(event.replace("outposshow_", ""))
     con=L2DatabaseFactory.getInstance().getConnection()
     show=con.prepareStatement("SELECT * FROM `z_post_pos` pos WHERE `id`=?")
     show.setInt(1, sid)
     rs=show.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")
       tema=rs.getString("tema")
       text=rs.getString("text")
       sender=rs.getString("to")
       data=rs.getString("date")
       time=rs.getString("time")
       ptype=rs.getInt("type")
      #>
       itemName=rs.getString("itemName")
       itemId=rs.getInt("itemId")
       itemCount=rs.getInt("itemCount")
       itemEnch=rs.getInt("itemEnch")
       skill=rs.getInt("augSkill")
       attributes=rs.getInt("augData")
       try :
         item = ItemTable.getInstance().getTemplate(itemId)
         if item == None:
           htmltext = "<html><body>Посылка не найдена.<br>"
           htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in_pos\">Вернуться.</a></body></html>"
           return htmltext
         enchant = (itemEnch > 0 and " +"+str(itemEnch)+"") or str("")
         cdata = str(strftime("%d %m %Y", gmtime()))
         count = (itemCount > 1 and str(itemCount)) or str("")
         if cdata == data:
           pdata = time
         else:
           pdata = str(""+data+" ("+time+")")
         if skill != 0:
           pskill = SkillTable.getInstance().getInfo(skill, 1)
           skillname = pskill.getName()
         else:
           skillname = "нет."
         htmltext = "<html><body><table width=290><tr><td align=left>"+str(tema)+"</td><td align=right><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Посылки|x</a></td></tr></table><br>"
         htmltext += "<table width=300><tr><td align=left>Кому: "+str(sender)+"</td><td align=right>"+str(pdata)+"</td><td width=80 align=right><button value=\"Доб. контакт\" action=\"bypass -h Quest q8782_ExpressPost adrbook_ "+str(sender)+" _ +\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
         htmltext += "<table width=300><tr><td width=32><img src=\"" + item.getIcon() + "\" width=32 height=32></td><td align=left><font color=LEVEL>"+str(count)+" "+str(itemName)+" "+str(enchant)+"</font></td></tr></table><br>"
         htmltext += "Аугмент: "+skillname+"<br>"
         htmltext += "<img src=\"sek.cbui355\" width=100 height=2><br>"
         htmltext += ""+str(text)+"<br><br><img src=\"sek.cbui355\" width=300 height=2><br><br>"
         htmltext += "<table width=280><tr><td align=left><button value=\"Забрать\" action=\"bypass -h Quest q8782_ExpressPost getoutpos_ "+str(pid)+"\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
         htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost out_pos\">Назад.</a></body></html>"
       except :
         try : show.close()
         except : pass
     try :
       con.close()
     except :
       pass
     return htmltext
   elif event.startswith("inposshow_"):
     sid = int(event.replace("inposshow_", ""))
     con=L2DatabaseFactory.getInstance().getConnection()
     show=con.prepareStatement("SELECT * FROM `z_post_pos` pos WHERE `id`=?")
     show.setInt(1, sid)
     rs=show.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")
       tema=rs.getString("tema")
       text=rs.getString("text")
       sender=rs.getString("from")
       data=rs.getString("date")
       time=rs.getString("time")
       ptype=rs.getInt("type")
      #>
       itemName=rs.getString("itemName")
       itemId=rs.getInt("itemId")
       itemCount=rs.getInt("itemCount")
       itemEnch=rs.getInt("itemEnch")
       skill=rs.getInt("augSkill")
       attributes=rs.getInt("augData")
       alvl=rs.getInt("augLvl")
       key=rs.getString("key")
       col=rs.getInt("col")
       blueeva=rs.getInt("blueeva")
       goldgolem=rs.getInt("goldgolem")
       try :
         item = ItemTable.getInstance().getTemplate(itemId)
         if item == None:
           htmltext = "<html><body>Посылка не найдена.<br>"
           htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in_pos\">Вернуться.</a></body></html>"
           return htmltext
         enchant = (itemEnch > 0 and " +"+str(itemEnch)+"") or str("")
         cdata = str(strftime("%d %m %Y", gmtime()))
         count = (itemCount > 1 and str(itemCount)) or str("")
         if cdata == data:
           pdata = time
         else:
           pdata = str(""+data+" ("+time+")")
         if skill > 0:
           pskill = SkillTable.getInstance().getInfo(skill, alvl)
           if pskill.isPassive():
             skilltype = "[ Passive:"+str(alvl)+"lvl ]"
           elif pskill.isChance():
             skilltype = "[ Chance:"+str(alvl)+"lvl ]"
           else:
             skilltype = "[ Active:"+str(alvl)+"lvl ]"
             if pskill.getPower() > 0:
               skilltype += " {power: "+str(pskill.getPower())+"}"
           skillname = pskill.getName()+" "+skilltype
           skillname = skillname.replace("Item Skill: ","")
         else:
           skillname = "НЕТ АУГМЕНТА! Честно-Честно!"
         htmltext = "<html><body><table width=290><tr><td align=left>"+str(tema)+"</td><td align=right><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Посылки|x</a></td></tr></table><br>"
         htmltext += "<table width=300><tr><td align=left>От: <font color=FFCC33>"+str(sender)+"</font></td><td align=right>"+str(pdata)+"</td><td width=80 align=right><button value=\"Доб. контакт\" action=\"bypass -h Quest q8782_ExpressPost adrbook_ "+str(sender)+" _ +\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
         htmltext += "<table width=300><tr><td width=32><img src=\"" + item.getIcon() + "\" width=32 height=32></td><td align=left><font color=LEVEL>"+str(count)+" "+str(itemName)+" "+str(enchant)+"</font></td></tr></table><br>"
         htmltext += "<br><font color=FF0099>Аугмент: "+skillname+"</font><br>"
         htmltext += "<img src=\"sek.cbui355\" width=100 height=2><br>"
         htmltext += ""+str(text)+"<br><br><img src=\"sek.cbui355\" width=300 height=2><br><br>"
         ccol,ceva,cgolem=0,0,0
         if col > 0:
           if st.getQuestItemsCount(4037) < col:
             colorcol = "<font color=ff2a00>"+str(col)+"</font>"
             ccol = 20
           else:
             colorcol = "<font color=7fff00>"+str(col)+"</font>"
             ccol = 1
           htmltext += "(Защита) Coin Of Luck: "+str(colorcol)+"<br>"
         if blueeva > 0:
           if st.getQuestItemsCount(4355) < blueeva:
             coloreva = "<font color=ff2a00>"+str(blueeva)+"</font>"
             ceva = 20
           else:
             coloreva = "<font color=7fff00>"+str(blueeva)+"</font>"
             ceva = 1
           htmltext += "(Защита) Blue Eva: "+str(coloreva)+"<br>"
         if goldgolem > 0:
           if st.getQuestItemsCount(5962) < goldgolem:
             colorgolem = "<font color=ff2a00>"+str(goldgolem)+"</font>"
             cgolem = 20
           else:
             colorgolem = "<font color=7fff00>"+str(goldgolem)+"</font>"
             cgolem = 1
           htmltext += "(Защита) Gold Golem: "+str(colorgolem)+"<br>"
         fullchk = ccol + ceva + cgolem
         if (col != "" or blueeva != "" or goldgolem != "") and fullchk <= 3:
           if key == "0" or key == "":
             htmltext += "<table width=280><tr><td align=left><button value=\"Забрать\" action=\"bypass -h Quest q8782_ExpressPost getpos_ "+str(pid)+" _ hej4kol\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
           else:
             htmltext += "Ключ: <edit var=\"key\" width=200 length=\"16\"><br>"
             htmltext += "<table width=280><tr><td align=left><button value=\"Забрать\" action=\"bypass -h Quest q8782_ExpressPost getpos_ "+str(pid)+" _ $key\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table><br>"
         htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in_pos\">Назад.</a></body></html>"
        #>
         if ptype == 0:
           incon=L2DatabaseFactory.getInstance().getConnection()
           updatein=incon.prepareStatement("UPDATE z_post_pos SET type=1 WHERE id=?")
           updatein.setInt(1, pid)
           try :
             updatein.executeUpdate()
             updatein.close()
             incon.close()
           except :
             try : incon.close()
             except : pass
       except :
         try : show.close()
         except : pass
     try :
       con.close()
     except :
       pass
     return htmltext
   elif event.startswith("getpos_ "):
     search = str(event.replace("getpos_ ", ""))
     pid,key=search.split("_")
     pid,key=str(pid),str(key)
    #<
     pid = str(pid.replace(" ", ""))
     key = str(key.replace(" ", ""))
     if key == "":
       htmltext = "<html><body>Вы не указали кодовое слово.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in_pos\">Вернуться.</a></body></html>"
       return htmltext
    #<
     pid,key=int(pid),str(key)
    #<
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(id) FROM z_post_pos WHERE id=?")
     getcount.setInt(1, pid)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       if rsc.getInt(1) == 0:
         htmltext = "<html><body>Посылка не найдена или автор отозвал посылку!<br><br><a action=\"bypass -h Quest q8782_ExpressPost in_pos\">Вернуться.</a>"
         htmltext += "</body></html>"
         return htmltext
     rsc.close()
     getcount.close()
     cona.close()
    #< 
     con=L2DatabaseFactory.getInstance().getConnection()
     show=con.prepareStatement("SELECT * FROM `z_post_pos` pos WHERE `id`=?")
     show.setInt(1, pid)
     rs=show.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")
       tema=rs.getString("tema")
       text=rs.getString("text")
       sender=rs.getString("from")
       data=rs.getString("date")
       time=rs.getString("time")
       ptype=rs.getInt("type")
      #>
       itemName=rs.getString("itemName")
       itemId=rs.getInt("itemId")
       itemCount=rs.getInt("itemCount")
       itemEnch=rs.getInt("itemEnch")
       skill=rs.getInt("augSkill")
       attributes=rs.getInt("augData")
       alvl=rs.getInt("augLvl")
       skey=rs.getString("key")
       scol=rs.getInt("col")
       seva=rs.getInt("blueeva")
       sgolem=rs.getInt("goldgolem")
       try :
         if key != "hej4kol" and key != skey:
           htmltext = "<html><body>Вы ввели непpарильное ключевое слово.<br>"
           htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in_pos\">Вернуться.</a></body></html>"
           return htmltext
         if scol > 0:
           if st.getQuestItemsCount(4037) < scol:
             htmltext = "(Защита) Coin Of Luck: <font color=ff2a00>"+str(scol)+"</font><br>"
             return htmltext
           else:
             st.takeItems(4037,scol)
             name = str(st.getPlayer().getName())
             data = str(strftime("%Y-%m-%d", gmtime()))
             time = str(strftime("%H:%M:%S", gmtime()))
             uniq = IdFactory.getInstance().getNextId()
             tema = "Оплата "+itemName+": "+str(scol)+" Coin Of Luck"
             ins=L2DatabaseFactory.getInstance().getConnection()
             sendin=ins.prepareStatement("INSERT INTO z_post_pos VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)") 
             sendin.setInt(1, uniq)
             sendin.setString(2, tema)
             sendin.setString(3, tema)
             sendin.setString(4, name)
             sendin.setString(5, sender)
             sendin.setInt(6, int(0))
             sendin.setString(7, data)
             sendin.setString(8, time)
             sendin.setString(9, "Coin Of Luck")
             sendin.setInt(10, 4037)
             sendin.setInt(11, scol)
             sendin.setInt(12, 0)
             sendin.setInt(13, 0)
             sendin.setInt(14, 0)
             sendin.setInt(15, 0)
             sendin.setString(16, "")
             sendin.setString(17, "")
             sendin.setString(18, "")
             sendin.setString(19, "")
             try :
               sendin.executeUpdate()
               sendin.close()
               ins.close()
             except :
               try : ins.close()
               except : pass
            #<
             alarm = L2World.getInstance().getPlayer(sender)
             if alarm:
               alarm.sendPacket(SystemMessage.sendString("Пришла оплата "+str(scol)+" Coin Of Luck за "+itemName+" от "+str(name)+"!"))
               alarm.sendPacket(ExMailArrived())
               alarm.sendPacket(PlaySound("ItemSound.quest_finish"))         
         if seva > 0:
           if st.getQuestItemsCount(4355) < seva:
             htmltext = "(Защита) Blue Eva: <font color=ff2a00>"+str(seva)+"</font><br>"
             return htmltext
           else:
             st.takeItems(4355,seva)
             name = str(st.getPlayer().getName())
             data = str(strftime("%Y-%m-%d", gmtime()))
             time = str(strftime("%H:%M:%S", gmtime()))
             uniq = IdFactory.getInstance().getNextId()
             tema = "Оплата "+itemName+": "+str(seva)+" Blue Eva"
             ins=L2DatabaseFactory.getInstance().getConnection()
             sendin=ins.prepareStatement("INSERT INTO z_post_pos VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)") 
             sendin.setInt(1, uniq)
             sendin.setString(2, tema)
             sendin.setString(3, tema)
             sendin.setString(4, name)
             sendin.setString(5, sender)
             sendin.setInt(6, int(0))
             sendin.setString(7, data)
             sendin.setString(8, time)
             sendin.setString(9, "Blue Eva")
             sendin.setInt(10, 4355)
             sendin.setInt(11, seva)
             sendin.setInt(12, 0)
             sendin.setInt(13, 0)
             sendin.setInt(14, 0)
             sendin.setInt(15, 0)
             sendin.setString(16, "")
             sendin.setString(17, "")
             sendin.setString(18, "")
             sendin.setString(19, "")
             try :
               sendin.executeUpdate()
               sendin.close()
               ins.close()
             except :
               try : ins.close()
               except : pass
            #<
             alarm = L2World.getInstance().getPlayer(sender)
             if alarm:
               alarm.sendPacket(SystemMessage.sendString("Пришла оплата "+str(seva)+" Blue Eva за "+itemName+" от "+str(name)+"!"))
               alarm.sendPacket(ExMailArrived())
               alarm.sendPacket(PlaySound("ItemSound.quest_finish"))
         if sgolem > 0:
           if st.getQuestItemsCount(5962) < sgolem:
             htmltext = "(Защита) Gold Golem: <font color=ff2a00>"+str(sgolem)+"</font><br>"
             return htmltext
           else:
             st.takeItems(5962,sgolem)
             name = str(st.getPlayer().getName())
             data = str(strftime("%Y-%m-%d", gmtime()))
             time = str(strftime("%H:%M:%S", gmtime()))
             uniq = IdFactory.getInstance().getNextId()
             tema = "Оплата "+itemName+": "+str(sgolem)+" Gold Golem"
             ins=L2DatabaseFactory.getInstance().getConnection()
             sendin=ins.prepareStatement("INSERT INTO z_post_pos VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)") 
             sendin.setInt(1, uniq)
             sendin.setString(2, tema)
             sendin.setString(3, tema)
             sendin.setString(4, name)
             sendin.setString(5, sender)
             sendin.setInt(6, int(0))
             sendin.setString(7, data)
             sendin.setString(8, time)
             sendin.setString(9, "Gold Golem")
             sendin.setInt(10, 5962)
             sendin.setInt(11, sgolem)
             sendin.setInt(12, 0)
             sendin.setInt(13, 0)
             sendin.setInt(14, 0)
             sendin.setInt(15, 0)
             sendin.setString(16, "")
             sendin.setString(17, "")
             sendin.setString(18, "")
             sendin.setString(19, "")
             try :
               sendin.executeUpdate()
               sendin.close()
               ins.close()
             except :
               try : ins.close()
               except : pass
            #<
             alarm = L2World.getInstance().getPlayer(sender)
             if alarm:
               alarm.sendPacket(SystemMessage.sendString("Пришла оплата "+str(sgolem)+" Gold Golem за "+itemName+" от "+str(name)+"!"))
               alarm.sendPacket(ExMailArrived())
               alarm.sendPacket(PlaySound("ItemSound.quest_finish"))
         item = player.getInventory().addItem("Quest", itemId, itemCount, player, player.getTarget())
         if itemEnch != 0:
           item.setEnchantLevel(itemEnch)
         if skill != 0:
           item.setAugmentation(L2Augmentation(item, attributes, skill, alvl, True))
         smsg = SystemMessage(SystemMessageId.EARNED_S2_S1_S)
         smsg.addItemName(itemId)
         smsg.addNumber(itemCount)
         player.sendPacket(smsg)
         player.sendPacket(ItemList(player, False))
         statusUpdate = StatusUpdate(player.getObjectId())
         statusUpdate.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad())
         player.sendPacket(statusUpdate)
       except :
         try : show.close()
         except : pass
     try :
       con.close()
     except :
       pass
    #>
     con=L2DatabaseFactory.getInstance().getConnection()
     zabiraem=con.prepareStatement("DELETE FROM z_post_pos WHERE id=?")
     zabiraem.setInt(1, pid)
     try :
       zabiraem.executeUpdate()
       zabiraem.close()
       con.close()
     except :
       try : con.close()
       except : pass
    #>   
     htmltext = "<html><body>Получите - распишитесь.<br><br><a action=\"bypass -h Quest q8782_ExpressPost in_pos\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("getoutpos_ "):
     pid = int(event.replace("getoutpos_ ", ""))
    #>
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(id) FROM z_post_pos WHERE id=?")
     getcount.setInt(1, pid)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       if rsc.getInt(1) == 0:
         htmltext = "<html><body>Посылка не найдена!<br><br><a action=\"bypass -h Quest q8782_ExpressPost out_pos\">Вернуться.</a>"
         htmltext += "</body></html>"
         return htmltext
     rsc.close()
     getcount.close()
     cona.close()
    #> 
     con=L2DatabaseFactory.getInstance().getConnection()
     show=con.prepareStatement("SELECT * FROM `z_post_pos` pos WHERE `id`=?")
     show.setInt(1, pid)
     rs=show.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")
       tema=rs.getString("tema")
       text=rs.getString("text")
       sender=rs.getString("from")
       data=rs.getString("date")
       time=rs.getString("time")
       ptype=rs.getInt("type")
      #>
       itemName=rs.getString("itemName")
       itemId=rs.getInt("itemId")
       itemCount=rs.getInt("itemCount")
       itemEnch=rs.getInt("itemEnch")
       skill=rs.getInt("augSkill")
       attributes=rs.getInt("augData")
       try :
         item = player.getInventory().addItem("Quest", itemId, itemCount, player, player.getTarget())
         if itemEnch != 0:
           item.setEnchantLevel(itemEnch)
         if skill != 0:
           item.setAugmentation(L2Augmentation(item, attributes, skill, 10, True))
         smsg = SystemMessage(SystemMessageId.EARNED_S2_S1_S)
         smsg.addItemName(itemId)
         smsg.addNumber(itemCount)
         player.sendPacket(smsg)
         player.sendPacket(ItemList(player, False))
         statusUpdate = StatusUpdate(player.getObjectId())
         statusUpdate.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad())
         player.sendPacket(statusUpdate)
       except :
         try : show.close()
         except : pass
     try :
       con.close()
     except :
       pass
    #>
     con=L2DatabaseFactory.getInstance().getConnection()
     zabiraem=con.prepareStatement("DELETE FROM z_post_pos WHERE id=?")
     zabiraem.setInt(1, pid)
     try :
       zabiraem.executeUpdate()
       zabiraem.close()
       con.close()
     except :
       try : con.close()
       except : pass
    #>   
     htmltext = "<html><body>Получите - распишитесь.<br><br><a action=\"bypass -h Quest q8782_ExpressPost out_pos\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("friend_"):
     ptype = int(event.replace("friend_", ""))
     ownerId = str(st.getPlayer().getObjectId())
     htmltext = "<html><body>Почтальон:<br>"
     htmltext += "Список друзей:"
     htmltext += "<table width=300><tr><td></td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     inbox=con.prepareStatement("SELECT * FROM `character_friends` WHERE `char_id`=?  ORDER BY `friend_name` LIMIT 0,?")
     inbox.setString(1, ownerId)
     inbox.setInt(2, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       target=rs.getString("friend_name")  
       try :
         if ptype == 1:
           htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fpform_"+str(target)+"\">"+str(target)+"</a></td></tr>"
         else:
           htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fposform_"+str(target)+"\">"+str(target)+"</a></td></tr>"      
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(`char_id`) FROM `character_friends` WHERE `char_id`=?")
     getcount.setString(1,ownerId)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       rows  = rsc.getInt(1)
       vsego = int((rows/LIMIT)+1)
       if vsego > 2:
         htmltext += "Страницы: "
         st.set("stranic",str(vsego))
         prvsego = range(1,vsego)
         for i in prvsego:
           htmltext += ""
           htmltext += " <a action=\"bypass -h Quest q8782_ExpressPost str_4_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
         else:
           htmltext += ""
     rsc.close()
     getcount.close()
     cona.close()
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost home\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("clan_"):
     ptype = int(event.replace("clan_", ""))
     clanId = str(player.getClanId())
     if not player.getClanId():
       htmltext = "<html><body>Почтальон:<br>Вы не в клане!<br><a action=\"bypass -h Quest q8782_ExpressPost home\">Вернуться.</a>"
       htmltext += "</body></html>"
       return htmltext
     htmltext = "<html><body>Почтальон:<br>"
     htmltext += "Список сокланов:"
     htmltext += "<table width=300><tr><td></td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     inbox=con.prepareStatement("SELECT * FROM `characters` WHERE `clanid`=?  ORDER BY `clanid` LIMIT 0,?")
     inbox.setString(1, clanId)
     inbox.setInt(2, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       target=rs.getString("char_name")  
       try :
         if ptype == 1:
           htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fpform_"+str(target)+"\">"+str(target)+"</a></td></tr>"
         else:
           htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fposform_"+str(target)+"\">"+str(target)+"</a></td></tr>"      
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(`clanid`) FROM `characters` WHERE `clanid`=?")
     getcount.setString(1,clanId)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       rows  = rsc.getInt(1)
       vsego = int((rows/LIMIT)+1)
       if vsego > 2:
         htmltext += "Страницы: "
         st.set("stranic",str(vsego))
         prvsego = range(1,vsego)
         for i in prvsego:
           htmltext += ""
           htmltext += " <a action=\"bypass -h Quest q8782_ExpressPost str_5_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
         else:
           htmltext += ""
     rsc.close()
     getcount.close()
     cona.close()
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost home\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("fpform_"):
     target = str(event.replace("fpform_", ""))
     if st.getQuestItemsCount(POSTMARK) < PISMO:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     htmltext = "<html><body>Кому: "+target+"<br>"
     htmltext += "Тема:<br>"
     htmltext += "<edit var=\"tema\" width=200 length=\"16\">"
     htmltext += "Текст:"
     htmltext += "<multiedit var=\"text\" width=280 height=70><br>"
     htmltext += "<button value=\"Отправить\" action=\"bypass -h Quest q8782_ExpressPost send_ "+target+" _ $tema _ $text\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("fposform_"):
     target = str(event.replace("fposform_", ""))
     if st.getQuestItemsCount(POSTMARK) < POSILKA:
       htmltext = "<html><body>К сожалению, у вас не хватает почтовых марок.<br>"
       htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     itemObjId = st.getInt("sellitem")
     itemCount = st.getInt("lcount")
     Item = st.getPlayer().getInventory().getItemByObjectId(itemObjId)
     itemTemplate = Item.getItem()
     if Item and itemTemplate.getDuration() == -1 and not Item.isEquipped():
       count = str(itemCount)
       grade = itemTemplate.getCrystalType()
       igrade = str(itemTemplate.getCrystalType())
       itype = str(Item.getItemType())
       idtest = Item.getItemId()
       grades = {1: "d", 2: "c", 3: "b", 4: "a", 5: "s"}
       pgrade = grades.get(grade, str(""))
       enchant = (Item.getEnchantLevel() > 0 and " +"+str(Item.getEnchantLevel())+"") or str("")
       htmltext =  "<html><body>Почтальон:<br>Посылка:<br>"
       htmltext += "<table width=300><tr><td><img src=\"" + itemTemplate.getIcon() + "\" width=32 height=32></td><td><font color=LEVEL>" + itemTemplate.getName() + " " + enchant + "</font><img src=\"symbol.grade_"+str(pgrade)+"\" width=16 height=16><br></td></tr></table><br><br>"
       htmltext += "Количество: "+count+"<br>"
       htmltext += "Получатель: "+target+"<br>"
       htmltext += "Тема:<br>"
       htmltext += "<edit var=\"tema\" width=200 length=\"16\">"
       htmltext += "Текст:"
       htmltext += "<multiedit var=\"text\" width=280 height=70><br>"
       htmltext += "<br><br>Дополнительно***:<br>"
       htmltext += "Ключевое слово:<br>"
       htmltext += "<edit var=\"key\" width=200 length=\"16\">"
       htmltext += "Coin of Luck:<br>"
       htmltext += "<edit var=\"col\" width=200 length=\"16\">"
       htmltext += "Blue Eva:<br>"
       htmltext += "<edit var=\"blueeva\" width=200 length=\"16\">"
       htmltext += "Gold Golem:<br>"
       htmltext += "<edit var=\"goldgolem\" width=200 length=\"16\"><br><br>"
       htmltext += "<button value=\"Отправить\" action=\"bypass -h Quest q8782_ExpressPost possend_ "+target+" _ $tema _ $text _ $key _ $col _ $blueeva _ $goldgolem\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"
       htmltext += "<br><br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a><br><br>"
       htmltext += "*** указываем, сколько получатель должен заплатить за посылку или ключевое слово.</body></html>"
     else :
       htmltext = "<html><body>Этот предмет нельзя отправить!<br><br><a action=\"bypass -h Quest q8782_ExpressPost posilki\">Вернуться.</a></body></html>"
     return htmltext
   elif event.startswith("find_ "):
     search = str(event.replace("find_ ", ""))
     search,ptype=search.split("_")
     search,ptype=str(search),str(ptype)
     search = str(search.replace(" ", ""))
     ptype = str(ptype.replace(" ", ""))
     if search == "":
       htmltext = "<html><body>Задан пустой поисковый запрос<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a></body></html>"
       return htmltext
     name = str(st.getPlayer().getName())
     htmltext = "<html><body>Поиск по "+ptype+":"+search+"<br>"
     htmltext += "<table width=300><tr><td></td><td>Автор</td><td>Тема</td><td>Дата</td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     if ptype == "Автор":
       sql=con.prepareStatement("SELECT * FROM `z_post_in` WHERE `from`=? AND `to`=?  ORDER BY `date` DESC, `time` DESC LIMIT 0,?")
     else:
       sql=con.prepareStatement("SELECT * FROM `z_post_in` WHERE `tema`=? AND `to`=?  ORDER BY `date` DESC, `time` DESC LIMIT 0,?")  
     inbox = sql
     inbox.setString(1, search)
     inbox.setString(2, name)
     inbox.setInt(3, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       pid=rs.getInt("id")  
       tema=rs.getString("tema")
       sender=rs.getString("from")
       data=rs.getString("date")
       ptype=rs.getInt("type")
       time=rs.getString("time")
       try :
         cdata = str(strftime("%d %m %Y", gmtime()))
         if cdata == data:
           data = time
         if ptype == 1:
           htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\">"+str(tema)+"</a></td><td>"+str(data)+"</td></tr>"
         else:
           htmltext += "<tr><td width=16><img src=\"Icon.etc_letter_envelope_i00\" width=16 height=16></td><td>"+str(sender)+"</td><td><a action=\"bypass -h Quest q8782_ExpressPost inshow_"+str(pid)+"\"><font color=CC00FF>"+str(tema)+"</font></a></td><td>"+str(data)+"</td></tr>"
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     cona=L2DatabaseFactory.getInstance().getConnection()
     if ptype == "Автор":
       sqll=cona.prepareStatement("SELECT COUNT(`from`) FROM `z_post_in` WHERE `from`=? AND `to`=?")
     else:
       sqll=cona.prepareStatement("SELECT COUNT(`tema`) FROM `z_post_in` WHERE `tema`=? AND `to`=?")
     getcount = sqll
     getcount.setString(1, search)
     getcount.setString(2, name)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       rows  = rsc.getInt(1)
       vsego = int((rows/LIMIT)+1)
       if vsego > 2:
         htmltext += "Страницы: "
         st.set("stranic",str(vsego))
         prvsego = range(1,vsego)
         for i in prvsego:
           htmltext += ""
           htmltext += " <a action=\"bypass -h Quest q8782_ExpressPost str_1_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
         else:
           htmltext += ""
     rsc.close()
     getcount.close()
     cona.close()
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event == "adrbook":
     name = str(st.getPlayer().getName())
     htmltext = "<html><body>Почта:<table width=260 border=0><tr><td align=right>Контакт:</td><td align=right><edit var=\"nick\" width=90 length=\"16\"></td><td align=right><combobox width=30 var=act list=\"+;-\"></td><td><button value=\"Ок\" action=\"bypass -h Quest q8782_ExpressPost adrbook_ $nick _ $act\" width=30 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr></table>"
     htmltext += "<br>Адресная книга"
     htmltext += "<table width=300><tr><td></td></tr>"
     con=L2DatabaseFactory.getInstance().getConnection()
     inbox=con.prepareStatement("SELECT * FROM `z_post_adrbook` WHERE `name`=?  ORDER BY `friend` LIMIT 0,?")
     inbox.setString(1, name)
     inbox.setInt(2, int(LIMIT))
     rs=inbox.executeQuery()
     while (rs.next()) :
       target=rs.getString("friend")  
       try :
         htmltext += "<tr><td><a action=\"bypass -h Quest q8782_ExpressPost fpform_"+str(target)+"\">"+str(target)+"</a></td></tr>"    
       except :
         try : inbox.close()
         except : pass
     try :
       con.close()
     except :
       pass
     htmltext += "</table><br><br>"
     cona=L2DatabaseFactory.getInstance().getConnection()
     getcount=cona.prepareStatement("SELECT COUNT(`name`) FROM `z_post_adrbook` WHERE `name`=?")
     getcount.setString(1,name)
     rsc=getcount.executeQuery()
     if (rsc.next()):
       rows  = rsc.getInt(1)
       vsego = int((rows/LIMIT)+1)
       if vsego > 2:
         htmltext += "Страницы: "
         st.set("stranic",str(vsego))
         prvsego = range(1,vsego)
         for i in prvsego:
           htmltext += ""
           htmltext += " <a action=\"bypass -h Quest q8782_ExpressPost str_6_" + str(i) +"\">"+str(i)+"</a><font color=>  </font>"
         else:
           htmltext += ""
     rsc.close()
     getcount.close()
     cona.close()
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost in\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   elif event.startswith("adrbook_ "):
     search = str(event.replace("adrbook_ ", ""))
     nick,act=search.split(" _ ")
     nick,act=str(nick),str(act)
     name = str(st.getPlayer().getName())
     htmltext = "<html><body>Управление адресной книгой:<br>"
     if act == "+":
       ins=L2DatabaseFactory.getInstance().getConnection()
       sendin=ins.prepareStatement("INSERT INTO z_post_adrbook VALUES (?,?)") 
       sendin.setString(1, name)
       sendin.setString(2, nick)
       try :
         sendin.executeUpdate()
         sendin.close()
         ins.close()
       except :
         try : ins.close()
         except : pass
       htmltext += ""+nick+" добавлен в адресную книгу."
     else:
       con=L2DatabaseFactory.getInstance().getConnection()
       delete=con.prepareStatement("DELETE FROM z_post_adrbook WHERE name=? AND friend=?")
       delete.setString(1, name)
       delete.setString(2, nick)
       try :
         delete.executeUpdate()
         delete.close()
         con.close()
       except :
         try : con.close()
         except : pass
       htmltext += ""+nick+" удален из адресной книги."
    #>
     htmltext += "<br><br><a action=\"bypass -h Quest q8782_ExpressPost adrbook\">Вернуться.</a>"
     htmltext += "</body></html>"
     return htmltext
   return
 
 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   npcId = npc.getNpcId()
   if npcId == POSTMAN:
     self.startQuestTimer("home",100,None,player)       
   return

QUEST       = Quest(8782,qn,"custom")
CREATED     = State('Start', QUEST)

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(POSTMAN)
QUEST.addTalkId(POSTMAN)

Я не знаю чего ему не хватает есть только один вариант нужно залить базу которой у меня если что нету. Других идей нету, или я где то  ошибся?

Изменено пользователем Kutuzov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

__all__ = [
'q3995_echo',
'q4000_ShadowWeapons',
'q6050_KetraOrcSupport',
'q6051_VarkaSilenosSupport',
'q7000_HeroItems',
'q8000_RaidbossInfo',
'q8001_NpcLocationInfo',
'q8008_ArenaCP',
'purchase',
'q8009_HotSpringsBuffs',
'q8031_DonateExShop',
'q8030_Donate',
'partydrop',
'partydrop2',
'partydrop4',
'q8024_ChgColor',
'q8019_SetHero',
'q8018_CngNick'
'q8782_ExpressPost'
]

непробывал запятые ставить?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...