Отключение проверки скилов - Страница 3 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Описание темы:Путь

Ответ
Опции темы
Непрочитано 07.09.2010, 20:54   #21
Аватар для dgokill
Пользователь

Автор темы (Топик Стартер) Re: Отключение проверки скилов

Ну это я так понимаю проверка скилов. Но мы же поняли что дело не в этом,а в том что не пишится в базу скил.

DreamTheater так что разобрался с файлом что я дал?
dgokill вне форума Ответить с цитированием
Непрочитано 07.09.2010, 20:58   #22
Аватар для DreamTheater
Пользователь

По умолчанию Re: Отключение проверки скилов

http://forum.zone-game.info/showpost...3&postcount=18
DreamTheater вне форума Отправить сообщение для DreamTheater с помощью ICQ Ответить с цитированием
Непрочитано 07.09.2010, 21:19   #23
Аватар для dgokill
Пользователь

Автор темы (Топик Стартер) Re: Отключение проверки скилов

Извини не заметил. Проверил,вот что за ошибку выдаёт серв:

Код:
C:\server\gameserver\data\scripts\quests\5809_Usweer_NPC_add_skill\__init__.py
Traceback (innermost last):
  File "__init__.py", line 46, in onTalk
TypeError: addSkill(): expected 1-2 args; got 0

        at org.python.core.Py.TypeError(Unknown Source)
        at org.python.core.PyReflectedFunction.throwError(Unknown Source)
        at org.python.core.PyReflectedFunction.throwArgCountError(Unknown Source
)
        at org.python.core.PyReflectedFunction.throwError(Unknown Source)
        at org.python.core.PyReflectedFunction.__call__(Unknown Source)
        at org.python.core.PyMethod.__call__(Unknown Source)
        at org.python.core.PyObject.__call__(Unknown Source)
        at org.python.core.PyInstance.invoke(Unknown Source)
        at org.python.pycode.serializable._pyx1283883634062.onTalk$3(__init__.py
:46)
        at org.python.pycode.serializable._pyx1283883634062.call_function(__init
__.py)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyFunction.__call__(Unknown Source)
        at org.python.core.PyMethod.__call__(Unknown Source)
        at org.python.core.PyObject.__call__(Unknown Source)
        at org.python.core.PyObject._jcallexc(Unknown Source)
        at org.python.core.PyObject._jcall(Unknown Source)
        at org.python.proxies.main$Quest$410.onTalk(Unknown Source)
        at com.l2jserver.gameserver.model.quest.Quest.notifyTalk(Quest.java:447)

        at handlers.bypasshandlers.QuestLink.showQuestWindow(QuestLink.java:172)

        at handlers.bypasshandlers.QuestLink.useBypass(QuestLink.java:59)
        at com.l2jserver.gameserver.model.actor.L2Npc.onBypassFeedback(L2Npc.jav
a:978)
        at com.l2jserver.gameserver.network.clientpackets.RequestBypassToServer.
runImpl(RequestBypassToServer.java:139)
        at com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket.run
(L2GameClientPacket.java:93)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
dgokill вне форума Ответить с цитированием
Непрочитано 07.09.2010, 21:30   #24
Аватар для DreamTheater
Пользователь

По умолчанию Re: Отключение проверки скилов

Ой, сори, пропустил аргумент. Вот так правильно:
Код:
import sys
from net.sf.l2j.gameserver.datatables import SkillTable
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 = "5809_Usweer_NPC_add_skill"

#Айтим для бафа (ID Айтима)
ID_ITEM		= 6673
#Колличество айтимов для бафа
NEED_ITEM	= 1

#Айди скила который будет выдан
ID_SKILL	= 420
#Левел скила который будет выдан
LEVEL_SKILL	= 1

#Минимальные левел который может получать баф
MIN_LVL = 1
#Максимальные левел который может получить баф
MAX_LVL = 80

NPC=[51809]
QuestId     = 5809
QuestName   = "Usweer_NPC_add_skill"
QuestDesc   = "quest"

print "importing quest: 51809: Usweer NPC ---add skill---"

class Quest (JQuest) :

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

	def onTalk (self,npc,player):
		st = player.getQuestState(qn)
		if st.getPlayer().getLevel() < MIN_LVL or st.getPlayer().getLevel() > MAX_LVL :
			return "badlevel.htm"
		elif st.getState() == State.COMPLETED :
			return "skillinyou.htm"
		elif st.getQuestItemsCount(ID_ITEM) < NEED_ITEM :
			return "noitem.htm"
		else:
			st.takeItems(ID_ITEM,NEED_ITEM)
			skill = SkillTable.getInstance().getInfo(ID_SKILL,LEVEL_SKILL)
			st.getPlayer().addSkill(skill)
			st.getPlayer().storeSkill(skill,null,0)
			st.setState(State.COMPLETED)
			return "skilladd.htm"

QUEST       = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)

for npcId in NPC:
 QUEST.addStartNpc(npcId)
 QUEST.addTalkId(npcId)
DreamTheater вне форума Отправить сообщение для DreamTheater с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 07.09.2010, 21:47   #25
Аватар для dgokill
Пользователь

Автор темы (Топик Стартер) Re: Отключение проверки скилов

Выдаёт такую ошибку:

Код:
E:\serv\gameserver\data\scripts\quests\5809_Usweer_NPC_add_skill\__init__.py
Traceback (innermost last):
  File "__init__.py", line 47, in onTalk
