Jump to content
  • 0

Making Buffer That Wont Buff or Heal in PVP/Karma


lowrider88

Question

15 answers to this question

Recommended Posts

  • 0

Ok so i have a buffer but i want to make it to where if you are in combat/pvp/karma it wont buff or heal, how would i go about doing this, I am using High Five L2J..Thanks

which is your buffer ? it works with script ?
Link to comment
Share on other sites

  • 0

If you use buffer from htmls:

data/html/mods/NpcBuffer.htm

Then in com.l2jserver.gameserver.model.actor.instance.L2NpcBufferInstance

class after those lines:

	@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
	// BypassValidation Exploit plug.
	if (player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId())
		return;

put this code:

		if (player.isInCombat) {
		player.sendMessage("You can't use buffer while you are in combat mode!");
		return;
	}
	if (player.getPvpFlag() != 0) {
		player.sendMessage("You can't use buffer while you have PvP Flag!");
		return;
	}
	if (player.getKarma() > 0) {
		player.sendMessage("You can't use buffer while you have karma!");
		return;
	}

Link to comment
Share on other sites

  • 0

sorry i am not sure what you mean, do i have to make a Script of my own then ? because if so i am screwed lol

If you use buffer from htmls:

data/html/mods/NpcBuffer.htm

Then in com.l2jserver.gameserver.model.actor.instance.L2NpcBufferInstance

class after those lines:

	@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
	// BypassValidation Exploit plug.
	if (player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId())
		return;

put this code:

		if (player.isInCombat) {
		player.sendMessage("You can't use buffer while you are in combat mode!");
		return;
	}
	if (player.getPvpFlag() != 0) {
		player.sendMessage("You can't use buffer while you have PvP Flag!");
		return;
	}
	if (player.getKarma() > 0) {
		player.sendMessage("You can't use buffer while you have karma!");
		return;
	}

thats what i was talking about ;)
Link to comment
Share on other sites

  • 0

I am using L2J High Five, I didnt compile it, Its Server 5550 and DataPack 9049 i looked for com.l2jserver.gameserver.model.actor.instance.L2NpcBufferInstance but could not find any thing that looked like that, do you have to compile it first in order do do that

Link to comment
Share on other sites

  • 0

ok so i found this com.l2jserver.gameserver.model.actor.instance.L2NpcBufferInstance

http://trac.l2jserver.com/browser/trunk/L2J_Server/java/com/l2jserver/gameserver/model/actor/instance/L2NpcBufferInstance.java#

 

 

/*

* This program is free software: you can redistribute it and/or modify it under

* the terms of the GNU General Public License as published by the Free Software

* Foundation, either version 3 of the License, or (at your option) any later

* version.

*

* This program is distributed in the hope that it will be useful, but WITHOUT

* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS

* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

* details.

*

* You should have received a copy of the GNU General Public License along with

* this program. If not, see <http://www.gnu.org/licenses/>.

*/

package com.l2jserver.gameserver.model.actor.instance;

 

import gnu.trove.map.hash.TIntIntHashMap;

 

import java.util.logging.Logger;

 

import com.l2jserver.gameserver.cache.HtmCache;

import com.l2jserver.gameserver.datatables.NpcBufferTable;

import com.l2jserver.gameserver.datatables.SkillTable;

import com.l2jserver.gameserver.model.actor.L2Character;

import com.l2jserver.gameserver.model.actor.L2Npc;

import com.l2jserver.gameserver.model.actor.L2Summon;

import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;

import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;

import com.l2jserver.gameserver.model.skills.L2Skill;

import com.l2jserver.gameserver.network.SystemMessageId;

import com.l2jserver.gameserver.network.serverpackets.ActionFailed;

import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;

import com.l2jserver.gameserver.network.serverpackets.SystemMessage;

import com.l2jserver.gameserver.taskmanager.AttackStanceTaskManager;

 

/**

* The Class L2NpcBufferInstance.

*/

public class L2NpcBufferInstance extends L2Npc

