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

Импорты

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

import sys

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

from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance

from net.sf.l2j.gameserver.model import L2Skill

from java.util import Iterator

from net.sf.l2j.datatables import SkillTable

qn = "9990_buffer"

NPC = [250250]

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]

ACCEPT_RESISTS = [1393, 1392, 1182, 1189, 1191, 1352, 1353, 1073]

QuestId = -1

QuestName = "Buffer"

QuestDesc = "custom"

print qn + " Buffer l2maxi.ru (KFan)"

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(9990,qn,"custom")

 

QUEST.addStartNpc(250250)

QUEST.addTalkId(250250)

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


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

Error on: D:\Server\L2jx_30.05.2012\gameserver\data\scripts\custom\9990_buffer\__init__.py.error.log

Line: -1 - Column: -1

 

Traceback (innermost last):

File "__init__.py", line 10, in ?

ImportError: no module named datatables

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


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

from net.sf.l2j.datatables import SkillTable

на

from net.sf.l2j.gameserver.datatables import SkillTable

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

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


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

from net.sf.l2j.datatables import SkillTable

на

from net.sf.l2j.gameserver.datatables import SkillTable

Traceback (innermost last):

(no code object) at line 0

SyntaxError: ('invalid syntax', ('__init__.py', 29, 1, 'def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)'))

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


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

Traceback (innermost last):

(no code object) at line 0

SyntaxError: ('invalid syntax', ('__init__.py', 29, 1, 'def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)'))

сборка?

готового дам, скрипт кривой

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


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

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

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

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

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

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

Войти

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

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

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

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

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