Перейти к содержанию
Авторизация  
awstudio

Эвент "Нубская Фарм Зона"

Рекомендуемые сообщения

Доброго времени суток проблема  данным ивентом, а именно телепортация после проверки еквипа персонажа.

В конфигах выставляешь одно, а телепортирует в другое место

 

pre_1461080984__screenshot_1.png

 

А должен 

 

pre_1461081146__screenshot_2.png

 

Не реагирует на конфигурацию в квесте

   #Введите координаты х,у,z на зону телепорта, координаты можно узнать из игры командой /loc
               st.getPlayer().teleToLocation(157000,120376,-2208) 

+ к этому вылетает окно Script Error при ударе моба который указан в конфиге

 

Ивент брал тут

[spoiler='Полный код Ивента']# -*- coding: cp1251 -*-
import sys
from ru.catssoftware import Config
from ru.catssoftware.gameserver.model.quest import State
from ru.catssoftware.gameserver.model.quest import QuestState
from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest

qn = "50000_NewbieZone"
#НПЦ Старт квеста - указан ИД в строке.
Starter = 50030

#Приз за успешное убийство монстра.указать ИД.
ItemID = 9177
#Количество вещей дающихся за успешное убийство монстра. Указать количество - Внимание, не указывайте слишком высокие цифры если дело идет о вещах которые не складываются в одну ячейку, это может повредить серверу!
Item_AMOUNT = 100
#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(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 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(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 1:
#Введите хтмл файл который будет отображать что требования для входа в евент не подходящие.
htmltext = "2.htm"
else :
#Введите координаты х,у,z на зону телепорта, координаты можно узнать из игры командой /loc
st.getPlayer().teleToLocation(157032,120232,-2184)
#Текст который будет появляться после успешного телепорта в локацию.
htmltext = "3.htm"
return htmltext
def onAttack (self,npc,player,damage,isPet):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
#Выставляем ИД моба который будет участвовать в евенте, нет зависимости от конфигов.
if npcId == 38040:
if st.getQuestItemsCount(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 1:
#Введите координаты х,у,z на которых будет перемещаться игрок, если он пробует бить монстра с не разреженным еквиптом.
st.getPlayer().teleToLocation(82713,148620,-3467)
#Выставляем циферку кармы, которая прибавляется при попытке наебать систему.
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 [38040]:
QUEST.addKillId(Monsters)
QUEST.addAttackId(38040)
[/spoiler]

Как исправить это ? 

Изменено пользователем Valhalla

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в методе teleToLocation видать идёт рандомный разброс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в методе teleToLocation видать идёт рандомный разброс.

Не думаю т.к. телепортирует все время в 1 и ту же точку как на 1 скрине

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не думаю т.к. телепортирует все время в 1 и ту же точку как на 1 скрине

посмотри сам метод что туда передаётся и что с координатами происходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

посмотри сам метод что туда передаётся и что с координатами происходит.

А по подробнее 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблему с телепортом решил но, вылазет окошко Script Error. Хотя итемы вадает

 

pre_1461086167__screenshot_3.png

 

 

в логах пишет 

19/04/2016 13:17:58.765, /home/game/data/scripts/quests/50000_NewbieZone/__init__.py Traceback (innermost last):
  (no code object) at line 0
TypeError: onAttack() too many arguments; expected 5 got 6
Изменено пользователем Valhalla

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

onAttack() передаёшь 6 аргументов, а надо 5

Изменено пользователем Evolution

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня там сейчас стоит 5 аргументов но так же выдает ошибку. При чем там не менял ничего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня там сейчас стоит 5 аргументов но так же выдает ошибку. При чем там не менял ничего.

значит 6 надо, ты же сам скинул ошибку TypeError: onAttack() too many arguments; expected 5 got 6

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
def onAttack (self,npc,player,damage,isPet):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
#Выставляем ИД моба который будет участвовать в евенте, нет зависимости от конфигов.
if npcId == 38040:
if st.getQuestItemsCount(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 1:
#Введите координаты х,у,z на которых будет перемещаться игрок, если он пробует бить монстра с не разреженным еквиптом.
st.getPlayer().teleToLocation(82713,148620,-3467)
#Выставляем циферку кармы, которая прибавляется при попытке наебать систему.
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 [38040]:
QUEST.addKillId(Monsters)
QUEST.addAttackId(38040)

И какой тут 6 аргумент нужен? 

Изменено пользователем Valhalla

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
def onAttack (self,npc,player,damage,isPet):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
#Выставляем ИД моба который будет участвовать в евенте, нет зависимости от конфигов.
if npcId == 38040:
if st.getQuestItemsCount(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 1:
#Введите координаты х,у,z на которых будет перемещаться игрок, если он пробует бить монстра с не разреженным еквиптом.
st.getPlayer().teleToLocation(82713,148620,-3467)
#Выставляем циферку кармы, которая прибавляется при попытке наебать систему.
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 [38040]:
QUEST.addKillId(Monsters)
QUEST.addAttackId(38040)

И какой тут 6 аргумент нужен? 

 

Так а в самой сборке поглядеть метод onAttack и что туда должно передаваться религия не позволяет?

 

p.s.

def onAttack (self,npc,player,damage,isPet,skill):
Изменено пользователем mrDuck

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Так а в самой сборке поглядеть метод onAttack и что туда должно передаваться религия не позволяет?

 

p.s.

def onAttack (self,npc,player,damage,isPet,skill):

Смотрел но не нашел т.к. в аналогичных ивентах было только по 5 атрибутов

 

 

Сделал как говорил в логах теперь 

  File "__init__.py", line 29, in onKill
AttributeError: 'NoneType' object has no attribute 'getQuestItemsCount'

До этого такой ошибки не было вообще.

Изменено пользователем Valhalla

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

# -*- coding: cp1251 -*-
import sys
from ru.catssoftware import Config
from ru.catssoftware.gameserver.model.quest import State
from ru.catssoftware.gameserver.model.quest import QuestState
from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest

qn = "50000_NewbieZone"
#НПЦ Старт квеста - указан ИД в строке.
Starter = 50030

#Приз за успешное убийство монстра.указать ИД.
ItemID = 9177
#Количество вещей дающихся за успешное убийство монстра. Указать количество - Внимание, не указывайте слишком высокие цифры если дело идет о вещах которые не складываются в одну ячейку, это может повредить серверу!
Item_AMOUNT = 100
#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(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 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(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 1:
		       #Введите хтмл файл который будет отображать что требования для входа в евент не подходящие.
               htmltext = "2.htm"
           else :
               #Введите координаты х,у,z на зону телепорта, координаты можно узнать из игры командой /loc
               st.getPlayer().teleToLocation(156936,-120312,-2208)
               #Текст который будет появляться после успешного телепорта в локацию.
               htmltext = "3.htm"
        return htmltext
    def onAttack (self,npc,player,damage,isPet,skill):
        st = player.getQuestState(qn)
        npcId = npc.getNpcId()
        #Выставляем ИД моба который будет участвовать в евенте, нет зависимости от конфигов.
        if npcId == 38040:
            if st.getQuestItemsCount(10036) >= 1 or st.getQuestItemsCount(10035) >= 1 or st.getQuestItemsCount(10034) >= 1 or st.getQuestItemsCount(10033) >= 1 or st.getQuestItemsCount(10028) >= 1 or st.getQuestItemsCount(10026) >= 1 or st.getQuestItemsCount(10024) >= 1 or st.getQuestItemsCount(10022) >= 1 or st.getQuestItemsCount(10011) >= 1 or st.getQuestItemsCount(9993) >= 1 or st.getQuestItemsCount(9985) >= 1 or st.getQuestItemsCount(9984) >= 1 or st.getQuestItemsCount(9983) >= 1 or st.getQuestItemsCount(9964) >= 1 or st.getQuestItemsCount(9963) >= 1 or st.getQuestItemsCount(9962) >= 1 or st.getQuestItemsCount(9961) >= 1 or st.getQuestItemsCount(9960) >= 1 or st.getQuestItemsCount(9959) >= 1 or st.getQuestItemsCount(9958) >= 1 or st.getQuestItemsCount(9957) >= 1 or st.getQuestItemsCount(9956) >= 1 or st.getQuestItemsCount(9955) >= 1 or st.getQuestItemsCount(9954) >= 1 or st.getQuestItemsCount(9953) >= 1 or st.getQuestItemsCount(9952) >= 1 or st.getQuestItemsCount(9951) >= 1 or st.getQuestItemsCount(9950) >= 1 or st.getQuestItemsCount(9900) >= 1 or st.getQuestItemsCount(9754) >= 1 or st.getQuestItemsCount(9753) >= 1 or st.getQuestItemsCount(9752) >= 1 or st.getQuestItemsCount(9751) >= 1 or st.getQuestItemsCount(9750) >= 1 or st.getQuestItemsCount(9749) >= 1 or st.getQuestItemsCount(9748) >= 1 or st.getQuestItemsCount(9747) >= 1 or st.getQuestItemsCount(9746) >= 1 or st.getQuestItemsCount(9745) >= 1 or st.getQuestItemsCount(9744) >= 1 or st.getQuestItemsCount(9743) >= 1 or st.getQuestItemsCount(9742) >= 1 or st.getQuestItemsCount(9741) >= 1 or st.getQuestItemsCount(9740) >= 1 or st.getQuestItemsCount(9657) >= 1 or st.getQuestItemsCount(10010) >= 1 or st.getQuestItemsCount(10009) >= 1 or st.getQuestItemsCount(10008) >= 1 or st.getQuestItemsCount(10007) >= 1 or st.getQuestItemsCount(10006) >= 1 or st.getQuestItemsCount(10005) >= 1 or st.getQuestItemsCount(10004) >= 1 or st.getQuestItemsCount(10003) >= 1 or st.getQuestItemsCount(10002) >= 1 or st.getQuestItemsCount(10001) >= 1 or st.getQuestItemsCount(10000) >= 1 or st.getQuestItemsCount(9685) >= 1 or st.getQuestItemsCount(9526) >= 1 or st.getQuestItemsCount(9525) >= 1 or st.getQuestItemsCount(9524) >= 1 or st.getQuestItemsCount(9523) >= 1 or st.getQuestItemsCount(9522) >= 1 or st.getQuestItemsCount(9521) >= 1 or st.getQuestItemsCount(9520) >= 1 or st.getQuestItemsCount(9519) >= 1 or st.getQuestItemsCount(9518) >= 1 or st.getQuestItemsCount(9517) >= 1 or st.getQuestItemsCount(9516) >= 1 or st.getQuestItemsCount(9515) >= 1 or st.getQuestItemsCount(9514) >= 1 or st.getQuestItemsCount(9513) >= 1 or st.getQuestItemsCount(9512) >= 1 or st.getQuestItemsCount(9511) >= 1 or st.getQuestItemsCount(9510) >= 1 or st.getQuestItemsCount(9509) >= 1 or st.getQuestItemsCount(9508) >= 1 or st.getQuestItemsCount(9507) >= 1 or st.getQuestItemsCount(9506) >= 1 or st.getQuestItemsCount(9505) >= 1 or st.getQuestItemsCount(9504) >= 1 or st.getQuestItemsCount(9503) >= 1 or st.getQuestItemsCount(9502) >= 1 or st.getQuestItemsCount(9501) >= 1 or st.getQuestItemsCount(9500) >= 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 [38040]:
    QUEST.addKillId(Monsters)
QUEST.addAttackId(38040)    

Полностью рабочий скрипт

 

 

bypass -h npc_%objectId%_Quest 50000_NewbieZone для кнопки 

Изменено пользователем Valhalla
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Автоматически сформированное сообщение
Тема закрыта модератором.

 

Причина: Решено

 

Если вы не согласны с закрытием темы, то можете обратиться к администратору.

 

С наилучшими пожеланиями
ForumMaxi - Сообщество администраторов онлайн игр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...