Jump to content

Question

Posted

Hi all, i want to create a custom npc, that can give passive skills to the players. For example: 
Buy Skill 1

Buy Skill 2

Buy Skill 3

Buy Skill 4
.......
skill cost: 100 adena
check's: to can take only 3 skills MAX.
 
Someone can suggest me how to create a npc like this?

4 answers to this question

Recommended Posts

  • 0
Posted (edited)

Well 

  • create your instance.
  • in every button use 1 specific bypass example the first button named Wind Walk should have bypass bypass -h npc_%objectId%_buy 1204 2
  • 1204 ID / 2 = lvl
  • Your bypass "buy" should check if any skill contains these infos
  • then you should check the player's skills and count all your custom buffs 
  • if the count is lower than the maximum amount continue and give the buff. Lets see that
<button value="Wind Walk" action="bypass -h npc_%objectId%_Buy 1204 2" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td></p>

Your instance bypass:

else if (currentCommand.startsWith("buy"))
{
	if (st.countTokens() != 2)
		return;
	
	String id = st.nextToken(); // get the id
	String level = st.nextToken(); // get the level
	int idval;
	int lvl;
	try
	{
		idval = Integer.parseInt(id); // trying to parse them
		lvl = Integer.parseInt(level);
	}
	catch (NumberFormatException e)
	{
		System.out.println(e.getMessage());
		return;
	}
	int found = 0;
	for (L2Effect f : player.getAllEffects())
	{
		if (f.getSkill().getId() == 1 || f.getSkill().getId() == 2 || .....)
		{
			found++;
			if (found > 3)
			{
				player.sendMessage("You have reached the maximum ammount of buffs");
				return;
			}
		}
		
	}
	L2Skill skill = SkillTable.getInstance().getInfo(idval, lvl);
	if (skill != null)
		if (!player.destroyItemByItemId("buySkill", 57, 500, null, true)) // check for items
			player.sendMessage("You do not have enough adena!");
		else
			player.addSkill(skill, true); // store skill . (false for not store)
}

note: if you have many skills for sell its better to use a list and then check with contains to avoid this 'for' loop

Edited by melron
  • 0
Posted
  On 7/28/2017 at 5:56 PM, melron said:

Well 

  • create your instance.
  • in every button use 1 specific bypass example the first button named Wind Walk should have bypass bypass -h npc_%objectId%_buy 1204 2
  • 1204 ID / 2 = lvl
  • Your bypass "buy" should check if any skill contains these infos
  • then you should check the player's skills and count all your custom buffs 
  • if the count is lower than the maximum amount continue and give the buff. Lets see that
<button value="Wind Walk" action="bypass -h npc_%objectId%_Buy 1204 2" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"></td></p>

Your instance bypass:

else if (currentCommand.startsWith("buy"))
{
	if (st.countTokens() != 2)
		return;
	
	String id = st.nextToken(); // get the id
	String level = st.nextToken(); // get the level
	int idval;
	int lvl;
	try
	{
		idval = Integer.parseInt(id); // trying to parse them
		lvl = Integer.parseInt(level);
	}
	catch (NumberFormatException e)
	{
		System.out.println(e.getMessage());
		return;
	}
	int found = 0;
	for (L2Effect f : player.getAllEffects())
	{
		if (f.getSkill().getId() == 1 || f.getSkill().getId() == 2 || .....)
		{
			found++;
			if (found > 3)
			{
				player.sendMessage("You have reached the maximum ammount of buffs");
				return;
			}
		}
		
	}
	L2Skill skill = SkillTable.getInstance().getInfo(idval, lvl);
	if (skill != null)
		if (!player.destroyItemByItemId("buySkill", 57, 500, null, true)) // check for items
			player.sendMessage("You do not have enough adena!");
		else
			player.addSkill(skill, true); // store skill . (false for not store)
}

note: if you have many skills for sell its better to use a list and then check with contains to avoid this 'for' loop

thank for the info i will try to make it ;d

  • 0
Posted
  On 7/29/2017 at 12:16 AM, Heroic9614 said:

what this st.countToken() ?

The countTokens() method is used to calculate the number of times that this tokenizer's nextToken method can be called before it generates an exception.

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

    • Running ads or working with voice verification? We provide the essential tools for arbitrage, marketing, e-commerce, and anonymous operations! Ready-to-use Google Ads and Google Voice accounts — verified, warmed up, with logs and full access. Perfect for: ✔ Media buyers launching campaigns via Google ✔ Agencies and PPC specialists ✔ Businesses needing fast and safe ad launches without bans ✔ Users working with Google Voice (2nd-step verification, US numbers, etc.) ✔ Google Ads: accounts with budgets from €10 to $1000+, with or without verification ✔ All come with 2FA, backup email, cookies, and UserAgent Promo code: GOOGLE10 (10% discount) Payment: bank cards · crypto · other popular methods How to buy: ➡ Online Store: Click ➡ Telegram Bot: Click Other services: ➡ SMM Panel: Click Assortment: ➡Google Voice Accounts (GMAIL US NEW) | Year: 2024 (random) | Phone Verified | Price from: $9.00 ➡Google Voice Accounts (GMAIL US OLD) | Year: 2006–2018 | Phone Verified | Price from: $14.00 ➡Google Ads Account USA/EUROPE (UK, Germany, France, etc.) | Manually farmed 7+ days | Created ad account | Includes 2FA, backup codes, backup email, UserAgent, Cookies | Price from: $13.00 ➡Google Ads Account USA/EUROPE | VERIFICATION COMPLETED – €10 BILL | Manually farmed 7+ days | Ad created | Includes 2FA, backup email, UserAgent, Cookies | Price from: $55.00 ➡Google Ads Account EUROPE/USA with ad campaigns and spend $100/$500/$1000+ | Verification not completed | Full access & setup | Price from: $200.00 ➡Google Ads Account EUROPE/USA with ad campaigns and spend $100/$500/$1000+ | Verification completed | Full access & setup | Price from: $400.00 Regular buyers get extra discounts and promo codes! Support: ➡ Telegram: https://t.me/solomon_bog ➡ Discord: https://discord.gg/y9AStFFsrh ➡ WhatsApp: https://wa.me/79051904467 ➡ ✉ Email: solomonbog@socnet.store ➡ Telegram Channel: https://t.me/accsforyou_shop You can also use these contacts to: — Discuss wholesale orders — Propose partnerships (current partners: https://socnet.bgng.io/partners ) — Become a supplier SocNet — Digital Goods & Premium Subscriptions Store
    • Running ads or working with voice verification? We provide the essential tools for arbitrage, marketing, e-commerce, and anonymous operations! Ready-to-use Google Ads and Google Voice accounts — verified, warmed up, with logs and full access. Perfect for: ✔ Media buyers launching campaigns via Google ✔ Agencies and PPC specialists ✔ Businesses needing fast and safe ad launches without bans ✔ Users working with Google Voice (2nd-step verification, US numbers, etc.) ✔ Google Ads: accounts with budgets from €10 to $1000+, with or without verification ✔ All come with 2FA, backup email, cookies, and UserAgent Promo code: GOOGLE10 (10% discount) Payment: bank cards · crypto · other popular methods How to buy: ➡ Online Store: Click ➡ Telegram Bot: Click Other services: ➡ SMM Panel: Click Assortment: ➡Google Voice Accounts (GMAIL US NEW) | Year: 2024 (random) | Phone Verified | Price from: $9.00 ➡Google Voice Accounts (GMAIL US OLD) | Year: 2006–2018 | Phone Verified | Price from: $14.00 ➡Google Ads Account USA/EUROPE (UK, Germany, France, etc.) | Manually farmed 7+ days | Created ad account | Includes 2FA, backup codes, backup email, UserAgent, Cookies | Price from: $13.00 ➡Google Ads Account USA/EUROPE | VERIFICATION COMPLETED – €10 BILL | Manually farmed 7+ days | Ad created | Includes 2FA, backup email, UserAgent, Cookies | Price from: $55.00 ➡Google Ads Account EUROPE/USA with ad campaigns and spend $100/$500/$1000+ | Verification not completed | Full access & setup | Price from: $200.00 ➡Google Ads Account EUROPE/USA with ad campaigns and spend $100/$500/$1000+ | Verification completed | Full access & setup | Price from: $400.00 Regular buyers get extra discounts and promo codes! Support: ➡ Telegram: https://t.me/solomon_bog ➡ Discord: https://discord.gg/y9AStFFsrh ➡ WhatsApp: https://wa.me/79051904467 ➡ ✉ Email: solomonbog@socnet.store ➡ Telegram Channel: https://t.me/accsforyou_shop You can also use these contacts to: — Discuss wholesale orders — Propose partnerships (current partners: https://socnet.bgng.io/partners ) — Become a supplier SocNet — Digital Goods & Premium Subscriptions Store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock