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;


