Connect 4 Опубликовано 11 января, 2016 Много вариантов пробовал, но никак не пашет. Пытаюсь сделать, что бы с моба падало сразу 2 айтема. Можете подсказать? def onKill(self,npc,player,isPet): st = player.getQuestState(qn) if not st or st.getInt("cond") != 1: return npcId = npc.getNpcId() reward = 0 limit = 1 chance = 100 if npcId in [20116]: reward = ITEM1 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [27002]: reward = ITEM2 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20120]: reward = [ITEM3, FEATHER] limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20121]: reward = ITEM4 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20365]: reward = ITEM5 limit = FEATHER_NEED chance = FEATHER_CHANCE if reward > 0: party = player.getParty() if party: for member in party.getPartyMembers(): if not member.isAlikeDead(): st = member.getQuestState("0002_StartInLocation") if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") if st.getQuestItemsCount(reward) >= limit: st.playSound("ItemSound.quest_middle") else: if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") return reward = [iTEM1, FEATHER] - пробовал так, но без результатов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeluxeMD 73 Опубликовано 11 января, 2016 так зачем те скрипт )) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 11 января, 2016 так зачем те скрипт )) Квест это. Надо что бы с моба сразу падала 2 итема. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 11 января, 2016 Много вариантов пробовал, но никак не пашет. Пытаюсь сделать, что бы с моба падало сразу 2 айтема. Можете подсказать? def onKill(self,npc,player,isPet): st = player.getQuestState(qn) if not st or st.getInt("cond") != 1: return npcId = npc.getNpcId() reward = 0 limit = 1 chance = 100 if npcId in [20116]: reward = ITEM1 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [27002]: reward = ITEM2 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20120]: reward = [ITEM3, FEATHER] limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20121]: reward = ITEM4 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20365]: reward = ITEM5 limit = FEATHER_NEED chance = FEATHER_CHANCE if reward > 0: party = player.getParty() if party: for member in party.getPartyMembers(): if not member.isAlikeDead(): st = member.getQuestState("0002_StartInLocation") if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") if st.getQuestItemsCount(reward) >= limit: st.playSound("ItemSound.quest_middle") else: if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") return reward = [iTEM1, FEATHER] - пробовал так, но без результатов. Для этого существует droplist, там есть категория. Ставишь 2 разных категории на итемы, и будут тебе падать 2 итема. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 11 января, 2016 (изменено) Для этого существует droplist, там есть категория. Ставишь 2 разных категории на итемы, и будут тебе падать 2 итема. Я скинул только класс onKill? Мне нужно, что бы человек брал квест и по данному квесту падало сразу 2 разных итема в кол-ве 1 штуки. Не больше. Я знаю, что такое дроп лист) Изменено 11 января, 2016 пользователем Connect Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SmokiMo 892 Опубликовано 11 января, 2016 Много вариантов пробовал, но никак не пашет. Пытаюсь сделать, что бы с моба падало сразу 2 айтема. Можете подсказать? def onKill(self,npc,player,isPet): st = player.getQuestState(qn) if not st or st.getInt("cond") != 1: return npcId = npc.getNpcId() reward = 0 limit = 1 chance = 100 if npcId in [20116]: reward = ITEM1 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [27002]: reward = ITEM2 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20120]: reward = [ITEM3, FEATHER] limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20121]: reward = ITEM4 limit = FEATHER_NEED chance = FEATHER_CHANCE if npcId in [20365]: reward = ITEM5 limit = FEATHER_NEED chance = FEATHER_CHANCE if reward > 0: party = player.getParty() if party: for member in party.getPartyMembers(): if not member.isAlikeDead(): st = member.getQuestState("0002_StartInLocation") if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") if st.getQuestItemsCount(reward) >= limit: st.playSound("ItemSound.quest_middle") else: if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance: st.giveItems(reward, 1) st.playSound("ItemSound.quest_itemget") return reward = [iTEM1, FEATHER] - пробовал так, но без результатов. Я не сторонник питоновских скриптов, советую переписать данный скрипт на яву А если серьезно, то тебе нужно делать двойной массив ид количество, ид количество и проходясь но нему for'ом делать выдачу итемов. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
se1dhe 501 Опубликовано 11 января, 2016 st.giveItems(reward, 1) Обрати внимание ! 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SmokiMo 892 Опубликовано 11 января, 2016 st.giveItems(reward, 1) Обрати внимание ! Ну или сделать самый простой вариант, контрл+ц контрл+в как указанно в цитате =) но опять же встает вопрос по поводу чека на наличие в кармане итемов, а значит и условия тоже нужно дополнить. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 11 января, 2016 (изменено) Я не сторонник питоновских скриптов, советую переписать данный скрипт на яву А если серьезно, то тебе нужно делать двойной массив ид количество, ид количество и проходясь но нему for'ом делать выдачу итемов.Да есть у меня уже кв на яве; только сборка другая. Я щас на гротах сижу, а там нету некоторых классов. Ладно буду пробовать)И по поводу условий, если я все правильно понял, то я дописал нужное, только вместо 2ух указанных дает все равно 1) Изменено 11 января, 2016 пользователем Connect Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SmokiMo 892 Опубликовано 11 января, 2016 Да есть у меня уже кв на яве; только сборка другая. Я щас на гротах сижу, а там нету некоторых классов. Ладно буду пробовать) По-моему на всех сборках есть все необходимые классы =) а если еще учесть, что все сборки нынешние (90%) являются лыжеподобные, то тем более =) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 12 января, 2016 Сделал. Тему можно офф. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты