lowrider88 Posted August 15, 2012 Posted August 15, 2012 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
0 ΝεβερΜορε Posted August 15, 2012 Posted August 15, 2012 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 ?
0 lowrider88 Posted August 15, 2012 Author Posted August 15, 2012 no it dont have any scripts, just html buffer.
0 VasQueZ Posted August 15, 2012 Posted August 15, 2012 This is config inside the pack. Find the line and turn it to FALSE.
0 ΝεβερΜορε Posted August 15, 2012 Posted August 15, 2012 then you should add a check to L2NpcBufferInstance.java
0 ΝεβερΜορε Posted August 15, 2012 Posted August 15, 2012 This is config inside the pack. Find the line and turn it to FALSE. in h5 l2j ? no i dont think so ....
0 lowrider88 Posted August 15, 2012 Author Posted August 15, 2012 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 EdenEternal Posted August 15, 2012 Posted August 15, 2012 Pack? Chronicle? Is it imported with script or it is in java?
0 lord_rex Posted August 15, 2012 Posted August 15, 2012 show source codes of buffer, without it we cannot help
0 Erlandys Posted August 15, 2012 Posted August 15, 2012 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 August 15, 2012 Posted August 15, 2012 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 lowrider88 Posted August 16, 2012 Author Posted August 16, 2012 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 lowrider88 Posted August 16, 2012 Author Posted August 16, 2012 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 EdenEternal Posted August 16, 2012 Posted August 16, 2012 It should not be in scripts/custom/ folder it should be in package com.l2jserver.gameserver.model.actor.instance; Anywhy in interlude it should be there
0 lowrider88 Posted August 16, 2012 Author Posted August 16, 2012 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 ?
Question
lowrider88
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
15 answers to this question
Recommended Posts