Link is dead ;)
For interlude reworked
package com.src.gameserver.model.actor.instance;
import javolution.text.TextBuilder;
import com.src.gameserver.GameTimeController;
import com.src.gameserver.ai.CtrlIntention;
import com.src.gameserver.network.serverpackets.ExShowScreenMessage;
import com.src.gameserver.network.serverpackets.MagicSkillUser;
import com.src.gameserver.network.serverpackets.NpcHtmlMessage;
import com.src.gameserver.network.serverpackets.SetupGauge;
import com.src.gameserver.network.serverpackets.SocialAction;
import com.src.gameserver.templates.L2NpcTemplate;
import com.src.gameserver.thread.ThreadPoolManager;
import com.src.gameserver.util.Broadcast;
import com.src.util.random.Rnd;
public class L2CasinoInstance extends L2NpcInstance
{
public String filename;
public L2CasinoInstance(int objectId, L2NpcTemplate template)
{
super(objectId, template);
}
@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
if(player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId())
{
return;
}
if(command.startsWith("play1"))
{
Casino1(player);
}
if(command.startsWith("play2"))
{
Casino2(player);
}
if(command.startsWith("play3"))
{
Casino3(player);
}
if(command.startsWith("play4"))
{
Casino4(player);
}
}
public static void displayCongrats(L2PcInstance player)
{
player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
MagicSkillUser MSU = new MagicSkillUser(player, player, 2024, 1, 1, 0);
player.broadcastPacket(MSU);
ExShowScreenMessage screen = new ExShowScreenMessage("Congratulations "+player.getName()+"! You won!", 15000);
player.sendPacket(screen);
}
public static void displayCongrats2(L2PcInstance player)
{
ExShowScreenMessage screen = new ExShowScreenMessage(""+player.getName()+"! You lost!", 15000);
player.sendPacket(screen);
}
@Override
public void showChatWindow(L2PcInstance player, int val)
{
filename = (getHtmlPath(getNpcId(), val));
NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
msg.setHtml(casinoWindow(player));
msg.replace("%objectId%", String.valueOf(this.getObjectId()));
player.sendPacket(msg);
}
private String casinoWindow(L2PcInstance player)
{
TextBuilder tb = new TextBuilder();
tb.append("<html><title>Casino Manager</title><body>");
tb.append("<center>");
tb.append("<br>");
tb.append("<font color=\"999999\">Chance to win : 50%</font><br>");
tb.append("<img src=\"L2UI.SquareGray\" width=\"200\" height=\"1\"><br>");
tb.append("Welcome "+player.getName()+"<br>");
tb.append("<tr><td>Double or Nothing ?</td></tr><br>");
tb.append("<img src=\"L2UI.SquareGray\" width=\"280\" height=\"1\"></center><br>");
tb.append("<center>");
tb.append("Place your bets");
tb.append("</center>");
tb.append("<img src=\"L2UI.SquareGray\" width=\"280\" height=\"1\"></center><br>");
tb.append("<br>");
tb.append("<center>");
tb.append("<tr>");
tb.append("<td><button value= 100KK action=\"bypass -h npc_%objectId%_play1\" width=130 height=25 back= L2UI_ct1.button_df fore = L2UI_ct1.button_df></td>");
tb.append("<td><button value= 300KK action=\"bypass -h npc_%objectId%_play2\" width=130 height=25 back= L2UI_ct1.button_df fore = L2UI_ct1.button_df></td>");
tb.append("</tr>");
tb.append("<tr>");
tb.append("<td><button value= 500KK action=\"bypass -h npc_%objectId%_play3\" width=130 height=25 back= L2UI_ct1.button_df fore = L2UI_ct1.button_df></td>");
tb.append("<td><button value= 1KKK action=\"bypass -h npc_%objectId%_play4\" width=130 height=25 back= L2UI_ct1.button_df fore = L2UI_ct1.button_df></td>");
tb.append("</tr>");
tb.append("</center>");
tb.append("<center><img src=\"L2UI.SquareGray\" width=\"280\" height=\"1\">");
tb.append("</body></html>");
return tb.toString();
}
public static void Casino1(L2PcInstance player)
{
int unstuckTimer = (1*1000 );
player.setTarget(player);
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
player.disableAllSkills();
MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0);
Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000);
SetupGauge sg = new SetupGauge(0, unstuckTimer);
player.sendPacket(sg);
Casino1 ef = new Casino1(player);
player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer));
player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK);
}
static class Casino1 implements Runnable
{
private L2PcInstance _player;
Casino1(L2PcInstance player)
{
_player = player;
}
public void run()
{
if(_player.isDead())
{
return;
}
_player.setIsIn7sDungeon(false);
_player.enableAllSkills();
int chance = Rnd.get(2);
if(_player.isNoble() && _player.getInventory().getInventoryItemCount(57, 0) >= 100000000)
{
if(chance == 0)
{
displayCongrats(_player);
_player.getInventory().addItem("Adena", 57, 100000000, _player, null);
}
if(chance == 1)
{
displayCongrats2(_player);
_player.getInventory().destroyItemByItemId("Adena", 57, 100000000, _player, null);
}
}
else
{
_player.sendMessage("You do not have eneough items.");
}
}
}
public static void Casino2(L2PcInstance player)
{
int unstuckTimer = (1*1000 );
player.setTarget(player);
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
player.disableAllSkills();
MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0);
Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000);
SetupGauge sg = new SetupGauge(0, unstuckTimer);
player.sendPacket(sg);
Casino2 ef = new Casino2(player);
player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer));
player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK);
}
static class Casino2 implements Runnable
{
private L2PcInstance _player;
Casino2(L2PcInstance player)
{
_player = player;
}
public void run()
{
if(_player.isDead())
{
return;
}
_player.setIsIn7sDungeon(false);
_player.enableAllSkills();
int chance = Rnd.get(3);
if(_player.isNoble() && _player.getInventory().getInventoryItemCount(57, 0) >= 300000000)
{
if(chance == 0)
{
displayCongrats(_player);
_player.getInventory().addItem("Adena", 57, 300000000, _player, null);
}
if(chance == 1)
{
displayCongrats2(_player);
_player.getInventory().destroyItemByItemId("Adena", 57, 300000000, _player, null);
}
if(chance == 2)
{
displayCongrats2(_player);
_player.getInventory().destroyItemByItemId("Adena", 57, 300000000, _player, null);
}
}
else
{
_player.sendMessage("You do not have eneough items.");
}
}
}
public static void Casino3(L2PcInstance player)
{
int unstuckTimer = (1*1000 );
player.setTarget(player);
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
player.disableAllSkills();
MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0);
Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000);
SetupGauge sg = new SetupGauge(0, unstuckTimer);
player.sendPacket(sg);
Casino3 ef = new Casino3(player);
player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer));
player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK);
}
static class Casino3 implements Runnable
{
private L2PcInstance _player;
Casino3(L2PcInstance player)
{
_player = player;
}
public void run()
{
if(_player.isDead())
{
return;
}
_player.setIsIn7sDungeon(false);
_player.enableAllSkills();
int chance = Rnd.get(3);
if(_player.isNoble() && _player.getInventory().getInventoryItemCount(57, 0) >= 500000000)
{
if(chance == 0)
{
displayCongrats(_player);
_player.getInventory().addItem("Adena", 57, 500000000, _player, null);
}
if(chance == 1)
{
displayCongrats2(_player);
_player.getInventory().destroyItemByItemId("Adena", 57, 500000000, _player, null);
}
if(chance == 2)
{
displayCongrats2(_player);
_player.getInventory().destroyItemByItemId("Adena", 57, 500000000, _player, null);
}
}
else
{
_player.sendMessage("You do not have eneough items.");
}
}
}
public static void Casino4(L2PcInstance player)
{
int unstuckTimer = (1*1000 );
player.setTarget(player);
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
player.disableAllSkills();
MagicSkillUser msk = new MagicSkillUser(player, 361, 1, unstuckTimer, 0);
Broadcast.toSelfAndKnownPlayersInRadius(player, msk, 810000);
SetupGauge sg = new SetupGauge(0, unstuckTimer);
player.sendPacket(sg);
Casino4 ef = new Casino4(player);
player.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer));
player.setSkillCastEndTime(10+GameTimeController.getGameTicks()+unstuckTimer/GameTimeController.MILLIS_IN_TICK);
}
static class Casino4 implements Runnable
{
private L2PcInstance _player;
Casino4(L2PcInstance player)
{
_player = player;
}
public void run()
{
if(_player.isDead())
{
return;
}
_player.setIsIn7sDungeon(false);
_player.enableAllSkills();
int chance = Rnd.get(3);
if(_player.isNoble() && _player.getInventory().getInventoryItemCount(57, 0) >= 1000000000)
{
if(chance == 0)
{
displayCongrats(_player);
_player.getInventory().addItem("Adena", 57, 1000000000, _player, null);
}
if(chance == 1)
{
displayCongrats2(_player);
_player.getInventory().destroyItemByItemId("Adena", 57, 1000000000, _player, null);
}
if(chance == 2)
{
displayCongrats2(_player);
_player.getInventory().destroyItemByItemId("Adena", 57, 1000000000, _player, null);
}
}
else
{
_player.sendMessage("You do not have eneough items.");
}
}
}
}
No problem ;p