Показать сообщение отдельно
Непрочитано 26.07.2012, 09:19   #2
Пользователь

Автор темы (Топик Стартер) Re: написать в пм NPC, проверка времени

со вторым вопросом разобрался. пожалуйста подскажите насчет первого. значит написал я что-то вроде:

в SAY2.java
Код:
//проверяем на совпадение имен, если совпало - отправляем ПМ не существующему игроку с введенным именем

if (_target == MyClass55.getFakeName())
{
activeChar.sendPacket(new CreatureSay(activeChar.getObjectId(), _type, "->" + _target, _text));
}

//если введенное имя игрока, не совпало с подготовленным списком, выполняем стандарт действия:

else
{
SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_NOT_ONLINE);
sm.addString(_target);
activeChar.sendPacket(sm);
sm = null;
}
break;
т.е. мы добавляем еще одну проверку, ДО окончательного элса, в котором отсылается сист. меседж, что игрок оффлайн.

После "попытки" написать в пм, из списка по getFakeName(), получаю эррор в ГСе:
Код:
java.lang.ArrayIndexOutOfBoundsException: 514
...
наверное я что-то не правильно написал в самом получении значения из массива ников:

Код:
private static final String[] pnames =
{
		"xxSMEGOLxx",
		"BadHabito",
		"MAFIOSI",
		"Kelt",
		"HuGpUToSHa",
		"Bloodkiller",
		"HuKaDuM",
		"MrCrazyTH"
};

...

// и получение имен, для сравнения с _target:

public static String getFakeName()
{
	return pnames[pnames.length];
}
растолкуйте пожалуйста, что я делаю не так =\
__________________
mego4el вне форума Ответить с цитированием