Код:
//оставлять саппорта в игре после закрытия клиента или нет
if SupportPlus and (not SupportFlag) and (ConnectName = Support) then begin
ConnectID:=ConnectIDByName(Support);
NoFreeOnClientDisconnect;
NoFreeOnServerDisconnect;
SendMsgEx('Режим Маклауда включен...',ConnectName);
SupportFlag:=true;
end;
При выполнении этого куска кода сообщение получает именно саппорт, но при закрытии клиента с саппортом в L2PH соединение с именем саппорта остается, а чар из игры выходит (наблюдаю из второго окна).
Раньше (буквально несколько дней назад) NoFreeOnClientDisconnect; и NoFreeOnServerDisconnect; у меня сидели в Init; и всё работало так, как предполагалось, т.е. при закрытии окна с саппортом тот оставался в игре. Потом что-то поломалось и саппорт стал из игры вылетать сразу по закрытию окна. Я полез сюда читать тонкости использования, в результате чего родился вышеприведённый кусок кода, вставленный в основное тело скрипта. Но саппорт по-прежнему вылетает...
p.s. Там лишняя перестраховка (ConnectID:=ConnectIDByName(Support)
но это уже от безысходности... Ведь работало же! В чем может быть причина?