Gia sas 8elw an borei kaneis na me help me to parakato
( L2jFrozen - Interlude )
Pos 8a boresw na ftiaksw ston Code otan kapios ginete AIO na tou dinei pano apo 1 item dld 5-6 "Armor/Weapon/tattoo gia AIO"
kai otan ginete AIO na diagrafode ta skill apo to main class tou
package com.l2jfrozen.gameserver.model.actor.instance;
import java.util.StringTokenizer;
import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.network.SystemMessageId;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.EtcStatusUpdate;
import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;
import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation;
import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
/**
* Aio Shop e um re-make do Mod Aio Seller. De uma versao para outra, muitas coisas mudaram e isto altera o modo de usar do mod por completo!
* Agora e possivel alterar a template, o item, o preco e o tempo via html. Em resumo, esta nova versao do codigo esta bem mais flexivel.
* Faca um bom uso!
* @author RedHoT
* @version 1.0.7
*/
public class L2AioSellerInstance extends L2FolkInstance
{
public L2AioSellerInstance(int objectId, L2NpcTemplate template)
{
super(objectId, template);
}
@Override
public void onAction(L2PcInstance player)
{
if (!canTarget(player))
return;
player.setLastFolkNPC(this);
// Check if the L2PcInstance already target the L2NpcInstance
if (this != player.getTarget())
{
// Set the target of the L2PcInstance player
player.setTarget(this);
// Send a Server->Client packet MyTargetSelected to the L2PcInstance player
MyTargetSelected my = new MyTargetSelected(getObjectId(), 0);
player.sendPacket(my);
my = null;
// Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client
player.sendPacket(new ValidateLocation(this));
}
else
{
// Calculate the distance between the L2PcInstance and the L2NpcInstance
if (!canInteract(player))
{
// Notify the L2PcInstance AI with AI_INTENTION_INTERACT
player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
}
else
{
showMessageWindow(player);
}
}
// Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
player.sendPacket(ActionFailed.STATIC_PACKET);
}
private void showMessageWindow(L2PcInstance player)
{
String filename = "data/html/mods/Aio Shop/start.htm";
NpcHtmlMessage html = new NpcHtmlMessage(1);
html.setFile(filename);
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%servername%", Config.ALT_Server_Name);
player.sendPacket(html);
filename = null;
html = null;
}
@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
if (command.startsWith("add_aio"))
{
StringTokenizer st = new StringTokenizer(command);
st.nextToken();
String priceId = null, priceCount = null, time = null;
int aioPriceId = 0, aioPriceCount = 0, aioTime = 0;
if (st.hasMoreTokens())
{
priceId = st.nextToken();
priceCount = st.nextToken();
time = st.nextToken();
try
{
aioPriceId = Integer.parseInt(priceId);
aioPriceCount = Integer.parseInt(priceCount);
aioTime = Integer.parseInt(time);
}
catch(NumberFormatException e) {}
}
else
{
_log.warning("Could not update aio status of player " + player.getName());
return;
}
makeAioCharacter(player, aioPriceId, aioPriceCount, aioTime);
}
else if (command.startsWith("remove_aio"))
removeAio(player);
showMessageWindow(player);
}
public void makeAioCharacter(L2PcInstance player, int itemId, int itemCount, int aioTime)
{
L2ItemInstance itemInstance = player.getInventory().getItemByItemId(itemId);
if (itemInstance == null || !itemInstance.isStackable() && player.getInventory().getInventoryItemCount(itemId, -1) < (itemCount))
{
player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
return;
}
else if (itemInstance.isStackable())
{
if (!player.destroyItemByItemId("Aio", itemId, itemCount, player.getTarget(), true))
{
player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
return;
}
}
else
for (int i = 0; i < (itemCount); i++)
player.destroyItemByItemId("Aio", itemId, 1, player.getTarget(), true);
doAio(player, aioTime);
}
public void doAio(L2PcInstance player, int days)
{
if(player == null)
return;
int daysLeft = player.getAioEndTime() <= 0 ? 0 : (int) ((player.getAioEndTime() - System.currentTimeMillis()) / 86400000);
player.setAio(true);
player.setEndTime("aio", days + daysLeft);
player.getStat().addExp(player.getStat().getExpForLevel(81));
if(Config.ALLOW_AIO_NCOLOR && player.isAio())
player.getAppearance().setNameColor(Config.AIO_NCOLOR);
if(Config.ALLOW_AIO_TCOLOR && player.isAio())
player.getAppearance().setTitleColor(Config.AIO_TCOLOR);
/* Give Aio Dual */
L2ItemInstance item;
if(player.getInventory().getItemByItemId(Config.DUAL_AIO_ID) == null)
{
item = player.getInventory().addItem("", Config.DUAL_AIO_ID, 1, player, null);
InventoryUpdate iu = new InventoryUpdate();
iu.addItem(item);
player.sendPacket(iu);
}
player.rewardAioSkills();
player.sendPacket(new EtcStatusUpdate(player));
player.sendSkillList();
player.broadcastUserInfo();
player.sendMessage("You are now an Aio, Congratulations!");
}
public void removeAio(L2PcInstance player)
{
if(!player.isAio())
{
player.sendMessage("You are not an AIO.");
return;
}
player.setAio(false);
player.setAioEndTime(0);
player.getAppearance().setNameColor(0xFFFFFF);
player.getAppearance().setTitleColor(0xFFFF77);
/* Remove Aio Dual */
L2ItemInstance item;
player.getWarehouse().destroyItemByItemId("", Config.DUAL_AIO_ID, 1, player, null);
item = player.getInventory().destroyItemByItemId("", Config.DUAL_AIO_ID, 1, player, null);
InventoryUpdate iu = new InventoryUpdate();
iu.addItem(item);
player.sendPacket(iu);
player.lostAioSkills();
player.sendPacket(new EtcStatusUpdate(player));
player.sendSkillList();
player.broadcastUserInfo();
player.sendMessage("Now You are not an Aio..");
}
}
ADENA
500 K = 40e
1kk = 70e
3kk = 190e
ITEMS
staff of life = 150e
karmian set = 90e
elven jewls top D = 30e
Orcish Poleaxe+1 best C pole = 680e
any D grade armor on demand
discord
wiz0642_81242
❖Items that are sent by physical delivery are sent using someone else's data. That is, if you are not able to accept the parcel, we will not be able to return it. Please keep this in mind.
READY IN STOCK
PAYMENT SYSTEMS
4x4 io, Weststein, Paysafecard, Paysend, Genome, Conotoxia, Mybrocard, Payz Silver, Pockit UK, NagaPay, Volet com, SpectroCoin, SwissMoney, Yuh, Lydia / Sumeria, Ka.App, Wittix, Western Union, MyGuava, Xapo Bank, Bunq on emulator (DE, NL, FR, ES, IE ibans), Revolut on emulator (UK/EU), ICard, BlackCatCard, Vivid DE, Bankera, Bitsa, Wise EU/UK, N26 DE/ES on emulator, Skrill, Neteller, Trasta, Wirex, Lama, Paysera, Moneyjar
CRYPTOEXCHANGE
BINGX com, Bybit LVL 2, KuCoin, Binance LVL 2, Mexc, Latoken, Poloniex, Bitmart, Kraken, WhiteBit, Quppy, Nexo, Gate, OKX, Paybis, Paxful, Huobi (HTX), xcoins com, Bit2Me
BUSINESS ACCOUNTS
Stripe, Payoneer EU, Wise Business UK/EU, Revolut Business EU/UK, N26 Business DE, Wallester Business EU, Kraken Business Pro, Monzo Business, Vivid Business, Zen Business EU, Millennium Business PL, AirWallex EU/UK, Finom business, PayPal business, Payset business
NATIONAL BANKS / BANKS
BBVA, CommerzBank, ING, Santander, Kaspi Bank, Sberbank, AlfaBank, Tbank, Raiffeisen, mBank, Paribas, Bereke Bank, Kapital Bank
Question
StinkyMadness
Gia sas 8elw an borei kaneis na me help me to parakato
( L2jFrozen - Interlude )
Pos 8a boresw na ftiaksw ston Code otan kapios ginete AIO na tou dinei pano apo 1 item dld 5-6 "Armor/Weapon/tattoo gia AIO"
kai otan ginete AIO na diagrafode ta skill apo to main class tou
Edited by StinkyMadness0 answers to this question
Recommended Posts