Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Как купить blank map?
Как купить blank map?
собственно суть в том, что blank map ни по типу, ни по цвету не отличается от других карт продоваеммых вендором.
Отдельно купить бланк мапы на данный момент никак нельзя. Только если купить все карты с вендора.Beren wrote:жаль, что никто не знает.
Ну и каким же образом ID поможет? ID все время меняется.Beren wrote:сделали бы тогда AutoBuy ещё и по ID
Единственный вариант(который пришел мне на ум) - добавить возможность покупки по названию итема(как в инже или подобно этому).
2Edred Предлагаю перенести топ в раздел Requests.
это было бы вообще идеально)Единственный вариант(который пришел мне на ум) - добавить возможность покупки по названию итема(как в инже или подобно этому).
ну ID можно определить, дело в том, что всё осталдьные карты продаются по одной, а blank map на вендоре 8 штук(это DRW) так что вычислить все ID продоваемые на вендоре, а потом определить в какой стопке 8 не сложно) тут бы ещёНу и каким же образом ID поможет? ID все время меняется.
Code: Select all
GetName (ObjID : Cardinal) : String
А можно поподробней? Например, как узнать ID хоть какого-нибудь предмета который находится в списке у вендора?Beren wrote:ну ID можно определить, дело в том, что всё осталдьные карты продаются по одной, а blank map на вендоре 8 штук(это DRW) так что вычислить все ID продоваемые на вендоре, а потом определить в какой стопке 8 не сложно)
это мой код:
а для того, что бы найти всё пишем:
только я думаю, что он найдёт и одежду этого вендора)))
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);
что-то в этом роде, ага. в обычном режиме столько я думаю, что он найдёт и одежду этого вендора)))
Code: Select all
FindTypeEx($FFFFFFFF,$FFFF,vendor,true);
Code: Select all
UOSay('Arpiar buy');
в связи с этим просто получается логичным сделать функции
и
а уж с помошью их сделать покупку по имени будет достаточно просто)
Code: Select all
GetName (ObjID : Cardinal) : String
Code: Select all
AutoBuy(ItemID : Cardinal; Quantity : Word)
Такой метод конечно будет работать, но уж слишком много ухищрений. Тем более таким способом покупка будет происходить дольше, сначала надо будет проверить список вендора, а потом уже покупать(хотя это надо протестировать, требуется ли второй раз произносить buy, скорей всего надо).
Таким образом, альтернативный вариант покупки по названию итема, по моему мнению, является гораздо лучшей идеей. Да и не так это трудно реализовать(хотя покупка по ID реализуется гораздо проще).
Таким образом, альтернативный вариант покупки по названию итема, по моему мнению, является гораздо лучшей идеей. Да и не так это трудно реализовать(хотя покупка по ID реализуется гораздо проще).
это всё понятно, но кроме ухищрений у меня сейчас ничего нет))
я даже не могу заюзать объект у вендора по найденому ID, пишет "System: You can't see the target"
я даже не могу заюзать объект у вендора по найденому ID, пишет "System: You can't see the target"
Last edited by Beren on 04.10.2008 19:52, edited 1 time in total.
возможно это только у нас на шарде, но getName для итемов в buy/sell листах не работает.Beren wrote:в связи с этим просто получается логичным сделать функциииCode: Select all
GetName (ObjID : Cardinal) : String
а уж с помошью их сделать покупку по имени будет достаточно просто)Code: Select all
AutoBuy(ItemID : Cardinal; Quantity : Word)