Jump to content
  • 0

Making Buffer That Wont Buff or Heal in PVP/Karma


Question

15 answers to this question

Recommended Posts

  • 0
Posted

then you should add a check to

 

L2NpcBufferInstance.java

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

  • 0
Posted

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;
	}

  • 0
Posted

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 ;)
  • 0
Posted

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

  • 0
Posted

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

  • 0
Posted

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 ?

 

Guest
This topic is now closed to further replies.


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