Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TuT] Pbdobot - taskscript na umiejętności specjalne


Michu.

Rekomendowane odpowiedzi

Opublikowano

Siemka, pokażę wam jak robić TS na umiejętności specjalne. Na przykładzie solace:

 

 


using PBDOBot.Api;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class Solace : ITaskScript
{
	public Solace()
		: base("Solace", 1000, 10)
	{
	}
	public override int Run()
	{

		if (Task.BMain.Me.Hitpoints <= 30000) //Ile hp do klepania
		{
			Task.BMain.Actions.UseAbility(Enums.ShipAbility.Solace);
			Task.BMain.WriteLog("Klepie hp");
		}
		return -1;
	}

	public override bool NeedRun()
	{
		// Jeśli chcesz żeby klepał tylko gdy jest atakowany odkomentuj to:
		//return (Task.BMain.Me.AttackedByPlayer && Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Solace));
		return Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Solace);
	}
}
}

 

 

 

 

Budowa jest prosta. Gdy mamy mniej niż 30k hp to bocik na uleczy. Podobnie to wygląda w przypadku Aegisa, tylko zmieniamy Enums.ShipAbility.Solace na Enums.ShipAbility.Aegis_Health_Repair.

U Aegisa można zrobić wspaniały mechanizm ucieczki:

 

Skrypt pierwszy:


using PBDOBot.Api;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class Aegis : ITaskScript
{
	public Aegis()
		: base("Aegis", 1000, 10)
	{
	}
	public override int Run()
	{

		if (Task.BMain.Me.Hitpoints <= 30000)
		{
			Task.BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_Health_Repair);
			Task.BMain.WriteLog("Klepie hp");
		}
		return -1;
	}

	public override bool NeedRun()
{
		//return (Task.BMain.Me.AttackedByPlayer && Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Repair));
		return Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Repair);
	}
}
}

 

 

Skrypt drugi:

 

 

 

 


using PBDOBot.Api;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class Aegis : ITaskScript
{
	public Aegis()
		: base("Aegis", 1000, 10)
	{
	}
	public override int Run()
	{

		if (Task.BMain.Me.Shield <= 30000)
		{
			Task.BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_Shield_Repair);
			Task.BMain.WriteLog("Klepie oslonki");
		}
		return -1;
	}

	public override bool NeedRun()
{
		//return (Task.BMain.Me.AttackedByPlayer && Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Shield_Repair);
		return Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Shield_Repair);
	}
}
}

 

 

 

 

 

 

Skrypt na empkę i stabilną który możemy znaleźć w folderze bota:

 

 

 

 

 


using System;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class AutoEcoBuyTaskScript : ITaskScript
{
public AutoEcoBuyTaskScript() : base("AutoEcoBuyTaskScript", 5000, 1)
{
}

public override bool NeedRun()
{
return true;
}

public override int Run()
{
//no action has to be taken if we are already safe (the BMain.Me.AttackedByPlayer flag will stay raised for ~3 seconds after we got hit the last time)
if (Task.BMain.Me.InNoAttackZone)
return -1;


if (Task.BMain.Me.Hitpoints <= Task.BMain.Me.MaxHitpoints * 0.8)
{
//this will be ran every time
Task.BMain.Actions.FleeToSafety(20);
}

if (Task.BMain.Me.Hitpoints <= Task.BMain.Me.MaxHitpoints * 0.5)
{
if (Task.BMain.Actions.CanUseEmp)
{
//this will be only ran when emp is available.
//emp will give us 3 seconds of invulnerability, so the next action does not have to be taken earlier
Task.BMain.WriteLog("Using EMP");
Task.BMain.Actions.UseEmp();
return 3000;
}

if (Task.BMain.Actions.CanUseInstaShield)
{
//this will be only ran when instashield is available.
//instashield will give us another 3 seconds of invulnerability, so the next action does not have to be taken earlier
Task.BMain.WriteLog("Using InstaShield");
Task.BMain.Actions.UseInstaShield();
return 3000;
}
}

if (Task.BMain.Me.Hitpoints <= Task.BMain.Me.MaxHitpoints * 0.2)
{
//cloak if we can to avoid death
if (!Task.BMain.Me.Cloaked && Task.BMain.Actions.CanUseCloak)
{
Task.BMain.WriteLog("Using Cloak");
Task.BMain.Actions.UseCloak();
}
}

return -1;
}
}
}

 

 

 

 

 

 

