Hi. I searched Google for information on installing a recharge and found only a person who sells it for $6 (LOL)
I don't pretend to be the author of this code, I found it in some assembly, I don't remember exactly...
Creating a file RechargerAI2.java with the code specified above..
We put it in the folder "AionGameLibs\data\scripts\system\handlers\ai\worlds"
And we prescribe ai to the necessary NPC
In this code - this npc "730397"
I don't pretend to be the author of this code, I found it in some assembly, I don't remember exactly...
Java:
package ai.worlds;
import ai.ActionItemNpcAI2;
import com.aionemu.gameserver.ai2.AI2Actions;
import com.aionemu.gameserver.ai2.AIName;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.network.aion.serverpackets.SM_ATTACK_STATUS;
import com.aionemu.gameserver.network.aion.serverpackets.SM_SKILL_COOLDOWN;
import com.aionemu.gameserver.skillengine.model.SkillTargetSlot;
import com.aionemu.gameserver.utils.PacketSendUtility;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@AIName("recharger")
public class RechargerAI2 extends ActionItemNpcAI2 {
@Override
protected void handleUseItemFinish(Player player) {
switch (getNpcId()){
case 730397:
reseter(player);
super.handleUseItemFinish(player);
break;
}
}
@Override
protected void handleDied() {
AI2Actions.deleteOwner(this);
}
public void reseter(Player player){
player.getLifeStats().increaseHp(SM_ATTACK_STATUS.TYPE.HP, player.getLifeStats().getMaxHp() + 1);
player.getLifeStats().increaseMp(SM_ATTACK_STATUS.TYPE.MP, player.getLifeStats().getMaxMp() + 1);
player.getEffectController().removeAbnormalEffectsByTargetSlot(SkillTargetSlot.SPEC2);
List<Integer> delayIds = new ArrayList<Integer>();
if (player.getSkillCoolDowns() != null) {
long currentTime = System.currentTimeMillis();
for (Map.Entry<Integer, Long> en : player.getSkillCoolDowns().entrySet()) {
delayIds.add(en.getKey());
if(delayIds.contains(11885) || delayIds.contains(11886) || delayIds.contains(11887) || delayIds.contains(11888) || delayIds.contains(11889) ||
delayIds.contains(11890) || delayIds.contains(11891) || delayIds.contains(11892) || delayIds.contains(11893) || delayIds.contains(11894)){
delayIds.remove(en.getKey());
}
}
for (Integer delayId : delayIds) {
player.setSkillCoolDown(delayId, currentTime);
}
delayIds.clear();
PacketSendUtility.sendPacket(player, new SM_SKILL_COOLDOWN(player.getSkillCoolDowns()));
}
}
}
Creating a file RechargerAI2.java with the code specified above..
We put it in the folder "AionGameLibs\data\scripts\system\handlers\ai\worlds"
And we prescribe ai to the necessary NPC
In this code - this npc "730397"
XML:
<npcTemplate npc_id="730397" level="1" name="Recharger" name_id="371763" name_desc="IDStation_EnergyCharger" height="2.0" rank="DISCIPLINED" rating="NORMAL" tribe="USEALL" type="GENERAL" ai="recharger" srange="50" adelay="2000" hpgauge="3">
<npc_stats maxHp="172" maxXp="106" main_hand_attack="20" main_hand_accuracy="187" pdef="100" mresist="187" power="23" evasion="187" accuracy="93"/>
<bound_radius front="0.5" side="0.7" upper="2.0"/>
<talk_info distance="5" delay="3"/>
</npcTemplate>