Перейти к содержанию
Авторизация  
Arrow

Цена на Баф

Рекомендуемые сообщения

Уважаемые админы) :D

Кто подскажет как сделать платный баф типа маляра, Флу , резы

вот у меня такой код баферка

import sys

from com.l2jfrozen.util.database import L2DatabaseFactory
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
 
from com.l2jfrozen.gameserver.model.actor.instance import L2PcInstance
from com.l2jfrozen.gameserver.model import L2Skill
from java.util import Iterator
from com.l2jfrozen.gameserver.datatables import SkillTable
 
qn = "Buffer_by_Sydhe"
 
NPC = [50104]
ACCEPT_BUFF = [1040, 1068, 1035, 1043, 1077, 1078, 1085, 1311, 1032,
               1036, 1045, 1048, 4352, 4357, 4391, 4403, 4405, 1243,
               1388, 1389, 1087, 1259, 1059, 1268]
ACCEPT_DANCES = [271, 272, 273, 274, 275, 276, 277, 307, 309,
                 310, 311, 365]
ACCEPT_SONGS = [364, 264, 306, 269, 270, 265, 363, 349, 308,
                305, 304, 267, 266, 268]
ACCEPT_CHANTS = [1251, 1252, 1253, 1284, 1006, 1007, 1009, 1362,
                 1310, 1309, 1308, 1391, 1390]
ACCEPT_SPECIAL = [1364, 1356, 1355, 1357, 1413, 4702, 4703, 4700,
                  4699, 1323, 1363]
ACCEPT_RESISTS = [1393, 1392, 1182, 1189, 1191, 1352, 1353, 1073]
 
QuestId     = -1
QuestName   = "Buffer"
QuestDesc   = "custom"
 
print qn + " Buffer l2maxi.ru "
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
 
 def onEvent(self, event, st):
    htmltext = "Sory, failed Event"
    ownerid = st.getPlayer().getObjectId()
    effects = st.getPlayer().getAllEffects()
    if event.startswith("page_") :
        page = int(event.replace("page_", ""))
        htmltext = str(page) + ".htm"
    elif event == "cancel" :
        st.getPlayer().stopAllEffects()
        htmltext = "1.htm"
        activePage = 1
    elif event == "reload" :
        st.getPlayer().restoreCP()
        st.getPlayer().restoreHP()
        st.getPlayer().restoreMP()
        htmltext = "1.htm"
    elif event.startswith("buff_") :
        id_lvl = event.replace("buff_", "")
        id_lvl = id_lvl.split("_")
        SkillTable.getInstance().getInfo(int(id_lvl[0]), int(id_lvl[1])).getEffects(st.getPlayer(), st.getPlayer())
        htmltext = str(int(id_lvl[2])) + ".htm"
    elif event.startswith("profile_") :
        act = event.replace("profile_", "")
        con = L2DatabaseFactory.getInstance().getConnection()
        if act.startswith("buff_") :
            act = str(int(act.replace("buff_", "")))
            sql = con.prepareStatement("SELECT * FROM profile_buff WHERE char_id = ? AND pindex = ?")
            sql.setInt(1, int(ownerid))
            sql.setInt(2, int(act))
            rs = sql.executeQuery()
            rs.next()
            full_buffs = rs.getString("skills").split(";")
            sql.close()
            rs.close()
            for buff in full_buffs :
if buff != "" :
buff = buff.split(",")
SkillTable.getInstance().getInfo(int(buff[0]), int(buff[1])).getEffects(st.getPlayer(), st.getPlayer())
 
            htmltext = "1.htm"
        elif act.startswith("save_") :
            act = str(int(act.replace("save_", "")))
            sqll = con.prepareStatement("DELETE FROM profile_buff WHERE char_id = ? AND pindex = ?")
            sqll.setInt(1, int(ownerid))
            sqll.setInt(2, int(act))
            sqll.execute()
            sqll.close()
            saving = "++"
            for eff in effects :
                eff_id = eff.getSkill().getId()
                eff_level = eff.getSkill().getLevel()
                if saving == "++" :
                    if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :
                        saving = str(eff_id) + "," + str(eff_level) + ";"
                else :
                    if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :
                        saving += str(eff_id) + "," + str(eff_level) + ";"
            sql = con.prepareStatement("INSERT INTO profile_buff (char_id, pindex, skills) VALUES ('" + str(ownerid) + "', '" + str(act) + "', '" + saving + "')")
            sql.execute()
            sql.close()
            htmltext = "8.htm"
        con.close()
    return htmltext
 
 def onTalk (self, npc, player):
    htmltext = "1.htm"
    st = player.getQuestState(qn)
    if not st : return htmltext
    npcId = npc.getNpcId()
    return htmltext
 
 
QUEST = Quest(QuestId, qn, 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)
 

 

 

 

да забыл может кто подскажет как добавить набор бафа маг физ

Изменено пользователем Arrow

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могу сделать не за просто так. Если согласны пишите тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые админы) :D

Кто подскажет как сделать платный баф типа маляра, Флу , резы

вот у меня такой код баферка

import sys

from com.l2jfrozen.util.database import L2DatabaseFactory
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
 
