Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Помогите с квестом нубо-фарм зона(путон)
#1
http://rghost.ru/31219871 сам эвент
Суть эвента:В Антарас Лаир можно фармить указаных мобов,если есть в инвентаре запрещенные вещи указаные в скрипте,при ударе даётся карма и телепортируют из зоны, с ними не телепортируют в фарм зону(пример 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)
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Помогите с Сервером L2Dream версии 439 для Lineage 2 Gracia Part 2 CAHTEX 4 3,379 10-01-2021, 02:40 PM
Последний пост: tenor
  Помогите выбрать! denisgreen11 3 1,404 09-25-2021, 05:13 PM
Последний пост: zmeylsdn
  Помогите. IIpu3pak 2 1,364 05-10-2021, 12:43 PM
Последний пост: Lord_Gothic
  Помогите voland3 8 5,312 01-30-2021, 10:54 AM
Последний пост: han
  Уважаемые Гуру помогите ! Klvl 46 11,237 06-20-2020, 08:02 PM
Последний пост: Klvl
  Ребята помогите с настройкой сервера la2 Heon 11 2,833 04-15-2020, 10:36 PM
Последний пост: Shady
  Помогите с ошибкой ГС при запуске pustota312 1 1,297 04-15-2020, 11:27 AM
Последний пост: Tiger7th
  помогите понять в чем дело. nexami 1 1,804 11-14-2019, 01:30 AM
Последний пост: nexami
  Помогите с сервером не могу запустить Lalak 4 3,027 10-13-2018, 10:23 PM
Последний пост: Kampina
  Ребята помогите с ошибкой умоляю) Lackyjack 2 1,681 04-19-2018, 12:52 PM
Последний пост: Daan Raven

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


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