{

static final Logger _log = Logger.getLogger(L2NpcBufferInstance.class.getName());

 

private static TIntIntHashMap pageVal = new TIntIntHashMap();

 

/**

* Instantiates a new l2 npc buffer instance.

*

* @param objectId the object id

* @param template the template

*/

public L2NpcBufferInstance(int objectId, L2NpcTemplate template)

{

super(objectId, template);

setInstanceType(InstanceType.L2NpcBufferInstance);

}

 

@Override

public void showChatWindow(L2PcInstance playerInstance, int val)

{

if (playerInstance == null)

return;

                if (player.isInCombat) {

                        player.sendMessage("You can't use buffer while you are in combat mode!");

                        return;

                }

if (player.getPvpFlag() != 0) {

                        player.sendMessage("You can't use buffer while you have PvP Flag!");

                        return;

                }

                if (player.getKarma() > 0) {

                        player.sendMessage("You can't use buffer while you have karma!");

                        return;

                }

String htmContent = HtmCache.getInstance().getHtm(playerInstance.getHtmlPrefix(), "data/html/mods/NpcBuffer.htm");

 

if (val > 0)

htmContent = HtmCache.getInstance().getHtm(playerInstance.getHtmlPrefix(), "data/html/mods/NpcBuffer-" + val + ".htm");

 

if (htmContent != null)

{

NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(getObjectId());

 

npcHtmlMessage.setHtml(htmContent);

npcHtmlMessage.replace("%objectId%", String.valueOf(getObjectId()));

playerInstance.sendPacket(npcHtmlMessage);

}

 

playerInstance.sendPacket(ActionFailed.STATIC_PACKET);

}

 

@Override

public void onBypassFeedback(L2PcInstance player, String command)

{

// BypassValidation Exploit plug.

if (player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId())

return;

 

L2Character target = player;

 

if (command.startsWith("Pet"))

{

L2Summon pet = player.getPet();

if (pet == null)

{

player.sendMessage("You do not have your pet summoned.");

showChatWindow(player, 0); // 0 = main window

return;

}

target = pet;

}

 

int npcId = getNpcId();

 

if (command.startsWith("Chat"))

{

int val = Integer.parseInt(command.substring(5));

 

pageVal.put(player.getObjectId(), val);

 

showChatWindow(player, val);

}

else if (command.startsWith("Buff") || command.startsWith("PetBuff"))

{

String[] buffGroupArray = command.substring(command.indexOf("Buff") + 5).split(" ");

 

for (String buffGroupList : buffGroupArray)

{

if (buffGroupList == null)

{

_log.warning("NPC Buffer Warning: npcId = " + npcId + " has no buffGroup set in the bypass for the buff selected.");

return;

}

 

int buffGroup = Integer.parseInt(buffGroupList);

 

int[] npcBuffGroupInfo = NpcBufferTable.getInstance().getSkillInfo(npcId, buffGroup);

 

if (npcBuffGroupInfo == null)

{

_log.warning("NPC Buffer Warning: npcId = " + npcId + " Location: " + getX() + ", " + getY() + ", " + getZ() + " Player: " + player.getName() + " has tried to use skill group (" + buffGroup + ") not assigned to the NPC Buffer!");

return;

}

 

int skillId = npcBuffGroupInfo[0];

int skillLevel = npcBuffGroupInfo[1];

int skillFeeId = npcBuffGroupInfo[2];

int skillFeeAmount = npcBuffGroupInfo[3];

 

if (skillFeeId != 0)

{

L2ItemInstance itemInstance = player.getInventory().getItemByItemId(skillFeeId);

 

if (itemInstance == null || (!itemInstance.isStackable() && player.getInventory().getInventoryItemCount(skillFeeId, -1) < skillFeeAmount))

{

SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL);

player.sendPacket(sm);

continue;

}

 

if (itemInstance.isStackable())

{

if (!player.destroyItemByItemId("Npc Buffer", skillFeeId, skillFeeAmount, player.getTarget(), true))

{

SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL);

player.sendPacket(sm);

continue;

}

}

else

{

for (int i = 0; i < skillFeeAmount; ++i)

{

player.destroyItemByItemId("Npc Buffer", skillFeeId, 1, player.getTarget(), true);

}

}

}

 

L2Skill skill;

skill = SkillTable.getInstance().getInfo(skillId, skillLevel);

 

if (skill != null)

skill.getEffects(player, target);

}

 

showChatWindow(player, pageVal.get(player.getObjectId()));

}

else if (command.startsWith("Heal") || command.startsWith("PetHeal"))

{

if (!target.isInCombat() && !AttackStanceTaskManager.getInstance().getAttackStanceTask(target))

{

String[] healArray = command.substring(command.indexOf("Heal") + 5).split(" ");

 

for (String healType : healArray)

{

if (healType.equalsIgnoreCase("HP"))

{

target.setCurrentHp(target.getMaxHp());

}

else if (healType.equalsIgnoreCase("MP"))

{

target.setCurrentMp(target.getMaxMp());

}

else if (healType.equalsIgnoreCase("CP"))

{

target.setCurrentCp(target.getMaxCp());

}

}

}

showChatWindow(player, pageVal.get(player.getObjectId()));

}

