[question]multisell.
la2base 1.1.7
Суть вопроса:
Как сделать , чтобы персонажи не могли просматривать гм шоп бес наличия в инвентаре адены??
Я как понимаю , над что то дописать multisell.
ничего подобного , нада это сначало писать квест , на разрешение просмотра строчки открывания магазина.
Revenge: la2base 1.1.7
Суть вопроса:
Как сделать , чтобы персонажи не могли просматривать гм шоп бес наличия в инвентаре адены??
Я как понимаю , над что то дописать multisell.
Это можно сделать на питоне, т.е. делаеш запрос на ограничение (Id итема и Колличество итема) если нету итема - выдаёш ссыллку на htm'ку и пишеш туда "тыры-пыры нет итема", а если есть итем - "добро пожаловать в ГМ Шоп"
вот скажи зачем писать квест ??
если надо просто чтобы персонаж нажав на гм шоп , его проверило на ноличее предмета в инвентаре содержащего в гм шопе и дало доступ просмотра гм шопа при наличии итема .
Baium: Это можно сделать на питоне, т.е. делаеш запрос на ограничение (Id итема и Колличество итема) если нету итема - выдаёш ссыллку на htm'ку и пишеш туда "тыры-пыры нет итема", а если есть итем - "добро пожаловать в ГМ Шоп"
так вот и напиши что куда писать , яже не просто так спрашиваю чтобы в ответ услышать тыры пыры , а сути ответа не увидив что и как делать и куда писать...??
Revenge: вот скажи зачем писать квест ??
если надо просто чтобы персонаж нажав на гм шоп , его проверило на ноличее предмета в инвентаре содержащего в гм шопе и дало доступ просмотра гм шопа при наличии итема .
Уважаемый, лучше всего это написать квест на питоне,квест очень простой, ибо другого выхода из ситуации я не вижу, да и врятле так можно сделать без использования ядра.
ну как врядле если на многих серверах такое есть я уж не думаю что писали квест + еще и лезли в ядро.
просто в хмл чтото вписанно ..
if st.getQuestItemsCount(ItemID)>=NumbersID:
st.takeItems(ItemsID,NumbersID)
else:
st.exitQuest(1)
return "Item.htm"
NumbersID - колличество итема
ItemID - ID итема
Item.htm - Вывод если нет итема
вот по этому условию сделай квест
Точно незнаю, но это заложено в одно из этих строк (взято из вставки СА)...
<item id="1">
<production id="4681" count="1"/>
<ingredient id="72" count="1"/>
<ingredient id="4634" count="1"/>
<ingredient id="2131" count="97"/>
<ingredient id="57" count="291000" isTaxIngredient="true"/>
</item>
В одной из этих строк заложены лишь условия применять налоги и сохранять заточку. Показывать или нет те вещи, для обмена которых у игрока нет ингредиентов, заложено в способе вызова мультиселла npc_%objectId%_exc_multisell. Однако, это работает для брони и оружия, но не для адены.
Хотя хз, так в Эму, вашей сборкой не пользовался.
Применительно к адене - я вижу вариант либо квестом, примерно так
from com.l2emu.gameserver.model.quest import State
from com.l2emu.gameserver.model.quest import QuestState
from com.l2emu.gameserver.model.quest.jython import QuestJython as JQuest
QuestId = 9000 #ИД квеста
QuestName = "Custom_GM_Shop"
QuestDesc = "custom"
qn = "q"+str(QuestId)+"_"+str(QuestName)
StartNpc = 33344 #ИД НПЦ
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onFirstTalk (Self,npc,player):
if player.getQuestItemsCount(57) < 1 :
text="noitems.htm"
else :
text="multisell.htm"
return text
QUEST = Quest(QuestId,qn,QuestDesc)
QUEST.addStartNpc(StartNpc)
QUEST.addTalkId(StartNpc)
Либо в ядре





