No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Hola, me gustaria eliminar las puertas de los Clan Halls y murallas de los castillos.
¿Cómo puedo hacerlo? Utilizo L2J-Frozen
Cita de: JacopMe gustaria tener el Wyvern como mascota para los donantes del servidor, mi pregunta es la siguiente:
¿Tengo que crearlo custom o ya viene creado?

/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 quests.Q00254_LegendaryTales;
import com.l2jserver.gameserver.enums.QuestSound;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
/**
* Legendary Tales (254)
* @author nonom
*/
public class Q00254_LegendaryTales extends Quest
{
// NPC
private static final int GILMORE = 30754;
// Monsters
public enum Bosses
{
EMERALD_HORN(25718),
DUST_RIDER(25719),
BLEEDING_FLY(25720),
BLACK_DAGGER(25721),
SHADOW_SUMMONER(25722),
SPIKE_SLASHER(25723),
MUSCLE_BOMBER(25724);
private final int _bossId;
private final int _mask;
private Bosses(int bossId)
{
_bossId = bossId;
_mask = 1 << ordinal();
}
public int getId()
{
return _bossId;
}
public int getMask()
{
return _mask;
}
public static Bosses valueOf(int npcId)
{
for (Bosses val : values())
{
if (val.getId() == npcId)
{
return val;
}
}
return null;
}
}
// @formatter:off
private static final int[] MONSTERS =
{
Bosses.EMERALD_HORN.getId(), Bosses.DUST_RIDER.getId(), Bosses.BLEEDING_FLY.getId(),
Bosses.BLACK_DAGGER.getId(), Bosses.SHADOW_SUMMONER.getId(), Bosses.SPIKE_SLASHER.getId(),
Bosses.MUSCLE_BOMBER.getId()
};
// @formatter:on
// Items
private static final int LARGE_DRAGON_SKULL = 17249;
// Misc
private static final int MIN_LEVEL = 80;
public Q00254_LegendaryTales()
{
super(254, Q00254_LegendaryTales.class.getSimpleName(), "Legendary Tales");
addStartNpc(GILMORE);
addTalkId(GILMORE);
addKillId(MONSTERS);
registerQuestItems(LARGE_DRAGON_SKULL);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
{
return htmltext;
}
switch (st.getState())
{
case State.CREATED:
htmltext = (player.getLevel() < MIN_LEVEL) ? "30754-00.htm" : "30754-01.htm";
break;
case State.STARTED:
long count = getQuestItemsCount(player, LARGE_DRAGON_SKULL);
if (st.isCond(1))
{
htmltext = ((count > 0) ? "30754-14.htm" : "30754-06.html");
}
else if (st.isCond(2))
{
htmltext = ((count < 7) ? "30754-12.htm" : "30754-07.html");
}
break;
case State.COMPLETED:
htmltext = "30754-29.html";
break;
}
return htmltext;
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, false);
if (st == null)
{
return htmltext;
}
switch (event)
{
case "30754-05.html":
st.startQuest();
case "30754-02.html":
case "30754-03.html":
case "30754-04.htm":
case "30754-08.html":
case "30754-15.html":
case "30754-20.html":
case "30754-21.html":
htmltext = event;
break;
case "25718": // Emerald Horn
htmltext = (checkMask(st, Bosses.EMERALD_HORN) ? "30754-22.html" : "30754-16.html");
break;
case "25719": // Dust Rider
htmltext = (checkMask(st, Bosses.DUST_RIDER) ? "30754-23.html" : "30754-17.html");
break;
case "25720": // Bleeding Fly
htmltext = (checkMask(st, Bosses.BLEEDING_FLY) ? "30754-24.html" : "30754-18.html");
break;
case "25721": // Black Dagger Wing
htmltext = (checkMask(st, Bosses.BLACK_DAGGER) ? "30754-25.html" : "30754-19.html");
break;
case "25722": // Shadow Summoner
htmltext = (checkMask(st, Bosses.SHADOW_SUMMONER) ? "30754-26.html" : "30754-16.html");
break;
case "25723": // Spike Slasher
htmltext = (checkMask(st, Bosses.SPIKE_SLASHER) ? "30754-27.html" : "30754-17.html");
break;
case "25724": // Muscle Bomber
htmltext = (checkMask(st, Bosses.MUSCLE_BOMBER) ? "30754-28.html" : "30754-18.html");
break;
case "13467": // Vesper Thrower
case "13466": // Vesper Singer
case "13465": // Vesper Caster
case "13464": // Vesper Retributer
case "13463": // Vesper Avenger
case "13457": // Vesper Cutter
case "13458": // Vesper Slasher
case "13459": // Vesper Buster
case "13460": // Vesper Sharper
case "13461": // Vesper Fighter
case "13462": // Vesper Stormer
if (st.isCond(2) && (getQuestItemsCount(player, LARGE_DRAGON_SKULL) >= 7))
{
htmltext = "30754-09.html";
rewardItems(player, Integer.parseInt(event), 1);
st.exitQuest(false, true);
}
break;
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
{
if (player.isInParty())
{
for (L2PcInstance partyMember : player.getParty().getMembers())
{
actionForEachPlayer(partyMember, npc, false);
}
}
else
{
actionForEachPlayer(player, npc, false);
}
return super.onKill(npc, player, isPet);
}
@Override
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
{
final QuestState st = player.getQuestState(Q00254_LegendaryTales.class.getSimpleName());
if ((st != null) && st.isCond(1))
{
int raids = st.getInt("raids");
Bosses boss = Bosses.valueOf(npc.getId());
if (!checkMask(st, boss))
{
st.set("raids", raids | boss.getMask());
st.giveItems(LARGE_DRAGON_SKULL, 1);
if (st.getQuestItemsCount(LARGE_DRAGON_SKULL) < 7)
{
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else
{
st.setCond(2, true);
}
}
}
}
private static boolean checkMask(QuestState qs, Bosses boss)
{
int pos = boss.getMask();
return ((qs.getInt("raids") & pos) == pos);
}
}
Cita de: lvchinBuenas, tengo un problema con el karma y pk.
cuando un pj X mata a un pj que esta PK, se le transfiere el PK al pj X, lo cual no debería de pasar, alguno tendrá la solución ? utilizo el ultimo l2jserver máster, gracias.
diff --git a/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java b/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
index f73ce49..e378894 100644
--- a/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
+++ b/src/main/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
@@ -5110,6 +5110,14 @@
@Override
public boolean doDie(L2Character killer)
{
+ // Kill the L2PcInstance
+ if (!super.doDie(killer))
+ {
+ return false;
+ }
+
+ setExpBeforeDeath(getExp());
+
if (killer != null)
{
final L2PcInstance pk = killer.getActingPlayer();
@@ -5127,7 +5135,7 @@
broadcastStatusUpdate();
// Clear resurrect xp calculation
- setExpBeforeDeath(0);
+ // setExpBeforeDeath(0);
// Issues drop of Cursed Weapon.
if (isCursedWeaponEquipped())
@@ -5192,12 +5200,6 @@
}
}
}
- }
-
- // Kill the L2PcInstance
- if (!super.doDie(killer))
- {
- return false;
}
if (isMounted())
@@ -5585,8 +5587,6 @@
{
lostExp /= 4.0;
}
-
- setExpBeforeDeath(getExp());
getStat().addExp(-lostExp);
}
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 instances.MonasteryOfSilence2;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import quests.Q10294_SevenSignsToTheMonasteryOfSilence.Q10294_SevenSignsToTheMonasteryOfSilence;
import quests.Q10295_SevenSignsSolinasTomb.Q10295_SevenSignsSolinasTomb;
import quests.Q10296_SevenSignsPowerOfTheSeal.Q10296_SevenSignsPowerOfTheSeal;
import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.instancemanager.InstanceManager;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.entity.Instance;
import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
import com.l2jserver.gameserver.network.NpcStringId;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.clientpackets.Say2;
import com.l2jserver.gameserver.network.serverpackets.NpcSay;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
public class MonasteryOfSilence2 extends AbstractNpcAI
{
// Values
private static final int INSTANCE_ID = 151;
// NPC's
private static final int OddGlobe = 32815;
private static final int Elcadia_First_Room = 32787;
private static final int Elcadia_Support = 32785;
private static final int ErissEvilThoughts = 32792;
private static final int SolinasEvilThoughts = 32793;
private static final int RelicGuardian = 32803;
private static final int WestRelicWatcher = 32804;
private static final int NorthRelicWatcher = 32805;
private static final int EastRelicWatcher = 32806;
private static final int SouthRelicWatcher = 32807;
private static final int EtisVanEtina = 32808;
private static final int WestTeleportControlDevice = 32816;
private static final int NorthTeleportControlDevice = 32817;
private static final int EastTeleportControlDevice = 32818;
private static final int SouthTeleportControlDevice = 32819;
private static final int JudeVanEtinasEvilThoughts = 32888;
private static final int TeleportControlDevice1 = 32837;
private static final int TeleportControlDevice2 = 32842;
private static final int TombOfTheSaintess = 32843;
private static final int AltarOfHallows_Staff = 32857;
private static final int AltarOfHallows_Sword = 32858;
private static final int AltarOfHallows_Scroll = 32859;
private static final int AltarOfHallows_Shield = 32860;
// Teleport's
private static final int ENTER = 0;
private static final int HOLYGRAL = 1;
private static final int EXIT = 2;
private static final int TW = 3;
private static final int TN = 4;
private static final int TE = 5;
private static final int TS = 6;
private static final int RTE = 7;
private static final int RTG = 8;
private static final int ENTER1 = 9;
private static final int MTS = 10;
private static final int MTS2 = 11;
private static final int EE = 12;
private static final int[][] TELEPORTS =
{
{
120664,
-86968,
-3392
}, // Enter
{
85937,
-249618,
-8320
}, // HolyBurailOpen
{
115944,
-86952,
-3392
}, // ExitInstance
{
82434,
-249546,
-8320
}, // TeleWest
{
85691,
-252426,
-8320
}, // TeleNorth
{
88573,
-249556,
-8320
}, // TeleEast
{
85675,
-246630,
-8320
}, // TeleSouth
{
120727,
-86868,
-3392
}, // ReturnToEris
{
85937,
-249618,
-8320
}, // ReturnToGuardian
{
45545,
-249423,
-6760
}, // Enter1
{
56033,
-252944,
-6760
}, // MoveToSaintness
{
55955,
-250394,
-6760
}, // MoveToSaintness2
{
76707,
-241022,
-10832
}
// EtisEtina
};
private static final int[] TALK =
{
OddGlobe,
Elcadia_Support,
WestTeleportControlDevice,
NorthTeleportControlDevice,
EastTeleportControlDevice,
SouthTeleportControlDevice,
RelicGuardian,
WestRelicWatcher,
NorthRelicWatcher,
EastRelicWatcher,
SouthRelicWatcher,
ErissEvilThoughts,
EtisVanEtina,
JudeVanEtinasEvilThoughts,
SolinasEvilThoughts,
TeleportControlDevice1,
TeleportControlDevice2,
TombOfTheSaintess,
AltarOfHallows_Staff,
AltarOfHallows_Sword,
AltarOfHallows_Scroll,
AltarOfHallows_Shield
};
private static final int[] MageBuff =
{
6725,
6721,
6722,
6717
};
private static final int[] FighterBuff =
{
6714,
6715,
6716,
6717
};
private final HashMap<Integer, InstanceHolder> instanceWorlds = new HashMap<>();
public static class InstanceHolder
{
List<L2Npc> mobs = new ArrayList<>();
}
private class MoSWorld2 extends InstanceWorld
{
public MoSWorld2()
{
}
}
public MonasteryOfSilence2()
{
super(MonasteryOfSilence2.class.getSimpleName(), "instances");
addStartNpc(OddGlobe);
addStartNpc(WestTeleportControlDevice);
addStartNpc(NorthTeleportControlDevice);
addStartNpc(EastTeleportControlDevice);
addStartNpc(SouthTeleportControlDevice);
for (int NPC : TALK)
{
addTalkId(NPC);
}
}
private void teleportPlayer(L2Npc npc, L2PcInstance player, int[] coords, int instanceId)
{
for (L2Character cha : player.getKnownList().getKnownCharacters())
{
if (cha.isNpc() && ((((L2Npc) cha).getId() == Elcadia_Support) || (((L2Npc) cha).getId() == Elcadia_First_Room)))
{
cha.deleteMe();
}
}
InstanceHolder holder = instanceWorlds.get(instanceId);
if ((holder == null) && (instanceId > 0))
{
holder = new InstanceHolder();
this.instanceWorlds.put(Integer.valueOf(instanceId), holder);
}
player.stopAllEffectsExceptThoseThatLastThroughDeath();
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
player.setInstanceId(instanceId);
player.teleToLocation(coords[0], coords[1], coords[2], false);
cancelQuestTimer("check_follow", npc, player);
if (holder != null)
{
for (L2Npc h : holder.mobs)
{
h.deleteMe();
}
holder.mobs.clear();
}
if ((holder != null) && (instanceId > 0))
{
L2Npc support = addSpawn(Elcadia_Support, player.getX(), player.getY(), player.getZ(), 0, false, 0L, false, player.getInstanceId());
holder.mobs.add(support);
startQuestTimer("check_follow", 3000, support, player);
}
}
protected void enterInstance(L2Npc npc, L2PcInstance player)
{
InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
if (world != null)
{
if (!(world instanceof MoSWorld2))
{
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_ENTERED_ANOTHER_INSTANT_ZONE_THEREFORE_YOU_CANNOT_ENTER_CORRESPONDING_DUNGEON));
return;
}
Instance inst = InstanceManager.getInstance().getInstance(world.getInstanceId());
if (inst != null)
{
teleportPlayer(npc, player, TELEPORTS[ENTER], world.getInstanceId());
}
return;
}
final int instanceId = InstanceManager.getInstance().createDynamicInstance("MonasteryOfSilence.xml");
world = new MoSWorld2();
world.setInstanceId(instanceId);
world.setTemplateId(INSTANCE_ID);
world.setStatus(0);
InstanceManager.getInstance().addWorld(world);
world.addAllowed(player.getObjectId());
teleportPlayer(npc, player, TELEPORTS[ENTER], instanceId);
return;
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
QuestState st = player.getQuestState(MonasteryOfSilence2.class.getSimpleName());
QuestState qs = player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName());
QuestState qs1 = player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName());
if (st == null)
{
st = newQuestState(player);
}
if ("check_follow".equals(event))
{
cancelQuestTimer("check_follow", npc, player);
npc.getAI().stopFollow();
npc.setIsRunning(true);
npc.getAI().startFollow(player);
if ((qs != null) && (qs.getCond() == 2))
{
if (getRandom(10) < 1)
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.IT_SEEMS_THAT_YOU_CANNOT_REMEMBER_TO_THE_ROOM_OF_THE_WATCHER_WHO_FOUND_THE_BOOK));
}
else
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.REMEMBER_THE_CONTENT_OF_THE_BOOKS_THAT_YOU_FOUND_YOU_CANT_TAKE_THEM_OUT_WITH_YOU));
}
}
if ((qs != null) && (qs.getCond() == 3))
{
if (getRandom(8) < 1)
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.YOUR_WORK_HERE_IS_DONE_SO_RETURN_TO_THE_CENTRAL_GUARDIAN));
}
}
if ((qs1 != null) && (qs1.getCond() == 1))
{
if (getRandom(5) < 1)
{
if (getRandom(10) < 1)
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.TO_REMOVE_THE_BARRIER_YOU_MUST_FIND_THE_RELICS_THAT_FIT_THE_BARRIER_AND_ACTIVATE_THE_DEVICE));
}
else if (getRandom(15) < 1)
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THE_GUARDIAN_OF_THE_SEAL_DOESNT_SEEM_TO_GET_INJURED_AT_ALL_UNTIL_THE_BARRIER_IS_DESTROYED));
}
else
{
npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THE_DEVICE_LOCATED_IN_THE_ROOM_IN_FRONT_OF_THE_GUARDIAN_OF_THE_SEAL_IS_DEFINITELY_THE_BARRIER_THAT_CONTROLS_THE_GUARDIANS_POWER));
}
}
}
if (player.getCurrentHp() < (player.getMaxHp() * 0.8D))
{
npc.setTarget(player);
npc.doSimultaneousCast(SkillData.getInstance().getSkill(6724, 1));
}
if (player.getCurrentMp() < (player.getMaxMp() * 0.5D))
{
npc.setTarget(player);
npc.doSimultaneousCast(SkillData.getInstance().getSkill(6728, 1));
}
startQuestTimer("check_follow", 20000, npc, player);
return "";
}
else if ("enter".equals(event))
{
enterInstance(npc, player);
return null;
}
if (npc.getId() == ErissEvilThoughts)
{
if ("Enter1".equals(event))
{
if (qs1.getInt("seal_removed") != 1)
{
qs1.startQuestTimer("StartMovie", 1000);
teleportPlayer(npc, player, TELEPORTS[ENTER1], player.getInstanceId());
}
else
{
teleportPlayer(npc, player, TELEPORTS[MTS2], player.getInstanceId());
}
return null;
}
if ("Enter3".equals(event))
{
if ((qs.getInt("book_" + 32821) + qs.getInt("book_" + 32828) + qs.getInt("book_" + 32831) + qs.getInt("book_" + 32834)) != 4)
{
qs.startQuestTimer("OpenMovie", 4000);
}
teleportPlayer(npc, player, TELEPORTS[HOLYGRAL], player.getInstanceId());
return null;
}
else if ("video".equals(event))
{
player.showQuestMovie(29);
startQuestTimer("teleport", 60000, npc, player);
cancelQuestTimer("check_follow", npc, player);
InstanceHolder holder = instanceWorlds.get(player.getInstanceId());
if (holder != null)
{
for (L2Npc h : holder.mobs)
{
h.deleteMe();
}
holder.mobs.clear();
}
return null;
}
else if ("teleport".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[EE], player.getInstanceId());
return null;
}
}
else if ("buff".equals(event))
{
if (player.isMageClass())
{
for (int h : MageBuff)
{
npc.setTarget(player);
npc.doSimultaneousCast(SkillData.getInstance().getSkill(h, 1));
}
}
else
{
for (int h : FighterBuff)
{
npc.setTarget(player);
npc.doSimultaneousCast(SkillData.getInstance().getSkill(h, 1));
}
}
return null;
}
else if ("Exit".equals(event))
{
cancelQuestTimer("check_follow", npc, player);
InstanceHolder holder = instanceWorlds.get(player.getInstanceId());
if (holder != null)
{
for (L2Npc h : holder.mobs)
{
h.deleteMe();
}
holder.mobs.clear();
}
teleportPlayer(npc, player, TELEPORTS[EXIT], 0);
return null;
}
else if ("TeleWest".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[TW], player.getInstanceId());
return null;
}
else if (event.equalsIgnoreCase("TeleNorth"))
{
teleportPlayer(npc, player, TELEPORTS[TN], player.getInstanceId());
return null;
}
else if ("TeleEast".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[TE], player.getInstanceId());
return null;
}
else if ("TeleSouth".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[TS], player.getInstanceId());
return null;
}
else if ("ReturnToEris".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[RTE], player.getInstanceId());
return null;
}
else if ("ReturnToGuardian".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[RTG], player.getInstanceId());
return null;
}
else if ("MoveToSaintess".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[MTS], player.getInstanceId());
return null;
}
else if ("MoveToSaintess2".equals(event))
{
teleportPlayer(npc, player, TELEPORTS[MTS2], player.getInstanceId());
return null;
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
QuestState st = player.getQuestState(MonasteryOfSilence2.class.getSimpleName());
if (st == null)
{
st = newQuestState(player);
}
int npcId = npc.getId();
if (npcId == OddGlobe)
{
if ((player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName()) != null) && (player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName()).getState() == State.STARTED))
{
enterInstance(npc, player);
return null;
}
if ((player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName()) != null) && (player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName()).getState() == State.COMPLETED) && (player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName()) == null))
{
enterInstance(npc, player);
return null;
}
if ((player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName()) != null) && (player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName()).getState() != State.COMPLETED))
{
enterInstance(npc, player);
return null;
}
if ((player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName()) != null) && (player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName()).getState() == State.COMPLETED) && (player.getQuestState(Q10296_SevenSignsPowerOfTheSeal.class.getSimpleName()) == null))
{
enterInstance(npc, player);
return null;
}
if ((player.getQuestState(Q10296_SevenSignsPowerOfTheSeal.class.getSimpleName()) != null) && (player.getQuestState(Q10296_SevenSignsPowerOfTheSeal.class.getSimpleName()).getState() != State.COMPLETED))
{
enterInstance(npc, player);
return null;
}
htmltext = "<html><body>Odd Globe:<br>The huge mechanism in the form of the globe. Around silent cottons are heard and in air presence of any unknown energy, which which in a way doesn't come under to your influence is felt.</body></html>";
}
return htmltext;
}
public static void main(String[] args)
{
new MonasteryOfSilence2();
}
}
{
private static final String NAME = "birthday";
private static final String NAME = "birthday";
/** Get all players that have had a birthday since last check. */
/** Get all players that have had a birthday since last check. */
- private static final String SELECT_PENDING_BIRTHDAY_GIFTS = "SELECT charId, char_name, createDate, (YEAR(NOW()) - YEAR(createDate)) AS age " //
+ private static final String SELECT_PENDING_BIRTHDAY_GIFTS = "SELECT charId, char_name, createDate, (YEAR(NOW()) - YEAR(createDate)) AS age FROM characters WHERE (YEAR(NOW()) - YEAR(createDate) > 0) AND ((DATE_ADD(createDate, INTERVAL (YEAR(NOW()) - YEAR(createDate)) YEAR)) BETWEEN FROM_UNIXTIME(?) AND NOW())";
- + "FROM characters WHERE (YEAR(NOW()) - YEAR(createDate) > 0) AND (DATE_FORMAT(createDate, '%m-%d') > DATE_FORMAT(FROM_UNIXTIME(?), '%m-%d'))";
@Override
@Override
public String getName()
public String getName()
Cita de: heladitoHola swarlog, es el mismo codigo que el del foro. Solo que al poner la zona de pvp como Giran Town, no te los suma :/ pero si la cambias, si lo hace.
player.setPvpKills(player.getPvpKills() + 1);
Cita de: djjoseinstala el JDK de java
No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.Hola, creo que tiene que ver con mi desconfiguración de java.
Quiero instalar una base de datos vacia, pero al pulsar sobre el instalador no se ejecuta. ¿Alguna solución? Gracias.
@echo off
color 2
TITLE U3Games - Instalador Externo
SET PATH=C:\Program Files\Java\jdk1.8.0_60\bin
java -jar dbinst_gs.jar
PAUSE
