MeRDox 60 Опубликовано 18 октября, 2016 Пробую сделать обменник разных валют не через мультисел. Как сделать, чтобы можно было сделать много видов валюты добавить? а то как бы не пробовал сделать, делает или одна(первая) валюта, или вообще скрипт не работает import sys 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 from ru.catssoftware.gameserver.util import Util from ru.catssoftware.gameserver.util import GiveItem from time import gmtime, strftime qn = "exchanger" CHANGER = 50026 COL = 4037 EX_COUNT = 1 EX_ITEM = 9801 RE_COUNT = 1 RE_ITEM = 9802 class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def init_LoadGlobalData(self) : print "exchanger: ok" def error(self,action,text): return "<html><body> " + action + ": <br> " + text + "</body></html>" def onAdvEvent (self,event,npc,player): st = player.getQuestState(qn) if event.startswith("item_proc"): item = str(event.replace("item_proc ", "")) if item == "": return self.error("Обмен валюты","Ошибка запроса") try: item=int(item) except: return self.error("Обмен валюты","Введите целое число.") if item <= 0: return self.error("Обмен валюты","Введите целое число.") if st.getQuestItemsCount(EX_ITEM) < item: return self.error("Обмен валюты","Ксожалению, у вас нет столько Ресурсов.") if st.getQuestItemsCount(COL) < rubin: return self.error("Обмен валюты","Ксожалению, у вас нет столько COL.") item_reward = long(item * RE_COUNT) st.takeItems(EX_ITEM,item) st.takeItems(COL,item) if item_reward > 1: st.giveItems(RE_ITEM,int(item_reward)) return QUEST = Quest(-1,qn,"custom") QUEST.addStartNpc(CHANGER) QUEST.addTalkId(CHANGER) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SmokiMo 892 Опубликовано 18 октября, 2016 Пробую сделать обменник разных валют не через мультисел. Как сделать, чтобы можно было сделать много видов валюты добавить? а то как бы не пробовал сделать, делает или одна(первая) валюта, или вообще скрипт не работает import sys 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 from ru.catssoftware.gameserver.util import Util from ru.catssoftware.gameserver.util import GiveItem from time import gmtime, strftime qn = "exchanger" CHANGER = 50026 COL = 4037 EX_COUNT = 1 EX_ITEM = 9801 RE_COUNT = 1 RE_ITEM = 9802 class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def init_LoadGlobalData(self) : print "exchanger: ok" def error(self,action,text): return "<html><body> " + action + ": <br> " + text + "</body></html>" def onAdvEvent (self,event,npc,player): st = player.getQuestState(qn) if event.startswith("item_proc"): item = str(event.replace("item_proc ", "")) if item == "": return self.error("Обмен валюты","Ошибка запроса") try: item=int(item) except: return self.error("Обмен валюты","Введите целое число.") if item <= 0: return self.error("Обмен валюты","Введите целое число.") if st.getQuestItemsCount(EX_ITEM) < item: return self.error("Обмен валюты","Ксожалению, у вас нет столько Ресурсов.") if st.getQuestItemsCount(COL) < rubin: return self.error("Обмен валюты","Ксожалению, у вас нет столько COL.") item_reward = long(item * RE_COUNT) st.takeItems(EX_ITEM,item) st.takeItems(COL,item) if item_reward > 1: st.giveItems(RE_ITEM,int(item_reward)) return QUEST = Quest(-1,qn,"custom") QUEST.addStartNpc(CHANGER) QUEST.addTalkId(CHANGER) Напиши в скайп, перепилим на яву и запилим по красоте скрипт. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OrmJevil 397 Опубликовано 18 октября, 2016 Делал давно нпс ,там есть этот скрипт http://forummaxi.ru/files/file/728-vip-shop/ Python не актуально . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OrmJevil 397 Опубликовано 18 октября, 2016 Только тут не в одной строчки с возможность выбора и прописью кол-во как у тебя в скрипте . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты