1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

[Гайд] Создаём бафера!

Тема в разделе 'LineAge 2', создана пользователем Supreme, 24 янв 2011.

  1. TopicStarter Overlay

    Supreme Supreme

    Сообщения:
    62
    Лайки:
    35
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Захват Всея Вселенной
    И так приступим

    открываем папку D:\server\gameserver\data\jscript\custom - и тут создаем папочку 9999_NPCBuffer

    далее тут же D:\server\gameserver\data\jscript\custom ищем файлик с названием __init__.py и у вас например там такое



    Код:
    __all__ = [
    '3995_echo',
    '4000_ShadowWeapons',
    '7000_HeroItems',
    '7782_Recz',
    '7785_HeroSF',
    '8000_RaidbossInfo',
    '7779_LazyNooblez',
    '6050_KetraOrcSupport',
    '6051_VarkaSilenosSupport'
    ]
    print ""
    print "importing custom data ..."
    for name in __all__ :
    try :
    __import__('data.jscript.custom.'+name,globals(), locals(), ['__init__'], -1)
    except:
    print "failed to import quest : ",name
    print "... done"
    print ""
    
    
    что вам нужно, ето вписать туда своего бафера и код должен получится следующий
    
    Код
    __all__ = [
    '3995_echo',
    '4000_ShadowWeapons',
    '7000_HeroItems',
    '7782_Recz',
    '7785_HeroSF',
    '8000_RaidbossInfo',
    '7779_LazyNooblez',
    '6050_KetraOrcSupport',
    '6051_VarkaSilenosSupport',
    '9999_NPCBuffer'
    ]
    print ""
    print "importing custom data ..."
    for name in __all__ :
    try :
    __import__('data.jscript.custom.'+name,globals(), locals(), ['__init__'], -1)
    except:
    print "failed to import quest : ",name
    print "... done"
    print ""
    
    
    все бафера вписали теперь копируем етот файлик _init_.py и вставляем сюда D:\server\gameserver\data\jscript\custom\9999_NPCBuffer
    далее создаем здесь D:\server\gameserver\data\jscript\custom\9999_NPCBuffer файлики например 1.htm 2.htm ( ети файлы ето раззделы с бафами )
    и так открываем штмл файлик через блокнот и пишем следующее
    
    Цитата
    <html>
    <body>
    <center>
    <img src="L2UI_CH3.herotower_deco" width=256 height=32>
    <font color="FF40FF">[COLOR=#ff0000]Бафер[/COLOR]</font><br>
    <br>
    <font color="00FFBB">Список баффоф:</font><br>
    <tr><td><img src="L2UI.SquareWhite" width=260 height=1></tr></td><br>
    <tr><td></td><td><button value="Лечить - 1k" action="bypass -h Quest 9999_NPCBuffer 6" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td></tr><br>
    <tr><td></td><td><button value="CP - 1k" action="bypass -h Quest 9999_NPCBuffer 69" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td></tr><br>
    <tr><td><img src="L2UI.SquareWhite" width=260 height=1></tr></td><br>
    <tr>
    <td><button value="[COLOR=#f4a460]Баффы[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#48d1cc]4.htm[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="[COLOR=#f4a460]Танцы[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#48d1cc]2.htm[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </tr>
    <tr>
    <td><button value="[COLOR=#ff8c00]Песни[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#48d1cc]3.htm[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="[COLOR=#f4a460]Чанты[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#48d1cc]7.htm[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </tr>
    <tr>
    <td><button value="Животные" action="bypass -h Quest 9999_NPCBuffer 8.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="Дополнительно" action="bypass -h Quest 9999_NPCBuffer 9.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </tr>
    <tr>
    <tr><td><img src="L2UI.SquareWhite" width=260 height=1></tr></td><br>
    </center>
    </body>
    </html>
    




    Красный - надпись Вверху менюшки бафера
    Оранжевый - Надпись на картинке что бы зайти в список баффов
    Голубой - название штмл при нажатие на картинку вас будет перемещать в тот штмл который вы указали
    [​IMG]


    Далее: настраиваем баффы

    открываем файлик 2.htm и вписываем например ето


    Код:
    <html>
    <body>
    <center>
    <img src="L2UI_CH3.herotower_deco" width=256 height=32>
    <tr>
    <td><font color="00FFBB">[COLOR=#ff0000]Танцы (20k каждый)[/COLOR]</font></td>
    </tr>
    <tr>
    <td> </td>
    </tr>
    <tr><td><img src="L2UI.SquareWhite" width=260 height=1></tr></td>
    
    <table width="260">
    <tr>
    <td><button value="[COLOR=#ff8c00]Warrior[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#48d1cc]27[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="[COLOR=#f4a460]Inspiration[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#48d1cc]28[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </tr>
    <tr>
    <td><button value="[COLOR=#f4a460]Mystic[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#00ffff]29[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="[COLOR=#f4a460]Fire[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#00ffff]30[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </tr>
    <tr>
    <td><button value="[COLOR=#f4a460]Fury[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#48d1cc]31[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="[COLOR=#f4a460]Concentration[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#00ffff]32[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </tr>
    <tr>
    <td><button value="[COLOR=#f4a460]Light[/COLOR]" action="bypass -h Quest 9999_NPCBuffer 33" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="[COLOR=#f4a460]Aqua Guard[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#00ffff]34[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </tr>
    <tr>
    <td><button value="[COLOR=#f4a460]Earth Guard[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#00ffff]35[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    <td><button value="[COLOR=#f4a460]Vampire[/COLOR]" action="bypass -h Quest 9999_NPCBuffer [COLOR=#00ffff]36[/COLOR]" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </table><br>
    <tr><td><img src="L2UI.SquareWhite" width=260 height=1></tr></td><br>
    <td><button value="Назад" action="bypass -h Quest 9999_NPCBuffer 1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    </center>
    </body>
    </html>
    




    Крастный - Надпись вверху списка денсов
    Оранжевый - Слово на картинке при нажатие на которую будет даватся Бафф
    Голубой - етот номер вам ещо понадобится обязательно смотрите что бы они шли попорядку



    Следующий Пункт у нас Добавление самих бафов :

    открываем D:\server\gameserver\data\jscript\custom\9999_NPCBuffer и открывайте файлик __init__.py

    там у вас должно быть пусто так что вписываем туда примерно такое

    Код:
    import sys
    from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
    from java.util import Iterator
    from net.sf.l2j.gameserver.datatables import SkillTable
    from net.sf.l2j import L2DatabaseFactory
    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
    
    qn = "9999_NPCBuffer"
    
    NPC=[[COLOR=#ffff00]70022[/COLOR]]
    ADENA_ID=[COLOR=#ffff00]57[/COLOR]
    QuestId = 9999
    QuestName = "NPCBuffer"
    QuestDesc = "custom"
    InitialHtml = "1.htm"
    
    print "importing custom: 9999: NPCBuffer"
    
    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 < 150000 or st.getPlayer().getLevel() < 1 :
    htmltext = "<html><head><body>You dont have enough Adena,<br> or your level is too low. You must be 40 or higher.</body></html>"
    else:
    st.takeItems(ADENA_ID,0)
    st.getPlayer().setTarget(st.getPlayer())
    
    if event == "2":
    st.takeItems(ADENA_ID,160000)
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4360,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4359,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4358,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4357,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4354,4),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4353,6),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4350,4),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4347,6),False,False)
    st.getPlayer().restoreHPMP()
    return "4.htm"
    st.setState(COMPLETED)
    
    if event == "3":
    st.takeItems(ADENA_ID,80000)
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4352,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4351,6),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4355,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4356,3),False,False)
    st.getPlayer().restoreHPMP()
    return "4.htm"
    st.setState(COMPLETED)
    
    if event == "4":
    st.takeItems(ADENA_ID,140000)
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4346,4),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4342,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4343,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4344,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4345,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4349,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4348,6),False,False)
    st.getPlayer().restoreHPMP()
    return "4.htm"
    st.setState(COMPLETED)
    
    if event == "5":
    st.takeItems(ADENA_ID,400000)
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4360,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4359,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4358,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4357,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4354,4),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4353,6),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4350,4),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4348,6),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4352,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4351,6),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4355,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4356,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4346,4),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4342,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4343,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4344,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4345,3),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4349,2),False,False)
    st.getPlayer().restoreHPMP()
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4347,6),False,False)
    st.getPlayer().restoreHPMP()
    return "4.htm"
    st.setState(COMPLETED)
    
    if event == "6":
    st.takeItems(ADENA_ID,1000)
    st.getPlayer().restoreHPMP()
    return "1.htm"
    st.setState(COMPLETED)
    
    #[COLOR=#8b0000]Wind Walk[/COLOR]
    [COLOR=#00ffff]if event == "7":[/COLOR]
    [COLOR=#2e8b57]st.takeItems(ADENA_ID,25000)[/COLOR]
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo([COLOR=#c0c0c0]4342[/COLOR],[COLOR=#0000ff]2[/COLOR]),False,False)
    st.getPlayer().restoreHPMP()
    return "[COLOR=#ff00ff]5.htm[/COLOR]"
    st.setState(COMPLETED)
    
    #Decrease Weight
    if event == "8":
    st.takeItems(ADENA_ID,25000)
    st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4343,3),False,False)
    st.getPlayer().restoreHPMP()
    return "5.htm"
    st.setState(COMPLETED)
    
    
    if htmltext != event:
    st.setState(COMPLETED)
    st.exitQuest(1)
    return htmltext
    
    
    def onTalk (self,npc,player):
    st = player.getQuestState(qn)
    htmltext = "<html><head><body>I have nothing to say to you</body></html>"
    st.setState(STARTED)
    return InitialHtml
    
    QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
    CREATED=State('Start',QUEST)
    STARTED=State('Started',QUEST)
    COMPLETED=State('Completed',QUEST)
    
    QUEST.setInitialState(CREATED)
    
    for npcId in NPC:
    QUEST.addStartNpc(npcId)
    QUEST.addTalkId(npcId)
    




    Розовый - На какую страницу будет возращатся Бафер при использование етого баффа вам нужно поставить например 3.htm
    Синий - LvL Скила
    Серый - ID Баффа ( Нужный Вам ID вы сможете узнать здесь D:\server\gameserver\data\stats\skills )
    Зеленый - число Адены котрое требует для баффа
    Жолтый - ID Baffer
    Красный - ID Итема который будет Братся при бафе
    Коричневый - Название Баффа
    Голубой - теперь вспоминаем те числа которые были при добавление Денсов ( смотрите сообщение выше обделено голубым цветом ) но я вылаживал там мануал как ставить денсы а нам нужны Бафы значит делаем ешо 1 шмл файлик и туда вписываем тоже самое вто и в денсах токо смените названиестранички Например 3.htm и место дансов пишите баффы ... и вот например вы пишите скил Wind Walk в новом файле сам вид баффа должен получится такой


    Код:
    <td><button value="Wind Walk" action="bypass -h Quest 9999_NPCBuffer 7" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td><br>
    


    И так далее у нас Запрос в Базу

    создаете файл например buffer.sql и туда вставляете ето

    (70022,30842,'Buffer',1,'Buffer',1,'NPC.a_trader_FElf',8.00,24.00,70,'female','L2Npc',40,3862,1493,11.85,2.78,40,43,30,21,20,10,0,0,1314,470,780,382,278,0,333,0,
    0,0,55,132,NULL,0,1,0,'LAST_HIT');

    Зеленый - ID бафера
    Красный - Имя бафера
    Жолтый - Титул Бафера


    Бафер будет иметь вид как трейдер НПЦ Alexis

    так далее ... октрываете
    Navicat нажимаете правой кнопкой по вашей папке в которой все таблицы выбираете

    Execute Batch File... нажимаете и указываете путь к вашему buffer.sql

    Кому помог отпишитесь!
  2. doloto777 Пользователи

    Сообщения:
    5
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Russian Federation Russian Federation
    Спасибо. как раз свой сервер настраиваю
Черновик сохранён Черновик удалён
Similar Threads
  1. ward
    Ответов:
    23
    Просмотров:
    8.384
  2. roslimberg
    Ответов:
    26
    Просмотров:
    5.393
  3. Anasteisha
    Ответов:
    11
    Просмотров:
    3.715
  4. Mickey Rourke
    Ответов:
    7
    Просмотров:
    2.117
  5. Anasteisha
    Ответов:
    11
    Просмотров:
    4.561
Загрузка...

Поделиться этой страницей