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

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 16.07.2015, 15:48   #1
Пользователь

Автор темы (Топик Стартер) Проблема с скриптом

Есть скрипт-квест на добычу ресурсов. Поменял импорты, все прописал на уровне сборки. В гс пишет failed to import custom: 9990_CraftSystem
Сборка пфсофт. Квест такой был на Ла2Ониксе (не реклама). Если есть у кого рабочий, буду очень благодарен.

[spoiler]
# Made by disKret
import sys
from net.sf.l2j import System
from net.sf.l2j.util.random import Rnd
from net.sf.l2j.gameserver.model import Inventory
from net.sf.l2j.gameserver.model.actor.instance import L2ItemInstance
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 = "9990_CraftSystem"

#NPC
NPC_ID = 30086

#QUEST ITEM
PACKAGE = 7263

ONE_TYPE_WEAPON = [1, 2, 3, 4]
ONE_TYPE_DROP_ID = [4037, 57, 4356, 4357, 6673]
ONE_TYPE_DROP_COUNT = 1
ONE_TYPE_DROP_CHANCE = 100
ONE_MOB_ID = [18342, 18341, 18343, 18330, 18331]

TWO_TYPE_WEAPON = [1, 2, 3, 4]
TWO_TYPE_DROP_ID = [1, 2, 3, 4, 5]
TWO_TYPE_DROP_COUNT = 1
TWO_TYPE_DROP_CHANCE = 100
TWO_MOB_ID = [111, 111, 111, 111, 111]

THREE_TYPE_WEAPON = [1, 2, 3, 4]
THREE_TYPE_DROP_ID = [1, 2, 3, 4, 5]
THREE_TYPE_DROP_COUNT = 1
THREE_TYPE_DROP_CHANCE = 100
THREE_MOB_ID = [111, 111, 111, 111, 111]

FO_TYPE_WEAPON = [1, 2, 3, 4]
FO_TYPE_DROP_ID = [1, 2, 3, 4, 5]
FO_TYPE_DROP_COUNT = 1
FO_TYPE_DROP_CHANCE = 100
FO_MOB_ID = [111, 111, 111, 111, 111]

FIVE_TYPE_WEAPON = [1, 2, 3, 4]
FIVE_TYPE_DROP_ID = [1, 2, 3, 4, 5]
FIVE_TYPE_DROP_COUNT = 1
FIVE_TYPE_DROP_CHANCE = 100
FIVE_MOB_ID = [111, 111, 111, 111, 111]


print "Up drop quest ACTIVE"

class Quest (JQuest) :

def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.questItemIds = [PACKAGE]

def onTalk (self,npc,player):
htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
st = player.getQuestState(qn)
if not st : return
st.setState(State('Started', QUEST))
return

def onAttack (self, npc, player, damage, isPet):
st = player.getQuestState(qn)
if not st : return
player = st.getPlayer()
npcId = npc.getNpcId()
if player.getInventory().getPaperdollItem(Inventory.P APERDOLL_LRHAND) != None:
type = player.getInventory().getPaperdollItem(Inventory.P APERDOLL_LRHAND)
elif player.getInventory().getPaperdollItem(Inventory.P APERDOLL_RHAND) != None:
type = player.getInventory().getPaperdollItem(Inventory.P APERDOLL_RHAND)
else :
return

