99Max综合娱乐网站(旧版)

 找回密码
 立即注册
查看: 2297|回复: 6

[命令相关] 60级//set level命令

[复制链接]

升级   3.2%

发表于 2010-8-13 21:40:38 | 显示全部楼层 |阅读模式
  1. 修改文件为set.java红色处为代码改动
复制代码
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 ,我们会及时删除。

升级   75.7%

群组: JRO日本客户端

发表于 2010-8-13 23:16:59 | 显示全部楼层
好东西·~谢谢分享!!!

升级   66.33%

发表于 2010-8-15 02:38:14 | 显示全部楼层
if (level <= 61)&&(level !=0)
就是后面加了个 )&&(level !=0)  这个吗

升级   14.67%

发表于 2010-8-19 06:40:44 | 显示全部楼层
收藏了,谢谢分享。。。。。。。。。

升级   74.65%

发表于 2010-9-29 23:32:26 | 显示全部楼层
这样就轻松60了!

升级   5.65%

发表于 2010-10-1 08:06:01 | 显示全部楼层
学习了。。。谢谢啦

升级   16.67%

发表于 2010-12-23 06:06:18 | 显示全部楼层
牛X~~~~~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|99Max综合娱乐网站(旧版) ( 沪ICP备11024206号-1 )

GMT+8, 2025-5-11 16:54 , Processed in 0.224244 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表