Witaj
Gość

Wątek: [Problem] z Java Quest na wejście na wyspę hellbound  (Przeczytany 1433 razy)

  • Wiadomości: 3

  • Pochwał: 0

[Problem] z Java Quest na wejście na wyspę hellbound
« dnia: Sierpień 19, 2014, 03:08:46 am »
Witam  mam straszny problem  zrobiłem questa   Path To Hellbound
zwykła postacią i GM 

Ale jak klikam na NPC:  Warpgate w mieście Heine!  to nic się nie dzieje a powinno mnie przenieść  i pisze mi cały czas
The Warpgate is not operational. Something seems to be needed to open it.

:(:( w czym problem jestem początkujący  proszę o pełną pomoc i wyrozumiałość :D szybko się uczę

postanowiłem pokombinować
data/scripts/teleports/Warpgate/Warpgate.java  Edytowałem te plik  programem Nottepad++

Ale za cholerę nie wiem co zrobić żeby to działało :(( wiadomo każdy chce gotowca !  ale jak pisałem proszę o wyrozumiałość a nie pokazywać jaki jestem mądry zajebisty Regulamin  z góry dziękuję :)


Warpgate.java
 /*
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package teleports.Warpgate;

import com.l2dc.Config;
import com.l2dc.gameserver.ThreadPoolManager;
import com.l2dc.gameserver.instancemanager.HellboundManager;
import com.l2dc.gameserver.model.actor.L2Character;
import com.l2dc.gameserver.model.actor.L2Npc;
import com.l2dc.gameserver.model.actor.instance.L2PcInstance;
import com.l2dc.gameserver.model.quest.Quest;
import com.l2dc.gameserver.model.quest.QuestState;
import com.l2dc.gameserver.model.quest.State;
import com.l2dc.gameserver.model.zone.L2ZoneType;

public class Warpgate extends Quest
{
private static final String THATS_BLOODY_HOT = "133_ThatsBloodyHot";
private static final String PATH_TO_HELLBOUND = "130_PathToHellbound";

private static final int MAP = 9994;
private static final int ZONE = 17906;

private static final int[] WARPGATES =
{
32314, 32315, 32316, 32317, 32318, 32319
};

private static final boolean canEnter(L2PcInstance player)
{
if (player.isFlying())
return false;

QuestState st;
if (HellboundManager.getInstance().checkIsOpen())
{
st = player.getQuestState(PATH_TO_HELLBOUND);
if (st != null && st.getState() == State.COMPLETED)
{
if (player.getLevel() > 77)
{
return true;
}
else
{
if (!Config.HB_LVL_CHECK)
{
return true;
}
else
{
return false;
}
}
}
}

st = player.getQuestState(THATS_BLOODY_HOT);
if (st != null && st.getState() == State.COMPLETED)
{
if (!HellboundManager.getInstance().checkIsOpen())
HellboundManager.getInstance().unlockHellbound();
return true;
}

return false;
}

public final String onFirstTalk(L2Npc npc, L2PcInstance player)
{
if (!canEnter(player))
{
if (!HellboundManager.getInstance().checkIsOpen())
return "warpgate-locked.htm";
}

return npc.getNpcId() + ".htm";
}

public final String onTalk(L2Npc npc, L2PcInstance player)
{
if (!canEnter(player))
return "warpgate-no.htm";

player.teleToLocation(-11272, 236464, -3248, true);
return null;
}

public final String onEnterZone(L2Character character, L2ZoneType zone)
{
if (character instanceof L2PcInstance)
{
if (!canEnter((L2PcInstance)character) && !character.isGM())
ThreadPoolManager.getInstance().scheduleGeneral(new Teleport(character), 1000);
else if (!((L2PcInstance)character).isMinimapAllowed())
{
if (character.getInventory().getItemByItemId(MAP) != null)
((L2PcInstance)character).setMinimapAllowed(true);
}
}
return null;
}

static final class Teleport implements Runnable
{
private final L2Character _char;

public Teleport(L2Character c)
{
_char = c;
}

public void run()
{
try
{
_char.teleToLocation(-16555, 209375, -3670, true);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

public Warpgate(int questId, String name, String descr)
{
super(questId, name, descr);
for (int id : WARPGATES)
{
addStartNpc(id);
addFirstTalkId(id);
addTalkId(id);
}
addEnterZoneId(ZONE);
}

public static void main(String[] args)
{
new Warpgate(-1, "Warpgate", "teleports");
}
}



130_PathToHellbound.py

# Made by Cromir Version 0.1
import sys
from com.l2dc.gameserver.model.quest import State
from com.l2dc.gameserver.model.quest import QuestState
from com.l2dc.gameserver.model.quest.jython import QuestJython as JQuest

qn = "130_PathToHellbound"

#NPCs
GALATE = 32292
CASIAN = 30612

#ITEMS
CASIAN_BLUE_CRY = 12823

class Quest (JQuest) :

 def __init__(self,id,name,descr):
     JQuest.__init__(self,id,name,descr)
     self.questItemIds = [CASIAN_BLUE_CRY]

 def onEvent (self,event,st) :
   htmltext = event
   if event == "30612-03.htm" :
     st.set("cond","1")
     st.setState(State.STARTED)
     st.playSound("ItemSound.quest_accept")
   elif event == "32292-03.htm" :
st.set("cond","2")
st.playSound("ItemSound.quest_middle")
   elif event == "30612-05.htm" :
st.set("cond","3")
st.giveItems(CASIAN_BLUE_CRY,1)
st.playSound("ItemSound.quest_middle")
   elif event == "32292-06.htm" :
st.takeItems(CASIAN_BLUE_CRY,-1)
st.playSound("ItemSound.quest_finish")
st.exitQuest(False)
   return htmltext

 def onTalk (self,npc,player):
   st = player.getQuestState(qn)
   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>"
   if not st: return htmltext

   npcId = npc.getNpcId()
   id = st.getState()
   cond = st.getInt("cond")

   if id == State.COMPLETED :
     htmltext = "<html><body>This quest has already been completed.</body></html>"

   elif npcId == CASIAN :
     if cond == 0 :
       if player.getLevel() >= 78 :
         htmltext = "30612-01.htm"
       else :
         htmltext = "30612-00.htm"
         st.exitQuest(1)
     elif cond == 1 :
       htmltext = "30612-03a.htm"
     elif cond == 2 :
       htmltext = "30612-04.htm"
     elif cond == 3 :
       htmltext = "30612-05a.htm"
   elif npcId == GALATE :
     if cond == 1 :
       htmltext = "32292-01.htm"
     elif cond == 2 :
       htmltext = "32292-03a.htm"
     elif cond == 3 :
       if st.getQuestItemsCount(CASIAN_BLUE_CRY) == 1 :
         htmltext = "32292-04.htm"
       else :
         htmltext = "Incorrect item count."
   return htmltext

QUEST     = Quest(130,qn,"Path to Hellbound")

QUEST.addStartNpc(CASIAN)

QUEST.addTalkId(CASIAN)
QUEST.addTalkId(GALATE)


  • *******
  • Wiadomości: 2346

  • Pochwał: 23

Odp: [Problem] z Java Quest na wejście na wyspę hellbound
« Odpowiedź #1 dnia: Sierpień 19, 2014, 11:45:28 pm »
Nie wiem jak to mozna wlaczyc od strony programisty/admina, ale Hellbound jak wszedl musial byc otwarty przez graczy - odpowiednia ilosc osob musiala miec ukonczona serie questow otwierajacych lokacje.

Path to Hellbound dzialal dla pozostalych graczy - tylko wtedy jak Hellbound juz byl otwarty.

Pozdrawiam
Piszę poprawnie po polsku
************************************
Official/Retail NA serv.Hindemith->Phoenix->Chronos-> Naia
Heallweg Iss Enchanter 99 /Siegel Knight 99 /ElementalSummoner80/ HawkEye80  - Clan: Einheit (Nova) Ally: Twilight
Ponadto: Feoh; Aeore; Yul;