itemId = type.getItemId()
if itemId in ONE_TYPE_WEAPON and npcId in ONE_MOB_ID:
if itemId == ONE_TYPE_WEAPON[0] :
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[0], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[1], ONE_TYPE_DROP_COUNT)
elif itemId == ONE_TYPE_WEAPON[1] :
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[0], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[1], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[2], ONE_TYPE_DROP_COUNT)
elif itemId == ONE_TYPE_WEAPON[2] :
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[0], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[1], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[2], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[3], ONE_TYPE_DROP_COUNT)
elif itemId == ONE_TYPE_WEAPON[3] :
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[0], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[1], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[2], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[3], ONE_TYPE_DROP_COUNT)
if ONE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(ONE_TYPE_DROP_ID[4], ONE_TYPE_DROP_COUNT)
elif itemId in TWO_TYPE_WEAPON and npcId in TWO_MOB_ID:
if itemId == TWO_TYPE_WEAPON[0] :
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[0], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[1], TWO_TYPE_DROP_COUNT)
elif itemId == TWO_TYPE_WEAPON[1] :
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[0], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[1], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[2], TWO_TYPE_DROP_COUNT)
elif itemId == TWO_TYPE_WEAPON[2] :
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[0], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[1], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[2], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[3], TWO_TYPE_DROP_COUNT)
elif itemId == TWO_TYPE_WEAPON[3] :
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[0], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[1], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[2], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[3], TWO_TYPE_DROP_COUNT)
if TWO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(TWO_TYPE_WEAPON[4], TWO_TYPE_DROP_COUNT)
elif itemId in THREE_TYPE_WEAPON and npcId in THREE_MOB_ID:
if itemId == THREE_TYPE_WEAPON[0] :
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[0], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[1], THREE_TYPE_DROP_COUNT)
elif itemId == THREE_TYPE_WEAPON[1] :
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[0], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[1], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[2], THREE_TYPE_DROP_COUNT)
elif itemId == THREE_TYPE_WEAPON[2] :
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[0], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[1], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[2], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[3], THREE_TYPE_DROP_COUNT)
elif itemId == THREE_TYPE_WEAPON[3] :
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[0], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[1], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[2], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[3], THREE_TYPE_DROP_COUNT)
if THREE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(THREE_TYPE_WEAPON[4], THREE_TYPE_DROP_COUNT)
elif itemId in FO_TYPE_WEAPON and npcId in FO_MOB_ID:
if itemId == FO_TYPE_WEAPON[0] :
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[0], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[1], FO_TYPE_DROP_COUNT)
elif itemId == FO_TYPE_WEAPON[1] :
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[0], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[1], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[2], FO_TYPE_DROP_COUNT)
elif itemId == FO_TYPE_WEAPON[2] :
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[0], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[1], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[2], FO_TYPE_DROP_COUNT) if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[2], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[3], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[4], FO_TYPE_DROP_COUNT)
elif itemId in FIVE_TYPE_WEAPON and npcId in FIVE_MOB_ID:
if itemId == FIVE_TYPE_WEAPON[0] :
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[0], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[1], FIVE_TYPE_DROP_COUNT)
elif itemId == FIVE_TYPE_WEAPON[1] :

if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[3], FO_TYPE_DROP_COUNT)
elif itemId == FO_TYPE_WEAPON[3] :
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[0], FO_TYPE_DROP_COUNT)
if FO_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FO_TYPE_WEAPON[1], FO_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[0], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[1], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[2], FIVE_TYPE_DROP_COUNT)
elif itemId == FIVE_TYPE_WEAPON[2] :
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[0], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[1], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[2], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[3], FIVE_TYPE_DROP_COUNT)
elif itemId == FIVE_TYPE_WEAPON[3] :
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[0], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[1], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[2], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[3], FIVE_TYPE_DROP_COUNT)
if FIVE_TYPE_DROP_CHANCE > Rnd.get(1, 100):
st.giveItems(FIVE_TYPE_WEAPON[4], FIVE_TYPE_DROP_COUNT)
else :
return

return


QUEST = Quest(9990, qn, "Craft System")

for i in ONE_MOB_ID :
QUEST.addAttackId(i)
for i in TWO_MOB_ID :
QUEST.addAttackId(i)
for i in THREE_MOB_ID :
QUEST.addAttackId(i)
for i in FO_MOB_ID :
QUEST.addAttackId(i)
for i in FIVE_MOB_ID :
QUEST.addAttackId(i)

QUEST.addStartNpc(NPC_ID)
QUEST.addTalkId(NPC_ID)
[/spoiler]
ownedbyhard вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с регистрацией в DB. Dmitry Lineage II 3 17.10.2010 10:04
Проблема со скриптом l2top IceTony Движки сайтов (CMS) 0 16.05.2010 12:20
Проблема с GS Registering Tool! maskit Lineage II 2 12.07.2009 22:56
Проблема с командами GMa Qvada Lineage II 1 09.02.2009 09:38
Бонус голосование, проблема со скриптом. L2J Server KeMnS Lineage II 2 24.06.2008 22:17


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

Вверх