Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Как купить blank map?

тут можно задать вопрос по скриптингу
Post Reply
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Как купить blank map?

Post by Beren »

собственно суть в том, что blank map ни по типу, ни по цвету не отличается от других карт продоваеммых вендором.
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

жаль, что никто не знает.
сделали бы тогда AutoBuy ещё и по ID
Vano
Neophyte
Neophyte
Posts: 24
Joined: 31.01.2008 23:26

Post by Vano »

Beren wrote:жаль, что никто не знает.
Отдельно купить бланк мапы на данный момент никак нельзя. Только если купить все карты с вендора.
Beren wrote:сделали бы тогда AutoBuy ещё и по ID
Ну и каким же образом ID поможет? :) ID все время меняется.
Единственный вариант(который пришел мне на ум) - добавить возможность покупки по названию итема(как в инже или подобно этому).

2Edred Предлагаю перенести топ в раздел Requests.
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

Единственный вариант(который пришел мне на ум) - добавить возможность покупки по названию итема(как в инже или подобно этому).
это было бы вообще идеально)
Ну и каким же образом ID поможет? ID все время меняется.
ну ID можно определить, дело в том, что всё осталдьные карты продаются по одной, а blank map на вендоре 8 штук(это DRW) так что вычислить все ID продоваемые на вендоре, а потом определить в какой стопке 8 не сложно) тут бы ещё

Code: Select all

GetName (ObjID : Cardinal) : String
не работающая пригодилась)
Vano
Neophyte
Neophyte
Posts: 24
Joined: 31.01.2008 23:26

Post by Vano »

Beren wrote:ну ID можно определить, дело в том, что всё осталдьные карты продаются по одной, а blank map на вендоре 8 штук(это DRW) так что вычислить все ID продоваемые на вендоре, а потом определить в какой стопке 8 не сложно)
А можно поподробней? :) Например, как узнать ID хоть какого-нибудь предмета который находится в списке у вендора?
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

это мой код:

Code: Select all

program buy

{$Include 'all.inc'} 

const 
 Quantity =1; 
 Map = $14EB; 
 vendor = $0029D6F6;

var
 i, k : Integer; 
 map_buy,temp: Cardinal;
 BuyList:TStringList;
 str:string;


begin 
 BuyList := TStringList.Create;
 clearjournal;
 UOSay('Arpiar buy'); 
 wait(3000);
 map_buy:=FindTypeEx(Map,$0000,vendor,true);
 AddToSystemJournal(IntToStr(FindCount));
 GetFindedList(BuyList);
 for i := 0 to BuyList.Count-1 do
 AddToSystemJournal(BuyList[i]);
 str:= '$'+BuyList[0];
 temp:= StrToInt(str);
 AddToSystemJournal('количество '+IntToStr(GetQuantity(temp)));
 UOSay('Arpiar bye'); 
End.
а для того, что бы найти всё пишем:

Code: Select all

FindTypeEx($FFFFFFFF,$FFFF,vendor,true);
только я думаю, что он найдёт и одежду этого вендора)))
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

только я думаю, что он найдёт и одежду этого вендора)))
что-то в этом роде, ага. в обычном режиме с

Code: Select all

FindTypeEx($FFFFFFFF,$FFFF,vendor,true);
получается 36 объектов, а с закомментированным

Code: Select all

UOSay('Arpiar buy');
всего 6 объектов
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

в связи с этим просто получается логичным сделать функции

Code: Select all

GetName (ObjID : Cardinal) : String
и

Code: Select all

AutoBuy(ItemID : Cardinal; Quantity : Word)
а уж с помошью их сделать покупку по имени будет достаточно просто)
Vano
Neophyte
Neophyte
Posts: 24
Joined: 31.01.2008 23:26

Post by Vano »

Такой метод конечно будет работать, но уж слишком много ухищрений. Тем более таким способом покупка будет происходить дольше, сначала надо будет проверить список вендора, а потом уже покупать(хотя это надо протестировать, требуется ли второй раз произносить buy, скорей всего надо).
Таким образом, альтернативный вариант покупки по названию итема, по моему мнению, является гораздо лучшей идеей. Да и не так это трудно реализовать(хотя покупка по ID реализуется гораздо проще).
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

это всё понятно, но кроме ухищрений у меня сейчас ничего нет))
я даже не могу заюзать объект у вендора по найденому ID, пишет "System: You can't see the target"
Last edited by Beren on 04.10.2008 19:52, edited 1 time in total.
Vano
Neophyte
Neophyte
Posts: 24
Joined: 31.01.2008 23:26

Post by Vano »

Ну так до новой версии ничего и не появится. А если уж делать(т.е. реализовывать), то делать нормально.
Beren
Novice
Novice
Posts: 108
Joined: 08.09.2008 1:07

Post by Beren »

а что, скоро будет новая версия?
просто в разделе Developers тишина с весны)
Vano
Neophyte
Neophyte
Posts: 24
Joined: 31.01.2008 23:26

Post by Vano »

Видимо что нет.

P.S. т.к. все ответы получены хватит флудить в этой теме.
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Post by CFA »

Beren wrote:в связи с этим просто получается логичным сделать функции

Code: Select all

GetName (ObjID : Cardinal) : String
и

Code: Select all

AutoBuy(ItemID : Cardinal; Quantity : Word)
а уж с помошью их сделать покупку по имени будет достаточно просто)
возможно это только у нас на шарде, но getName для итемов в buy/sell листах не работает.
Post Reply