Сообщений: 100
Тем: 5
Зарегистрирован: May 2011
Репутация:
208
Доброго времени суток, подскажите пожалуйста как изменить скрипт чтобы нпц при спавне в чат писал фразу
0
import sys
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jfrozen.gameserver.network.serverpackets import CreatureSay
from com.l2jfrozen.util.random import Rnd
# timak_orc_overlord
class timak_orc_overlord(JQuest) :
# init function. Add in here variables that you'd like to be inherited by subclasses (if any)
def __init__(self,id,name,descr):
self.timak_orc_overlord = 20588
self.FirstAttacked = False
# finally, don't forget to call the parent constructor to prepare the event triggering
# mechanisms etc.
JQuest.__init__(self,id,name,descr)
def onAttack (self,npc,player,damage,isPet):
objId=npc.getObjectId()
if self.FirstAttacked:
if Rnd.get(50) : return
npc.broadcastPacket(CreatureSay(objId,0,npc.getName(),"Dear ultimate power!!!"))
else :
self.FirstAttacked = True
return
def onKill (self,npc,player,isPet):
npcId = npc.getNpcId()
if npcId == self.timak_orc_overlord:
objId=npc.getObjectId()
self.FirstAttacked = False
elif self.FirstAttacked :
self.addSpawn(npcId,npc.getX(), npc.getY(), npc.getZ(),npc.getHeading(),True,0)
return
QUEST = timak_orc_overlord(-1,"timak_orc_overlord","ai")
CREATED = State('Start', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addKillId(QUEST.timak_orc_overlord)
QUEST.addAttackId(QUEST.timak_orc_overlord)
Пробывал вместо "def onAttack (self,npc,player,damage,isPet):" ставить onSpawn - не получается
сборка l2jfrozen - интерлюдия
Заранее спасибо.
Сообщений: 438
Тем: 4
Зарегистрирован: Apr 2011
Репутация:
839
потому что к-во параметров в onSpawn onAttack разное
ищите скрипты где есть метод onSpawn, скопируйте его сигнатуру, потом пропишите, что вы там хотите сделать
Сообщений: 100
Тем: 5
Зарегистрирован: May 2011
Репутация:
208
Спасибо за информацию, попробую из квеста на 3 профу (где 700 мобов надо убить) взять скрипт, там кажется при спавне моб что то кричит в чат.
Сообщений: 5,670
Тем: 145
Зарегистрирован: Nov 2008
Репутация:
33,771
Пример:
Код: addSpawnToInstance(SIRRA, new Location(-23832, -8760, -5413, npc.getHeading()), 1, refId);
Functions.npcSay(SIRRA, "You are not the owner of that item.");
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Сообщений: 100
Тем: 5
Зарегистрирован: May 2011
Репутация:
208
Спасибо попробую как нибудь приспособить
Это вроде если скрипт имеет расширение java, хотелось бы еще на питон найти.
Сообщений: 5,670
Тем: 145
Зарегистрирован: Nov 2008
Репутация:
33,771
В твоём скрипте я вижу строку Код: npc.broadcastPacket(CreatureSay(objId,0,npc.getNam e(),"Dear ultimate power!!!"))
Это же вроде разговор в чат. Пробуй ставить после
Код: self.addSpawn(npcId,npc.getX(), npc.getY(), npc.getZ(),npc.getHeading(),True,0)
Могу ошибаться, не знаю питона.
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Сообщений: 100
Тем: 5
Зарегистрирован: May 2011
Репутация:
208
Вроде без ошибок скрипт загрузился, но все таки при спавне моб в чат ничего не пишет, попробую еще поискать скрипты, и на максчитерс темку создам.
Сообщений: 135
Тем: 13
Зарегистрирован: Aug 2010
Репутация:
324
Попробуй сделать
Код: self.broadcastPacket(CreatureSay(objId,0,npc.getName(),"Dear ultimate power!!!"))
Сообщений: 2,303
Тем: 24
Зарегистрирован: Sep 2010
Репутация:
5,617
Что ж вы все к этому джитону липните >_< я у себя его к чертям с пака вырезал и доволен как слон.
Цитата:Пробывал вместо "def onAttack (self,npc,player,damage,isPet):" ставить onSpawn - не получается
Все должно корректно работать при условии, что зарегистрировано событие в квесте.
Код: QUEST.addAttackId(QUEST.timak_orc_overlord)
меняем на
Код: QUEST.addSpawnId(QUEST.timak_orc_overlord)
Сообщений: 100
Тем: 5
Зарегистрирован: May 2011
Репутация:
208
Спасибо за инфу, попробую, надеюсь все получится.
|