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

DRW Vaterinary на загнанном в угол животном

Only working scripts
Post Reply
Unholy
Novice
Novice
Posts: 119
Joined: 23.06.2008 2:26
Location: DRW

DRW Vaterinary на загнанном в угол животном

Post by Unholy »

Наприсано на коленке. Уже 2 часа работает нормально.
Наверное, было бы не плохо написать нормальное ожидание отхила но мне лень и без него на DRW нормально работает.

Code: Select all

//DRW. Ветеринария на загнанной в угол животном
//by Unholy. 2019
//
// В доме обставляем себя и живность всякими предметами, чтобы живность не убегала
// В сумке должна быть мойка для бинтов и сами бинты
// В руку можно взять что-нибудь и скрипт будет брать это в руки после применения бинтов.
//
// В настройках указать id подопытного животного и проверить совпадает ли тип мойки для бинтов.

Program veterinary;

const 
	animalId = $002BF04E; //Id подопытного животного

	washBasinType = $1008; // Тип мойки для бинтов. 
	
	bandageClearType = $0E21;
	bandageBloodType = $0E20;

	
var 
	weaponLeftArm, weaponRightArm: Word;
	
procedure init;
begin
	weaponLeftArm := GetType( ObjAtLayer(LhandLayer) );
	weaponRightArm := GetType( ObjAtLayer(RhandLayer) );

end;

procedure washBandages;
begin
	if (FindType(bandageClearType, backpack) = 0) and (FindType(bandageBloodType, backpack) > 0) then
	begin
		AddToSystemJournal('Wash bandages'); 
		if (FindType(washBasinType, backpack) > 0) then
		begin
			WaitTargetObject(FindItem);
			UseType(bandageBloodType, $0000);
		end;
	end;
end;

procedure wearUp;
begin
	AddToSystemJournal('Wearing weapon');
	if (weaponLeftArm > 0) and (FindType(weaponLeftArm, backpack) > 0) then
		Equip(LhandLayer, FindItem);
	
	if (weaponRightArm > 0) and (FindType(weaponRightArm, backpack) > 0) then
		Equip(RhandLayer, FindItem);
	
end;

procedure atackAnimal;
begin 
	AddToSystemJournal('Atack animal');
    while GetHP(animalId) >= GetMaxHP(animalId) do
	begin
        Attack(animalId);
        CheckLag(15000); 
        Wait(500);
    end;
end;

procedure bandageAnimal;
begin
	AddToSystemJournal('Heal animal');
	while GetHP(animalId) < GetMaxHP(animalId) do
	begin
		washBandages;
        if (WarMode = true) then
            SetWarMode(false);
		WaitTargetObject(animalId);
		UseType(bandageClearType, $0000);
		CheckLag(15000); 
        Wait(500);
	end;
end;

procedure bandageSelf;
begin
    AddToSystemJournal('Heal self');
    while GetHP(animalId) < GetMaxHP(animalId) do
    begin
        washBandages;  
        if (WarMode = true) then
            SetWarMode(false);
        WaitTargetObject(Self);
        UseType(bandageClearType, $0000);
        CheckLag(15000);
    end;
end;

begin
    init;
    
    while GetSkillValue('Veterinary') < 100 do
    begin   
        atackAnimal;
        bandageAnimal;  
        bandageSelf;
        wearUp;
    end;
end.
Unholy
Novice
Novice
Posts: 119
Joined: 23.06.2008 2:26
Location: DRW

Re: DRW Vaterinary на загнанном в угол животном

Post by Unholy »

Судя по всему, самой большой силой (и как слдедствие HP), среди безобидных животных, на drw обладают Black Shade и Blood Kuatl их и советую брать в качестве подопытных. Дабы нивелировать вероятность убить животное.
Unholy
Novice
Novice
Posts: 119
Joined: 23.06.2008 2:26
Location: DRW

Re: DRW Vaterinary на загнанном в угол животном

Post by Unholy »

:roll: Наконец-то докачалось до ГМ, и вот, что мне есть сказать по этому поводу.
1. Оружие и щит, по крайней мере с ГМ тактики, нафиг не нужны. Благо скрипт заточен даже под пустые руки.
2. Имеет смысл надеть брасер HP. В фулле Balckrock с небольшой периодичностью блуд может ударить на 1хп. И браслет помогает не тратить время на хилинг себя.
3. Бинтов лучше брать в сумку под завязку. За сегодняшний день, для прокачки с 95 до 100 было потрачено (безвозвратно утерянно) около 700 бинтов.
4. Растет долго. Последние 5% реально качались около 12 часов.
Post Reply