Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Seven Sign Seal Of The Emperor
#1
Не пускает меня Promise of mammon внутря, говорит не подхожу по мин требованиям..
квест

инстанс

инстанс хмл
инстанснейм хмл
что не так ? :cs:
Бешенство, это не болезнь :di: © Pumo4ka
Ответ
#2
на питоне что ли, ну что ж
вот рабочий квест
Цитата:# by knoxville OpenTeamFree 03.09.2010
# based on Freya PTS

import sys
from l2.universe.gameserver.ai import CtrlIntention
from l2.universe.gameserver.model.quest import State
from l2.universe.gameserver.model.quest import QuestState
from l2.universe.gameserver.model.quest.jython import QuestJython as JQuest
from l2.universe.gameserver.network.serverpackets import NpcSay
from l2.universe.gameserver.network.serverpackets import ExStartScenePlayer

qn = "196_SevenSignSealOfTheEmperor"

# NPCs
HEINE = 30969
MAMMON = 32584
SHUNAIMAN = 32586
SEALDEVICE = 27384
MAGICAN = 32598
WOOD = 32593


# ITEMS
STONE = 13824
WATER = 13808
SWORD = 15310
SEAL = 13846
STAFF = 13809

class PyObject :
pass

class Quest (JQuest) :
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.mammon = 0
self.questItemIds = [STONE, SWORD, WATER, SEAL, STAFF]

def onAdvEvent(self, event, npc, player) :
htmltext = event
st = player.getQuestState(qn)
if not st : return
if event == "30969-05.htm" :
st.set("cond","1")
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
elif event == "32598-02.htm" :
st.giveItems(STAFF, 1)
st.playSound("ItemSound.quest_middle")
elif event == "30969-11.htm" :
st.set("cond","6")
st.playSound("ItemSound.quest_middle")
elif event == "32584-05.htm" :
st.set("cond","2")
st.giveItems(STONE, 1)
st.playSound("ItemSound.quest_middle")
elif event == "32586-06.htm" :
st.set("cond","4")
st.takeItems(STONE, 1)
st.giveItems(SWORD, 1)
st.giveItems(WATER, 1)
st.playSound("ItemSound.quest_middle")
elif event == "32586-12.htm" :
st.set("cond","5")
st.takeItems(SEAL, 4)
st.takeItems(SWORD, 1)
st.takeItems(WATER, 1)
st.takeItems(STAFF, 1)
st.playSound("ItemSound.quest_middle")
elif event == "32593-02.htm" :
st.addExpAndSp(52518015,5817676)
st.unset("cond")
st.setState(State.COMPLETED)
st.exitQuest(False)
st.playSound("ItemSound.quest_finish")
elif event == "30969-06.htm" :
if not self.mammon :
npc = st.addSpawn(MAMMON,60000)
self.mammon = 1
st.startQuestTimer("Despawn_Mammon",60000)
npc.broadcastPacket(NpcSay(npc.getObjectId(),0,npc.getNpcId(),"Who dares summon the Merchant of Mammon?!"))
elif event == "Despawn_Mammon" :
self.mammon = 0
return
return htmltext

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 htmltext
npcId = npc.getNpcId()
cond = st.getInt("cond")
id = st.getState()
if npcId == HEINE :
first = player.getQuestState("_195_SecretRitualOfThePriests")
if first and first.getState() == State.COMPLETED and id == State.CREATED and player.getLevel() >= 79 :
htmltext = "30969-01.htm"
elif cond == 1 :
htmltext = "30969-05.htm"
elif cond == 2 :
htmltext = "30969-08.htm"
st.set("cond", "3")
elif cond == 0 :
htmltext = "30969-00.htm"
st.exitQuest(True)
elif cond == 5 :
htmltext = "30969-09.htm"
elif cond == 6 :
htmltext = "30969-11.htm"
elif npcId == MAMMON :
if cond == 1 :
htmltext = "32584-01.htm"
elif cond == 2 :
htmltext = "32584-05.htm"
elif npcId == SHUNAIMAN :
if cond == 3 :
htmltext = "32586-01.htm"
elif cond == 4 and st.getQuestItemsCount(SEAL)==0 :
htmltext = "32586-07.htm"
elif cond == 4 and st.getQuestItemsCount(SEAL)==4 :
htmltext = "32586-08.htm"
elif cond == 5 :
htmltext = "32586-12.htm"
elif npcId == MAGICAN :
if cond == 4 and st.getQuestItemsCount(STAFF)==0 :
htmltext = "32598-01.htm"
elif cond == 4 and st.getQuestItemsCount(STAFF)==1 :
htmltext = "32598-03.htm"
elif npcId == WOOD :
if cond == 6 :
htmltext = "32593-01.htm"
return htmltext

