What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

다발악사 스킬 자동관련 헬퍼처럼..

lovekim

New Member
Joined
Dec 25, 2017
Messages
7
헬퍼의 경우...정해진 시간마다 스킬을 자동으로 쓰게 하잖아요..
물론 데몬도 복수스킬 같은거 가끔 쓰기는 하던데...
전투준비/격려나 동료 같은건 안쓰는거 같더라구요....
가끔 마우스 우클릭 사용으로 증오도 생성하고 명료도 활성화 하면 더 좋구요...
아무튼 기존에 나와있는 헬퍼 기능을 추가로 넣을 수 있으면 좋겠습니다.
헬퍼처럼 완벽하게 하지는 못하더라도...전투중에는 적당한 시간에 한번씩 사용을 하게 조금 더 노력해주시면 좋겠습니다..
 
Last edited:
plugin>trinity>routines>demonhunter>demonhunterdefault.cs 또는 demonhunterbase.cs 또는 하고 있는 세팅파일을
를 수정하면 됩니다.
예를 들어 demonhunterunhallowed.cs에서
public TrinityPower GetBuffPower()
{
if (Skills.DemonHunter.Vengeance.CanCast())
return Vengeance(); //복수

if (ShouldShadowPower())
return ShadowPower(); //어둠의힘

if (ShouldSmokeScreen())
return SmokeScreen(); //연막

if (ShouldPreparation())
return Preparation(); //전투준비

if (ShouldCompanion())
return Companion(); //동료

return null;
}
이렇게 되어 있는데, demonhunterbase.cs에 보면 전투준비 부분이 이렇게 세팅되어 있습니다.
protected virtual bool ShouldPreparation()
{
if (!Skills.DemonHunter.Preparation.CanCast()) // 전투준비가 활성화 되지 않았으면 실행안함
return false;

if (!Runes.DemonHunter.Punishment.IsActive && Player.SecondaryResourcePct <= 0.5f) //처벌룬 세팅이 아니고 절제가 50% 미만이면 실행
return true;

if (Runes.DemonHunter.Punishment.IsActive && Player.PrimaryResourcePct <= 0.3f) //처벌룬세팅이고 증오가 30% 미만이면 실행
return true;

return false;
}
이 부분을
protected virtual bool ShouldPreparation()
{
if (Skills.DemonHunter.Preparation.CanCast())
return true;
return false;
}
이렇게 바꾸면 전투준비가 가능하면 바로 실행합니다.
 
Last edited:
헛.......감사합니다..
저녁에 퇴근하면 수정해서 적용해보겠습니다...너무너무 감사합니다...
 
헛...메모장에서 수정해서 적용하니 에러나네요....ㅠ
수정은 ...어떤 프로그램으로 해야 할까요?
 
음... 메모장에서 수정하면 되고요...
에러 날게 없는데...
if (Skills.DemonHunter.Preparation.CanCast()){
return true;
}
return false;
이렇게 바꿔보세요...
 
아...잘 됩니다....

제가 수정을 잘못해서 그런거였네요..
작성하신거 복사해서 붙여넣기 하니 잘 됩니다....
타이밍 돌아오면 자동으로 다시 전투준비를 하네요..
바쁘실텐데...여러모로 감사드립니다....^^
 
Last edited:
혹시나....

저는 마우스 좌클릭을 다발, 우클릭을 회피사격으로 해놨는데요..
명료가 발동 될려면 마우스 우클릭...즉 회피사격을 5초에 한번씩 나가게 하면 좋겠는데...
그건 방법이 없을까요?

protected virtual bool ShouldEvasiveFire(out TrinityActor target)
{
target = null;

if (!Skills.DemonHunter.EvasiveFire.CanCast())
return false;

target = TargetUtil.GetBestClusterUnit() ?? CurrentTarget;
return target != null;
}

요렇게 되어 있던데....아무튼 5초에 한번씩 회피사격을 날리고 싶습니다....명료 발동용으로요.....
바쁘시겠지만 시간나면 꼭 좀 부탁드립니다...
 
