Messager - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:Ошибки в отправке сообщений.

Ответ
Опции темы
Непрочитано 03.04.2012, 22:02   #1
Аватар для Astend
Пользователь

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

Здравствуйте столкнулся с проблемой проверки персонажа, и отправки ему сообщения.

Буду рад любым комментариям по этому поводу.
Суть проблемы такая:

Есть код который создает авто ивент ZoneGame;
Все регистрируються на ивент ZoneGame и начинаются проблемы...

Если хоть кто то выходит во время работы скрипта мы ловим офигенный error, после чего скрипт останавливается ну и естественно у нас появляется толпа злых игроков.

Но с этой проблемой я справился дописав, проверку Online ли игрок.
Какое то время было все гуд... Но вот и трабла.

Элементарно при запуске вот такого скрипта выбило ошибку из за того что перса нету онлайн...
Код:
if(!player.isOnline)
{
	StopEvent();
}
else
	player.sendMessage("бла бла бла");
и вот на строчку player.sendMessage("бла бла бла"); мне выпалило ошибку...

Что скажете?
__________________
Сижу на zone-game, помогаю и напрягаю других.
Astend вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:11   #2
Аватар для linliss
Герой

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

код покажите, рассылать нужно всем кто на евенте
linliss вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:18   #3
Аватар для Astend
Пользователь

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

там 4 класса по 1к строк в классе думаю вам не захочеться это все просматривать )

я написал саму суть...
даже если взять например
Fastlist и забить туда 100 игроков
так пока проверка дойдет до 100 игрока(пусть это даже 0.001сек) первый может выйти с игры
и следующие действие(связанное с player) просто запориться...

я только предполагаю что нужно создать отдельный класс который будет следить за игроками то есть если кто то выходит с игры его либо удалять с FastList либо останавливать ивент...
__________________
Сижу на zone-game, помогаю и напрягаю других.
Astend вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:27   #4
Аватар для linliss
Герой

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

напишите listener, который будет следить за выходом из игры и удалять игроков из вашего массива

Добавлено через 2 минуты
на чьих исходниках работаете?

Последний раз редактировалось linliss; 03.04.2012 в 22:29. Причина: Добавлено сообщение
linliss вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:29   #5
Аватар для pchayka
Какие бекапы? О_о

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

Изначально в грамотно написанном коде таких проблем не возникнет. Вам не дырку эту надо закрывать, а пересмотреть структуру\систему проведения ивента.

Добавлено через 1 минуту
!player.isOnline - это у вас поле? или метод? от этого может быть и суть проблемы

Последний раз редактировалось pchayka; 03.04.2012 в 22:30. Причина: Добавлено сообщение
pchayka вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:35   #6
Аватар для Astend
Пользователь

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

pchayka Это поле.
linliss спасибо сейчас поковыряюсь надеюсь получаться.
__________________
Сижу на zone-game, помогаю и напрягаю других.
Astend вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:36   #7
Аватар для pchayka
Какие бекапы? О_о

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

Ну вот если это поле, то это плохая идея.
pchayka вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:38   #8
Аватар для Astend
Пользователь

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

pchayka что посоветуете?
__________________
Сижу на zone-game, помогаю и напрягаю других.
Astend вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:40   #9
Аватар для pchayka
Какие бекапы? О_о

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

Ну неизвестно в нем ли проблема, потому тут и говорили, что надо видеть больше кода.
pchayka вне форума Ответить с цитированием
Непрочитано 03.04.2012, 22:40   #10
Аватар для linliss
Герой

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

Цитата:
Сообщение от pchayka Посмотреть сообщение
Ну вот если это поле, то это плохая идея.
!player.isOnline() - на лыже никаких проблем оно невызывает и работает, он видимо где-то в другом месте ошибся
linliss вне форума Ответить с цитированием
Ответ


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

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

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

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


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

Вверх