def onKill(self, npc, player, isPet) :
st = player.getQuestState(qn)
if not st : return
if npc.getNpcId() == SEALDEVICE :
st.giveItems(SEAL, 1)
if st.getQuestItemsCount(SEAL) < 4:
st.playSound("ItemSound.quest_itemget")
else:
st.playSound("ItemSound.quest_middle")
if st.getQuestItemsCount(SEAL)>=4:
player.showQuestMovie(13)
return

QUEST = Quest(196,qn,"Seven Signs Seal Of The Emperor")

QUEST.addStartNpc(HEINE)
QUEST.addTalkId(HEINE)
QUEST.addTalkId(WOOD)
QUEST.addTalkId(MAMMON)
QUEST.addTalkId(MAGICAN)
QUEST.addTalkId(SHUNAIMAN)
QUEST.addKillId(SEALDEVICE)

Цитата:Не пускает меня Promise of mammon внутря, говорит не подхожу по мин требованиям..

а мб и не подходите
Улыбаемся и машем:bye:
Ответ
#3
щас попробую ... я уже около 7-8 квестов перебрал ... и дажва и питон ...
Бешенство, это не болезнь :di: © Pumo4ka
Ответ
#4
Puma1414 Написал:щас попробую ... я уже около 7-8 квестов перебрал ... и дажва и питон ...

да я просто на ваш квест смотрю, он на питоне написан ... норм исходники, в вашем случае (чтобы вырвать что вам надо) использовать команды "инфинити"
Улыбаемся и машем:bye:
Ответ
#5
а можно ещё и скрипт инстанса ?

Добавлено через 1 минуту
в принципе не проблема прикрутить и джаву, главное чтобы работало, я не сторонник джавы или питона) я сторонник работоспособности)
Бешенство, это не болезнь :di: © Pumo4ka
Ответ
#6
Puma1414 Написал:а можно ещё и скрипт инстанса ?

Добавлено через 1 минуту
в принципе не проблема прикрутить и джаву, главное чтобы работало, я не сторонник джавы или питона) я сторонник работоспособности)

[src=java]/*
By knoxville OpenTeamFree 14.09.2010, Based on PTS Freya.
TODO: Lilith and Anakim Attack.
*/
package l2.universe.scripts.instances;

import l2.universe.gameserver.ai.CtrlIntention;
import l2.universe.gameserver.instancemanager.InstanceManager;
import l2.universe.gameserver.instancemanager.InstanceManager.InstanceWorld;
import l2.universe.gameserver.model.L2World;
import l2.universe.gameserver.model.actor.L2Npc;
import l2.universe.gameserver.model.actor.instance.L2DoorInstance;
import l2.universe.gameserver.model.actor.instance.L2PcInstance;
import l2.universe.gameserver.model.quest.Quest;
import l2.universe.gameserver.model.quest.QuestState;
import l2.universe.gameserver.network.SystemMessageId;
import l2.universe.gameserver.network.serverpackets.ExStartScenePlayer;
import l2.universe.gameserver.network.serverpackets.SystemMessage;

public class Disciple extends Quest
{
private class DiSWorld extends InstanceWorld
{
public long[] storeTime = {0,0};
public DiSWorld()
{
}
}

private static final String qn = "Disciple";
private static final int INSTANCEID = 112;

private static final int PROMISE = 32585;
private static final int LEON = 32587;
private static final int DOOR = 17240111;
private static final int GATEKEEPER = 32657;

private class teleCoord {int instanceId; int x; int y; int z;}

private void teleportplayer(L2PcInstance player, teleCoord teleto)
{
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
player.setInstanceId(teleto.instanceId);
player.teleToLocation(teleto.x, teleto.y, teleto.z);
}

protected void exitInstance(L2PcInstance player, teleCoord tele)
{
player.setInstanceId(0);
player.teleToLocation(tele.x, tele.y, tele.z);
}

protected int enterInstance(L2PcInstance player, String template, teleCoord teleto)
{
int instanceId = 0;
InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
if (world != null)
{
if (!(world instanceof DiSWorld))
{
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALREADY_ENTERED_ANOTHER_INSTANCE_CANT_ENTER));
return 0;
}
teleto.instanceId = world.instanceId;
teleportplayer(player,teleto);
return instanceId;
}
else
{
instanceId = InstanceManager.getInstance().createDynamicInstance(template);
world = new DiSWorld();
world.instanceId = instanceId;
world.templateId = INSTANCEID;
world.status = 0;
((DiSWorld)world).storeTime[0] = System.currentTimeMillis();
InstanceManager.getInstance().addWorld(world);
_log.info("Disciple started " + template + " Instance: " + instanceId + " created by player: " + player.getName());
teleto.instanceId = instanceId;
teleportplayer(player,teleto);
world.allowed.add(player.getObjectId());
return instanceId;
}
}
protected void openDoor(int doorId,int instanceId)
{
for (L2DoorInstance door : InstanceManager.getInstance().getInstance(instanceId).getDoors())
{
if (door.getDoorId() == doorId)
door.openMe();
}
}