from com.l2jfrozen.gameserver.model.actor.instance import L2PcInstance
from com.l2jfrozen.gameserver.model import L2Skill
from java.util import Iterator
from com.l2jfrozen.gameserver.datatables import SkillTable
 
qn = "Buffer_by_Sydhe"
 
NPC = [50104]
ACCEPT_BUFF = [1040, 1068, 1035, 1043, 1077, 1078, 1085, 1311, 1032,
               1036, 1045, 1048, 4352, 4357, 4391, 4403, 4405, 1243,
               1388, 1389, 1087, 1259, 1059, 1268]
ACCEPT_DANCES = [271, 272, 273, 274, 275, 276, 277, 307, 309,
                 310, 311, 365]
ACCEPT_SONGS = [364, 264, 306, 269, 270, 265, 363, 349, 308,
                305, 304, 267, 266, 268]
ACCEPT_CHANTS = [1251, 1252, 1253, 1284, 1006, 1007, 1009, 1362,
                 1310, 1309, 1308, 1391, 1390]
ACCEPT_SPECIAL = [1364, 1356, 1355, 1357, 1413, 4702, 4703, 4700,
                  4699, 1323, 1363]
ACCEPT_RESISTS = [1393, 1392, 1182, 1189, 1191, 1352, 1353, 1073]
 
QuestId     = -1
QuestName   = "Buffer"
QuestDesc   = "custom"
 
print qn + " Buffer l2maxi.ru "
 
class Quest (JQuest) :
 
 def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
 
 def onEvent(self, event, st):
    htmltext = "Sory, failed Event"
    ownerid = st.getPlayer().getObjectId()
    effects = st.getPlayer().getAllEffects()
    if event.startswith("page_") :
        page = int(event.replace("page_", ""))
        htmltext = str(page) + ".htm"
    elif event == "cancel" :
        st.getPlayer().stopAllEffects()
        htmltext = "1.htm"
        activePage = 1
    elif event == "reload" :
        st.getPlayer().restoreCP()
        st.getPlayer().restoreHP()
        st.getPlayer().restoreMP()
        htmltext = "1.htm"
    elif event.startswith("buff_") :
        id_lvl = event.replace("buff_", "")
        id_lvl = id_lvl.split("_")
        SkillTable.getInstance().getInfo(int(id_lvl[0]), int(id_lvl[1])).getEffects(st.getPlayer(), st.getPlayer())
        htmltext = str(int(id_lvl[2])) + ".htm"
    elif event.startswith("profile_") :
        act = event.replace("profile_", "")
        con = L2DatabaseFactory.getInstance().getConnection()
        if act.startswith("buff_") :
            act = str(int(act.replace("buff_", "")))
            sql = con.prepareStatement("SELECT * FROM profile_buff WHERE char_id = ? AND pindex = ?")
            sql.setInt(1, int(ownerid))
            sql.setInt(2, int(act))
            rs = sql.executeQuery()
            rs.next()
            full_buffs = rs.getString("skills").split(";")
            sql.close()
            rs.close()
            for buff in full_buffs :
if buff != "" :
buff = buff.split(",")
SkillTable.getInstance().getInfo(int(buff[0]), int(buff[1])).getEffects(st.getPlayer(), st.getPlayer())
 
            htmltext = "1.htm"
        elif act.startswith("save_") :
            act = str(int(act.replace("save_", "")))
            sqll = con.prepareStatement("DELETE FROM profile_buff WHERE char_id = ? AND pindex = ?")
            sqll.setInt(1, int(ownerid))
            sqll.setInt(2, int(act))
            sqll.execute()
            sqll.close()
            saving = "++"
            for eff in effects :
                eff_id = eff.getSkill().getId()
                eff_level = eff.getSkill().getLevel()
                if saving == "++" :
                    if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :
                        saving = str(eff_id) + "," + str(eff_level) + ";"
                else :
                    if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :
                        saving += str(eff_id) + "," + str(eff_level) + ";"
            sql = con.prepareStatement("INSERT INTO profile_buff (char_id, pindex, skills) VALUES ('" + str(ownerid) + "', '" + str(act) + "', '" + saving + "')")
            sql.execute()
            sql.close()
            htmltext = "8.htm"
        con.close()
    return htmltext
 
 def onTalk (self, npc, player):
    htmltext = "1.htm"
    st = player.getQuestState(qn)
    if not st : return htmltext
    npcId = npc.getNpcId()
    return htmltext
 
 
QUEST = Quest(QuestId, qn, 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)
 

 

 

 

да забыл может кто подскажет как добавить набор бафа маг физ

С фрозенами не работал, но посмотрите в бд, нет ли там таблицы custom_npcbuffer ?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все начали фрозенов юзать к чему это....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С фрозенами не работал, но посмотрите в бд, нет ли там таблицы custom_npcbuffer ?

есть в бд табл mods_buffer_skills http://prntscr.com/9lyjbd

 

но там только адена)

Изменено пользователем Arrow

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все начали фрозенов юзать к чему это....

есть исходы нет тупых прыязок  по времени типа люцеры

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда в чем трабл? Либо добавить поддержку второй валюты, либо 57 изменить на 4037 к примеру?

вот дело в том я слаб в исходнике и делаю все по гайдам которые есть вот и хз в каком файле и что вводить(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...