Jump to content
  • 0

making the services by items


HorrorSlyer

Question

hello guys how i can make this script working by coins and not free

package l2f.gameserver.model.instances;
2	
3	import java.sql.Connection;
4	import java.sql.PreparedStatement;
5	
6	import l2f.commons.dbutils.DbUtils;
7	import l2f.gameserver.database.DatabaseFactory;
8	import l2f.gameserver.model.Player;
9	import l2f.gameserver.model.entity.olympiad.Olympiad;
10	import l2f.gameserver.network.serverpackets.L2GameServerPacket;
11	import l2f.gameserver.network.serverpackets.PledgeShowInfoUpdate;
12	import l2f.gameserver.network.serverpackets.SkillList;
13	import l2f.gameserver.network.serverpackets.UserInfo;
14	import l2f.gameserver.tables.SkillTable;
15	import l2f.gameserver.templates.npc.NpcTemplate;
16	import l2f.gameserver.utils.Log;
17	
18	public final class BetaNPCInstance extends NpcInstance
19	{
20	        /**
21	         * 
22	         */
23	        private static final long serialVersionUID = 5938813598479742068L;
24	
25	        public BetaNPCInstance(int objectId, NpcTemplate template)
26	        {
27	                super(objectId, template);
28	        }
29	       
30	        @Override
31	        public void onBypassFeedback(Player player, String command)
32	        {
33	                if (!canBypassCheck(player, this))
34	                {
35	                        return;
36	                }
37	                if (command.equalsIgnoreCase("change_sex"))
38	                {
39	                        Connection con = null;
40	                        PreparedStatement offline = null;
41	                        try
42	                        {
43	                                con = DatabaseFactory.getInstance().getConnection();
44	                                offline = con.prepareStatement("UPDATE characters SET sex = ? WHERE obj_Id = ?");
45	                                offline.setInt(1, player.getSex() == 1 ? 0 : 1);
46	                                offline.setInt(2, player.getObjectId());
47	                                offline.executeUpdate();
48	                        }
49	                        catch (Exception e)
50	                        {
51	                                e.printStackTrace();
52	                                return;
53	                        }
54	                finally
55	                        {
56	                                DbUtils.closeQuietly(con, offline);
57	                        }
58	                       
59	                        player.changeSex();
60	                        player.sendMessage("Your gender has been changed !!");
61	                        Log.add(new StringBuilder().append("Character ").append(player).append("  changed sex to ").append(player.getSex() == 1 ? "male" : "female").toString(), "renames");
62	                }
63	                else if (command.equalsIgnoreCase("add_clan_reputation"))
64	                {
65	                        if (player.getClan() != null)
66	                        {
67	                                player.getClan().incReputation(10000, false, "BetaNpc");
68	                                player.getClan().broadcastToOnlineMembers(new L2GameServerPacket[]
69	                                {
70	                                        new PledgeShowInfoUpdate(player.getClan())
71	                                });
72	                                player.sendMessage("Your clan received 10 000 clan reputation!");
73	                        }
74	                        else
75	                        {
76	                                player.sendMessage("You don't have clan to use this feature!");
77	                        }
78	                }
79	                else if (command.equalsIgnoreCase("add_exp_sp"))
80	                {
81	                        player.addExpAndSp(999999999L, 999999999L);
82	                        player.addExpAndSp(999999999L, 999999999L);
83	                        player.addExpAndSp(999999999L, 999999999L);
84	                        player.addExpAndSp(999999999L, 999999999L);
85	                        player.addExpAndSp(999999999L, 999999999L);
86	                        player.addExpAndSp(999999999L, 999999999L);
87	                        player.addExpAndSp(999999999L, 999999999L);
88	                        player.addExpAndSp(999999999L, 999999999L);
89	                }
90	                else if (command.equalsIgnoreCase("add_fame"))
91	                {
92	                        player.setFame(player.getFame() + 10000, "BetaNpc");
93	                        player.sendPacket(new UserInfo(player));
94	                        player.sendMessage("You received 10.000 fame points !");
95	                }
96	                else if (command.equalsIgnoreCase("give_noblesse"))
97	                {
98	                        if (!player.isNoble())
99	                        {
100	                                Olympiad.addNoble(player.getPlayer());
101	                                player.getPlayer().setNoble(true);
102	                                player.getPlayer().updatePledgeClass();
103	                                player.getPlayer().updateNobleSkills();
104	                                player.getPlayer().sendPacket(new SkillList(player.getPlayer()));
105	                                player.getPlayer().broadcastUserInfo(true);
106	                                player.getInventory().addItem(7694, 1L, "nobleTiara");
107	                                player.sendMessage("Congratulations! You gained noblesse rank.");
108	                                player.broadcastUserInfo(true);
109	                        }
110	                        else if (player.isNoble())
111	                        {
112	                                player.sendMessage("You already have noblesse rank !");
113	                        }
114	                }
115	                else if (command.equalsIgnoreCase("give_hero"))
116	                {
117	                        if (!player.isHero())
118	                        {
119	                                player.setHero(true);
120	                                player.updatePledgeClass();
121	                                player.addSkill(SkillTable.getInstance().getInfo(395, 1));
122	                                player.addSkill(SkillTable.getInstance().getInfo(396, 1));
123	                                player.addSkill(SkillTable.getInstance().getInfo(1374, 1));
124	                                player.addSkill(SkillTable.getInstance().getInfo(1375, 1));
125	                                player.addSkill(SkillTable.getInstance().getInfo(1376, 1));
126	                                player.sendPacket(new SkillList(player));
127	                                player.getPlayer().broadcastUserInfo(true);
128	                                player.sendMessage("Congratulations! You gained hero rank.");
129	                                player.broadcastUserInfo(true);
130	                        }
131	                        else if (player.isNoble())
132	                        {
133	                                player.sendMessage("You already have hero rank !");
134	                        }
135	                }
136	                else
137	                {
138	                        super.onBypassFeedback(player, command);
139	                }
140	        }
141	       
142	        @Override
143	        public boolean isNpc()
144	        {
145	                return true;
146	        }
147	       
148	}

 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
