11-20-2011, 02:32 PM
http://rghost.ru/31219871 сам эвент
Суть эвента:В Антарас Лаир можно фармить указаных мобов,если есть в инвентаре запрещенные вещи указаные в скрипте,при ударе даётся карма и телепортируют из зоны, с ними не телепортируют в фарм зону(пример id 889- s грейд кольцо).
Нужно сделать наоборот,не запрещённые вещи,а разрешённые.
Проверял на ИТ работает.
Суть эвента:В Антарас Лаир можно фармить указаных мобов,если есть в инвентаре запрещенные вещи указаные в скрипте,при ударе даётся карма и телепортируют из зоны, с ними не телепортируют в фарм зону(пример id 889- s грейд кольцо).
Нужно сделать наоборот,не запрещённые вещи,а разрешённые.
Проверял на ИТ работает.
Код:
# -*- coding: cp1251 -*-
import sys
from com.l2scoria import Config
from com.l2scoria.gameserver.model.quest import State
from com.l2scoria.gameserver.model.quest import QuestState
from com.l2scoria.gameserver.model.quest.jython import QuestJython as JQuest
qn = "50000_NewbieZone"
#НПЦ Старт квеста - указан ИД в строке.
Starter = 70012
#Приз за успешное убийство монстра.указать ИД.
ItemID = 57
#Количество вещей дающихся за успешное убийство монстра. Указать количество - Внимание, не указывайте слишком высокие цифры если дело идет о вещах которые не складываются в одну ячейку, это может повредить серверу!
Item_AMOUNT = 1
#IУкажите ИД вещей запрещенных на вход в евент.
#Пример указывания ИД запрещенных вещей:
# RI = [ ID, ID2, ID3...]
class Quest (JQuest):
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onKill (self,npc,player,isPet):
npcId = npc.getNpcId()
st = player.getQuestState(qn)
if npc.getNpcId() in [Monsters] :
#Выставляем ИД вещей которые НЕЛЬЗЯ использовать на квесте.
if st.getQuestItemsCount(9300) >= 1 or st.getQuestItemsCount(9302) >= 1 or st.getQuestItemsCount(9304) >= 1 or st.getQuestItemsCount(9306) >= 1 or st.getQuestItemsCount(9561) >= 1 or st.getQuestItemsCount(9562) >= 1 or st.getQuestItemsCount(9563) >= 1 or st.getQuestItemsCount(9564) >= 1 or st.getQuestItemsCount(9565) >= 1 or st.getQuestItemsCount(9566) >= 1 or st.getQuestItemsCount(9567) >= 1 or st.getQuestItemsCount(9568) >= 1 or st.getQuestItemsCount(9569) >= 1 or st.getQuestItemsCount(9570) >= 1 or st.getQuestItemsCount(9571) >= 1 or st.getQuestItemsCount(9572) >= 1 or st.getQuestItemsCount(9573) >= 1 or st.getQuestItemsCount(9574) >= 1 or st.getQuestItemsCount(9575) >= 1 or st.getQuestItemsCount(9576) >= 1 or st.getQuestItemsCount(9577) >= 1 or st.getQuestItemsCount(9578) >= 1 or st.getQuestItemsCount(9579) >= 1 or st.getQuestItemsCount(9580) >= 1 or st.getQuestItemsCount(9581) >= 1 or st.getQuestItemsCount(9582) >= 1 or st.getQuestItemsCount(9583) >= 1 or st.getQuestItemsCount(9584) >= 1 or st.getQuestItemsCount(9585) >= 1 or st.getQuestItemsCount(9586) >= 1 or st.getQuestItemsCount(9587) >= 1 or st.getQuestItemsCount(9588) >= 1 or st.getQuestItemsCount(9589) >= 1 or st.getQuestItemsCount(9590) >= 1 or st.getQuestItemsCount(9591) >= 1 or st.getQuestItemsCount(9592) >= 1 or st.getQuestItemsCount(9593) >= 1 or st.getQuestItemsCount(9594) >= 1 or st.getQuestItemsCount(9595) >= 1 or st.getQuestItemsCount(9596) >= 1 or st.getQuestItemsCount(9310) >= 1 or st.getQuestItemsCount(9311) >= 1 or st.getQuestItemsCount(9312) >= 1 or st.getQuestItemsCount(9313) >= 1 or st.getQuestItemsCount(9314) >= 1 or st.getQuestItemsCount(9315) >= 1 or st.getQuestItemsCount(9316) >= 1 or st.getQuestItemsCount(9317) >= 1 or st.getQuestItemsCount(9318) >= 1 or st.getQuestItemsCount(9319) >= 1 or st.getQuestItemsCount(9320) >= 1 or st.getQuestItemsCount(9321) >= 1 or st.getQuestItemsCount(9322) >= 1 or st.getQuestItemsCount(9323) >= 1 or st.getQuestItemsCount(9324) >= 1 or st.getQuestItemsCount(858) >= 1 or st.getQuestItemsCount(889) >= 1 or st.getQuestItemsCount(920) >= 1 or st.getQuestItemsCount(9713) >= 1 or st.getQuestItemsCount(9714) >= 1 or st.getQuestItemsCount(9715) >= 1 or st.getQuestItemsCount(9716) >= 1 or st.getQuestItemsCount(9717) >= 1 or st.getQuestItemsCount(9718) >= 1 or st.getQuestItemsCount(9719) >= 1 or st.getQuestItemsCount(9720) >= 1 or st.getQuestItemsCount(9721) >= 1 or st.getQuestItemsCount(9722) >= 1 or st.getQuestItemsCount(9723) >= 1 or st.getQuestItemsCount(9724) >= 1 or st.getQuestItemsCount(9725) >= 1 or st.getQuestItemsCount(9790) >= 1 or st.getQuestItemsCount(9791) >= 1 or st.getQuestItemsCount(9792) >= 1 or st.getQuestItemsCount(9793) >= 1 or st.getQuestItemsCount(9794) >= 1 or st.getQuestItemsCount(9795) >= 1 or st.getQuestItemsCount(9796) >= 1 or st.getQuestItemsCount(9797) >= 1 or st.getQuestItemsCount(9798) >= 1 or st.getQuestItemsCount(9799) >= 1 or st.getQuestItemsCount(9710) >= 1 or st.getQuestItemsCount(9711) >= 1 or st.getQuestItemsCount(9712) >= 1 or st.getQuestItemsCount(9800) >= 1 or st.getQuestItemsCount(9801) >= 1 or st.getQuestItemsCount(9802) >= 1 or st.getQuestItemsCount(2491) >= 1 or st.getQuestItemsCount(54) >= 1 or st.getQuestItemsCount(9338) >= 1 or st.getQuestItemsCount(9339) >= 1 or st.getQuestItemsCount(7059) >= 1 or st.getQuestItemsCount(9300) >= 1 or st.getQuestItemsCount(9302) >= 1 or st.getQuestItemsCount(9304) >= 1 or st.getQuestItemsCount(9306) >= 1 or st.getQuestItemsCount(9308) >= 1 or st.getQuestItemsCount(9350) >= 1:
return
else:
st.giveItems(ItemID,Item_AMOUNT)
else :
return
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.by Xenos_xp</body></html>"
st = player.getQuestState(qn)
if st:
npcId = npc.getNpcId()
id = st.getState()
cond = st.getInt("cond")
#Выставляем ИД вещей которые НЕЛЬЗЯ использовать на квесте.
if st.getQuestItemsCount(9300) >= 1 or st.getQuestItemsCount(9302) >= 1 or st.getQuestItemsCount(9304) >= 1 or st.getQuestItemsCount(9306) >= 1 or st.getQuestItemsCount(9561) >= 1 or st.getQuestItemsCount(9562) >= 1 or st.getQuestItemsCount(9563) >= 1 or st.getQuestItemsCount(9564) >= 1 or st.getQuestItemsCount(9565) >= 1 or st.getQuestItemsCount(9566) >= 1 or st.getQuestItemsCount(9567) >= 1 or st.getQuestItemsCount(9568) >= 1 or st.getQuestItemsCount(9569) >= 1 or st.getQuestItemsCount(9570) >= 1 or st.getQuestItemsCount(9571) >= 1 or st.getQuestItemsCount(9572) >= 1 or st.getQuestItemsCount(9573) >= 1 or st.getQuestItemsCount(9574) >= 1 or st.getQuestItemsCount(9575) >= 1 or st.getQuestItemsCount(9576) >= 1 or st.getQuestItemsCount(9577) >= 1 or st.getQuestItemsCount(9578) >= 1 or st.getQuestItemsCount(9579) >= 1 or st.getQuestItemsCount(9580) >= 1 or st.getQuestItemsCount(9581) >= 1 or st.getQuestItemsCount(9582) >= 1 or st.getQuestItemsCount(9583) >= 1 or st.getQuestItemsCount(9584) >= 1 or st.getQuestItemsCount(9585) >= 1 or st.getQuestItemsCount(9586) >= 1 or st.getQuestItemsCount(9587) >= 1 or st.getQuestItemsCount(9588) >= 1 or st.getQuestItemsCount(9589) >= 1 or st.getQuestItemsCount(9590) >= 1 or st.getQuestItemsCount(9591) >= 1 or st.getQuestItemsCount(9592) >= 1 or st.getQuestItemsCount(9593) >= 1 or st.getQuestItemsCount(9594) >= 1 or st.getQuestItemsCount(9595) >= 1 or st.getQuestItemsCount(9596) >= 1 or st.getQuestItemsCount(9310) >= 1 or st.getQuestItemsCount(9311) >= 1 or st.getQuestItemsCount(9312) >= 1 or st.getQuestItemsCount(9313) >= 1 or st.getQuestItemsCount(9314) >= 1 or st.getQuestItemsCount(9315) >= 1 or st.getQuestItemsCount(9316) >= 1 or st.getQuestItemsCount(9317) >= 1 or st.getQuestItemsCount(9318) >= 1 or st.getQuestItemsCount(9319) >= 1 or st.getQuestItemsCount(9320) >= 1 or st.getQuestItemsCount(9321) >= 1 or st.getQuestItemsCount(9322) >= 1 or st.getQuestItemsCount(9323) >= 1 or st.getQuestItemsCount(9324) >= 1 or st.getQuestItemsCount(858) >= 1 or st.getQuestItemsCount(889) >= 1 or st.getQuestItemsCount(920) >= 1 or st.getQuestItemsCount(9713) >= 1 or st.getQuestItemsCount(9714) >= 1 or st.getQuestItemsCount(9715) >= 1 or st.getQuestItemsCount(9716) >= 1 or st.getQuestItemsCount(9717) >= 1 or st.getQuestItemsCount(9718) >= 1 or st.getQuestItemsCount(9719) >= 1 or st.getQuestItemsCount(9720) >= 1 or st.getQuestItemsCount(9721) >= 1 or st.getQuestItemsCount(9722) >= 1 or st.getQuestItemsCount(9723) >= 1 or st.getQuestItemsCount(9724) >= 1 or st.getQuestItemsCount(9725) >= 1 or st.getQuestItemsCount(9790) >= 1 or st.getQuestItemsCount(9791) >= 1 or st.getQuestItemsCount(9792) >= 1 or st.getQuestItemsCount(9793) >= 1 or st.getQuestItemsCount(9794) >= 1 or st.getQuestItemsCount(9795) >= 1 or st.getQuestItemsCount(9796) >= 1 or st.getQuestItemsCount(9797) >= 1 or st.getQuestItemsCount(9798) >= 1 or st.getQuestItemsCount(9799) >= 1 or st.getQuestItemsCount(9710) >= 1 or st.getQuestItemsCount(9711) >= 1 or st.getQuestItemsCount(9712) >= 1 or st.getQuestItemsCount(9800) >= 1 or st.getQuestItemsCount(9801) >= 1 or st.getQuestItemsCount(9802) >= 1 or st.getQuestItemsCount(2491) >= 1 or st.getQuestItemsCount(54) >= 1 or st.getQuestItemsCount(9338) >= 1 or st.getQuestItemsCount(9339) >= 1 or st.getQuestItemsCount(7059) >= 1 or st.getQuestItemsCount(9300) >= 1 or st.getQuestItemsCount(9302) >= 1 or st.getQuestItemsCount(9304) >= 1 or st.getQuestItemsCount(9306) >= 1 or st.getQuestItemsCount(9308) >= 1 or st.getQuestItemsCount(9350) >= 1:
#Введите хтмл файл который будет отображать что требования для входа в евент не подходящие.
htmltext = "2.htm"
else :
#Введите координаты х,у,z на зону телепорта, координаты можно узнать из игры командой /loc
st.getPlayer().teleToLocation(154336,121232,-3809)
#Текст который будет появляться после успешного телепорта в локацию.
htmltext = "3.htm"
return htmltext
def onAttack (self,npc,player,damage,isPet):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
#Выставляем ИД моба который будет участвовать в евенте, нет зависимости от конфигов.
if npcId == 21089:
if st.getQuestItemsCount(9300) >= 1 or st.getQuestItemsCount(9302) >= 1 or st.getQuestItemsCount(9304) >= 1 or st.getQuestItemsCount(9306) >= 1 or st.getQuestItemsCount(9561) >= 1 or st.getQuestItemsCount(9562) >= 1 or st.getQuestItemsCount(9563) >= 1 or st.getQuestItemsCount(9564) >= 1 or st.getQuestItemsCount(9565) >= 1 or st.getQuestItemsCount(9566) >= 1 or st.getQuestItemsCount(9567) >= 1 or st.getQuestItemsCount(9568) >= 1 or st.getQuestItemsCount(9569) >= 1 or st.getQuestItemsCount(9570) >= 1 or st.getQuestItemsCount(9571) >= 1 or st.getQuestItemsCount(9572) >= 1 or st.getQuestItemsCount(9573) >= 1 or st.getQuestItemsCount(9574) >= 1 or st.getQuestItemsCount(9575) >= 1 or st.getQuestItemsCount(9576) >= 1 or st.getQuestItemsCount(9577) >= 1 or st.getQuestItemsCount(9578) >= 1 or st.getQuestItemsCount(9579) >= 1 or st.getQuestItemsCount(9580) >= 1 or st.getQuestItemsCount(9581) >= 1 or st.getQuestItemsCount(9582) >= 1 or st.getQuestItemsCount(9583) >= 1 or st.getQuestItemsCount(9584) >= 1 or st.getQuestItemsCount(9585) >= 1 or st.getQuestItemsCount(9586) >= 1 or st.getQuestItemsCount(9587) >= 1 or st.getQuestItemsCount(9588) >= 1 or st.getQuestItemsCount(9589) >= 1 or st.getQuestItemsCount(9590) >= 1 or st.getQuestItemsCount(9591) >= 1 or st.getQuestItemsCount(9592) >= 1 or st.getQuestItemsCount(9593) >= 1 or st.getQuestItemsCount(9594) >= 1 or st.getQuestItemsCount(9595) >= 1 or st.getQuestItemsCount(9596) >= 1 or st.getQuestItemsCount(9310) >= 1 or st.getQuestItemsCount(9311) >= 1 or st.getQuestItemsCount(9312) >= 1 or st.getQuestItemsCount(9313) >= 1 or st.getQuestItemsCount(9314) >= 1 or st.getQuestItemsCount(9315) >= 1 or st.getQuestItemsCount(9316) >= 1 or st.getQuestItemsCount(9317) >= 1 or st.getQuestItemsCount(9318) >= 1 or st.getQuestItemsCount(9319) >= 1 or st.getQuestItemsCount(9320) >= 1 or st.getQuestItemsCount(9321) >= 1 or st.getQuestItemsCount(9322) >= 1 or st.getQuestItemsCount(9323) >= 1 or st.getQuestItemsCount(9324) >= 1 or st.getQuestItemsCount(858) >= 1 or st.getQuestItemsCount(889) >= 1 or st.getQuestItemsCount(920) >= 1 or st.getQuestItemsCount(9713) >= 1 or st.getQuestItemsCount(9714) >= 1 or st.getQuestItemsCount(9715) >= 1 or st.getQuestItemsCount(9716) >= 1 or st.getQuestItemsCount(9717) >= 1 or st.getQuestItemsCount(9718) >= 1 or st.getQuestItemsCount(9719) >= 1 or st.getQuestItemsCount(9720) >= 1 or st.getQuestItemsCount(9721) >= 1 or st.getQuestItemsCount(9722) >= 1 or st.getQuestItemsCount(9723) >= 1 or st.getQuestItemsCount(9724) >= 1 or st.getQuestItemsCount(9725) >= 1 or st.getQuestItemsCount(9790) >= 1 or st.getQuestItemsCount(9791) >= 1 or st.getQuestItemsCount(9792) >= 1 or st.getQuestItemsCount(9793) >= 1 or st.getQuestItemsCount(9794) >= 1 or st.getQuestItemsCount(9795) >= 1 or st.getQuestItemsCount(9796) >= 1 or st.getQuestItemsCount(9797) >= 1 or st.getQuestItemsCount(9798) >= 1 or st.getQuestItemsCount(9799) >= 1 or st.getQuestItemsCount(9710) >= 1 or st.getQuestItemsCount(9711) >= 1 or st.getQuestItemsCount(9712) >= 1 or st.getQuestItemsCount(9800) >= 1 or st.getQuestItemsCount(9801) >= 1 or st.getQuestItemsCount(9802) >= 1 or st.getQuestItemsCount(2491) >= 1 or st.getQuestItemsCount(54) >= 1 or st.getQuestItemsCount(9338) >= 1 or st.getQuestItemsCount(9339) >= 1 or st.getQuestItemsCount(7059) >= 1 or st.getQuestItemsCount(9300) >= 1 or st.getQuestItemsCount(9302) >= 1 or st.getQuestItemsCount(9304) >= 1 or st.getQuestItemsCount(9306) >= 1 or st.getQuestItemsCount(9308) >= 1 or st.getQuestItemsCount(9350) >= 1:
#Введите координаты х,у,z на которых будет перемещаться игрок, если он пробует бить монстра с не разреженным еквиптом.
st.getPlayer().teleToLocation(17152,170144,-3490)
#Выставляем циферку кармы, которая прибавляется при попытке наебать систему.
st.getPlayer().setKarma(st.getPlayer().getKarma() +500)
return
QUEST = Quest(50000, qn, "NewbieZone")
QUEST.addStartNpc(Starter)
QUEST.addTalkId(Starter)
#Монстры которые участвует в квесте, указать ИД.
#Таблица монстров, пример вноса ИД в таблицу:
#[1234, 33345, 3435]
for Monsters in [21089]:
QUEST.addKillId(Monsters)
QUEST.addAttackId(21089)