NameError: null

        at org.python.core.Py.NameError(Unknown Source)
        at org.python.core.PyFrame.getglobal(Unknown Source)
        at org.python.pycode.serializable._pyx1283885165343.onTalk$3(__init__.py
:47)
        at org.python.pycode.serializable._pyx1283885165343.call_function(__init
__.py)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyTableCode.call(Unknown Source)
        at org.python.core.PyFunction.__call__(Unknown Source)
        at org.python.core.PyMethod.__call__(Unknown Source)
        at org.python.core.PyObject.__call__(Unknown Source)
        at org.python.core.PyObject._jcallexc(Unknown Source)
        at org.python.core.PyObject._jcall(Unknown Source)
        at org.python.proxies.main$Quest$410.onTalk(Unknown Source)
        at com.l2jserver.gameserver.model.quest.Quest.notifyTalk(Quest.java:447)

        at handlers.bypasshandlers.QuestLink.showQuestWindow(QuestLink.java:172)

        at handlers.bypasshandlers.QuestLink.useBypass(QuestLink.java:59)
        at com.l2jserver.gameserver.model.actor.L2Npc.onBypassFeedback(L2Npc.jav
a:978)
        at com.l2jserver.gameserver.network.clientpackets.RequestBypassToServer.
runImpl(RequestBypassToServer.java:139)
        at com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket.run
(L2GameClientPacket.java:93)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

но скил даёт. Правда при перезаходе он всёровно исчезает
dgokill вне форума Ответить с цитированием
Непрочитано 07.09.2010, 21:58   #26
Аватар для DreamTheater
Пользователь

По умолчанию Re: Отключение проверки скилов

Код:
import sys
from net.sf.l2j.gameserver.datatables import SkillTable
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 = "5809_Usweer_NPC_add_skill"

#Айтим для бафа (ID Айтима)
ID_ITEM		= 6673
#Колличество айтимов для бафа
NEED_ITEM	= 1

#Айди скила который будет выдан
ID_SKILL	= 420
#Левел скила который будет выдан
LEVEL_SKILL	= 1

#Минимальные левел который может получать баф
MIN_LVL = 1
#Максимальные левел который может получить баф
MAX_LVL = 80

NPC=[51809]
QuestId     = 5809
QuestName   = "Usweer_NPC_add_skill"
QuestDesc   = "quest"

print "importing quest: 51809: Usweer NPC ---add skill---"

class Quest (JQuest) :

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

	def onTalk (self,npc,player):
		st = player.getQuestState(qn)
		if st.getPlayer().getLevel() < MIN_LVL or st.getPlayer().getLevel() > MAX_LVL :
			return "badlevel.htm"
		elif st.getState() == State.COMPLETED :
			return "skillinyou.htm"
		elif st.getQuestItemsCount(ID_ITEM) < NEED_ITEM :
			return "noitem.htm"
		else:
			st.takeItems(ID_ITEM,NEED_ITEM)
			skill = SkillTable.getInstance().getInfo(ID_SKILL,LEVEL_SKILL)
			st.getPlayer().addSkill(skill)
			st.getPlayer().storeSkill(skill,0,0)
			st.setState(State.COMPLETED)
			return "skilladd.htm"

QUEST       = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)

for npcId in NPC:
 QUEST.addStartNpc(npcId)
 QUEST.addTalkId(npcId)
Не помню я всех тонкостей питона. Пробуйте так.
DreamTheater вне форума Отправить сообщение для DreamTheater с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 07.09.2010, 22:02   #27
Аватар для dgokill
Пользователь

Автор темы (Топик Стартер) Re: Отключение проверки скилов

Не помогает,та же ошибка. А что это за питон?
dgokill вне форума Ответить с цитированием
Непрочитано 07.09.2010, 22:08   #28
Аватар для DreamTheater
Пользователь

По умолчанию Re: Отключение проверки скилов

Цитата:
Сообщение от dgokill Посмотреть сообщение
Не помогает,та же ошибка. А что это за питон?
Расширение *.py ни о чем не говорит? http://ru.wikipedia.org/wiki/Python

Добавлено через 6 минут
Решение кроется в этой строке:

st.getPlayer().storeSkill(skill,0,0)

Второй аргумент, там где сейчас стоит ноль, называется L2Skill oldSkill. Он ставится в том случае если персонаж просто поднимает уровень скилла, в таком случае старый скилл удаляется, а новый записывается. В Вашем случае ничего удалять не надо, так как скилл просто добавляется, следовательно на месте аргумента должен стоять нуль. Значения null и 0 вызывают ошибку, экспериментируйте дальше сами.

Последний раз редактировалось DreamTheater; 07.09.2010 в 22:14. Причина: Добавлено сообщение
DreamTheater вне форума Отправить сообщение для DreamTheater с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 07.09.2010, 22:21   #29
Аватар для dgokill
Пользователь

Автор темы (Топик Стартер) Re: Отключение проверки скилов

Вроде ход мыслей уловил буду пробовать. Не можешь ещё подсказать насчёт продавца точённого оружия,где достать или как сделать?
dgokill вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отключение системы защиты клиента Frost RomanoDi Игровой клиент 22 24.03.2016 12:56
Отключение анимации. lRedl Игровой клиент 1 22.04.2010 15:59
Отключение квеста Navakasi Работа со скриптами 1 24.08.2009 15:44
Отключение от сервера. lukiluk Сервер 6 20.07.2009 05:54
Отключение проверки валидности ключа. otmarozok Документация 2 09.08.2008 17:08


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 00:28. Часовой пояс GMT +3.

Вверх