3 hours ago, HorrorSlyer said:

if (command.equalsIgnoreCase("change_sex"))

{

.

.

.

}

 

example
 

if (command.equalsIgnoreCase("change_sex"))
{
	if (activeChar.getInventory().getCountOf(Config.getChangeSexPriceId()) >= Config.getChangeSexPriceCount())
	{
		activeChar.getInventory().destroyItemByItemId(Config.getChangeSexPriceId(), Config.getChangeSexPriceCount(), "SexChange");
.
.
.
Your Code Here
.
.
.
	}
	else
		activeChar.sendMessage("Error: You don't have items to pay.");
}

 

Edited by L2 TokTil
Quote
Link to comment
Share on other sites

  • 0

@Nightwolf    

if (!player.isNoble())
99	                        {
100	                                Olympiad.addNoble(player.getPlayer());
101	                                player.getPlayer().setNoble(true);
102	                                player.getPlayer().updatePledgeClass();
103	                                player.getPlayer().updateNobleSkills();
104	                                player.getPlayer().sendPacket(new SkillList(player.getPlayer()));
105	                                player.getPlayer().broadcastUserInfo(true);
106	                                player.getInventory().addItem(7694, 1L, "nobleTiara");
107	                                player.sendMessage("Congratulations! You gained noblesse rank.");
108	                                player.broadcastUserInfo(true);
109	                        }
110	                        else if (player.isNoble())
111	                        {
112	                                player.sendMessage("You already have noblesse rank !");
113	                        }

 

Link to comment
Share on other sites

  • 0
4 hours ago, L2 TokTil said:

 

example
 


if (command.equalsIgnoreCase("change_sex"))
{
	if (activeChar.getInventory().getCountOf(Config.getChangeSexPriceId()) >= Config.getChangeSexPriceCount())
	{
		activeChar.getInventory().destroyItemByItemId(Config.getChangeSexPriceId(), Config.getChangeSexPriceCount(), "SexChange");
.
.
.
Your Code Here
.
.
.
	}
	else
		activeChar.sendMessage("Error: You don't have items to pay.");
}

 

 

destroyItemByItemId its a boolean method. True if all item count destroyed ,false if not. So item count check is useless

Edited by Creamy G Colin
Link to comment
Share on other sites

  • 0
24 minutes ago, Creamy G Colin said:

 