@Override
public String onTalk ( L2Npc npc, L2PcInstance player)
{
QuestState st = player.getQuestState(qn);
if (st == null)
st = newQuestState(player);

switch (npc.getNpcId())
{
case PROMISE:
teleCoord tele = new teleCoord();
tele.x = -89559;
tele.y = 216030;
tele.z = -7488;
enterInstance(player, "Disciple.xml", tele);
break;
case LEON:
InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
world.allowed.remove(world.allowed.indexOf(player.getObjectId()));
tele = new teleCoord();
tele.instanceId = 0;
tele.x = 171782;
tele.y = -17612;
tele.z = -4901;
exitInstance(player,tele);
break;
case GATEKEEPER:
final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId());
if (tmpworld instanceof DiSWorld)
{
world = (DiSWorld) tmpworld;
openDoor(DOOR,world.instanceId);
for (int objId : world.allowed)
{
final L2PcInstance pl = L2World.getInstance().getPlayer(objId);
if (pl != null)
pl.showQuestMovie(ExStartScenePlayer.SSQ_SEALING_EMPEROR_1ST);
}
}
break;
}

return "";
}

public Disciple(int questId, String name, String descr)
{
super(questId, name, descr);

addStartNpc(PROMISE);
addTalkId(PROMISE);
addTalkId(LEON);
addTalkId(GATEKEEPER);
}

public static void main(String[] args)
{
new Disciple(-1, qn, "instances");
}
}[/src]

и вообще я спать потопал, качайте исходники инфинити, так прощеSmile
Улыбаемся и машем:bye:
Ответ
#7
Какой жуткий у вас код у всех. Просто отвратительный.

И проверять нужно не квест, а данж.
Ответ
#8
эээ


это типа должно работать ? у меня не запускается дисцайпл ... куча ошибок....после удаления пробелов осталось 13 ошибок ...пошёл дальше капаться ....

Добавлено через 4 минуты
import ru.l2open.gameserver.instancemanager.InstanceManger.InstanceWorld;
на эту строчку ругаеццо , чо делать ?
Бешенство, это не болезнь :di: © Pumo4ka
Ответ
#9
Выкладывайте код под:
PHP код:
<?php 
[src=java] ...... [/src]

иначе - не читаемо.

Добавлено через 1 минуту
Puma1414 Написал:import ru.l2open.gameserver.instancemanager.InstanceManger.InstanceWorld;
на эту строчку ругаеццо , чо делать ?
Отсутствует класс по импорту.. )
Ответ
#10
ну правильно, вот в цитате я и заметил что там пробел , не получилось у меня это скомпилировать ...мызгаю другие скрипты ... охххх ....

Добавлено через 1 минуту
блин, что я делаю не так ? до этого , у меня небыло в сборке этого квеста, я добавляю его руками, что я не сделал ?

Добавлено через 18 минут
нашёл в какой то сборке файлик сlass на сколько я понял нужно его запихнуть в папочку бин ? или как ?

Код:
The packge instance.disciple collides with a type
:cs:

Добавлено через 21 час 6 минут
чо делать с этим то ?Sad обьясните как добавлять импорты пожалуйсто, и как впихивать невпихуемое ) тоесть есть такая тема как
Код:
SystemMessageId.ALREADY_ENTERED_ANOTHER_INSTANCE_CANT_ENTER
а так же
Код:
pl.showQuestMovie(ExStartScenePlayer.SSQ_SEALING_EMPEROR_1ST);
у меня их нет, как их впихануть ?
Бешенство, это не болезнь :di: © Pumo4ka
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Эффект скиллов 1105 Madness и 1213 Seal of Mirage ntking 0 669 03-28-2023, 12:07 PM
Последний пост: ntking

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


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