아마 trinity>routine>demonhunter>DemonHunterUnhallowed.cs에
protected override bool ShouldEvasiveFire(out TrinityActor target)
{
target = null;

//회피사격이 가능하지 않으면 작동안함
if (!Skills.DemonHunter.EvasiveFire.CanCast())
return false;

//증오가 세팅된 수치보다 크면 작동안함
if (!ShouldRefreshBastiansGenerator && Player.PrimaryResource > PrimaryEnergyReserve)
return false;
//주변(120f)에 몹이 없으면 작동안함
if (!TargetUtil.AnyMobsInRange(120f))
return false;
//이건 어떤 몹을 타겟팅할것인가입니다.
target = TargetUtil.GetBestClusterUnit() ?? CurrentTarget;
return target != null;
}
이렇게 되어 있을겁니다. 주석을 달아 보겠습니다.

간단하게 원하시는 5초마다 회피사격을 날리는 코드를 넣어 보겠습니다.
protected override bool ShouldEvasiveFire(out TrinityActor target)
{
target = null;

if (!Skills.DemonHunter.EvasiveFire.CanCast())
return false;
//회피사격을 발사하고 5초가 지나지 않았으면 작동안함
if (Skills.DemonHunter.EvasiveFire.TimeSinceUse < 5000)
return false;
target = TargetUtil.GetBestClusterUnit() ?? CurrentTarget;
return target != null;
}
 
음... 근데 이게 공격할때만 해당되겠네요...
이동중에도 하게 하려면

public TrinityPower GetMovementPower(Vector3 destination)
{
if (!Player.IsInTown && AllowedToUse(Settings.Vault, Skills.DemonHunter.Vault) && CanVaultTo(destination))
return Vault(destination);

return Walk(destination);
}

이 부분을
public TrinityPower GetMovementPower(Vector3 destination)
{
if (TryPrimaryPower(out power))
return power;

if (!Player.IsInTown && AllowedToUse(Settings.Vault, Skills.DemonHunter.Vault) && CanVaultTo(destination))
return Vault(destination);

return Walk(destination);
}
요렇게 해 놓으면 됩니다. 이동중엔 필요없으면 안해도 되고요
 
감사합니다...
바쁘실텐데...신경써주셔서 감사합니다..
년초 결산관련 잔업이 많아서 요며칠 제대로 못했는데...
이거 적용해서 테스트 해봐야겠습니다...
좋은 날 되세요....
 
public TrinityPower GetMovementPower(Vector3 destination)
{
if (TryPrimaryPower(out power))
return power;

if (!Player.IsInTown && AllowedToUse(Settings.Vault, Skills.DemonHunter.Vault) && CanVaultTo(destination))
return Vault(destination);

return Walk(destination);
}

이렇게 수정하고 데몬을 실행하니...


Compiler Error: C:\DemonbuddyBETA 1.1.707\Plugins\Trinity\Routines\DemonHunter\DemonHunterUnhallowed.cs(120,25) : error CS0103: The name 'power' does not exist in the current context
Compiler Error: C:\DemonbuddyBETA 1.1.707\Plugins\Trinity\Routines\DemonHunter\DemonHunterUnhallowed.cs(121,20) : error CS0103: The name 'power' does not exist in the current context

요런 메세지가...ㅠㅠ나오네요..

그리고 계속 데몬을 실행시키니..
System.NullReferenceException: 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
위치: Zeta.Bot.ProfileOrderManager.‬‬‍‭‌‭‪‍‭‫‫‫‪‌‭‌‭‪‪‬‌‭‍‪‌‎‬‮(ProfileBehavior , Boolean )
위치: Zeta.Bot.ProfileOrderManager.‌‏‭‌‪‌‪‪‬‭‪‮‮‫‌‬‎‬‍‌‏‭‏‮(Boolean )
위치: Zeta.Bot.ProfileOrderManager.‌‮‮‬‌‎‫‎‌‍‪‎‎‎‎‪‍‏‪‌‌‮(Object , EventArgs )
위치: Zeta.Bot.GameEvents.‭‍‭‭‫‪‮‏‫‌‍‍‪‍‫‭‍‌‎‬‫‌‭‬‪‮[](EventHandler`1 , Object , )
이렇게 나오구요...
 
음... 그러면 쉽게
public TrinityPower GetBuffPower()
{
if (TryPrimaryPower(out power))
return power;
.........(생략)....
}
넣으면 되긴 할텐데... 이동중 사격하는거라 효율적이진 않을거 같네요... 그냥 공격할때만 넣는게 좋을듯...
 
Back
Top