Показать сообщение отдельно
Старый 31.01.2008, 16:20   #6
Пользователь
 
Регистрация: 10.12.2007
Сообщений: 52
Сказал Спасибо: 22
Имеет 16 спасибок в 9 сообщенях
ChiterEPT
По умолчанию

Цитата:
Сообщение от xkor
ну можно например поставить условие)
if ConnectionID=0 then NoFreeOnClientDisconnect;
Зря я выбрал себе такой ник. Нет ну я конечно нуб, но не настолько :roll:

Хкор, может ли

if (ConnectName=NickName)then SendToServer;

заменить

SendToServerEX(ConnectName);

???

Предложенный тобой вариант просто проверит ID соединения и ЗащититОтРазрываСоединения ВСЕ соединения (брр каламбур), я спрашивал Есть ли, или, возможно ли сделать процедуру типа NoFreeOnClientDisconnectEX(NickName) (например) .

А теперь по поводу выхода из игры.
Вся проблема в том, что сервер сам не разрывает соединения (проверено на двух ПТС серверах, один из которых, достаточно известен)и ПакетХак тоже не разрывает соединения при NoFree... Разрывает соединение только клиент при получении ответного пакета на ЛогАут (7Е). А если клиент уже выключен то и разрывать соединение некому. Вот именно поэтому я и просил сделать процедуру типа Disconnect(NickName или Connect ID) для разрыва соединения именно ПакетХаком.

Добавлено спустя 3 минуты 58 секунд:
Цитата:
Сообщение от xkor
дело в том что когда отключен клиент или сервер и вызываются YesFreeOnServerDisconnect и YesFreeOnClientDisconnect отключение окончательное происходит немедленно
А ты проверял??? Насколько я понял работу процедур YesFree... они просто возвращают клиенту право разорвать соединение. Тебе конечно виднее, ты автор, но я то это все проверил по 10 раз.
ChiterEPT вне форума   Ответить с цитированием