Latest posts on Здравствуйте, Уважаемые знатоки. Проблема в написан python для java topichttp://python.su/forum/topic/8100/2010-07-24T20:54:19+03:00Альтернативные платформы :: Python для Java :: Здравствуйте, Уважаемые знатоки. Проблема в написан python для java
2010-07-24T20:54:19+03:00noobasik53474Здравствуйте уважаемые.<br/>Я в python не силен, способен только на мелкое редактирование и поэтому обращаюсь к вам уважаемые знатоки <br/>Есть скрипт<br/>Целым его показывать смысла невижу, покажу ту часть над которой пытаюсь разобраться.<br/><div class="code"><pre> htmltext = "<html><body>Market:<br>Вещи на продажу:<br><table width=300>" + htmltext + "</table></body></html>"<br/> elif event.startswith("sell_"):<br/> itemObjId = int(event.replace("sell_", ""))<br/> obj = str(itemObjId)<br/> Item = st.getPlayer().getInventory().getItemByObjectId(itemObjId)<br/> itemTemplate = Item.getItem()<br/> if Item and itemTemplate.getDuration() == -1 and not Item.isEquipped() and not Item.isAugmented() and not Item.isConsumable() and Item.getItemType() != L2EtcItemType.OTHER and Item.getItemType() != L2EtcItemType.SCROLL and Item.getItemType() != L2EtcItemType.PET_COLLAR and Item.isTradeable() and Item.getItemId() != 403 or Item.getItemType() == L2EtcItemType.SHOT:# and Item.getEnchantLevel() == 0:<br/> cnt = Item.getCount()<br/> count = str(cnt)<br/> grade = itemTemplate.getCrystalType()<br/> igrade = str(itemTemplate.getCrystalType())<br/> itype = str(Item.getItemType())<br/> idtest = Item.getItemId()<br/> con=L2DatabaseFactory.getInstance().getConnection()<br/> listitems=con.prepareStatement("SELECT itemIcon FROM z_market_icons WHERE itemId=?")<br/> listitems.setInt(1, idtest)<br/> rs=listitems.executeQuery()<br/> while (rs.next()) :<br/> icon=rs.getString("itemIcon")<br/> try :<br/> if grade == 1:<br/> pgrade = str("[D]")<br/> elif grade == 2:<br/> pgrade = str("[C]")<br/> elif grade == 3:<br/> pgrade = str("[b]")<br/> elif grade == 4:<br/> pgrade = str("[A]")<br/> elif grade == 5:<br/> pgrade = str("[S]")<br/> else:<br/> pgrade = str("")<br/> if Item.getEnchantLevel() == 0:<br/> enchant = str("")<br/> else:<br/> enchant = " +"+str(Item.getEnchantLevel())+""<br/> st.set("sellitem",obj)<br/> st.set("count",count)<br/> st.set("grade",igrade)<br/> st.set("type",itype)<br/> htmltext = "<html><body>Market:<br>Вещь на продажу:<br>"<br/> htmltext += "<img src=\"Icon."+str(icon)+"\" width=32 height=32>"<br/> htmltext += "<font color=LEVEL>" + itemTemplate.getName() + ""+pgrade+" " + enchant + "</font><br><br>"<br/> htmltext += "Количество: "+count+"<br>"<br/> htmltext += "Установите цену: <br>"<br/> htmltext += "<edit var=\"price\" width=250><br><button value=\"Ok\" action=\"bypass -h Quest q8033_MarketSell $price\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"<br/> htmltext += "<br>*установите цену за 1 предмет, конечная цена = кол-во*цену.</body></html>"<br/> except :<br/> try : insertion.close()<br/> except : pass<br/> try :<br/> con.close()<br/> except :<br/> pass<br/> #else :<br/> #htmltext = "<html><body>Market:<br>Oops!</body></html>"<br/> elif event >= 0 or event <=2144000000:<br/> itemPrice = int(event)<br/> itemObjId = st.getInt("sellitem")<br/> itemCount = st.getInt("count")<br/> itemGrade = st.getInt("grade")<br/> itemPrice = int(itemPrice*itemCount)<br/> Item = st.getPlayer().getInventory().getItemByObjectId(itemObjId)<br/> itemTemplate = Item.getItem()<br/> idtest = Item.getItemId()<br/> itype = str(Item.getItemType())<br/> itemType = str(Item.getItemType())<br/> if Item and not Item.isEquipped() :<br/> count = str(itemCount)<br/> if Item.getEnchantLevel() == 0:<br/> enchant = str("")<br/> else:<br/> enchant = " +"+str(Item.getEnchantLevel())+""<br/> #weapons<br/> if itype == "Sword":<br/> ptype = str ("Weapon")<br/> elif itype == "Blunt":<br/> ptype = str ("Weapon")<br/> elif itype == "Dagger":<br/> ptype = str ("Weapon")<br/> elif itype == "Bow":<br/> ptype = str ("Weapon")<br/> elif itype == "Etc":<br/> ptype = str ("Weapon")<br/> elif itype == "Pole":<br/> ptype = str ("Weapon")<br/> elif itype == "Fist":<br/> ptype = str ("Weapon")<br/> elif itype == "Dual Sword":<br/> ptype = str ("Weapon")<br/> elif itype == "Dual Fist":<br/> ptype = str ("Weapon")<br/> elif itype == "Big Sword":<br/> ptype = str ("Weapon")<br/> elif itype == "Big Blunt":<br/> ptype = str ("Weapon")<br/> #armor<br/> elif itype == "Shield":<br/> ptype = str ("Armor")<br/> elif itype == "Light":<br/> ptype = str ("Armor")<br/> elif itype == "Heavy":<br/> ptype = str ("Armor")<br/> elif itype == "Magic":<br/> ptype = str ("Armor")<br/> elif itype == "None":<br/> ptype = str ("Armor")<br/> #recipes<br/> elif itype == "Receipe":<br/> ptype = str ("Recipe")<br/> #resources<br/> elif itype == "Material":<br/> ptype = str ("Resource")<br/> #spellbook<br/> elif itype == "Spellbook":<br/> ptype = str ("Spellbook")<br/> #soulshot<br/> elif itype == "Shot":<br/> ptype = str ("Soulshot")<br/> st.getPlayer().destroyItem("q8033_MarketSell",itemObjId, itemCount, st.getPlayer(), 0)<br/> st.getPlayer().sendPacket(SystemMessage.sendString(""+count+ " " + itemTemplate.getName() + "" + enchant + " выстановлено на аукцион за "+str(itemPrice)+" adena"));<br/> htmltext = "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>"+count+" " + itemTemplate.getName() + "" + enchant + "</font> за "+str(itemPrice)+" adena"</pre></div>В кратце..<br/>В данном скрипте происходит регистрация предмета в нужный отдел с ценой которую вписываешь.<br/>Я хочу сделать проверку на нужную сумму денег для регистрации и коммисию за выставление предмета на аукцион.<br/>Делаю так<br/><div class="code"><pre> #spellbook<br/> elif itype == "Spellbook":<br/> ptype = str ("Spellbook")<br/> #soulshot<br/> elif itype == "Shot":<br/> ptype = str ("Soulshot")<br/>+ if st.getQuestItemsCount(57) >= 2500:<br/>+ st.takeItems(57,2500)<br/> st.getPlayer().destroyItem("q8033_MarketSell",itemObjId, itemCount, st.getPlayer(), 0)<br/> st.getPlayer().sendPacket(SystemMessage.sendString(""+count+ " " + itemTemplate.getName() + "" + enchant + " выстановлено на аукцион за "+str(itemPrice)+" adena"));<br/> htmltext = "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>"+count+" " + itemTemplate.getName() + "" + enchant + "</font> за "+str(itemPrice)+" adena"</pre></div>Но скрипт таким образом не работает, если я делаю только коммисию за выставление предмета<br/><div class="code"><pre> #spellbook<br/> elif itype == "Spellbook":<br/> ptype = str ("Spellbook")<br/> #soulshot<br/> elif itype == "Shot":<br/> ptype = str ("Soulshot")<br/>+ st.takeItems(57,2500)<br/> st.getPlayer().destroyItem("q8033_MarketSell",itemObjId, itemCount, st.getPlayer(), 0)<br/> st.getPlayer().sendPacket(SystemMessage.sendString(""+count+ " " + itemTemplate.getName() + "" + enchant + " выстановлено на аукцион за "+str(itemPrice)+" adena"));<br/> htmltext = "<html><body>Market:<br>Выстановлено на аукцион:<br><font color=LEVEL>"+count+" " + itemTemplate.getName() + "" + enchant + "</font> за "+str(itemPrice)+" adena"</pre></div>То скрипт работает коммисия взымается, но вот как сделать проверку? ТОесть если есть данное колличесвто денег в нашем случае этот 2500, то скрипт выполняет работу дальше, если нет то переадресовывает на html страницу под название nocash.<br/>Подскажите пожалуйста.