Просмотр полной версии : Скрипт на несколько окон
Собственно хочется сделать себе мультиоконку на множество клиентов, т.е. я отправляю команду в одном окне и все окна делают тоже самое.
Скилл скриптов пакетхака достаточен, однако интересует как можно управлять несколькими окнами (причем без прописывания nick = connect name)
Собственно хочется сделать себе мультиоконку на множество клиентов, т.е. я отправляю команду в одном окне и все окна делают тоже самое.
Скилл скриптов пакетхака достаточен, однако интересует как можно управлять несколькими окнами (причем без прописывания nick = connect name)
Лично я не припомню способа, могу лишь помочь в направлении задетектить имя чара или айди соединения и спамить дубль пакеты туда.
Но тут тогда нужно проверку каждого окна, ну например зашёл в игру получил пакет юзер инфо или ещё что.
cmdprompt
21.01.2015, 03:34
Всё елементарно :)
const //Interlude
EnterWorld=#$03;
LogoutOK=#$7E;
SeverClose=#$26;
var i:integer; Connects:TStringList;
procedure Init;
begin
Connects:=TStringList.Create;
end;
procedure Free;
begin
Connects.free;
end;
begin
if fromClient then begin
if (pck[1]=EnterWorld) and (Connects.indexOf(connectName)=-1) then Connects.Add(connectName);
if ord(pck[1]) in [список,пакетов,для,отправки] then begin buf:=pck; pck:=''; for i:=0 to Connects.Count-1 do SendToServerEx(Connects[i]); end;
end else if (pck[1]=LogoutOK) or (pck[1]=SeverClose) then begin i:=Connects.indexOf(connectName); if i>-1 then Connects.Delete(i); end;
end.
[список,пакетов,для,отправки] - через запятую id пакетов типа MoveBackwardToLocation, Action, RequestMagicSkillUse. Но не советую отправлять все, особенно такие как RequestDestroyItem или UseItem, т.е. использование предметов с другого окна или EnterWorld :D
Спасибо. Вообщем поиграю с таймерами. Ибо мне нужно не просто 1 действие сделать :)
Breadfan
22.01.2015, 23:41
с таймерами - обычно не очень. Т.к. любой мало-мальски заметный лаг\смена состояния приведет к сбою в последовательности. Лучше - "проверил свое состояние - если готов к "чему-то", то отправил запрос на выполнение "чего-то" и далее ждешь от сервера ответ, что персонаж это "что-то" начал выполнять или сообщение о фейле".
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot