Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Сброс шерсти
Сброс шерсти
Program Sheep;
{$Include 'all.inc'}
var b:TDateTime;
Begin
SetARStatus(true);
while not dead do
begin
checksave;
WaitConnection(5000);
while findtype($00CF,ground) > 0 do
begin
checksave;
WaitConnection(5000);
waittargetobject(finditem);
useobject(findtype($0F9E,backpack));
AddToSystemJournal('Cutting');
wait(1000);
end;
UOSay('ля-ля-ля');
wait(50000);
WaitConnection(5000);
if getquantity(findtype($0DF8,backpack)) > 9 then stack($0DF8,0);
end;
End.
Прошу подсказать граждане дорогие,правельный пусть,в моём нелёгком прибывании в стране скриптов,созданной Паскалем.Прочем отвлёкся..) не могу понять какая часть скрипта отвечает за сброс определённого предмета на пол,потому что не скидывает нефига.!?????
{$Include 'all.inc'}
var b:TDateTime;
Begin
SetARStatus(true);
while not dead do
begin
checksave;
WaitConnection(5000);
while findtype($00CF,ground) > 0 do
begin
checksave;
WaitConnection(5000);
waittargetobject(finditem);
useobject(findtype($0F9E,backpack));
AddToSystemJournal('Cutting');
wait(1000);
end;
UOSay('ля-ля-ля');
wait(50000);
WaitConnection(5000);
if getquantity(findtype($0DF8,backpack)) > 9 then stack($0DF8,0);
end;
End.
Прошу подсказать граждане дорогие,правельный пусть,в моём нелёгком прибывании в стране скриптов,созданной Паскалем.Прочем отвлёкся..) не могу понять какая часть скрипта отвечает за сброс определённого предмета на пол,потому что не скидывает нефига.!?????
Re: Сброс шерсти
Я конечно не программист и паскаль знаю очень поверхностно, но кажется, что в строке
stack($0DF8,0) совершает какое-то действие при накоплении в бэкпаке чего-то там больше 9ти.
Такой функции в вики не нашёл, может поменять на MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0)?
Code: Select all
if getquantity(findtype($0DF8,backpack)) > 9 then stack($0DF8,0);
Такой функции в вики не нашёл, может поменять на MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0)?
Re: Сброс шерсти
Тобишь if (findcount > 0) then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0) ? =)nah nah wrote:Я конечно не программист и паскаль знаю очень поверхностно, но кажется, что в строкеstack($0DF8,0) совершает какое-то действие при накоплении в бэкпаке чего-то там больше 9ти.Code: Select all
if getquantity(findtype($0DF8,backpack)) > 9 then stack($0DF8,0);
Такой функции в вики не нашёл, может поменять на MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0)?
Re: Сброс шерсти
Сделал вот так вот
Program xz;
{$Include 'all.inc'}
Begin
SetARStatus(true);
while not dead do
begin
checksave;
WaitConnection(5000);
while findtype($00CF,ground) > 0 do
begin
checksave;
WaitConnection(5000);
waittargetobject(finditem);
useobject(findtype($0F9E,backpack));
wait(1000);
end;
UOSay('ля-ля-ля');
wait(50000);
WaitConnection(5000);
if (findcount > 0) then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0)
end;
End.
Но по прежнему не скидывает
Program xz;
{$Include 'all.inc'}
Begin
SetARStatus(true);
while not dead do
begin
checksave;
WaitConnection(5000);
while findtype($00CF,ground) > 0 do
begin
checksave;
WaitConnection(5000);
waittargetobject(finditem);
useobject(findtype($0F9E,backpack));
wait(1000);
end;
UOSay('ля-ля-ля');
wait(50000);
WaitConnection(5000);
if (findcount > 0) then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0)
end;
End.
Но по прежнему не скидывает
Re: Сброс шерсти
надо так
Code: Select all
if Count($0DF8, -1) > 0 then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0);
Re: Сброс шерсти
а если так то пишет Invalid number of parametersnah nah wrote:надо такCode: Select all
if Count($0DF8, -1) > 0 then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0);
Re: Сброс шерсти
Это из-за моего незнания встроенных функций стелса. В Count только 1 параметр
Code: Select all
if Count($0DF8) > 0 then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0);
Re: Сброс шерсти
Но если на земле не будет такой вещи, бросит в пак чара.
Re: Сброс шерсти
Program xz;
{$Include 'all.inc'}
Begin
SetARStatus(true);
while not dead do
begin
checksave;
WaitConnection(5000);
while findtype($00CF,ground) > 0 do
begin
checksave;
WaitConnection(5000);
waittargetobject(finditem);
useobject(findtype($0F9E,backpack));
wait(1000);
end;
UOSay('ля-ля-ля');
wait(50000);
WaitConnection(5000);
if Count($0DF8) > 0 then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0);
end;
End.
Может быть ещё кто знает,почему не скидывает?Потому что проблема не уходит =(
{$Include 'all.inc'}
Begin
SetARStatus(true);
while not dead do
begin
checksave;
WaitConnection(5000);
while findtype($00CF,ground) > 0 do
begin
checksave;
WaitConnection(5000);
waittargetobject(finditem);
useobject(findtype($0F9E,backpack));
wait(1000);
end;
UOSay('ля-ля-ля');
wait(50000);
WaitConnection(5000);
if Count($0DF8) > 0 then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0);
end;
End.
Может быть ещё кто знает,почему не скидывает?Потому что проблема не уходит =(
Re: Сброс шерсти
сделай такburn7 wrote:
Может быть ещё кто знает,почему не скидывает?Потому что проблема не уходит =(
Code: Select all
Program xz;
{$Include 'all.inc'}
Begin
SetARStatus(true);
while not dead do
begin
checksave;
WaitConnection(5000);
while findtype($00CF,ground) > 0 do
begin
checksave;
WaitConnection(5000);
waittargetobject(finditem);
useobject(findtype($0F9E,backpack));
wait(1000);
end;
UOSay('ля-ля-ля');
wait(50000);
WaitConnection(5000);
if CountEX($0DF8,$FFFF,backpack) > 0 then MoveItem(FindType($0DF8, BackPack), 0, FindType($0DF8, Ground), 0, 0, 0);
end;
End.
My name is Игорёшка
Пишу скрипты за еду

Пишу скрипты за еду

Re: Сброс шерсти
небросает 

Re: Сброс шерсти
В общем он сбрасывает если не резать,а если резать овец то не сбрасывает )))
Re: Сброс шерсти
вот функция stack(она корректно сбрасывает на пол)
Code: Select all
procedure stack(ObjType, Color : word);
var PackItem, GroundItem : Cardinal;
begin
PackItem := 0;
GroundItem := 0;
Findtype(ObjType,backpack);
IF FindFullQuantity > 0 then PackItem := finditem;
Findtype(ObjType,ground);
IF FindFullQuantity > 0 then IgnoreReset;
repeat
FindtypeEx(ObjType,Color,ground,false);
IF FindCount > 0 then
if FindQuantity > 55000 then Ignore(finditem)
else GroundItem := finditem;
FindtypeEx(ObjType,Color,ground,false);
until (FindCount = 0) or (GroundItem <> 0);
if (PackItem <> 0) and (GroundItem <> 0) then MoveItems(backpack,ObjType,Color,GroundItem,0,0,0,1000)
else DropHere(PackItem);
end;
Новый стелс лежит тут. Стелс это произведение искусства! 

Re: Сброс шерсти
Stack и еще десятки полезных функций лежат в http://www.stealth.od.ua/forum/viewtopic.php?f=3&t=152
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Сброс шерсти
Благодарю,попозже постараюсь соеденить..Alex wrote:вот функция stack(она корректно сбрасывает на пол)
Code: Select all
procedure stack(ObjType, Color : word); var PackItem, GroundItem : Cardinal; begin PackItem := 0; GroundItem := 0; Findtype(ObjType,backpack); IF FindFullQuantity > 0 then PackItem := finditem; Findtype(ObjType,ground); IF FindFullQuantity > 0 then IgnoreReset; repeat FindtypeEx(ObjType,Color,ground,false); IF FindCount > 0 then if FindQuantity > 55000 then Ignore(finditem) else GroundItem := finditem; FindtypeEx(ObjType,Color,ground,false); until (FindCount = 0) or (GroundItem <> 0); if (PackItem <> 0) and (GroundItem <> 0) then MoveItems(backpack,ObjType,Color,GroundItem,0,0,0,1000) else DropHere(PackItem); end;