destroyItemByItemId its a boolean method. True if all item count destroyed ,false if not. So item count check is useless

 

If you use Player#destroyItemByItemId you are right, even the error message is included if the boolean is set to true.

 

In case you use getInventory() version, it isn't. It's generally used for "custom" message, eg. Lotto tickets / pet item with integrated level.

 

So that will simply be, error message included 

 

if (playerInstance.destroyItemByIt...)
{
    // code here
}

 

Edited by Tryskell
Link to comment
Share on other sites

  • 0

thank's for the support guys example for gendre change service 

 

		if (command.equalsIgnoreCase("change_sex"))
		{
			if (player.getRace() == Race.kamael)
			{
				player.sendMessage("Not available for Kamael.");
				return;
			}
			if (Functions.getItemCount(player, Config.DONATOR_NPC_ITEM) < Config.DONATOR_NPC_COUNT_SEX)
			{
				player.sendMessage("You don't have enough " + Config.DONATOR_NPC_ITEM_NAME +"." );
				return;
			}

			Connection con = null;
			PreparedStatement offline = null;
			try
			{
				con = DatabaseFactory.getInstance().getConnection();
				offline = con.prepareStatement("UPDATE characters SET sex = ? WHERE obj_Id = ?");
				offline.setInt(1, player.getSex() == 1 ? 0 : 1);
				offline.setInt(2, player.getObjectId());
				offline.executeUpdate();
			}
			catch(Exception e)
			{
				e.printStackTrace();
				return;
			}
			finally
			{
				DbUtils.closeQuietly(con, offline);
			}

			Functions.removeItem(player, Config.DONATOR_NPC_ITEM, Config.DONATOR_NPC_COUNT_SEX, "Removed");
			player.changeSex();
			player.setTransformation(251);
			player.sendMessage("Your gender has been changed!");
			player.broadcastUserInfo(true);
			player.setTransformation(0);
			System.out.println("Character " + player + "  changed sex via donation"); 
		}

 

Link to comment
Share on other sites

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
Answer this question...

×   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.



  • Posts

    • bro is any chance some one share compile pack and patch system for that one? is any chance here.... and client
    • Hello members of the forum! We offer hosting services for a different range of services: - ip spoofing; - scanning; - phishing; - botnets; - proxy; - gambling; - stealers; - legal adult; Prices: - VPS starting at $24; - Dedicated servers  starting at  $110; Contctats: layer0.ltd@gmail.com Telegram: @layer0_ltd Discord: layer0.ltd#6843 site: layer0.ltd
    • OUR OFFICIAL WEBSITE / FORUM - MILLENNIUM-HOOK.NET CHEAT DESCRIPTION: Our CS2 cheat is a premium cheat which provides a ton of features for legit gamplay. The cheat was created specifically for strong leagues and anti-cheats such as Faceit, 5EWin, Gamersclub, Esportal and many others. This cheat is perfect for players who want a safe undetected and reliable multi-hack while dominating their opponents and winning the game in their own style. To ensure maximum security of our cheat, we use more than 15+ methods of protection (for example, String Encryption, PE Header Erased, Code Mutation and much more that we cannot talk about for security reasons). Settings are directly configurable via a superb looking in-game menu or over our online «Cloud Panel». Our product is constantly receiving updates in collaboration with the our coders community and suggestions by you! SUPPORTED ANTI-CHEATS: (read more on official website) - VAC (Valve Anti-Cheat) - MM (Matchmaking) - FACEIT Server-Side - FACEIT Client - CEVO / Gfinity - EAC (Easy Anti-Cheat) - ESL Wire - 5EWin / 5EPlay - Perfect World - Gamersclub - Esportal - WePlay - ESEA Our CS2 cheat has a limited number of slots to ensure greater product security! (Available slots check on official website) FEATURES: AIMBOT: - Bone Aimbot (Legit aimbot that doesn't use any angle code that other competitors use. It aims in a legitimate fashion) - Bone and Multibone (Adjust which bone to aim at or select as many Bones as you want) - Smoothaim (Adjust how smooth the aimbot is in its human-like drag) - CloseAim (Toggle distance based aiming algorithm, for increased stickyness, or whoever is closest to the crosshair) - FoV (Adjust the Field of View of the aimbot or percentage of the screen that the aimbot will target enemies from) - Aimkey (Adjust which key the aimbot will use to aim) - AimDraw (Toggle the drawing of the aimspot on enemies (Visible/Always) - VisibleCheck (Visible checking on enemies with close enemy) - NoHop (Aim at One Target per press of the AimKey (Aimbot Doesn't Hop to Other Targets even after death) - RandomSpot (Randomizes the Spot around the target bones, making your aim look more humanized and legit) - Aimtime (Amount of time that the aimbot and Aimbot-RCS is active for, after you press the aimkey) - Ammo Management (Disable aimbot and TriggerBot when the gun clip is empty) - CloseFoV (Different FoV for players with in a certain distance (CloseFOV Distance) - AimOnShoot (Aim when shooting, aim when not shooting) - RecoilAfter (Start recoil after x bullets (Good for 1-2 Taps) - Recoil (Adjust the recoil counter while using the aimbot) - RecoilKey (Adjust which key the anti-recoil is set on (For all Aimbot Keys) - RecoilType (Control if recoil control is always on or only when using the Aimbot) - RecoilFOV (Adjust how long the Recoil will stay stuck to the target, very usable for when playing at a LAN) TRIGGERBOT: - TriggerBot (Automatically shoot at an enemy in a radius (usable with or without Aimbot) - TriggerKey (Control what key activates the TriggerBot (use with any key) - TriggerFov (Control the radius around the AimSpot which activates the TriggerBot) - TriggerDraw (Draw the bone spot that the TriggerBot is aiming at) - TriggerBone (Select the bone that the TriggerBot will target) - TriggerDelay (To add to the legitimacy of the TriggerBot, delays shooting for up to 0.5 seconds) - MonsterTrigger (Extremely Fast & Accurate TriggerBot with Fullbody Options Perfect TriggerBot) - VisCheck (Make sure you're only hitting enemies that you can see, or turn it off to get some sick wallbangs) - Random Delay (A random delay for your trigger bot to look even more legitimate) - Trigger Button (Use any button you like to control the triggerbot) ESP: - Name (Name of the player) - Health (Shows the current health of a player) - Armor (Shows the current amount of armor a player has) - ArmorType (Show if a player currently has a Kevlar vest, a helmet or both equipped) - Weapon (See what weapon a player is currently holding) - Weapon Ammo (See how much ammo you have left in the current clip) - Index (The internal index of the player based on the CSGO engine) - Distance (The distance of each player from you) - Box (A box around each players model, adjusting with distance (new rectangle box type) - Sequence (What action or stance the player is in (Running, Ducking, Jumping, Scoped etc) - Box Size & Box Multi (The size of the boxes around the players, adjustable to how you like) - Team ESP (Toggle ESP on your teammates) - Clean Draw ESP (Move ESP away from box) - Pixel ESP (Single Pixel ESP for legitimate play, shows one single pixel on the screen so it's not noticeable to any casual observers) - Visible ESP (Different color ESP for visible & non-visible players) - Entity ESP (See weapons, defusers, Bomb Location, and defusing players) - Entity Distance (Adjust how far away you will see different Entities for the ultimate in Player-Location assistance) - List ESP (The Ultimate Legit ESP, Listing Players that are not on your screen, or players anywhere in case you don't want to know where they are exactly) MISC: - Bunny Hop (Jumps automatically while the chosen key is being held) - Crosshair (When enabled it will draw a cross-hair on your screen, perfect for snipers, it also features an adjustable size) - Weapon Config System (Weapon configurations for each weapon group (pistols, deagle, snipers, SMG, Knife, rifles, etc) - Flash reduction (Make sure you can see enemies while you're supposed to be flashed) - Radar In Game (A radar is displayed where you see opponents) REQUIREMENTS: - Included HWID Spoofer: Yes - Stream Bypass: Yes - Supported game modes: Windowed, Borderless - Supported CPU: Intel & AMD - Supported OS: Windows 10 (1903,1909,2004,20H2,21H1, 22H2), Windows 11 (All version). Supported OS change and are added periodically. More check on official website.   IN-GAME SCREENSHOTS:   - Check on the official website.
    • A very skilled guy, did the job and delivered super fast, you can go without fear   100% malaka boy
  • Topics

×
×
  • Create New...