Holsten 43 Опубликовано 14 сентября, 2014 Подскажите как в стандартном скрипте покраски ников, который идёт у pw, сделать покраску не за 1 определенный итем, а за 2 разных ? import sys from java.lang import System 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 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 = " " htmltext += "Что красим?* " htmltext += "" htmltext += "" htmltext += "" htmltext += " elif event.startswith("paint_"): get = str(event.replace("paint_", "")) vtype,color=get.split("_") vtype,color=int(vtype),int(color) #< paintcolor = int(COLOURS[0],16) if vtype == 1: if st.getQuestItemsCount(PRICES[1][0]) < int(PRICES[1][1]): htmltext = "" 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 = "" return htmltext st.takeItems(PRICES[2][0],PRICES[2][1]) player.getAppearance().setTitleColor(paintcolor) #< player.broadcastUserInfo() player.store() htmltext = " else: htmltext = "" return htmltext def onTalk (self,npc,player): st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == NPC: htmltext = " " return htmltext QUEST = Quest(8024,qn,"custom") CREATED = State('Start', QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ImmortalPony 126 Опубликовано 14 сентября, 2014 PRICES = { 1: [4355, 3, "Blue Eva"], 2: [4355, 1, "Blue Eva"], } вот Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Holsten 43 Опубликовано 14 сентября, 2014 (изменено) Это цена за ник и тутул, отдельно, это уже написано в скрипте. Надо именно чтоб за каждую позицию по 2 разных итема снимало. Изменено 14 сентября, 2014 пользователем Holsten Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boolean 121 Опубликовано 14 сентября, 2014 Это цена за ник и тутул, отдельно, это уже написано в скрипте. Надо именно чтоб за каждую позицию по 2 разных итема снимало. 1: [4037, 1, "Blue Eva"], 2: [57, 1, "Blue Eva"], Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
goodvin1709 3 Опубликовано 14 сентября, 2014 if st.getQuestItemsCount(PRICES[1][0]) < int(PRICES[1][1]) :// тут дописать проверку на второй итем st.getQuestItemsCount() htmltext = "" return htmltext st.takeItems(PRICES[2][0],PRICES[2][1]) //Тут вставить как на строчке выше убирание итема из инвентаря st.takeItems() 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
rooti 764 Опубликовано 14 сентября, 2014 Подскажите как в стандартном скрипте покраски ников, который идёт у pw, сделать покраску не за 1 определенный итем, а за 2 разных ? import sys from java.lang import System 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 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 = " " htmltext += "Что красим?* " htmltext += "" htmltext += "" htmltext += "" htmltext += " elif event.startswith("paint_"): get = str(event.replace("paint_", "")) vtype,color=get.split("_") vtype,color=int(vtype),int(color) #< paintcolor = int(COLOURS[0],16) if vtype == 1: if st.getQuestItemsCount(PRICES[1][0]) < int(PRICES[1][1]): htmltext = "" return htmltext st.takeItems(PRICES[2][0],PRICES[2][1]) player.getAppearance().setTitleColor(paintcolor) #< player.broadcastUserInfo() player.store() htmltext = "" return htmltext def onTalk (self,npc,player): st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == NPC: htmltext = "" return htmltext QUEST = Quest(8024,qn,"custom") CREATED = State('Start', QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) сделай 2 скрипта 1. Покраска за колы 2. Покраска за кровь девственниц ну и соотв. разные скрипты делал так с геройством, почему бы и нет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
aquamarine 248 Опубликовано 25 октября, 2014 пиши помогу, у меня есть все эти скрипты Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты