Цитата:
Сообщение от bYr
можете выложить полный скрипт с примером на скупку.
|
Вот
здесь пример на продажу. По аналогии можно в покупку переделать.
Добавлено через 4 минуты
Цитата:
Сообщение от Shadow
В принципе это нада бы сделать, но у меня все проще. Мой чар стоит как раз между котами, и только поворачивается при ретаргетинге. Так что передвижения не нужны. Главное таргет кидать.
|
Для таргета нужно знать ObjectId продавцов. Вот их отловить и есть небольшая проблема. В рыбалке есть, как отлавливать фишерманов.
delphi Код:
//***************************************************************
//16=NpcInfo:d(ObjectID)d(NpcTypeID)d(IsAttackable)d(X)d(Y)d(Z)d(Heading)
//d(d)d(Maspd)d(Paspd)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)
//d(flWSpd)d(FlyRSpd)d(FlyWSpd)f(ProperMul)f(Paspd)f(CollisRadius)
//f(CollisHeight)d(RHand)d(d)d(LHand)b(nameabove)b(isRun)b(isInFight)
//b(isAlikeDead)b(isSummoned)s(Name)s(Title)d(d)d(d)d(karma)d(abnEffect)
//d(d)d(d)d(d)d(d)b(c)b(Team)f(collisRadius)f(collisHeight)d(d)
#$16: begin
msg.Lines.Add('S>Пакет NpcInfo #$16'+inttostr(ReadD(2)));
// OID ID
AppendNpc(ReadD(2), ReadD(6)); //добавляем в базу данных
if (FishermanID=ReadD(6)-kID) then begin
EditFishermanOID.text:=inttostr(ReadD(2));
FishermanOID:=strtoint(EditFishermanOID.text);
if java then begin
//java
getbuylist:='npc_'+inttostr(FishermanOID)+'_Buy 411';
getselllist:='npc_'+inttostr(FishermanOID)+'_Sell';
getmultisell:='npc_'+inttostr(FishermanOID)+'_multisell 009';
end;
end;
end;
потом можно выбирать его
delphi Код:
//***************************************************************
//04=Action:h(ObjectID)d(OriginX)d(OriginY)d(OriginZ)b(ShiftFlag)
procedure Target(ObjectID: Integer);
begin
buf:=#$04;
WriteD(ObjectID);
WriteD(MyX);
WriteD(MyY);
WriteD(MyZ);
WriteC(00);
SendToServerEx(Name);
end;
//......................................
//***************************************************************
procedure TargetAttacker(Attacker: Integer);
begin
msg.Lines.Add('ObjectID='+IntToStr(Attacker)+' Player='+IntToStr(MyOID));
fishin.enabled:=false;
Target(ObjectID);
delay(800);
Target(ObjectID);
delay(800);
end;
//......................................