Fragmenty umiejętności innych statków do podmienienia:

 

Enums.ShipAbility.Solace

Enums.ShipAbility.Diminisher

Enums.ShipAbility.Spectrum

Enums.ShipAbility.Venom

Enums.ShipAbility.Vengeance_Speed

Enums.ShipAbility.Aegis_Health_Repair

Enums.ShipAbility.Aegis_Shield_Repair

Enums.ShipAbility.Aegis_Health_Pod

Enums.ShipAbility.Citadel_Draw_Fire

Enums.ShipAbility.Citadel_Travel_Mode

Enums.ShipAbility.Citadel_Fortify

Enums.ShipAbility.Citadel_Protection

Enums.ShipAbility.Spearhead_Cloak

Enums.ShipAbility.Spearhead_Emp

Enums.ShipAbility.Spearhead_Mark_Target

Enums.ShipAbility.Spearhead_Double_Minimap

 

 

Mając aegisa i podpinając 3 ostatnie skrypty jesteśmy niezniszczalni. Przyda się także do bicia kubików i zbierania palladium.

comment_aKm2b5jSiJgvkhmrlSzZ5Yc80OK7Mzta

Opublikowano

Siemka, pokażę wam jak robić TS na umiejętności specjalne. Na przykładzie solace:

 

 


using PBDOBot.Api;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class Solace : ITaskScript
{
	public Solace()
		: base("Solace", 1000, 10)
	{
	}
	public override int Run()
	{

		if (Task.BMain.Me.Hitpoints <= 30000) //Ile hp do klepania
		{
			Task.BMain.Actions.UseAbility(Enums.ShipAbility.Solace);
			Task.BMain.WriteLog("Klepie hp");
		}
		return -1;
	}

	public override bool NeedRun()
	{
		// Jeśli chcesz żeby klepał tylko gdy jest atakowany odkomentuj to:
		//return (Task.BMain.Me.AttackedByPlayer && Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Solace));
		return Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Solace);
	}
}
}

 

 

 

 

Budowa jest prosta. Gdy mamy mniej niż 30k hp to bocik na uleczy. Podobnie to wygląda w przypadku Aegisa, tylko zmieniamy Enums.ShipAbility.Solace na Enums.ShipAbility.Aegis_Health_Repair.

U Aegisa można zrobić wspaniały mechanizm ucieczki:

 

Skrypt pierwszy:


using PBDOBot.Api;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class Aegis : ITaskScript
{
	public Aegis()
		: base("Aegis", 1000, 10)
	{
	}
	public override int Run()
	{

		if (Task.BMain.Me.Hitpoints <= 30000)
		{
			Task.BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_Health_Repair);
			Task.BMain.WriteLog("Klepie hp");
		}
		return -1;
	}

	public override bool NeedRun()
{
		//return (Task.BMain.Me.AttackedByPlayer && Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Repair));
		return Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Health_Repair);
	}
}
}

 

 

Skrypt drugi:

 

 

 

 


using PBDOBot.Api;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class Aegis : ITaskScript
{
	public Aegis()
		: base("Aegis", 1000, 10)
	{
	}
	public override int Run()
	{

		if (Task.BMain.Me.Shield <= 30000)
		{
			Task.BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_Shield_Repair);
			Task.BMain.WriteLog("Klepie oslonki");
		}
		return -1;
	}

	public override bool NeedRun()
{
		//return (Task.BMain.Me.AttackedByPlayer && Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Shield_Repair);
		return Task.BMain.Actions.CanUseAbility(Enums.ShipAbility.Aegis_Shield_Repair);
	}
}
}

 

 

 

 

 

 

Skrypt na empkę i stabilną który możemy znaleźć w folderze bota:

 

 

 

 

 


using System;
using PBDOBot.Helper;

namespace PBDOBot.Api.Task
{
public class AutoEcoBuyTaskScript : ITaskScript
{
public AutoEcoBuyTaskScript() : base("AutoEcoBuyTaskScript", 5000, 1)
{
}

public override bool NeedRun()
{
return true;
}

public override int Run()
{
//no action has to be taken if we are already safe (the BMain.Me.AttackedByPlayer flag will stay raised for ~3 seconds after we got hit the last time)
if (Task.BMain.Me.InNoAttackZone)
return -1;


if (Task.BMain.Me.Hitpoints <= Task.BMain.Me.MaxHitpoints * 0.8)
{
//this will be ran every time
Task.BMain.Actions.FleeToSafety(20);
}

if (Task.BMain.Me.Hitpoints <= Task.BMain.Me.MaxHitpoints * 0.5)
{
if (Task.BMain.Actions.CanUseEmp)
{
//this will be only ran when emp is available.
//emp will give us 3 seconds of invulnerability, so the next action does not have to be taken earlier
Task.BMain.WriteLog("Using EMP");
Task.BMain.Actions.UseEmp();
return 3000;
}

if (Task.BMain.Actions.CanUseInstaShield)
{
//this will be only ran when instashield is available.
//instashield will give us another 3 seconds of invulnerability, so the next action does not have to be taken earlier
Task.BMain.WriteLog("Using InstaShield");
Task.BMain.Actions.UseInstaShield();
return 3000;
}
}

if (Task.BMain.Me.Hitpoints <= Task.BMain.Me.MaxHitpoints * 0.2)
{
//cloak if we can to avoid death
if (!Task.BMain.Me.Cloaked && Task.BMain.Actions.CanUseCloak)
{
Task.BMain.WriteLog("Using Cloak");
Task.BMain.Actions.UseCloak();
}
}

return -1;
}
}
}

 

 

 

 

 

 

Fragmenty umiejętności innych statków do podmienienia:

 

Enums.ShipAbility.Solace

Enums.ShipAbility.Diminisher

Enums.ShipAbility.Spectrum

Enums.ShipAbility.Venom

Enums.ShipAbility.Vengeance_Speed

Enums.ShipAbility.Aegis_Health_Repair

Enums.ShipAbility.Aegis_Shield_Repair

Enums.ShipAbility.Aegis_Health_Pod

Enums.ShipAbility.Citadel_Draw_Fire

Enums.ShipAbility.Citadel_Travel_Mode

Enums.ShipAbility.Citadel_Fortify

Enums.ShipAbility.Citadel_Protection

Enums.ShipAbility.Spearhead_Cloak

Enums.ShipAbility.Spearhead_Emp

Enums.ShipAbility.Spearhead_Mark_Target

Enums.ShipAbility.Spearhead_Double_Minimap

 

 

Mając aegisa i podpinając 3 ostatnie skrypty jesteśmy niezniszczalni. Przyda się także do bicia kubików i zbierania palladium.

 

Widze że ogarnołeś na Solace Task script przyda się to masz like . -.-

Zbieram like + ;]

Opublikowano

Tutek obleci, ale tu niczego wielkiego nie pokazujesz, a jedynie jak podmienić jedną umiejętność na inną.

Tylko że mało kto zauważy pewną rzecz, a mianowicie sama podmiana nazwy umiejętności nic ludziom nie da - dlaczego?

bo każda umiejętność jest zależna od innych czynników np, na aegisa ustala się pewną granicę hp i osłon kiedy ma użyć umiejętności,

a co np. diminisherem czy cytadelą?

Nie każdy wie w jaki sposób edytować skrypta, by działał odpowiednio co do umiejętności danego statku.

Na forum PBDObota -JD- udostępnił skrypty pod każdy statek, więc ten tutek praktycznie niczego nas nie uczy :unsure:

  • 4 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...