//Morph - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Aion > Серверная часть

Важная информация

Серверная часть Обсуждения вопросов по установке и настройке эмулятора Aion-Emu, для совершенно новой и необыкновенно красивой игры - Aion.
Описание темы:Установка проверки локации

Ответ
Опции темы
Непрочитано 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 вне форума Ответить с цитированием
Непрочитано 10.11.2010, 18:14   #2
Аватар для Arch1S
Пользователь

По умолчанию Re: //Morph

плять, две строчки кода

автор, просмотри весь код внимательно, и ты сам сможешь это решить
__________________
Arch1S вне форума Ответить с цитированием
Непрочитано 10.11.2010, 21:58   #3
Аватар для Wolfas
Пользователь

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

Arch1S вы что советуете?

Не вижу ни одного упоминания, о локациях...
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".

Последний раз редактировалось Wolfas; 10.11.2010 в 23:29. Причина: Добавлено сообщение
Wolfas вне форума Ответить с цитированием
Непрочитано 11.11.2010, 01:27   #4
Аватар для Snion
Пользователь

По умолчанию Re: //Morph

вытащи кусок из другой комманды
Snion вне форума Ответить с цитированием
Непрочитано 11.11.2010, 04:30   #5
Пользователь

По умолчанию Re: //Morph

Не забудь, что при выходе из зоны тебе нужно снять морф. Иначе смысла нет привязывать к локации
White_Wolf вне форума Ответить с цитированием
Непрочитано 11.11.2010, 04:52   #6
Аватар для Wolfas
Пользователь

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

Цитата:
Сообщение от Snion Посмотреть сообщение
вытащи кусок из другой комманды
Да вот что то не припоминаю команд использующих, привязки к локациям, да и в принципе не наблюдал к сожалению, каких либо операций сервера, с условиями локации, ну кроме полётов..

Цитата:
Сообщение от White_Wolf Посмотреть сообщение
Не забудь, что при выходе из зоны тебе нужно снять морф. Иначе смысла нет привязывать к локации
Ну это пока не так важно, хотя думаю к teleport_service можно прикрутить, операцию на снятие трансформации
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Непрочитано 11.11.2010, 08:06   #7
Аватар для Snion
Пользователь

По умолчанию Re: //Morph

как нибудь

[SOURCE="java"]if(ZoneName = name)
{
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 + ".");
}
}
else
{
PacketSendUtility.sendMessage(target,"Вы не в той локации");
}
}
}
}[/SOURCE]


короч вечром ещё подумаю
Snion вне форума Ответить с цитированием
Непрочитано 11.11.2010, 20:06   #8
Аватар для Wolfas
Пользователь

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

Вот скиллы бездны можно юзать только в бездне, можно взять от них нужную операцию и отредактировать..

Поищю кусок кода....
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Непрочитано 11.11.2010, 22:42   #9
Аватар для Snion
Пользователь

По умолчанию Re: //Morph

то что я выложил не пашет?(
Snion вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Morph Timka Серверная часть 9 09.05.2010 21:22


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 17:47. Часовой пояс GMT +3.

Вверх