Тема: //Morph
Показать сообщение отдельно
Непрочитано 10.11.2010, 05:45   #1
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) //Morph

Доброго времени суток!

Предложу такую идею:
Существует такая отличная GM команда //Morph

Хочу дать игрокам возможность ей использования, это будет приятное для игроков нововведение, прекрасно подходящее для проведения всевозможных ивентов, и просто игрокам будет интересно.

Но необходимо установить на команду, проверку ID локации в которой находиться игрок, т.к. разрешать использовать её везде приведёт к хаосу и лагам.
А вот разрешить её использование на нескольких локациях будет самое то!

Может кто нибудь, подумать или дать идеи как дописать необходимый скрипт к команде?

Вот сам код команды:


[SOURCE="java"]package admincommands;

import com.aionemu.gameserver.configs.administration.Admi nConfig;
import com.aionemu.gameserver.model.gameobjects.player.Pl ayer;
import com.aionemu.gameserver.network.aion.serverpackets. SM_TRANSFORM;
import com.aionemu.gameserver.utils.PacketSendUtility;
import com.aionemu.gameserver.utils.chathandlers.AdminCom mand;

/**
*
* @author ATracer
* @modified By aionchs- Wylovech
*/
public class Morph extends AdminCommand
{

public Morph()
{
super("morph");
}

@Override
public void executeCommand(Player admin, String[] params)
{
if(admin.getAccessLevel() < AdminConfig.COMMAND_MORPH)
{
PacketSendUtility.sendMessage(admin, "You do not have enough rights to execute this command.");
return;
}

if (params == null || params.length != 1)
{
PacketSendUtility.sendMessage(admin, "syntax //morph <NPC Id | cancel> ");
return;
}

Player target = admin;
int param = 0;

if (admin.getTarget() instanceof Player)
target = admin;

if (!("cancel").startsWith(params[0].toLowerCase()))
{
try
{
param = Integer.parseInt(params[0]);

}
catch(NumberFormatException e)
{
PacketSendUtility.sendMessage(admin, "Parameter must be an integer, or cancel.");
return;
}
}

if ((param != 0 && param < 200000) || param > 298021)
{
PacketSendUtility.sendMessage(admin, "Something wrong with the NPC Id!");
return;
}

target.setTransformedModelId(param);
PacketSendUtility.broadcastPacketAndReceive(target , new SM_TRANSFORM(target));

if (param == 0)
{
if (target.equals(admin))
{
PacketSendUtility.sendMessage(target, "Morph successfully cancelled.");
}
else
{
PacketSendUtility.sendMessage(target,"Your morph has been cancelled by " + admin.getName() + ".");
PacketSendUtility.sendMessage(admin, "You have cancelled " + target.getName() + "'s morph.");
}
}
else
{
if (target.equals(admin))
{
PacketSendUtility.sendMessage(target, "Successfully morphed to npcId " + param + ".");
}
else
{
PacketSendUtility.sendMessage(target, admin.getName() + " morphs you into an NPC form.");
PacketSendUtility.sendMessage(admin, "You morph " + target.getName() + " to npcId " + param + ".");
}

}
}
}[/SOURCE]
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием