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..");
}
}
DISCORD :
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/uthciha-market
https://campsite.bio/utchihaamkt
areadata 파일은 없지만 PVP zone 스크립트 폴더는 있습니다.
PVP 존 폴더의 arena zone 명령어로 arena 모드를 활성화 할 수 있습니다.
하지만 ID를 자동으로 보라색으로 바꾸는 명령이 무엇인지 알고 싶습니다.
The areadata file is not in my server pack
I can activate arena mode with the arena zone command in the PVP zone folder,
but I would like to know which command to use to automatically change the ID to purple.
The registration panel does not come with the VIP download, or is it paid separately, I would be interested in purchasing it, thank you How do I get in touch or how much it costs, I'll stay tuned.
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