НПЦ сливающий Exp
Краткое изложение СУТИ проблемы: Нужен NPC, сливающий Exp.
Вопрос: Есть ли такой нпц? Или как его сделать, исходы есть.
— Кот ЦАРЬ
Можно зделать чтобы тебя нпс убивал и ресал по другому не знаю как зделать)наверное ядро)
отнимает соответственно 1 левел. (поменяв на + будет давать 1 левел. © by Gradesk
Спасибо, как-раз питон изучаю буду разбирать этот пример :)
Baium:Кодst.getPlayer().getStat().setLevel(st.getPlayer().getLevel()-1)
отнимает соответственно 1 левел. (поменяв на + будет давать 1 левел. © by Gradesk
А теперь для нубов, как это реализовать.
— Кот ЦАРЬ
Полазь в ядре можно сливать ехп
Сделаю Нпс на заказ если хочеш сливаюшего лвл и екс с сп
омг, вам уже код показали и разжевали, как он работает...
а чтобы ЕХP отнимало, нужно чуть изменить этот метод... чуть-чуть!
вот вам создал квест , но учитите делал для L2emu-rt кому надо переделает.
import sys
from net.l2emuproject.gameserver.model.actor.instance import L2PcInstance
from java.util import Iterator
from net.l2emuproject.gameserver.datatables import SkillTable
from net.l2emuproject import L2DatabaseFactory
from net.l2emuproject.gameserver.model.quest import State
from net.l2emuproject.gameserver.model.quest import QuestState
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest
qn = "Название квеста"
NPC=[Ид нпц]
ADENA_ID=57
QuestId = Квест-индификатор
QuestName = "имя квеста"
QuestDesc = "папка где расположен квест"
InitialHtml = "1.htm"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 1 or st.getPlayer().getLevel() < 1 :
htmltext = "<html><head><body>No Tienes Adena.<br></body></html>"
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())
#fed
if event == "1":
st.takeItems(ADENA_ID,100000000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1048,6),False,False)
st.getPlayer().restoreHPMP()
st.getPlayer().getStat().setLevel(st.getPlayer().getLevel()-1)
st.playSound("ItemSound.quest_accept")
return "1.htm"
st.setState(State.COMPLETED)
Бафнит блес на МП 6лвл и сольет 1 лвл
Также как и выше написано поставиш вместо -1 ... 1 даст +1 лвл
прикольный квест, спасибо автор :)
вот нарыл в ядре Кому нужно тот поймет
{
return _exp;
}
public void setExp(long value)
{
_exp = value;
}
офф топ кто знает как это будет на питоне
это проверка на пета как будет на питоне
2 tosikZOL - молодец :) 2 author а теперь setLevel() и getLevel() меняем на setExp() и getExp() вот и все.....
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
from net.sf.l2j.gameserver.model import L2ItemInstance
qn = "7364_LevelUp"
# Quest Items
ADENA_ID = 57
# NPC
NPC_ENCH = 80001
InitialHtml = "7364.htm"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 1000000 :
htmltext = "<html><head><body>Я не работаю в кредит... У вас недостаточно денег!</body></html>"
return htmltext
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())
if st.getPlayer().getLevel()<80 :
htmltext = "<html><head><body>Мне кажется, что ваш уровень ниже 80 )))</body></html>"
return htmltext
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())
if event == "1" :
st.takeItems(ADENA_ID,1000000)
st.getPlayer().getStat().setExp(0)
st.getPlayer().getStat().setExp(15422851)
st.getPlayer().getStat().setLevel(40)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().setCurrentHp(st.getPlayer().getMaxHp())
st.getPlayer().setCurrentCp(st.getPlayer().getMaxCp())
return "7364.htm"
st.setState(STARTED)
def onTalk (self,npc,player) :
st = player.getQuestState(qn)
npcId = npc.getNpcId()
htmltext = "<html><head><body>Мне нечего тебе сказать</body></html>"
if not st : return htmltext
if npcId == NPC_ENCH:
htmltext = "7364.htm"
return htmltext
QUEST = Quest(7364, qn, "custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed',QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NPC_ENCH)
QUEST.addTalkId(NPC_ENCH)
print "importing custom: lvlUP............................done"
ЙА he Снаю Руццкий ЯсЫк ^^
Работы с клиентом пишите: 434728581.
Работы с Java-серверами : 434728581.
Бревно вы делаете народ..кому нужен такой НПЦ напишу, не бесплатно, но напишу ( если предоставите мне коофициенты, т.е сколько ехп вы хотите сливать или уровни или бог знает что вам нужно ).
Пишите лабуду честно...аж тошно смотреть код который вообще тут не в тему.
Куда написать? найдете в контактах. скрипт опубликую в шаре после написание, поэтому брать больще 15$ не стану.
Tosikzol почти правильно написал то что нужно сделать, кто не понимает что он написал - сделаю почти бесплатно.
iqman: Бревно вы делаете народ..кому нужен такой НПЦ напишу, не бесплатно, но напишу ( если предоставите мне коофициенты, т.е сколько ехп вы хотите сливать или уровни или бог знает что вам нужно ).
Пишите лабуду честно...аж тошно смотреть код который вообще тут не в тему.
Куда написать? найдете в контактах. скрипт опубликую в шаре после написание, поэтому брать больще 15$ не стану.
Tosikzol почти правильно написал то что нужно сделать, кто не понимает что он написал - сделаю почти бесплатно.
Уважаемый а за что собственно брать тут деньги? за то что в теме всё разжевали и показали что и как а вы хотите предложить тоже самое, но за деньги. Не вижу не какой логики и смысла.
Да никто не соизволил нормально это все написать в паке выложить..просто куски кода, думаешь начинающий человек в этой сфере что-то поймет?





