Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Messager
#1
Здравствуйте столкнулся с проблемой проверки персонажа, и отправки ему сообщения.

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

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

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

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

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

и вот на строчку player.sendMessage("бла бла бла"); мне выпалило ошибку...

Что скажете?
[Изображение: guru.gif] Сижу на zone-game, помогаю и напрягаю других.
Ответ
#2
код покажите, рассылать нужно всем кто на евенте
Ответ
#3
там 4 класса по 1к строк в классе думаю вам не захочеться это все просматривать )

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

я только предполагаю что нужно создать отдельный класс который будет следить за игроками то есть если кто то выходит с игры его либо удалять с FastList либо останавливать ивент...
[Изображение: guru.gif] Сижу на zone-game, помогаю и напрягаю других.
Ответ
#4
напишите listener, который будет следить за выходом из игры и удалять игроков из вашего массива

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

Добавлено через 1 минуту
!player.isOnline - это у вас поле? или метод? от этого может быть и суть проблемы
Ответ
#6
pchayka Это поле.
linliss спасибо сейчас поковыряюсь надеюсь получаться.
[Изображение: guru.gif] Сижу на zone-game, помогаю и напрягаю других.
Ответ
#7
Ну вот если это поле, то это плохая идея.
Ответ
#8
pchayka что посоветуете?
[Изображение: guru.gif] Сижу на zone-game, помогаю и напрягаю других.
Ответ
#9
Ну неизвестно в нем ли проблема, потому тут и говорили, что надо видеть больше кода.
Ответ
#10
pchayka Написал:Ну вот если это поле, то это плохая идея.
!player.isOnline() - на лыже никаких проблем оно невызывает и работает, он видимо где-то в другом месте ошибся
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)