Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package custom.SuperMonster;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.util.concurrent.TimeUnit;
- import net.sf.l2j.L2DatabaseFactory;
- import net.sf.l2j.gameserver.Announcements;
- import net.sf.l2j.gameserver.datatables.SkillTable;
- import net.sf.l2j.gameserver.model.L2Skill;
- import net.sf.l2j.gameserver.model.actor.L2Npc;
- import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
- import net.sf.l2j.gameserver.model.quest.Quest;
- /**
- * @author SoFace
- */
- public class SuperMonster extends Quest
- {
- // Monsters's ID.
- private static final int MONSTERS[] =
- {
- 12564
- };
- private static final boolean REWARD_PARTY = false; // Reward party ?
- private final static boolean REWARD_NOBLE = true; // Give Noblesse ?
- private final static boolean REWARD_HERO = false; // Give Hero ?
- private final static int REWARD_HERO_DAYS = -1; // How many days to give the status of Hero ?
- // 0 - Until relogin. -1 - Forever.
- private final static boolean REWARD_SKILL = true; // Give Skill ?
- private final static int REWARD_SKILL_ID = 0; // Skill's ID.
- private final static int REWARD_SKILL_LVL = 0; // Skill's LvL.
- private final static boolean REWARD_ITEMS = true; // Give Items ?
- private final static int REWARD_ITEM_ID = 4037; // Item's ID.
- private final static int REWARD_ITEM_COUNT = 5; // Count.
- public SuperMonster()
- {
- super(-1, "SuperMonster", "custom");
- for (int mobs : MONSTERS)
- addKillId(mobs);
- }
- @Override
- public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
- {
- L2Skill skill = SkillTable.getInstance().getInfo(REWARD_SKILL_ID, REWARD_SKILL_LVL);
- Announcements.announceToAll("SuperMonster was killed.");
- if (REWARD_PARTY)
- {
- if (player.getParty() != null)
- {
- for (L2PcInstance members : player.getParty().getPartyMembers())
- {
- members.sendMessage("Congratulations ! You killed The SuperMonster !");
- if (REWARD_ITEMS)
- members.addItem("Add", REWARD_ITEM_ID, REWARD_ITEM_COUNT, members, true);
- if (REWARD_SKILL)
- members.addSkill(skill, true);
- if (REWARD_HERO)
- {
- if (!player.isHero())
- addHero(player, REWARD_HERO_DAYS);
- else
- player.sendMessage("You already Hero.");
- }
- if (REWARD_NOBLE)
- {
- if (!members.isNoble())
- members.setNoble(true, true);
- else
- members.sendMessage("You already Noblesse.");
- }
- members.broadcastUserInfo();
- }
- }
- else
- {
- player.sendMessage("Congratulations ! You killed The SuperMonster !");
- if (REWARD_ITEMS)
- player.addItem("Add", REWARD_ITEM_ID, REWARD_ITEM_COUNT, player, true);
- if (REWARD_SKILL)
- player.addSkill(skill, true);
- if (REWARD_HERO)
- {
- if (!player.isHero())
- addHero(player, REWARD_HERO_DAYS);
- else
- player.sendMessage("You already Hero.");
- }
- if (REWARD_NOBLE)
- {
- if (!player.isNoble())
- player.setNoble(true, true);
- else
- player.sendMessage("You already Noblesse.");
- }
- player.broadcastUserInfo();
- }
- }
- else
- {
- player.sendMessage("Congratulations ! You killed The SuperMonster !");
- if (REWARD_ITEMS)
- player.addItem("Add", REWARD_ITEM_ID, REWARD_ITEM_COUNT, player, true);
- if (REWARD_SKILL)
- player.addSkill(skill, true);
- if (REWARD_HERO)
- {
- if (!player.isHero())
- addHero(player, REWARD_HERO_DAYS);
- else
- player.sendMessage("You already Hero.");
- }
- if (REWARD_NOBLE)
- {
- if (!player.isNoble())
- player.setNoble(true, true);
- else
- player.sendMessage("You already Noblesse.");
- }
- player.broadcastUserInfo();
- }
- return null;
- }
- private void addHero(L2PcInstance player, int days)
- {
- long _heroExpire = 0L;
- player.setHero(true);
- player.broadcastUserInfo();
- if (days == 0)
- {
- _heroExpire = 3L;
- return;
- }
- _heroExpire = (days == -1 ? 1L : System.currentTimeMillis() + TimeUnit.DAYS.toMillis(days));
- try (Connection con = L2DatabaseFactory.getConnection())
- {
- PreparedStatement stm = con.prepareStatement("UPDATE `characters` SET `hero`=? WHERE `obj_Id`=?");
- stm.setLong(1, _heroExpire);
- stm.setInt(2, player.getObjectId());
- stm.execute();
- }
- catch (SQLException e)
- {
- e.printStackTrace();
- }
- }
- public static void main(String args[])
- {
- new SuperMonster();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement