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

Нужен скрипт

тут можно задать вопрос по скриптингу
Voland
Posts: 7
Joined: 10.08.2009 9:26

Post by Voland »

MeLFiS wrote:

Code: Select all

Procedure Item; 

begin 
CheckSave; 
If Dead then Exit;
useobject(self);
undress;
if  FindType($1F03,Backpack) = 0 then exit;  
UseSkill('Item Identification');  
WaitTargetObject(FindType($1F03,Backpack));
wait(2500); 
end;
вроде процедура написанна правильно но чего после таго как его убили и реснули он не хочет снимать робу ??
здесь это знает только один человек )
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

не человек он, да и сидит высоко, не докричаться...
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Mirage
Novice
Novice
Posts: 90
Joined: 18.07.2009 19:41

Post by Mirage »

Интересно каким именно местом (в скрипте) он должен ее снимать? :shock:

Вы все время сложности какието придумываете (про слои). Почему просто не добавить поиск ТИПА робы на себе? пара строк лишняя зато будет пофигу где именно лежит роба.

Либо как вариант. Человек убивающий тебя чем то тебя убивает. Либо одет во чтото. Пропиши ID вещи на нем и все.
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

Post by MeLFiS »

ну так напиши эти пару строк и я тебе скажу будет он кидать на таргет робу или нет
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

grundick wrote:TargetToObject(ObjAtLayer( RobeLayer ))

всё больше прихожу к выводу, что все эти потуги Визитора по усовершенствованию стелса мало кому нужны :/ Народ даже в хелп не хочет заглянуть, чего уж там говорить о новых возможностях...Большинство поди и не знает...
Подозреваю , что те кто заглядывает в хелп подобных постов не пишут....

по теме.
А можно скромный вопрос, а роба вообще видится?

Code: Select all

AddToSystemJournal('On char-'+HexToStr(GetType(ObjAtLayer( RobeLayer )),4);
AddToSystemJournal('In pack-'+HexToStr(GetType(FindType(robe,backpack)),4));
pannir
Neophyte
Neophyte
Posts: 29
Joined: 02.09.2009 16:54

Post by pannir »

раз так не получаеца.. можете тогда подсказать как зделать чтоб он не ИТЕМИЛ а просто резал свой труп чтоб робы собирались на полу?
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

Code: Select all

const
Trup=$xxxx; <------------сюда впиши Type трупа.
dagger=$xxxx; <---------тут Type того чем будешь резать
var
myTrup:Cardinal;
begin
 myTrup:=FindType(Trup,ground);
 if myTrup=0 then exit;
 UseObject(FindType(dagger,self));
 wait(500);
 TargetToObject(myTrup);
 checksave;
end;
pannir
Neophyte
Neophyte
Posts: 29
Joined: 02.09.2009 16:54

Post by pannir »

спасибо
pannir
Neophyte
Neophyte
Posts: 29
Joined: 02.09.2009 16:54

Post by pannir »

Code: Select all


Procedure Item; 
begin 
Hungry(1,ground); 
UseSkill('Item Identification');
WaitForTarget(500);
TargetToObject(FindType($1F03,backpack));
Wait(1000);
moveitem(findtype($1F03,backpack),1,$4B411B85,0,0,0);
end; 
Ребята вот процыдура.. суть ее такова:
Использует скилл Item Identification
Кидает таргет на РОБУ($1F03)
Оценил Выкинул в Trash..

Как зделать так чтоб если у него не вышло оценить он опять пытался оценить.. а не выкидывал робы... ?????


Не вышло - "I'm not sure..."
Вышло - "This a normal item."
Yazva
Neophyte
Neophyte
Posts: 11
Joined: 07.09.2009 22:58

Post by Yazva »

вот

Code: Select all

Procedure Item; 
var 
time: TDateTime;

begin 
Hungry(1,ground); 
repeat
time := Now
UseSkill('Item Identification'); 
WaitForTarget(500); 
TargetToObject(FindType($1F03,backpack)); 
Wait(1000); 
Until (InJournalBetweenTimes('This a normal item', time, Now) > 0)
moveitem(findtype($1F03,backpack),1,$4B411B85,0,0,0); 
end;
pannir
Neophyte
Neophyte
Posts: 29
Joined: 02.09.2009 16:54

Post by pannir »

Thenks)
pannir
Neophyte
Neophyte
Posts: 29
Joined: 02.09.2009 16:54

Post by pannir »

После того как он не находи на полу объект который должен итемить. И выдает в журнале такая фраза "What you selected does not seem to exist."
и после этого он больше не итемит и приходица перезапускать скрипт

можно както зделать чтоб он подождал пока на полу появется объекты и не итемил, а как только появятся так сражу опять начел итемить

вот сам скрипт

Code: Select all

Program ItemId;

{$Include 'all.inc'} 

const 
Trash = $*******; 
ItemType = $****;



Procedure Grab_Item; 
begin 
CancelTarget;
Grab(FindType(ItemType,ground), 1);
end;


Procedure Item; 
var 
time: TDateTime; 
begin 
repeat 
time := Now 
UseSkill('Item Identification'); 
WaitForTarget(500); 
TargetToObject(FindType(ItemType,backpack)); 
Wait(1000); 
Until (InJournalBetweenTimes('This is a normal item.', time, Now) > 0) 
AddToSystemJournal('Оценил.');
moveitem(findtype(ItemType,backpack),1,Trash,0,0,0);
AddToSystemJournal('Выкинул.'); 

end;



begin 
while true do begin
SetARStatus(true); 
Grab_Item; 
Item; 
Hungry(1,ground);
end;
end.
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

Code: Select all

Procedure Item; 
var 
time: TDateTime; 
Item_ID:Cardinal;
begin 
repeat 
time := Now 
while (Item_ID=0) And (not Dead) do begin
   Item_ID:=FindType(ItemType,backpack);
   wait(500); 
end;
UseSkill('Item Identification'); 
WaitForTarget(500); 
TargetToObject(Item_ID); 
Wait(1000); 
Until (InJournalBetweenTimes('This is a normal item.', time, Now) > 0) 
AddToSystemJournal('Оценил.'); 
moveitem(findtype(ItemType,backpack),1,Trash,0,0,0); 
AddToSystemJournal('Выкинул.'); 

end;
"Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."
pannir
Neophyte
Neophyte
Posts: 29
Joined: 02.09.2009 16:54

Post by pannir »

WladL, чето оно вообше както не так работает...((
WladL
Apprentice
Apprentice
Posts: 240
Joined: 27.07.2009 17:21
Location: DRW
Contact:

Post by WladL »

а поконкретней?
кстати вот тут

Code: Select all

Until (InJournalBetweenTimes('This is a normal item.', time, Now) > 0)
нужно вписать все что связано с физлами, например:

Code: Select all

Until (InJournalBetweenTimes('normal|to exist', time, Now) > 0)
"Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."
Post Reply