Вроде все верно http://coderx.ru/showthread.php?t=14
тут полно скриптов. с примером, как брать в таргет. хотя и реализация. на мой взгляд и не очень, но то первые скрипты
//Пробный скрипт на ассист by Amorality.
//Поправьте, если что не так!
//Когда Leader берет таргет на кого-то, окно тоже возмет таргет
//по ассисту.
const
Leader='ник'; //Указать имя лидера(мейна)
Okno='ник'; //Указать ник того, кто будет брать ассист на лидера.
var
TarID:String; //Запоминаем сюда ID лидера.
begin
If FromClient and (pck[1]=#$04) and (ConnectName=Leader) then begin
TarID:= pck[6]+pck[7]+pck[8]+pck[9]; //Записываем ID лидера, если он выделил кого-то
If ConnectName=Okno then begin
buf:=hstr('04') + TarID;
SendToServerEX(Okno);
end;
end;
end.
нужно знать еще координаты бота
это просто, если бот в клиенте
delphi Код:
var
MyXpos, MyYpos, MyZpos : integer;
Beginif(ConnectName=BotName)and FromClient and pck[1]=#$48thenbegin//ValidatePosition пакет от клиента с кординатами бота
MyXpos:=ReadD(2); //получаю координату х бота
MyYpos:=ReadD(6); //получаю координату у бота
MyZpos:=ReadD(10); //получаю координату z ботаend;
end.
без клиента это будет видимо сложнее...
Добавлено через 6 минут
и ID лидира наверно не нужно, отслежмвайте что приходит от лидера, Сразу берите ID таргета + координаты бота от бота + действие (0)
Добавлено через 55 минут
вот заготовка, как я бы это делал
delphi Код:
const
Leader ='ник'; //Указать имя лидера(мейна)
Bot ='ник'; //Указать ник того, кто будет брать ассист на лидера.var
TargetID : integer;
BotX, BotY, BotZ : integer;
begin//Отлавливаем с сервира пакеты лидераif(ConnectName=Leader)and FromServer thencase pck[1] of
#$A6 : //MyTargetSelectedbegin
TargetID := ReadD(2);
buf :=#$04; //Начинаем формировать пакет 04=Action
WriteD(TargetID); //Вписываем TargetID
WriteD(BotX); //координату х бота
WriteD(BotY); //координату у бота
WriteD(BotZ); //координату z бота
WriteC(0); //и само действие "Взять в таргет"
SendToServerEx(Bot); //отправляем запросendend; //case//Отлавливаем с клиента пакеты ботаif(ConnectName=Bot)and FromClient thencase pck[1] of
#$48 : //ValidatePositionbegin
BotX :=ReadD(2); //получаю координату х бота
BotY :=ReadD(6); //получаю координату у бота
BotZ :=ReadD(10); //получаю координату z ботаend;
end; //case////Отлавливаем с сервира пакеты ботаif(ConnectName=Bot)and FromServer thencase pck[1] of
#$A6 : //MyTargetSelectedbegin//бот взял таргет лидераend;
end; //caseend.
тут пока бот просто берет ассист, и дальше ждет пока таргет сменится, если требуется какое либо действие, то надо подумать вот над чем - боту приходит пакет. что он взял таргет, и можно сразу что-либо делать, например -если бот танк, он может сразу кинуть хейт, или бот должен ждать следующего действия лидера...
Добавлено через 1 минуту
кстати, модераторам довно следует перенести эту тему в скриптинг
Последний раз редактировалось PanAm, 02.08.2008 в 04:24.
Причина: Добавлено сообщение
Странно .. Когда я делала это через полсылку пакета , то я выделяля кого-то лидером , потом брала первые 5 байт из Action (ID + ObjectID) и посылала их от БД , он брал таргет , почему тогда координаты нужны в скрипте?
Добавлено через 37 минут
Кстати ни твой ни мой скрипт не работают ..
Добавлено через 8 минут
Хм .. да но ValidatePosition шлет вроде только клиент ..А у меня же он выгружен , где бы брать координаты твинка , когда клиент отключен
Добавлено через 4 часа 19 минут
Теперь проверила твой скрипт , не отключая клиент , он работает , но не совсем так , как хотелось .. Мне нужно , чтобы он работал почти как в клиенте , вот я нажала на себя , он меня выделил , еще раз нажала , на себя , если я уже выделена , то он прицепился ко мне , а так он только выделяет а не цепляется , а по идее , если 2 пакета на выделение подряд на 1 и тот же ID , То должно целпяться
Последний раз редактировалось Amorality, 02.08.2008 в 16:51.
Причина: Добавлено сообщение
Смотрите пакеты
у меня на выделение себя дважды получается так
04=Action - запрашиваю выделить себя
A6=MyTargetSelected - ответ, таргет взят
04=Action - запрашиваю еще раз выделить себя
25=ActionFail - Название говорит само за себя
Это отлов пакетов или чтО?
Я когда посылаю одинаковый пакет (тоесть в 2 строки) через ПНХ твинк сразу цепляется , не понимаю все равно как это через скрипт сделать