UID4211
阅读权限50
威望 点
积分516
注册时间2010-3-4
最后登录1970-1-1
听众
收听
升级
  3.2%
|
package admincommands;
import java.util.Arrays;
import com.aionemu.gameserver.configs.administration.AdminConfig;
import com.aionemu.gameserver.model.PlayerClass;
import com.aionemu.gameserver.model.gameobjects.VisibleObject;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.network.aion.serverpackets.SM_TITLE_SET;
import com.aionemu.gameserver.network.aion.serverpackets.SM_TITLE_UPDATE;
import com.aionemu.gameserver.utils.PacketSendUtility;
import com.aionemu.gameserver.utils.chathandlers.AdminCommand;
/**
* @author Nemiroff, ATracer, IceReaper
* Date: 11.12.2009
* @author Sarynth - Added AP
*/
public class Set extends AdminCommand {
public Set() {
super("set");
}
@Override
public void executeCommand(Player admin, String[] params)
{
if (params == null || params.length < 2)
{
PacketSendUtility.sendMessage(admin, "syntax //set <class|exp|ap|level|title>");
return;
}
Player target = null;
VisibleObject creature = admin.getTarget();
if (admin.getTarget() instanceof Player)
{
target = (Player) creature;
}
if (target == null)
{
PacketSendUtility.sendMessage(admin, "You should select a target first!");
return;
}
if (params[1] == null)
{
PacketSendUtility.sendMessage(admin, "You should enter second params!");
return;
}
String paramValue = params[1];
if (params[0].equals("class"))
{
if(admin.getAccessLevel() < AdminConfig.COMMAND_SETCLASS)
{
PacketSendUtility.sendMessage(admin, "You dont have enough rights to execute this command");
return;
}
byte newClass;
try
{
newClass = Byte.parseByte(paramValue);
}
catch (NumberFormatException e)
{
PacketSendUtility.sendMessage(admin, "You should enter valid second params!");
return;
}
PlayerClass oldClass = null;
Player player = null;
if (target != null)
{
player = target;
oldClass = target.getPlayerClass();
}
else
{
player = admin;
oldClass = admin.getPlayerClass();
}
setClass(player, oldClass, newClass);
}
else if (params[0].equals("exp"))
{
if(admin.getAccessLevel() < AdminConfig.COMMAND_SETEXP)
{
PacketSendUtility.sendMessage(admin, "You dont have enough rights to execute this command");
return;
}
long exp;
try
{
exp = Long.parseLong(paramValue);
}
catch (NumberFormatException e)
{
PacketSendUtility.sendMessage(admin, "You should enter valid second params!");
return;
}
if (target instanceof Player)
{
Player player = target;
player.getCommonData().setExp(exp);
PacketSendUtility.sendMessage(admin, "Set your exp to " + paramValue);
}
}
else if (params[0].equals("ap"))
{
if(admin.getAccessLevel() < AdminConfig.COMMAND_SETAP)
{
PacketSendUtility.sendMessage(admin, "You dont have enough rights to execute this command");
return;
}
int ap;
try
{
ap = Integer.parseInt(paramValue);
}
catch (NumberFormatException e)
{
PacketSendUtility.sendMessage(admin, "You should enter valid second params!");
return;
}
if (target instanceof Player)
{
Player player = (Player)target;
player.getCommonData().setAp(ap);
if (player == admin)
{
PacketSendUtility.sendMessage(admin, "Set your Abyss Points to " + ap + ".");
}
else
{
PacketSendUtility.sendMessage(admin, "Set " + player.getName() + " Abyss Points to " + ap + ".");
PacketSendUtility.sendMessage(player, "Admin set your Abyss Points to " + ap + ".");
}
}
else
{
PacketSendUtility.sendMessage(admin, "You must select a Player to set their AP.");
}
}
else if (params[0].equals("level"))
{
if(admin.getAccessLevel() < AdminConfig.COMMAND_SETLEVEL)
{
PacketSendUtility.sendMessage(admin, "You dont have enough rights to execute this command");
return;
}
int level;
try
{
level = Integer.parseInt(paramValue);
}
catch (NumberFormatException e)
{
PacketSendUtility.sendMessage(admin, "You should enter valid second params!");
return;
}
if (target instanceof Player)
{
Player player = target;
if (level <= 61)&&(level !=0)
player.getCommonData().setLevel(level);
PacketSendUtility.sendMessage(admin, "Set " + player.getCommonData().getName() + " level to " + level);
}
}
else if (params[0].equals("title"))
{
if(admin.getAccessLevel() < AdminConfig.COMMAND_SETTITLE)
{
PacketSendUtility.sendMessage(admin, "You dont have enough rights to execute this command");
return;
}
int titleId;
try
{
titleId = Integer.parseInt(paramValue);
}
catch (NumberFormatException e)
{
PacketSendUtility.sendMessage(admin, "You should enter valid second params!");
return;
}
if (target instanceof Player)
{
Player player = target;
if (titleId <= 106)
setTitle(player, titleId);
PacketSendUtility.sendMessage(admin, "Set " + player.getCommonData().getName() + " title to " + titleId);
}
}
}
private void setTitle(Player player, int value)
{
PacketSendUtility.sendPacket(player, new SM_TITLE_SET(value));
PacketSendUtility.broadcastPacket(player, (new SM_TITLE_UPDATE(player, value)));
player.getCommonData().setTitleId(value);
}
private void setClass(Player player, PlayerClass oldClass, byte value)
{
PlayerClass playerClass = PlayerClass.getPlayerClassById(value);
int level = player.getLevel();
if (level < 9)
{
PacketSendUtility.sendMessage(player, "You can only switch class after reach level 9");
return;
}
if (Arrays.asList(1, 2, 4, 5, 7, 8, 10, 11).contains(oldClass.ordinal()))
{
PacketSendUtility.sendMessage(player, "You already switched class");
return;
}
int newClassId = playerClass.ordinal();
switch (oldClass.ordinal())
{
case 0:
if (newClassId == 1 || newClassId == 2)
break;
case 3:
if (newClassId == 4 || newClassId == 5)
break;
case 6:
if (newClassId == 7 || newClassId == 8)
break;
case 9:
if (newClassId == 10 || newClassId == 11)
break;
default:
PacketSendUtility.sendMessage(player, "Invalid class switch chosen");
return;
}
player.getCommonData().setPlayerClass(playerClass);
player.getCommonData().upgradePlayer();
PacketSendUtility.sendMessage(player, "You have successfuly switched class");
}
}
|
温馨提示:
1. 本站模拟器源于网络,经 99Max.mE 二次开发,仅供个人学习娱乐使用,切勿用于商业用途,否则后果自负!
2. 如需更好体验游戏内容,请前往官方游戏!不具备合法的运营模式,都是强盗,请勿擅自搭建私服!
3. 如本站内容有侵犯您的权益,请发送信息至QQ:372607220 或 EMAIL:372607220@qq.com ,我们会及时删除。
|