Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Саб класс скил ошибка
#1
[Изображение: 61837832.png]

[Изображение: 61838867.gif]

[Изображение: 61839566.gif]

Дело в том что подошел взять трансформ у Warshmita но не дало а дало ошибку как это исправить
Посмотри
[Изображение: guru.gif]
Ответ
#2
ап темку че не кто незнает (
[Изображение: guru.gif]
Ответ
#3
скорее всего проблема в ядре сервера
исправляется путём либо скачивании более свежего ядра либо скачиванием сборки от другой команды
ЛЮДИ ВКЛЮЧИТЕ ВАШИ МОЗГИ
а то китайцы уже андроидов в телефоны пихают
Nokia N810
[Изображение: Bez_nazvy-2.png]
[Изображение: account_detailed.gif]
Ответ
#4
а где найти свежее ядро для l2open
[Изображение: guru.gif]
Ответ
#5
может кто знает как это исправить думаю не в ядре
[Изображение: guru.gif]
Ответ
#6
[Red Dragon];86087 Написал:может кто знает как это исправить думаю не в ядре

тогда 201 строку смотри в файле, там я думаю увидишь на что ссылается)
Ответ
#7
Код:
#
# Created by Gigiikun on 2009.06.01.

import sys

from com.l2open.gameserver.datatables import CharTemplateTable
from com.l2open.gameserver.model.base         import ClassType
from com.l2open.gameserver.model.base         import Race
from com.l2open.gameserver.model.quest        import State
from com.l2open.gameserver.model.quest        import QuestState
from com.l2open.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2open.gameserver.network            import SystemMessageId
from com.l2open.gameserver.network.serverpackets import SystemMessage

qn = "9002_SubClassCertification"
NPC = [30026, 30031, 30037, 30066, 30070, 30109, 30115, 30120, 30154, 30174, 30175, 30176, 30187, \
     30191, 30195, 30288, 30289, 30290, 30297, 30358, 30373, 30462, 30474, 30498, 30499, 30500, \
     30503, 30504, 30505, 30508, 30511, 30512, 30513, 30520, 30525, 30565, 30594, 30595, 30676, \
     30677, 30681, 30685, 30687, 30689, 30694, 30699, 30704, 30845, 30847, 30849, 30854, 30857, \
     30862, 30865, 30894, 30897, 30900, 30905, 30910, 30913, 31269, 31272, 31276, 31279, 31285, \
     31288, 31314, 31317, 31321, 31324, 31326, 31328, 31331, 31334, 31336, 31755, 31958, 31961, \
     31965, 31968, 31974, 31977, 31996, 32092, 32093, 32094, 32095, 32096, 32097, 32098, 32145, \
     32146, 32147, 32150, 32153, 32154, 32157, 32158, 32160, 32171, 32193, 32199, 32202, 32213, \
     32214, 32221, 32222, 32229, 32230, 32233, 32234]
WARRIORCLASSES = [3, 88, 2, 89, 46, 48, 113, 114, 55, 117, 56, 118, 127, 131, 128, 129, 132, 133]
ROGUECLASSES = [9, 92, 24, 102, 37, 109, 130, 134, 8, 93, 23, 101, 36, 108]
KNIGHTCLASSES = [5, 90, 6, 91, 20, 99, 33, 106]
SUMMONERCLASSES = [14, 96, 28, 104, 41, 111]
WIZARDCLASSES = [12, 94, 13, 95, 27, 103, 40, 110]
HEALERCLASSES = [16, 97, 30, 105, 43, 112]
ENCHANTERCLASSES = [17, 98, 21, 100, 34, 107, 51, 115, 52, 116, 135, 136]
COMMONITEM = 10280
ENHANCEDITEM = 10612
CLASSITEMS = {
0:10281, # Warriors
1:10282, # Knights
2:10283, # Rogues
3:10287, # Enchanters
4:10284, # Wizards
5:10286, # Summoners
6:10285  # Healers
}
TRANSFORMITEMS = {
0:10289, # Warriors
1:10288, # Knights
2:10290, # Rogues
3:10293, # Enchanters
4:10292, # Wizards
5:10294, # Summoners
6:10291  # Healers
}

def isCorrectMaster(npc, player):
  charTemp = CharTemplateTable.getInstance().getTemplate(player.getClassId())
  currentRace = charTemp.race
  if ((npc.getVillageMasterRace() == Race.Human) and (currentRace == Race.Human or currentRace == Race.Elf) and npc.getVillageMasterTeachType() == ClassType.Fighter and not player.isMageClass()):
    return True
  elif ((npc.getVillageMasterRace() == Race.Human) and (currentRace == Race.Human or currentRace == Race.Elf) and npc.getVillageMasterTeachType() == ClassType.Mystic and player.getClassId().getId() in WIZARDCLASSES):
    return True
  elif ((npc.getVillageMasterRace() == Race.Human) and (currentRace == Race.Human or currentRace == Race.Elf) and npc.getVillageMasterTeachType() == ClassType.Mystic and player.getClassId().getId() in SUMMONERCLASSES):
    return True
  elif ((npc.getVillageMasterRace() == Race.Human) and (currentRace == Race.Human or currentRace == Race.Elf) and npc.getVillageMasterTeachType() == ClassType.Priest and player.getClassId().getId() in HEALERCLASSES):
    return True
  elif ((npc.getVillageMasterRace() == Race.Human) and (currentRace == Race.Human or currentRace == Race.Elf) and npc.getVillageMasterTeachType() == ClassType.Priest and player.getClassId().getId() in ENCHANTERCLASSES and player.isMageClass()):
    return True
  elif (npc.getVillageMasterRace() == Race.DarkElf and currentRace == Race.DarkElf):
    return True
  elif (npc.getVillageMasterRace() == Race.Orc and currentRace == Race.Orc):
    return True
  elif (npc.getVillageMasterRace() == Race.Dwarf and currentRace == Race.Dwarf):
    return True
  elif (npc.getVillageMasterRace() == Race.Kamael and currentRace == Race.Kamael):
    return True
  return False

def getClassIndex(player):
  if player.getClassId().getId() in WARRIORCLASSES:
    return 0
  if player.getClassId().getId() in KNIGHTCLASSES:
    return 1
  if player.getClassId().getId() in ROGUECLASSES:
    return 2
  if player.getClassId().getId() in ENCHANTERCLASSES:
    return 3
  if player.getClassId().getId() in WIZARDCLASSES:
    return 4
  if player.getClassId().getId() in SUMMONERCLASSES:
    return 5
  if player.getClassId().getId() in HEALERCLASSES:
    return 6
  return - 1

def getCertified(player, itemId, var):
  st = player.getQuestState(qn)
  qvar = st.getGlobalQuestVar(var)
  if qvar != "" and qvar != "0" :
    return ""
  item = player.getInventory().addItem("Quest", itemId, 1, player, player.getTarget())
  st.saveGlobalQuestVar(var, str(item.getObjectId()))
  smsg = SystemMessage(SystemMessageId.EARNED_ITEM)
  smsg.addItemName(item)
  player.sendPacket(smsg)
  return

class Quest (JQuest) :

def __init__(self, id, name, descr): JQuest.__init__(self, id, name, descr)

