Привет всем, сразу извеняюсь за возможно нубский вопрос, но до меня ниак не дойдёт как его решить.
Когда я гружу клиента (сервер ) и ПХ 3,3,9, после прекращения обмена пакетами клиент - сервер и наоборот (т.е например отключение инета/дисконект, отключение сервера, вообщем любое что введёт к надписи "связь с сервером потерянна", если грузиться просто клиентом) клиент просто замирает, никаких ошибок ничего не выдаёт, даже если нажать в нем "выйти из игры" или "перезайти" ничего не происходит, помогает тока принудительное закрытие приложения. Происходит такое не зависимо от таго запущен како либо скрипт или нет!
Из FAQ нашёл такие строчки: NoFreeOnClientDisconnect - запрещает закрытие соединения при дисконекте клиента (v. 3.1.9+) NoFreeOnServerDisconnect - запрещает закрытие соединения при дисконекте сервера (v. 3.1.9+) YesFreeOnClientDisconnect - разрешает закрытие соединения при дисконекте клиента (v. 3.1.9+) YesFreeOnServerDisconnect - разрешает закрытие соединения при дисконекте сервера (v. 3.1.9+)
(по умолчанию закрытия разрешены)
И так вопрос: получается если по умолчанию закрытия разрешены, то менять ненадо ничего, я прав или нет? И как сделать чтобы пакет хак давал клиенту видеть что тот потерял связь?
__________________
Всё можно починить, если вертеть в руках достаточно долго!
nezabudkin, м.. ну впринципе когда ты бежиш и на путии- дерево.. то сервер тебе вроде ничего не причылает.. ету работу выполняет клиент.. на етом основан баг с прохождением закрытых дверей.. т.е. через закрытую дверь прпойти ты вроде какбы неможеш.. но если сам себе (клиенту) отправить пакет в котором говорится что ДВЕРЬ- ОТКРЫЛАСЬ.. клиент распахнет на екране двери и ты сможеш пройти через них.. ну етот баг пофиксили почти везде.. но смысл остался.. упершись в дерево ничего тебе сервер нескажет.. но если действие противоречит геодате..- то скажет ЕКШН ФЕЙЛД.. на серверах с кривой геодатой (или отсутствующей) клиент может тупануть- упершись в дерево он не пройдет сквозь него.. и сервер молчать будет.. но если продолжать движение то ты какбы преодалееш препятствие.. вопщем про движение: если действие не протеворечит геодате сервера то никаких пакетов об препятствии клиент не получает..
Если так, может есть смысл проверять пакет от клиента, он же должен в таком случае сказать серверу, что остановился и дальше не бежит...
Если так, может есть смысл проверять пакет от клиента, он же должен в таком случае сказать серверу, что остановился и дальше не бежит...
Клиент кроме ValidatePosition, больше ничего ценного, в данном случае, не посылает, и по нему довольно сложно понять зацепился бот за препядствие или нет. Да и серверу этот пакет совсем не указ...
Здравствуйте, только начал пользоваться l2phx есть несколько вопросов:
1. l2phx синхронизируется с клиентом идет обмен пакетами, но вот в закладке где должен быть NickName у меня отображается '???????????????1' , ник у меня не русский, сервер Asterios, Gracia part II версия l2phx последняя на момент написания поста
2. со времен C4 и C6 принцип сдачи манора в грации изменился, щас не надо сидеть судорожнео с секундомером, щас после 20-00 пишет: "идет профилактика сервера" и окно с плодами на сдачу не открыть, как только эта профилактика заканчивается все появлется и все сдают, т.е. скрипт VORONA не актуален в данном случае, есть ли скрипт на сдачу манора в грации?
3. Если не сложно выложите образец пакета на сдачу манора
Здравствуйте. Можно сделать в скрипте :
//by mks
//помошник в PvP и PK.
//пьет CP и HP пробирки в нужное время(можно добавить и MP для пвп серваков), и освобождает вас от небоходимости зажатия клавиши Ctrl, которая так меня раздражает!(думаю это раздражает и не только меня)
///////////////////////////////////////////////////////
///////////////Master PvP by MKS v.1.0/////////////////
///////////////////////////////////////////////////////
так чтобы после смерти чара скрипт перестал работать.Я сам несмогу напишите пожалуста дополнение, а то после возрождения начинает жрать бутылки.
//помошник в PvP и PK пьет CP и HP пробирки в нужное время(можно добавить и MP для пвп серваков), и освобождает вас от небоходимости зажатия клавиши Ctrl, которая так меня раздражает!(думаю это раздражает и не только меня)//после активации скрипта необходимо выпить сначала банку CP, потом HP для получения их IDconst
Name='xxxxx'; //ник персаvar
CurHP,MaxHP,CurCP,MaxCP: integer;
CPuse,HPuse: string;
TimerCP,TimerHP: TTimer;
procedure Init; //Вызывается при включении скриптаbegin
TimerCP:=TTimer.Create(nil);
TimerCP.OnTimer:=@OnTimerCP;
TimerCP.enabled:=false;
TimerCP.interval:=1000; //интервал 1сек, т.к. чаще пить CP всеравно не будет, дабы не засорять трафик
TimerHP:=TTimer.Create(nil);
TimerHP.OnTimer:=@OnTimerHP;
TimerHP.enabled:=false;
TimerHP.interval:=15000; //интервал 15сек, т.к. действие одной бутылки = 15секend;
procedure OnTimerCP(Sender: TObject);
begin
buf:=CPuse;
SendToServerEx(Name);
end;
procedure OnTimerHP(Sender: TObject);
begin
buf:=HPuse;
SendToServerEx(Name);
end;
procedure Free; //Вызывается при выключении скриптаbegin
TimerCP.free;
TimerHP.free;
HPuse:='';
CPuse:='';
end;
//основная часть скрипта//вызывается при приходе каждого пакета если скрипт включенbegin//пьем сначала CP, потом HP банку что б запомнить их ID(я решил взять эти пакеты целиком, дабы не усложнять)if FromClient and(ConnectName=Name)and(pck[1]=#$14)and(CPuse='')then CPuse:=pck;
if FromClient and(ConnectName=Name)and(pck[1]=#$14)and(CPuse<>pck)and(HPuse='')then HPuse:=pck;
//считываем текущие и максимальные значения CP и HPif FromServer and(pck[1]+pck[6]=#$0E#$04)thenbegin
CurHP:=ReadD(14);
MaxHP:=ReadD(22);
CurCP:=ReadD(30);
MaxCP:=ReadD(38);
end;
if CurHP<>0thenbegin//если вы используете не грэйтер CP то вместо 200 подставьте кол-во CP сколько восстанавливает 1 банкаif(CurCP<MaxCP-200)and(CPuse<>'')then TimerCP.enabled:=trueelse TimerCP.enabled:=false;
if(CurHP<MaxHP)and(HPuse<>'')then TimerHP.enabled:=trueelse TimerHP.enabled:=false;
//если используем скилы или заклинания добавляем флаг Ctrl, что б не надо было удерживать контролif FromClient and(ConnectName=Name)and(pck[1]=#$2F)then pck[6]:=#$01;
//если наводим таргет, повторное нажатие по нему подменивается на атаку, опять же что б не удерживать контролif FromClient and(ConnectName=Name)and(pck[1]=#$04)then pck[1]:=#$0A;
endelsebegin
TimerHP.enabled:=false;
TimerCP.enabled:=false;
end;
end.
Вот скрипт сделайте пожалуста дополнение чтобы после смерти чара скрипт выключался
Последний раз редактировалось QaK, 13.03.2009 в 15:49.
поправил твой скрипт, если ХП=0 то прекращаем хилиться и т.д.
ссылочку моно?))))
Добавлено через 1 минуту
Цитата:
Сообщение от TAMBIK
Здравствуйте. Можно сделать в скрипте :
//by mks
//помошник в PvP и PK.
//пьет CP и HP пробирки в нужное время(можно добавить и MP для пвп серваков), и освобождает вас от небоходимости зажатия клавиши Ctrl, которая так меня раздражает!(думаю это раздражает и не только меня)
///////////////////////////////////////////////////////
///////////////Master PvP by MKS v.1.0/////////////////
///////////////////////////////////////////////////////
так чтобы после смерти чара скрипт перестал работать.Я сам несмогу напишите пожалуста дополнение, а то после возрождения начинает жрать бутылки.
на каких хрониках его пробовал? просто в старые добрые времена этот скрипт фигово жрал бутылки( тормозил можно сказать так.. по этому пришлось от него отказаться )
Последний раз редактировалось DashKAaa, 18.03.2009 в 08:50.
Причина: Добавлено сообщение