else if (command.startsWith("RemoveBuffs") || command.startsWith("PetRemoveBuffs"))

{

target.stopAllEffectsExceptThoseThatLastThroughDeath();

showChatWindow(player, pageVal.get(player.getObjectId()));

}

else

{

super.onBypassFeedback(player, command);

}

}

}

 

 

i put it in C:\server\game\data\scripts\custom\L2NpcBufferInstance.java

then i add it to my scripts.config

 

# Custom

custom/L2NpcBufferInstance.java

 

i get this in gave server console:

1. ERROR in \L2NpcBufferInstance.java (at line 62)

        if (player.isInCombat) {

            ^^^^^^

player cannot be resolved to a variable

----------

2. ERROR in \L2NpcBufferInstance.java (at line 63)

        player.sendMessage("You can't use buffer while you are in combat mode!")

;

        ^^^^^^

player cannot be resolved

----------

3. ERROR in \L2NpcBufferInstance.java (at line 66)

        if (player.getPvpFlag() != 0) {

            ^^^^^^

player cannot be resolved

----------

4. ERROR in \L2NpcBufferInstance.java (at line 67)

        player.sendMessage("You can't use buffer while you have PvP Flag!");

        ^^^^^^

player cannot be resolved

----------

5. ERROR in \L2NpcBufferInstance.java (at line 70)

        if (player.getKarma() > 0) {

            ^^^^^^

player cannot be resolved

----------

6. ERROR in \L2NpcBufferInstance.java (at line 71)

        player.sendMessage("You can't use buffer while you have karma!");

        ^^^^^^

player cannot be resolved

----------

6 problems (6 errors)player cannot be resolved to a variable

player cannot be resolved

player cannot be resolved

player cannot be resolved

player cannot be resolved

player cannot be resolved

Failed executing script: C:\server\game\data\scripts\custom\L2NpcBufferInstance.

java. See L2NpcBufferInstance.java.error.log for details.

 

 

and the log says:

Error on: C:\server\game\data\scripts\custom\L2NpcBufferInstance.java.error.log

Line: -1 - Column: -1

 

compilation failed

Link to comment
Share on other sites

  • 0

It should not be in scripts/custom/ folder

it should be inAnywhy in interlude it should be there

 

But i dont have that location package com.l2jserver.gameserver.model.actor.instance

 

is it because i downloaded a compiled server and didnt compile it myself ?

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Posts

    • Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11 Telegram : https://t.me/ultrastore1 Welcome to my store :  https://topestore.mysellix.io/fr/ 2015-2022 Aged Discord Account 2015 Discord Account : 50.99 $ 2016 Discord Account : 10$ 2017 Discord Account :3.99 $ 2018 Discord Account : 3.50$ 2019 Discord Account : 2.70 $ 2020 Discord Account :1.50$ 2021 Discord Account :0.99$ 2022 Discord Account :0.70$ Warranty :Lifetime Payment Methods : Crypto/ PayPal Contact Me On Discord Or Telegram Discord : @ultrasstore11
    • L2 ArenaWar: Low Rate PvP Server with Free Buffs & Autofarm [PVP]⚔️ [Free]🆓 Classic Interlude with  3x XP rates! Free starter pack(no grade) to kickstart your adventure! Autofarm for convenient grinding! Free buffs to keep you fighting fit! (2 job buffs) No experience loss on death! (Except with Karma) Clear Karma system to keep things fair! ⚖️ Active community of 800-1k players! Join our Discord to learn more! >> Discord <<     Server website: https://l2arenawar.com/en/    
    • This is dedication! 2 years working on a problem. Congratulations!
    • You indeed have to save player position over Enterworld to properly clean it up later (if you don't, even trying to delete packet content would eventually keep it up), that's what we do with debug packet (which is a reusable Map of ExServerPrimitive packets) on aCis.   It doesn't solve the FPS stuttering - more you draw/delete lines, more your client becomes laggy. It's like if client wasn't deleting drawn points/lines properly, but instead simply hide them and redrawn content above.   If you got a solution, I would happy to integrate it.   You should check aCis#Player _debug packet integration, it allows very big amount of lines/points to be drawn, it is also reusable.   https://gitlab.com/Tryskell/acis_public/-/blob/master/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/Player.java?ref_type=heads https://gitlab.com/Tryskell/acis_public/-/blob/master/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java?ref_type=heads  
    • we sell website templates, make websites to order. Great selection at very good prices. My contacts discord : advert1231 telegram : https://t.me/ggwpins  
  • Topics

×
×
  • Create New...