def onAdvEvent (self, event, npc, player) :
   st = player.getQuestState(qn)
   htmltext = event
   if event == "GetCertified":
     if player.isSubClassActive():
       if isCorrectMaster(npc, player):
         if player.getLevel() >= 65:
           return "CertificationList.htm"
         else:
           return "9002-08.htm"
       else:
         return "9002-04.htm"
     else:
       return "9002-03.htm"
   elif event == "Obtain65":
     html = "<html><body>Subclass Skill Certification:<br>You are trying to obtain level %level% certification of %class%, %skilltype%. Remember that once this subclass is certified, it cannot be re-certified -- even if you delete this class and develop another one -- without a special and expensive cancellation process.<br>Do you still want to be certified?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event%\">Obtain certification.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Do not obtain certification.</a></body></html>"
     htmltext = html.replace("%level%", "65").replace("%class%", str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%", "common skill").replace("%event%", "lvl65Emergent")
   elif event == "Obtain70":
     html = "<html><body>Subclass Skill Certification:<br>You are trying to obtain level %level% certification of %class%, %skilltype%. Remember that once this subclass is certified, it cannot be re-certified -- even if you delete this class and develop another one -- without a special and expensive cancellation process.<br>Do you still want to be certified?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event%\">Obtain certification.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Do not obtain certification.</a></body></html>"
     htmltext = html.replace("%level%", "70").replace("%class%", str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%", "common skill").replace("%event%", "lvl70Emergent")
   elif event == "Obtain75":
     html = "<html><body>Subclass Skill Certification:<br>You are trying to obtain level %level% certification of %class%, %skilltype%. Remember that once this subclass is certified, it cannot be re-certified -- even if you delete this class and develop another one -- without a special and expensive cancellation process.<br>Do you still want to be certified?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event1%\">Obtain class specific skill certification.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification %event2%\">Obtain master skill certification.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Do not obtain certification.</a></body></html>"
     htmltext = html.replace("%level%", "75").replace("%class%", str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%", "common skill or special skill").replace("%event1%", "lvl75Class").replace("%event2%", "lvl75Master")
   elif event == "Obtain80":
     html = "<html><body>Subclass Skill Certification:<br>You are trying to obtain level %level% certification of %class%, %skilltype%. Remember that once this subclass is certified, it cannot be re-certified -- even if you delete this class and develop another one -- without a special and expensive cancellation process.<br>Do you still want to be certified?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event%\">Obtain certification.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Do not obtain certification.</a></body></html>"
     htmltext = html.replace("%level%", "80").replace("%class%", str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%", "transformation skill").replace("%event%", "lvl80Class")
   elif event.startswith("lvl"):
     level = int(event[3:5])
     type = event.replace(event[0:5], "")
     prefix = "-" + str(player.getClassIndex())
     if type == "Emergent":
       isAvailable65 = st.getGlobalQuestVar("EmergentAbility65" + prefix)
       isAvailable70 = st.getGlobalQuestVar("EmergentAbility70" + prefix)
       if event == "lvl65Emergent":
         if isAvailable65 == "" or isAvailable65 == "0":
           if player.getLevel() > 64:
             itemId = COMMONITEM
             var = "EmergentAbility" + str(level) + prefix
             getCertified(player, itemId, var)
             return "9002-07.htm"
           else:
             html = "<html><body>Subclass Skill Certification:<br>You are not yet ready to receive your level %level% certification. Work hard and come back later.</body></html>"
             htmltext = html.replace("%level%", (event[3:5]))
             return htmltext
         else:
           return "9002-06.htm"
       elif event == "lvl70Emergent":
         if isAvailable70 == "" or isAvailable70 == "0":
           if player.getLevel() > 69:
             itemId = COMMONITEM
             var = "EmergentAbility" + str(level) + prefix
             getCertified(player, itemId, var)
             return "9002-07.htm"
           else:
             html = "<html><body>Subclass Skill Certification:<br>You are not yet ready to receive your level %level% certification. Work hard and come back later.</body></html>"
             htmltext = html.replace("%level%", (event[3:5]))
             return htmltext
         else:
           return "9002-06.htm"
     elif type == "Master":
       isAvailable = st.getGlobalQuestVar("ClassAbility75" + prefix)
       if isAvailable == "" or isAvailable == "0":
         if player.getLevel() > 74:
           itemId = ENHANCEDITEM
           var = "ClassAbility" + str(level) + prefix
           getCertified(player, itemId, var)
           return "9002-07.htm"
         else:
           html = "<html><body>Subclass Skill Certification:<br>You are not yet ready to receive your level %level% certification. Work hard and come back later.</body></html>"
           htmltext = html.replace("%level%", (event[3:5]))
           return htmltext
       else:
         return "9002-06.htm"
     elif type == "Class":
       if level == 75:
         isAvailable = st.getGlobalQuestVar("ClassAbility75" + prefix)
         if isAvailable == "" or isAvailable == "0":
           if player.getLevel() > 74:
             itemId = CLASSITEMS[getClassIndex(player)]
             var = "ClassAbility" + str(level) + prefix
             getCertified(player, itemId, var)
             return "9002-07.htm"
           else:
             html = "<html><body>Subclass Skill Certification:<br>You are not yet ready to receive your level %level% certification. Work hard and come back later.</body></html>"
             htmltext = html.replace("%level%", (event[3:5]))
             return htmltext
         else:
           return "9002-06.htm"
       elif level == 80:
         isAvailable = st.getGlobalQuestVar("ClassAbility80" + prefix)
         if isAvailable == "" or isAvailable == "0":
           if player.getLevel() > 79:  
             itemId = TRANSFORMITEMS[getClassIndex(player)]
             var = "ClassAbility" + str(level) + prefix
             getCertified(player, itemId, var)
             return "9002-07.htm"
           else:
             html = "<html><body>Subclass Skill Certification:<br>You are not yet ready to receive your level %level% certification. Work hard and come back later.</body></html>"
             htmltext = html.replace("%level%", (event[3:5]))
             return htmltext
         else:
           return "9002-06.htm"
   return htmltext

def onTalk (Self, npc, player):
   st = player.getQuestState(qn)
   npcId = npc.getNpcId()
   if npcId in NPC:
     st.set("cond", "0")
     st.setState(State.STARTED)
     return "9002-01.htm"

QUEST = Quest(-1, qn, "village_master")

for item in NPC:
   QUEST.addStartNpc(item)
   QUEST.addTalkId(item)
в этом файле искать ?
[Изображение: guru.gif]
Ответ
#8
itemId = TRANSFORMITEMS[getClassIndex(player)]
вот 201 строка.
как понимаю недаёт итем
Ответ
#9
да не дает книгу
[Изображение: guru.gif]
Ответ
#10
[Red Dragon];86510 Написал:да не дает книгу

ну вот ошибка на лицо)
itemId = TRANSFORMITEMS[getClassIndex(player)]
ковыряй тут) что именно незнаю)
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Что за ошибка? serg5777 22 9,173 07-11-2023, 09:49 PM
Последний пост: ntking
  Ошибка Cannot read field "race" valdemart123 0 1,074 12-04-2021, 04:44 AM
Последний пост: valdemart123
  При запуске game server на сайте (sw13) ошибка mysql 0 AndreDeiu 1 1,357 09-27-2020, 11:32 PM
Последний пост: Lord_Gothic
  По умолчанию Нужна помощь с класс мастером! Mor9k400 3 1,677 09-04-2018, 08:14 PM
Последний пост: Mor9k400
  Ошибка геймсервера zane 9 2,589 04-27-2018, 12:28 PM
Последний пост: DmnC
  Ошибка загрузки гейм сервера zane 5 2,051 04-17-2018, 08:03 PM
Последний пост: zane
  Ошибка телепорта Rork 1 1,290 03-02-2018, 03:05 PM
Последний пост: Gaikotsu
  Ошибка с ГМ шопом silok 1 1,330 01-11-2018, 07:36 AM
Последний пост: Narsell
  Ошибка PWSOFT Ananim 0 1,386 07-07-2017, 11:42 AM
Последний пост: Ananim
  Ошибка _aveList; knaif 1 1,415 06-22-2017, 03:07 PM
Последний пост: Trimius

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)