Anderson 36 Опубликовано 9 сентября, 2012 (изменено) Нужно было в сборку Люцера добавить Колор Менеджера. Но скрипт выдает ошибку что не существует структуры: State('Start', QUEST) Полез я дальше, в исходах в стейте квестов: / ** * @deprecated Method QuestState is deprecated */ @Deprecated QuestState(String name, Quest quest) { _isExitQuestOnCleanUp = false; _ignoreMe = false; _questName = quest.getName(); _player = null; _ignoreMe = true; } /** * @deprecated Method QuestState is deprecated */ @Deprecated QuestState(byte state) { _isExitQuestOnCleanUp = false; _ignoreMe = false; _questName = null; _player = null; _ignoreMe = true; } QuestState(Quest quest, L2PcInstance player, byte state) { _isExitQuestOnCleanUp = false; _ignoreMe = false; _quest = quest; _questName = quest.getName(); _player = player; getPlayer().setQuestState(this); _state = state; } Я понял что первые 2 нерабочие из за @Deprecated (устарели), но как мне в 3 передать плеера? Скрипт(не мой): import sys from java.lang import System from ru.catssoftware.gameserver.model.quest import State from ru.catssoftware.gameserver.model.quest import QuestState from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest qn = "q8024_ChgColor" NPC = 50001 PRICES = { 1: [4355, 3, "Blue Eva"], 2: [4355, 1, "Blue Eva"], } COLOURS = { 1: ["00FF00","00FF00"], 2: ["16721c","1c7216"], 3: ["00FFFF","FFFF00"], 4: ["FF0000","0000FF"], 5: ["FFFB00","00FBFF"], 6: ["337fe6","e67f33"], 7: ["DDA0DD","DDA0DD"], 8: ["808080","808080"], 9: ["000000","000000"], 10: ["81c739","81c739"], 11: ["9120b1","b12091"], 12: ["7c2196","96217c"], 13: ["811664","641681"], 14: ["6b4558","58456b"], } class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onAdvEvent (self,event,npc,player): st = player.getQuestState(qn) if event == "step1": htmltext = "<html><body><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>" htmltext += "Что красим?<font color=999966>*</font><br><center><table width=180><tr>" htmltext += "<td><button value=\"Ник\" action=\"bypass -h Quest q8024_ChgColor var_1\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "<td width=40></td>" htmltext += "<td><button value=\"Титул\" action=\"bypass -h Quest q8024_ChgColor var_2\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "</tr></table></center><br><br><font color=999966>*Изза особенностей ЖК-мониторов, цвета на чаре могут выглядить немного ярче или темнее.</font><br><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></body></html>" elif event.startswith("var_"): vtype = int(event.replace("var_", "")) if vtype == 1: sample = "### " + player.getName() + " ###" else: sample = "### " + player.getTitle() + " ###" htmltext = "<html><body>Покраска:<br>" htmltext += "Стоимость: "+str(PRICES[vtype][1])+" "+str(PRICES[vtype][2])+"<br><br>" htmltext += "<html><body>>Выберите желаемый цвет из списка:<br><br>" #< htmltext += "<table width=300>" for i in COLOURS.keys(): htmltext += "<tr><td width=20></td><td><font color="+str(COLOURS[i][1])+">"+str(sample)+"</font></td><td><a msg=\"Точно красим?\" action=\"bypass -h Quest q8024_ChgColor paint_"+str(vtype)+"_"+str(i)+"\">>>>></a></td></tr>" htmltext += "<tr><td width=20></td><td><br></td><td></td></tr>" htmltext += "</table>" #< htmltext += "<a action=\"bypass -h Quest q8024_ChgColor step1\">Вернуться.</a></body></html>" elif event.startswith("paint_"): get = str(event.replace("paint_", "")) vtype,color=get.split("_") vtype,color=int(vtype),int(color) #< paintcolor = int(COLOURS[color][0],16) if vtype == 1: if st.getQuestItemsCount(PRICES[1][0]) < int(PRICES[1][1]): htmltext = "<html><body>Покраска: <font color=74bff5>"+str(PRICES[1][1])+" "+str(PRICES[1][2])+"</font></body></html>" return htmltext st.takeItems(PRICES[1][0],PRICES[1][1]) player.getAppearance().setNameColor(paintcolor) else: if st.getQuestItemsCount(PRICES[2][0]) < int(PRICES[2][1]): htmltext = "<html><body>Покраска: <font color=74bff5>"+str(PRICES[2][1])+" "+str(PRICES[2][2])+"</font></body></html>" return htmltext st.takeItems(PRICES[2][0],PRICES[2][1]) player.getAppearance().setTitleColor(paintcolor) #< player.broadcastUserInfo() player.store() htmltext = "<html><body>Покраска:<br>Готово.<br><br><br><a action=\"bypass -h Quest q8024_ChgColor step1\">Вернуться.</a></body></html>" else: htmltext = "<html><body>Покраска:<br>Oops!</body></html>" return htmltext def onTalk (self,npc,player): st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == NPC: htmltext = "<html><body><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>" htmltext += "Что красим?<font color=999966>*</font><br><center><table width=180><tr>" htmltext += "<td><button value=\"Ник\" action=\"bypass -h Quest q8024_ChgColor var_1\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "<td width=40></td>" htmltext += "<td><button value=\"Титул\" action=\"bypass -h Quest q8024_ChgColor var_2\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "</tr></table></center><br><br><font color=999966>*Изза особенностей ЖК-мониторов, цвета на чаре могут выглядить немного ярче или темнее.</font><br><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></body></html>" return htmltext QUEST = Quest(8024,qn,"custom") CREATED = State('Start', QUEST) QUEST.setState(CREATED) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) Изменено 9 сентября, 2012 пользователем Anderson Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 9 сентября, 2012 Скорее всего при создании кв, автоматически выставляется: Начато Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты