Jump to content

Recommended Posts

Posted

Here is l2jsigmo's casino.

 

Go here, Java\com\src\gameserver\model\actor\instance and create java file with name L2CasinoInstance.java

 

And copy the follow code into the file:

 

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.ItemList;
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.chars.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);
	}
}

private static void displayCongrats(L2PcInstance player)
{
	player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
	player.broadcastPacket(new MagicSkillUser(player, player, 2024, 1, 1, 0));
	player.sendPacket(new ExShowScreenMessage("Congratulations " + player.getName() + " you win!", 4000, 0x02, true));
}

private static void displayCongrats2(L2PcInstance player)
{
	player.broadcastPacket(new SocialAction(player.getObjectId(), 13));
	player.sendPacket(new ExShowScreenMessage("-beep- " + player.getName() + " you lost!", 4000, 0x02, true));
}

@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("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32><br>");
	tb.append("<font color=\"999999\">Chance to win: 50%</font><br><br>");
	tb.append("Welcome " + player.getName() + "<br>");
	tb.append("<tr><td>Double or Nothing ?</td></tr><br>");
	tb.append("Place your bets");
	tb.append("<br>");
	tb.append("<tr>");
	tb.append("<td><button value= 100KK action=\"bypass -h npc_%objectId%_play1\" width=70 height=21 back=L2UI.DefaultButton_click fore=L2UI.DefaultButton></td>");
	tb.append("<td><button value= 300KK action=\"bypass -h npc_%objectId%_play2\" width=70 height=21 back=L2UI.DefaultButton_click fore=L2UI.DefaultButton></td>");
	tb.append("</tr>");
	tb.append("<tr>");
	tb.append("<td><button value= 500KK action=\"bypass -h npc_%objectId%_play3\" width=70 height=21 back=L2UI.DefaultButton_click fore=L2UI.DefaultButton></td>");
	tb.append("<td><button value= 1KKK action=\"bypass -h npc_%objectId%_play4\" width=70 height=21 back=L2UI.DefaultButton_click fore=L2UI.DefaultButton></td>");
	tb.append("</tr>");
	tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32><br>");
	tb.append("</center>");
	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);
}

private 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);
				_player.sendPacket(new ItemList(_player, false));
			}
		}
		else
		{
			_player.sendMessage("You don't have enough 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);
}

private 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);
				_player.sendPacket(new ItemList(_player, false));
			}

			if(chance == 2)
			{
				displayCongrats2(_player);
				_player.getInventory().destroyItemByItemId("Adena", 57, 300000000, _player, null);
				_player.sendPacket(new ItemList(_player, false));
			}
		}
		else
		{
			_player.sendMessage("You don't have enough 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);
}

private 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);
				_player.sendPacket(new ItemList(_player, false));
			}

			if(chance == 2)
			{
				displayCongrats2(_player);
				_player.getInventory().destroyItemByItemId("Adena", 57, 500000000, _player, null);
				_player.sendPacket(new ItemList(_player, false));
			}
		}
		else
		{
			_player.sendMessage("You don't have enough 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);
}

private 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);
				_player.sendPacket(new ItemList(_player, false));
			}

			if(chance == 2)
			{
				displayCongrats2(_player);
				_player.getInventory().destroyItemByItemId("Adena", 57, 1000000000, _player, null);
				_player.sendPacket(new ItemList(_player, false));
			}
		}
		else
		{
			_player.sendMessage("You don't have enough items.");
		}
	}
}
}

 

After all these, add a npc into database with type L2Casino !

 


 

PS; If someone need this casino for another project, just tell me to change the imports!

 


 

Because, Vhalior prix my balls credits to: Vhalior aka L2jSigmo's Owner! Okay?

 


Guest Elfocrash
Posted

you miss bypasses... its useless..

I searched for, but nothing.

 

you both have no idea..

 

@Override
public void onBypassFeedback(L2PcInstance player, String command)

 

understand how this method works

Posted

give creedits

 

[share]L2jSigmo's Casino

bitch please everyone knows that you were a developer of l2jsigmo but crystalia put the proper creadits, i mean your project name etc.. //friendly

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...