Иконка ресурса

"Abstract" interface for Interlude

  • Автор темы Автор темы Petr
  • Дата начала Дата начала
Та не) через .uc

Бля интерлюд клиент 746 протокола такой КОНЧЕНЫЙ в плане изменений... ужас ))
Чё поделать старый анриал нулевых.


Нужна помощь!

Прикрутил кнопку автофарма но в люси она не хочит работать на две стороны .

Когда включаю автофарм через HTML в клиенте кнопка загарается работает итд.
А когда включаю автофарм через клиент автофарм работает всё ок но в HTML не меняется ON/OFF

как их подружить мож кто подскажит ?

C++:
//================================================================================
// AutoHunting.
//================================================================================
class AutoHunting extends UICommonAPI;
var WindowHandle zzMe;
var ButtonHandle zzBtnattack,zzbtninfo, zzBtnattackoffexpand, zzbotonexpandminimized, zzBtnLongRange, zzBtnShortRange, zzBtnRespectHunt, zzBtnSummon, zzBtnBuff, zzBtnPageDec, zzBtnPageInc;
var AnimTextureHandle zzm_TexAnim1Expand, zzm_TexAnim2Expand;
var bool zzBtnRespectHuntIcon,activateautofarm, zzBtnSummontIcon,m_IsAnimationPlayingExpand;

var WindowHandle zzm_ResultAnimation1Expand, zzm_ResultAnimation2Expand;

var AutoSkillWnd scriptsauto;
var AutoPotionsWnd scriptsautos;

function OnLoad()
{
    RegisterEvent( EV_Die );
    scriptsauto = AutoSkillWnd(GetScript("AutoSkillWnd"));
    scriptsautos = AutoPotionsWnd(GetScript("AutoPotionsWnd"));
    zzm_TexAnim1Expand = AnimTextureHandle( GetHandle( "AutoHunting.Anim1CircleExpand.Anim1Expand" ));
    zzm_TexAnim2Expand = AnimTextureHandle( GetHandle( "AutoHunting.Anim2CoreExpand.Anim2Expand" ));
    zzBtnRespectHuntIcon = False;
    zzBtnSummontIcon = False;
    activateautofarm = false;
    RegisterEvent( EV_SystemMessage );
    RegisterEvent( EV_Restart );
    zzm_ResultAnimation1Expand = GetHandle( "AutoHunting.Anim1CircleExpand");
    zzm_ResultAnimation2Expand = GetHandle( "AutoHunting.Anim2CoreExpand");
    zzbotonexpandminimized = ButtonHandle ( GetHandle ("AutoHunting.btnDrawer") );
    zzbotonexpandminimized.SetTooltipCustomType(MakeTooltipSimpleText("Minimized"));
    zzbotonexpandminimized.SetTexture("L2UI_CH3.AutoHunting.WinMinButton", "L2UI_CH3.AutoHunting.WinMinButton_down", "L2UI_CH3.AutoHunting.WinMinButton_over");
    zzbtninfo = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.btnInfoHunting") );
    zzbtninfo.SetTooltipCustomType(MakeTooltipSimpleText("AutoFarm Information"));
    zzBtnattack = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.Btnattack") );
    zzBtnattack.SetTooltipCustomType(MakeTooltipSimpleText("Automatic Skills"));
    zzBtnattackoffexpand = ButtonHandle ( GetHandle ("AutoHunting.BtnattackoffExpand") );
    zzBtnattackoffexpand.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
    zzBtnRespectHunt = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnRespectHunt") );
    zzBtnRespectHunt.SetTooltipCustomType(MakeTooltipSimpleText("Respect Hunt Off"));
    zzBtnSummon = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnSummon") );
    zzBtnSummon.SetTooltipCustomType(MakeTooltipSimpleText("Summon Attack Off"));
    zzBtnLongRange = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnLongRange") );
    zzBtnShortRange = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnShortRange") );
    zzBtnLongRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Inc Range Max"));
    zzBtnShortRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Dec Range Max"));
    zzBtnBuff = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnBuff") );
    zzBtnBuff.SetTooltipCustomType(MakeTooltipSimpleText("Buff Protection On/Off"));
    zzBtnPageDec = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnDecPage") );
    zzBtnPageDec.SetTooltipCustomType(MakeTooltipSimpleText("Dec Bar Skill"));
    zzBtnPageInc = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnIncPage") );
    zzBtnPageInc.SetTooltipCustomType(MakeTooltipSimpleText("Inc Bar Skill"));
    m_IsAnimationPlayingExpand = false;
// Hide animation at start
    scriptsauto.cycleON = False;
    xxBtnOnExpand();
    xxBtnOffExpand();
    xxBtnRespectHuntOn();
    xxBtnRespectHuntOff();
    xxBtnSummonOn();
    xxBtnSummonOff();
}

function OnEvent(int Event_ID, string param)
{

    if ( Event_ID == EV_Restart )
    {
        xxStopAll();
        activateautofarm = False;

    }

    else if (Event_ID == EV_SystemMessage)
    {      
        xxHandleSystemMessage(param);
    }
    if (Event_ID == EV_Die){
        xxStopAll();
        activateautofarm = False;
    }
}
   
function xxHandleSystemMessage(string zza_Param)
{
    local int zzIndex;
    local string zzMsg;

    ParseInt(zza_Param,"Index",zzIndex);
    ParseString(zza_Param,"Param1",zzMsg);
    /*   if (zzIndex != 1987)
    {
        return;
    }*/

    if ( -1 != InStr(zzMsg,"Auto Farm Blocked in the Olympics.") || -1 != InStr(zzMsg,"Auto Farm Blocked in the Instance Zone!") )
    {
        xxStopAll();
        activateautofarm = False;

    }
    if ( -1 != InStr(zzMsg,"Auto Farm Blocked in Peace Zone!") )

    {
        xxStopAll();
        activateautofarm = False;
    }
       
       
    if ( -1 != InStr(zzMsg,"Auto Farm Disabled on Teleport!") )

    {
        xxStopAll();
        activateautofarm = False;
    }
       

    if ( -1 != InStr(zzMsg,"Respect Hunt On.") )

    {
        xxBtnRespectHuntOn();
        zzBtnRespectHuntIcon = True;
    }
    if ( -1 != InStr(zzMsg,"Respect Hunt Of.") )

    {
        xxBtnRespectHuntOff();
        zzBtnRespectHuntIcon = False;
    }
       
    if( -1 != InStr(zzMsg,"Dead, Auto Farm Disabled.") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"AutoFarm Disabled.") )
    {
        xxStopAll();
        activateautofarm = False;
    }

    if( -1 != InStr(zzMsg,"Auto-farming deactivated")
        || -1 != InStr(zzMsg,"Autofarming deactivated")
        || -1 != InStr(zzMsg,"Auto Farming Off") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"AutoFarm Disabled.") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"Automatic hunting is prohibited in this zone!") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"Active AutoFarm.") )
    {
        xxStartAll();
        activateautofarm = True;
    }
    if( -1 != InStr(zzMsg,"Active AutoFarm.") )
    {
        xxStartAll();
        activateautofarm = True;
    }

    if( -1 != InStr(zzMsg,"Auto-farming activated")
        || -1 != InStr(zzMsg,"Autofarming activated")
        || -1 != InStr(zzMsg,"Auto Farming On") )
    {
        xxStartAll();
        activateautofarm = True;
    }      
    return;
}  
   
function xxStartAll()
{
    zzm_TexAnim1Expand.SetLoopCount(-1);
    zzm_TexAnim1Expand.Play();
    zzm_TexAnim2Expand.SetLoopCount(-1);
    zzm_TexAnim2Expand.Play();
    xxBtnOnExpand();
    zzm_ResultAnimation1Expand.ShowWindow();
    zzm_ResultAnimation2Expand.ShowWindow();
       
    scriptsauto.cycleON = True;
    scriptsauto.SkillStart();
   
}
   
function xxStopAll()
{
    zzm_TexAnim1Expand.Stop();
    zzm_TexAnim2Expand.Stop();

    xxBtnOffExpand();
    zzm_ResultAnimation1Expand.HideWindow();
    zzm_ResultAnimation2Expand.HideWindow();
    scriptsauto.cycleON = False;
    scriptsauto.SkillStop();
   
}  

function OnShow ()
{
       
    if ( activateautofarm )
    {
        xxStartAll();
    //    OMG("ACTIVE");
        activateautofarm = True;
    }
    else
    {
        xxResetReady();
    //OMG("OFF");
        activateautofarm = False;
    }

}

function xxResetReady()
{
    zzm_ResultAnimation1Expand.HideWindow();
    zzm_ResultAnimation2Expand.HideWindow();
    xxBtnSummonOff();
    xxBtnOffExpand();
    xxBtnRespectHuntOff();

    if( zzBtnSummontIcon )
    {
        xxBtnSummonOn();
    }
    else
    {
        xxBtnSummonOff();
    }

    if( zzBtnRespectHuntIcon )
    {
        xxBtnRespectHuntOn();
    }
   
   
    else
    {
        xxBtnRespectHuntOff();
    }
}

function xxOnTeleport()
{

    zzm_TexAnim1Expand.Stop();
    zzm_TexAnim2Expand.Stop();
    xxBtnOffExpand();
    zzm_ResultAnimation1Expand.HideWindow();
    zzm_ResultAnimation2Expand.HideWindow();

}

function xxBtnOnExpand()
{
    zzBtnattackoffExpand.SetTexture( "L2UI_CH3.AutoHuntingWnd.FightON_Auto", "L2UI_CH3.AutoHuntingWnd.FightON_Auto", "L2UI_CH3.AutoHuntingWnd.FightON_Auto" );
        zzBtnattackoffexpand.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm On"));
}

function xxBtnOffExpand()
{
    zzBtnattackoffExpand.SetTexture( "L2UI_CH3.AutoHuntingWnd.fightoff", "L2UI_CH3.AutoHuntingWnd.fightoff", "L2UI_CH3.AutoHuntingWnd.fightoff_auto" );
        zzBtnattackoffexpand.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
}

function xxBtnSummonOn()
{
    zzBtnSummon.SetTexture( "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normalon", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normalon", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-overon" );
        zzBtnSummon.SetTooltipCustomType(MakeTooltipSimpleText("Summon Attack On"));
}

function xxBtnSummonOff()
{
    zzBtnSummon.SetTexture( "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normaloff", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normaloff", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-overoff" );
        zzBtnSummon.SetTooltipCustomType(MakeTooltipSimpleText("Summon Attack Off"));
}

function xxBtnRespectHuntOn()
{
    zzBtnRespectHunt.SetTexture( "L2UI_CH3.AutoHuntingWnd.MannerBTNON_NORMAL", "L2UI_CH3.AutoHuntingWnd.MannerBTNON_OVER", "L2UI_CH3.AutoHuntingWnd.MannerBTNON_NORMAL" );
        zzBtnRespectHunt.SetTooltipCustomType(MakeTooltipSimpleText("Respect Hunt On"));
}

function xxBtnRespectHuntOff()
{
    zzBtnRespectHunt.SetTexture( "L2UI_CH3.AutoHuntingWnd.mannerbtnoff_normal", "L2UI_CH3.AutoHuntingWnd.mannerbtnoff_over", "L2UI_CH3.AutoHuntingWnd.mannerbtnoff_normal" );
        zzBtnRespectHunt.SetTooltipCustomType(MakeTooltipSimpleText("Respect Hunt Off"));
}

function xxBypass( string strBypass)
{
    RequestBypassToServer(strBypass);
}


function openautoskill()
{
    // End:0x2E
    if( IsShowWindow("AutoSkillWnd") )
    {
        HideWindow("AutoSkillWnd");
    }
    else
    {
        ShowWindowWithFocus("AutoSkillWnd");
    }
    return;
}

    function getsuprainfoaauto()
{
    local UserInfo UserInfo;

    GetPlayerInfo(UserInfo);
    // End:0x162
   
    if( UserInfo.nCurHP <= 0 )    {
    xxStopAll();
}
   
}

function OnClickButton (string strID)
{

    switch (strID)
    {
        case "Btnattack":
    //ExecuteCommand(".autofarm");
        xxBypass("scripts_services.Interface:autoFarmInfo");
            openautoskill();
            break;
        case "btnInfoHunting":
            ExecuteCommand(".autofarm");
        //    xxBypass("_infosettings");
        //    xxBypass("_bpUI autofarm info");
        //    xxBypass("_LotusUI FarmInfo");
            break;


    case "Btnattackoffexpand":
        xxBypass("scripts_services.Interface:autoFarm");
        break;
        case "BtnLongRange":
            //xxBypass("_radiusAutoFarm inc_radius");
            //xxBypass("_bpUI autofarm increaseMaxRange");
            //xxBypass("_radiusAutoFarm inc_radius");
            break;
        case "BtnShortRange":
            //xxBypass("scripts_services.Interface:radiusAutoFarm dec_radius");
            //xxBypass("_bpUI autofarm decreaseMaxRange");
            //xxBypass("scripts_services.Interface:radiusAutoFarm dec_radius");
            break;
        case "BtnRespectHunt":
        //    xxBypass("_enableRespectHunt");
        //    xxBypass("_bpUI autofarm respectHuntToogle");
        // xxBypass("_LotusUI AutoRespect");
            break;
        case "BtnIncPage":
            xxBypass("_pageAutoFarm inc_page");
            break;
        case "BtnDecPage":
            xxBypass("_pageAutoFarm dec_page");
            break;
        case "btnDrawer":
            xxminiexpand();
            break;
        case "BtnSummon":
            xxBypass("_enableSummonAttack");
            break;
        case "BtnBuff":
            xxBypass("_enableBuffProtect");
            break;
        default:
    }
}

function xxminiexpand()
{
    // End:0xFF
    if( IsShowWindow("AutoHunting.DrawerButtons") )
    {
        zzbotonexpandminimized.SetTexture("L2UI_CH3.AutoHunting.WinExpandButton", "L2UI_CH3.AutoHunting.WinExpandButton_down", "L2UI_CH3.AutoHunting.WinExpandButton_over");
        zzbotonexpandminimized.SetTooltipCustomType(MakeTooltipSimpleText("Expand"));
        HideWindow("AutoHunting.DrawerButtons");
        HideWindow("AutoSkillWnd");

    }
    else
    {
        zzbotonexpandminimized.SetTexture("L2UI_CH3.AutoHunting.WinMinButton", "L2UI_CH3.AutoHunting.WinMinButton_down", "L2UI_CH3.AutoHunting.WinMinButton_over");
        zzbotonexpandminimized.SetTooltipCustomType(MakeTooltipSimpleText("Minimized"));
        ShowWindow("AutoHunting.DrawerButtons");
    }
    return;
}




function CustomTooltip xxSetTooltip(string Text)
{
    local CustomTooltip TooltipInfo;
    TooltipInfo.MinimumWidth = 145;
    TooltipInfo.DrawList.Length = 1;
    TooltipInfo.DrawList[0].eType = DIT_TEXT;
    TooltipInfo.DrawList[0].nOffSetX = 1;
    TooltipInfo.DrawList[0].t_bDrawOneLine = True;
    TooltipInfo.DrawList[0].t_color.R = 255;
    TooltipInfo.DrawList[0].t_color.G = 255;
    TooltipInfo.DrawList[0].t_color.B = 255;
    TooltipInfo.DrawList[0].t_color.A = 255;
    TooltipInfo.DrawList[0].t_strText = Text;
    return TooltipInfo;
}

А хотя мне надо их не дружить они и так дружат. Просто надо чтоб клиент при открытом окне обновлял или переоткрывал окно авто фарма. Если оно открыто.
 

Вложения

Последнее редактирование:
Чё поделать старый анриал нулевых.


Нужна помощь!

Прикрутил кнопку автофарма но в люси она не хочит работать на две стороны .

Когда включаю автофарм через HTML в клиенте кнопка загарается работает итд.
А когда включаю автофарм через клиент автофарм работает всё ок но в HTML не меняется ON/OFF

как их подружить мож кто подскажит ?
У тебя же подцеплен GiranForgeInterludeExt там помоему есть три фукнции включить/выключить(без открытия html окна), увеличить/уменьшить радиус лействия автофарма, и открыть информ окно глянь (тем более человек недавно сурсы выложил)

C-подобный:
class AutoHuntingWnd extends UICommonAPI;

var string m_WindowName;

var WindowHandle Me;
var WindowHandle AnimCircleWnd;
var ButtonHandle btnAutoHuntSettings; 
var ButtonHandle btnAutoHuntDrawer; 
var ButtonHandle btnAutoHuntToggle; 
var ButtonHandle btnLongRange; 
var ButtonHandle btnShortRange;  
var ButtonHandle btnPageDec;
var ButtonHandle btnPageInc;
var AnimTextureHandle m_TexAnimCircle;
var AnimTextureHandle m_TexAnimCore;
var ButtonHandle btnAutoHuntSword;

var bool isActiveAutoFarm; 

var AutoSkillWnd scriptAutoSkill;

function OnLoad()
{
	RegisterEvent(EV_Die);
	RegisterEvent(EV_SystemMessage);
	RegisterEvent(EV_Restart);
	scriptAutoSkill = AutoSkillWnd(GetScript("AutoSkillWnd"));
	btnAutoHuntSettings = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntSettings"));
	
	btnAutoHuntDrawer = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntDrawer"));
	btnAutoHuntDrawer.SetTooltipCustomType(MakeTooltipSimpleText(GetSystemString(1475)));
	btnAutoHuntDrawer.SetTexture("L2UI_CH3.AutoHuntingWnd.WinMinButton", "L2UI_CH3.AutoHuntingWnd.WinMinButton_down", "L2UI_CH3.AutoHuntingWnd.WinMinButton_over");
	
	btnAutoHuntToggle = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntToggle"));
	btnAutoHuntToggle.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
	btnAutoHuntToggle.SetTexture("L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG_Over");
	
	btnAutoHuntSword = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntSword"));
	AnimCircleWnd = GetHandle(m_WindowName$".AnimCircleWnd");
	m_TexAnimCircle = AnimTextureHandle(GetHandle(m_WindowName$".AnimCircleWnd.texAnimCircle"));
	m_TexAnimCore = AnimTextureHandle(GetHandle(m_WindowName$".texAnimCore"));
	
	btnLongRange = ButtonHandle(GetHandle(m_WindowName$".DrawerButtons.btnLongRange"));
	btnLongRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Inc Range Max"));
	
	btnShortRange = ButtonHandle(GetHandle(m_WindowName$".DrawerButtons.btnShortRange"));
	btnShortRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Dec Range Max"));
	isActiveAutoFarm = False;
	scriptAutoSkill.cycleON = False;
	scriptAutoSkill.SkillStop();
}

function OnShow()
{	
	if ( isActiveAutoFarm )
	{
		StartAutoFarm();
		isActiveAutoFarm = True;
	}
	else
	{
		StopAutoFarm();
		isActiveAutoFarm = False;
		scriptAutoSkill.cycleON = False;
	}
}

function OnEvent( int Event_ID, string param )
{
	switch ( Event_ID )
	{
		case EV_Die:
		case EV_Restart:
			StopAutoFarm();
			isActiveAutoFarm = False;
			break;
		case EV_SystemMessage:
			HandleSystemMessage(param);
			break;
	}
}
	
function HandleSystemMessage( string a_Param )
{
	local int Index;
	local string Param1;

	ParseInt(a_Param, "Index", Index);
	ParseString(a_Param, "Param1", Param1);
	
	if ( InStr(Param1, "Auto Farm Blocked in the Olympics.") != -1 || 
		InStr(Param1, "Auto Farm Blocked in the Instance Zone!") != -1 || 
		InStr(Param1, "Auto Farm Blocked in Peace Zone!") != -1 || 
		InStr(Param1, "Auto Farm Disabled on Teleport!") != -1 || 
		InStr(Param1, "Auto Farming Desativado") != -1 ||
		InStr(Param1, "Dead, Auto Farm Disabled") != -1 || 
		InStr(Param1, "Autofarming deactivated") != -1 || 
		InStr(Param1, "AutoFarm Disabled") != -1 || 
		InStr(Param1, "Automatic hunting is prohibited in this zone!") != -1 )
	{
		StopAutoFarm();
		isActiveAutoFarm = False;    
	}
	 
	if ( InStr(Param1, "Active AutoFarm") != -1 || InStr(Param1, "Autofarming activated") != -1 )
	{
		StartAutoFarm();
		isActiveAutoFarm = True;
	}
}	
	
function OnClickButton( string strID )
{
	switch ( strID )
	{
		case "btnAutoHuntDrawer":
			ToggleExpand();
			break;
		case "btnAutoHuntSettings":
			//RequestBypassToServer("scripts_services.Interface:autoFarmInfo");
			ExecuteCommand(".autofarm");
			break;
		case "btnAutoHuntToggle":
			if ( isActiveAutoFarm == False )
			{
				isActiveAutoFarm = True;
				StartAutoFarm();
			}
			else
			{
				isActiveAutoFarm = False;
				StopAutoFarm();
			}				
			RequestBypassToServer("scripts_services.Interface:autoFarm");
			break;
		case "btnBuff":
			ToggleAutoSkillWnd();
			break;
		case "btnLongRange":
			RequestBypassToServer("scripts_services.Interface:radiusAutoFarm inc_radius");
			break;
		case "btnShortRange":
			RequestBypassToServer("scripts_services.Interface:radiusAutoFarm dec_radius");
			break;
	}
}

function ToggleAutoSkillWnd()
{
	if ( IsShowWindow("AutoSkillWnd") )
		HideWindow("AutoSkillWnd");
	else
		ShowWindowWithFocus("AutoSkillWnd");
}

function StartAutoFarm()
{

	m_TexAnimCircle.SetLoopCount(-1);
	m_TexAnimCircle.Play();
	AnimCircleWnd.ShowWindow();
	m_TexAnimCore.SetTexture("L2UI_CH3.AutoHuntingAni.AutoOnAni0000");
	m_TexAnimCore.SetLoopCount(-1);
	m_TexAnimCore.Play();
	btnAutoHuntSword.SetTexture("L2UI_CH3.AutoHuntingWnd.FightON", "L2UI_CH3.AutoHuntingWnd.FightON", "L2UI_CH3.AutoHuntingWnd.FightON_Auto");
	btnAutoHuntToggle.SetTexture("L2UI_CH3.Etc.Null", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG_Over");
	btnAutoHuntToggle.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm On"));
	scriptAutoSkill.cycleON = True;
	scriptAutoSkill.SkillStart();
}
	
function StopAutoFarm()
{
	m_TexAnimCircle.Stop();
	AnimCircleWnd.HideWindow();
	m_TexAnimCore.Stop();
	m_TexAnimCore.SetTexture("L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG");
	btnAutoHuntSword.SetTexture("L2UI_CH3.AutoHuntingWnd.FightOff", "L2UI_CH3.AutoHuntingWnd.FightOff", "L2UI_CH3.AutoHuntingWnd.FightOff_Auto");
	btnAutoHuntToggle.SetTexture("L2UI_CH3.Etc.Null", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG_Over");
	btnAutoHuntToggle.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
	scriptAutoSkill.cycleON = False;
	scriptAutoSkill.SkillStop();
}	

function ToggleExpand()
{
	if ( IsShowWindow(m_WindowName$".DrawerButtons") )
	{
		ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntDrawer")).SetTexture("L2UI_CH3.AutoHuntingWnd.WinExpandButton", "L2UI_CH3.AutoHuntingWnd.WinExpandButton_down", "L2UI_CH3.AutoHuntingWnd.WinExpandButton_over");
		btnAutoHuntDrawer.SetTooltipCustomType(MakeTooltipSimpleText(GetSystemString(1474)));
		HideWindow(m_WindowName$".DrawerButtons");
		HideWindow("AutoSkillWnd");  
	}
	else
	{
		ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntDrawer")).SetTexture("L2UI_CH3.AutoHuntingWnd.WinMinButton", "L2UI_CH3.AutoHuntingWnd.WinMinButton_down", "L2UI_CH3.AutoHuntingWnd.WinMinButton_over");
		btnAutoHuntDrawer.SetTooltipCustomType(MakeTooltipSimpleText(GetSystemString(1475)));
		ShowWindow(m_WindowName$".DrawerButtons");
	}
}

function CustomTooltip SetTooltip( string Text )
{
	local CustomTooltip TooltipInfo;
	TooltipInfo.MinimumWidth = 145;
	TooltipInfo.DrawList.Length = 1;
	TooltipInfo.DrawList[0].eType = DIT_TEXT;
	TooltipInfo.DrawList[0].nOffSetX = 1;
	TooltipInfo.DrawList[0].t_bDrawOneLine = True;
	TooltipInfo.DrawList[0].t_color.R = 255;
	TooltipInfo.DrawList[0].t_color.G = 255;
	TooltipInfo.DrawList[0].t_color.B = 255;
	TooltipInfo.DrawList[0].t_color.A = 255;
	TooltipInfo.DrawList[0].t_strText = Text;
	return TooltipInfo;
}

defaultproperties
{
	m_WindowName="AutoHuntingWnd"
}
 
У тебя же подцеплен GiranForgeInterludeExt там помоему есть три фукнции включить/выключить(без открытия html окна), увеличить/уменьшить радиус лействия автофарма, и открыть информ окно глянь (тем более человек недавно сурсы выложил)

C-подобный:
class AutoHuntingWnd extends UICommonAPI;

var string m_WindowName;

var WindowHandle Me;
var WindowHandle AnimCircleWnd;
var ButtonHandle btnAutoHuntSettings;
var ButtonHandle btnAutoHuntDrawer;
var ButtonHandle btnAutoHuntToggle;
var ButtonHandle btnLongRange;
var ButtonHandle btnShortRange; 
var ButtonHandle btnPageDec;
var ButtonHandle btnPageInc;
var AnimTextureHandle m_TexAnimCircle;
var AnimTextureHandle m_TexAnimCore;
var ButtonHandle btnAutoHuntSword;

var bool isActiveAutoFarm;

var AutoSkillWnd scriptAutoSkill;

function OnLoad()
{
    RegisterEvent(EV_Die);
    RegisterEvent(EV_SystemMessage);
    RegisterEvent(EV_Restart);
    scriptAutoSkill = AutoSkillWnd(GetScript("AutoSkillWnd"));
    btnAutoHuntSettings = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntSettings"));
   
    btnAutoHuntDrawer = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntDrawer"));
    btnAutoHuntDrawer.SetTooltipCustomType(MakeTooltipSimpleText(GetSystemString(1475)));
    btnAutoHuntDrawer.SetTexture("L2UI_CH3.AutoHuntingWnd.WinMinButton", "L2UI_CH3.AutoHuntingWnd.WinMinButton_down", "L2UI_CH3.AutoHuntingWnd.WinMinButton_over");
   
    btnAutoHuntToggle = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntToggle"));
    btnAutoHuntToggle.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
    btnAutoHuntToggle.SetTexture("L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG_Over");
   
    btnAutoHuntSword = ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntSword"));
    AnimCircleWnd = GetHandle(m_WindowName$".AnimCircleWnd");
    m_TexAnimCircle = AnimTextureHandle(GetHandle(m_WindowName$".AnimCircleWnd.texAnimCircle"));
    m_TexAnimCore = AnimTextureHandle(GetHandle(m_WindowName$".texAnimCore"));
   
    btnLongRange = ButtonHandle(GetHandle(m_WindowName$".DrawerButtons.btnLongRange"));
    btnLongRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Inc Range Max"));
   
    btnShortRange = ButtonHandle(GetHandle(m_WindowName$".DrawerButtons.btnShortRange"));
    btnShortRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Dec Range Max"));
    isActiveAutoFarm = False;
    scriptAutoSkill.cycleON = False;
    scriptAutoSkill.SkillStop();
}

function OnShow()
{   
    if ( isActiveAutoFarm )
    {
        StartAutoFarm();
        isActiveAutoFarm = True;
    }
    else
    {
        StopAutoFarm();
        isActiveAutoFarm = False;
        scriptAutoSkill.cycleON = False;
    }
}

function OnEvent( int Event_ID, string param )
{
    switch ( Event_ID )
    {
        case EV_Die:
        case EV_Restart:
            StopAutoFarm();
            isActiveAutoFarm = False;
            break;
        case EV_SystemMessage:
            HandleSystemMessage(param);
            break;
    }
}
   
function HandleSystemMessage( string a_Param )
{
    local int Index;
    local string Param1;

    ParseInt(a_Param, "Index", Index);
    ParseString(a_Param, "Param1", Param1);
   
    if ( InStr(Param1, "Auto Farm Blocked in the Olympics.") != -1 ||
        InStr(Param1, "Auto Farm Blocked in the Instance Zone!") != -1 ||
        InStr(Param1, "Auto Farm Blocked in Peace Zone!") != -1 ||
        InStr(Param1, "Auto Farm Disabled on Teleport!") != -1 ||
        InStr(Param1, "Auto Farming Desativado") != -1 ||
        InStr(Param1, "Dead, Auto Farm Disabled") != -1 ||
        InStr(Param1, "Autofarming deactivated") != -1 ||
        InStr(Param1, "AutoFarm Disabled") != -1 ||
        InStr(Param1, "Automatic hunting is prohibited in this zone!") != -1 )
    {
        StopAutoFarm();
        isActiveAutoFarm = False;   
    }
    
    if ( InStr(Param1, "Active AutoFarm") != -1 || InStr(Param1, "Autofarming activated") != -1 )
    {
        StartAutoFarm();
        isActiveAutoFarm = True;
    }
}   
   
function OnClickButton( string strID )
{
    switch ( strID )
    {
        case "btnAutoHuntDrawer":
            ToggleExpand();
            break;
        case "btnAutoHuntSettings":
            //RequestBypassToServer("scripts_services.Interface:autoFarmInfo");
            ExecuteCommand(".autofarm");
            break;
        case "btnAutoHuntToggle":
            if ( isActiveAutoFarm == False )
            {
                isActiveAutoFarm = True;
                StartAutoFarm();
            }
            else
            {
                isActiveAutoFarm = False;
                StopAutoFarm();
            }               
            RequestBypassToServer("scripts_services.Interface:autoFarm");
            break;
        case "btnBuff":
            ToggleAutoSkillWnd();
            break;
        case "btnLongRange":
            RequestBypassToServer("scripts_services.Interface:radiusAutoFarm inc_radius");
            break;
        case "btnShortRange":
            RequestBypassToServer("scripts_services.Interface:radiusAutoFarm dec_radius");
            break;
    }
}

function ToggleAutoSkillWnd()
{
    if ( IsShowWindow("AutoSkillWnd") )
        HideWindow("AutoSkillWnd");
    else
        ShowWindowWithFocus("AutoSkillWnd");
}

function StartAutoFarm()
{

    m_TexAnimCircle.SetLoopCount(-1);
    m_TexAnimCircle.Play();
    AnimCircleWnd.ShowWindow();
    m_TexAnimCore.SetTexture("L2UI_CH3.AutoHuntingAni.AutoOnAni0000");
    m_TexAnimCore.SetLoopCount(-1);
    m_TexAnimCore.Play();
    btnAutoHuntSword.SetTexture("L2UI_CH3.AutoHuntingWnd.FightON", "L2UI_CH3.AutoHuntingWnd.FightON", "L2UI_CH3.AutoHuntingWnd.FightON_Auto");
    btnAutoHuntToggle.SetTexture("L2UI_CH3.Etc.Null", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG_Over");
    btnAutoHuntToggle.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm On"));
    scriptAutoSkill.cycleON = True;
    scriptAutoSkill.SkillStart();
}
   
function StopAutoFarm()
{
    m_TexAnimCircle.Stop();
    AnimCircleWnd.HideWindow();
    m_TexAnimCore.Stop();
    m_TexAnimCore.SetTexture("L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOff_BG");
    btnAutoHuntSword.SetTexture("L2UI_CH3.AutoHuntingWnd.FightOff", "L2UI_CH3.AutoHuntingWnd.FightOff", "L2UI_CH3.AutoHuntingWnd.FightOff_Auto");
    btnAutoHuntToggle.SetTexture("L2UI_CH3.Etc.Null", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG", "L2UI_CH3.AutoHuntingWnd.AutoPlaySlotOn_BG_Over");
    btnAutoHuntToggle.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
    scriptAutoSkill.cycleON = False;
    scriptAutoSkill.SkillStop();
}   

function ToggleExpand()
{
    if ( IsShowWindow(m_WindowName$".DrawerButtons") )
    {
        ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntDrawer")).SetTexture("L2UI_CH3.AutoHuntingWnd.WinExpandButton", "L2UI_CH3.AutoHuntingWnd.WinExpandButton_down", "L2UI_CH3.AutoHuntingWnd.WinExpandButton_over");
        btnAutoHuntDrawer.SetTooltipCustomType(MakeTooltipSimpleText(GetSystemString(1474)));
        HideWindow(m_WindowName$".DrawerButtons");
        HideWindow("AutoSkillWnd"); 
    }
    else
    {
        ButtonHandle(GetHandle(m_WindowName$".btnAutoHuntDrawer")).SetTexture("L2UI_CH3.AutoHuntingWnd.WinMinButton", "L2UI_CH3.AutoHuntingWnd.WinMinButton_down", "L2UI_CH3.AutoHuntingWnd.WinMinButton_over");
        btnAutoHuntDrawer.SetTooltipCustomType(MakeTooltipSimpleText(GetSystemString(1475)));
        ShowWindow(m_WindowName$".DrawerButtons");
    }
}

function CustomTooltip SetTooltip( string Text )
{
    local CustomTooltip TooltipInfo;
    TooltipInfo.MinimumWidth = 145;
    TooltipInfo.DrawList.Length = 1;
    TooltipInfo.DrawList[0].eType = DIT_TEXT;
    TooltipInfo.DrawList[0].nOffSetX = 1;
    TooltipInfo.DrawList[0].t_bDrawOneLine = True;
    TooltipInfo.DrawList[0].t_color.R = 255;
    TooltipInfo.DrawList[0].t_color.G = 255;
    TooltipInfo.DrawList[0].t_color.B = 255;
    TooltipInfo.DrawList[0].t_color.A = 255;
    TooltipInfo.DrawList[0].t_strText = Text;
    return TooltipInfo;
}

defaultproperties
{
    m_WindowName="AutoHuntingWnd"
}
Да да. Всё в принципе работает. Просто HTML сам не обновляется если окно открыто. Там как бы или кнопку надо какую-то нажать чтоб обновить ну или открыть окно заного которое также обновятся и покажет правильный статус авто фарма.

Из коробки у гирана этого нет.
Я просто пока не могу найти как HTML окно автофарма себя обзывает чтоб добавить проверку на его открытие и последующие переоткрытие.
 
Petr, а подскажи, я свой L2.exe смогу безболезненно заменить в этом патче? Если нет, то ещё вопрос: реализована ли передача hwid в каких-то пакетах авторизации?
 
Petr, а подскажи, я свой L2.exe смогу безболезненно заменить в этом патче? Если нет, то ещё вопрос: реализована ли передача hwid в каких-то пакетах авторизации?
Ну да только удали autologin.uc и AutoLoginWnd из xdat, ничего я не трогал кроме интерфейса и текстур а в engine.dll и nwindow.dll я заменял только циферные значения и редко где имена текстуры,

P.S Исходники есть и делать с ними можно что угодно я далеко не супер-пупер гений и многие из вас смогут сделать его даже лучше чем я
 

n1smos

Баллов: 1
Спс.
Да да. Всё в принципе работает. Просто HTML сам не обновляется если окно открыто. Там как бы или кнопку надо какую-то нажать чтоб обновить ну или открыть окно заного которое также обновятся и покажет правильный статус авто фарма.

Из коробки у гирана этого нет.
Я просто пока не могу найти как HTML окно автофарма себя обзывает чтоб добавить проверку на его открытие и последующие переоткрытие.
When I stopped working on the Interdelu project, I didn't implement the HTML reload, so if you enable or disable it and reopen the HTML, it will be updated. With it open, it doesn't update; this part needs to be implemented in Java.
 
Would you have this Engine.dll Interlude Next Target Extended, for the interface, enabled?
 
Есть ли у тебя список возможных проблем, багов или того, что требует доработки? Было бы полезно, если бы ты добавил это в обновление.
 
Есть ли у тебя список возможных проблем, багов или того, что требует доработки? Было бы полезно, если бы ты добавил это в обновление.
Единственное что там сейчас не работает это перетаскивание расходников из вкладки Расходники на панель шорткатов. Я уже исправил выкину в след. маленьком обновлении. Больше пока жалоб небыло
 
KEHC
Чё поделать старый анриал нулевых.


Нужна помощь!

Прикрутил кнопку автофарма но в люси она не хочит работать на две стороны .

Когда включаю автофарм через HTML в клиенте кнопка загарается работает итд.
А когда включаю автофарм через клиент автофарм работает всё ок но в HTML не меняется ON/OFF

как их подружить мож кто подскажит ?

C++:
//================================================================================
// AutoHunting.
//================================================================================
class AutoHunting extends UICommonAPI;
var WindowHandle zzMe;
var ButtonHandle zzBtnattack,zzbtninfo, zzBtnattackoffexpand, zzbotonexpandminimized, zzBtnLongRange, zzBtnShortRange, zzBtnRespectHunt, zzBtnSummon, zzBtnBuff, zzBtnPageDec, zzBtnPageInc;
var AnimTextureHandle zzm_TexAnim1Expand, zzm_TexAnim2Expand;
var bool zzBtnRespectHuntIcon,activateautofarm, zzBtnSummontIcon,m_IsAnimationPlayingExpand;

var WindowHandle zzm_ResultAnimation1Expand, zzm_ResultAnimation2Expand;

var AutoSkillWnd scriptsauto;
var AutoPotionsWnd scriptsautos;

function OnLoad()
{
    RegisterEvent( EV_Die );
    scriptsauto = AutoSkillWnd(GetScript("AutoSkillWnd"));
    scriptsautos = AutoPotionsWnd(GetScript("AutoPotionsWnd"));
    zzm_TexAnim1Expand = AnimTextureHandle( GetHandle( "AutoHunting.Anim1CircleExpand.Anim1Expand" ));
    zzm_TexAnim2Expand = AnimTextureHandle( GetHandle( "AutoHunting.Anim2CoreExpand.Anim2Expand" ));
    zzBtnRespectHuntIcon = False;
    zzBtnSummontIcon = False;
    activateautofarm = false;
    RegisterEvent( EV_SystemMessage );
    RegisterEvent( EV_Restart );
    zzm_ResultAnimation1Expand = GetHandle( "AutoHunting.Anim1CircleExpand");
    zzm_ResultAnimation2Expand = GetHandle( "AutoHunting.Anim2CoreExpand");
    zzbotonexpandminimized = ButtonHandle ( GetHandle ("AutoHunting.btnDrawer") );
    zzbotonexpandminimized.SetTooltipCustomType(MakeTooltipSimpleText("Minimized"));
    zzbotonexpandminimized.SetTexture("L2UI_CH3.AutoHunting.WinMinButton", "L2UI_CH3.AutoHunting.WinMinButton_down", "L2UI_CH3.AutoHunting.WinMinButton_over");
    zzbtninfo = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.btnInfoHunting") );
    zzbtninfo.SetTooltipCustomType(MakeTooltipSimpleText("AutoFarm Information"));
    zzBtnattack = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.Btnattack") );
    zzBtnattack.SetTooltipCustomType(MakeTooltipSimpleText("Automatic Skills"));
    zzBtnattackoffexpand = ButtonHandle ( GetHandle ("AutoHunting.BtnattackoffExpand") );
    zzBtnattackoffexpand.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
    zzBtnRespectHunt = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnRespectHunt") );
    zzBtnRespectHunt.SetTooltipCustomType(MakeTooltipSimpleText("Respect Hunt Off"));
    zzBtnSummon = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnSummon") );
    zzBtnSummon.SetTooltipCustomType(MakeTooltipSimpleText("Summon Attack Off"));
    zzBtnLongRange = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnLongRange") );
    zzBtnShortRange = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnShortRange") );
    zzBtnLongRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Inc Range Max"));
    zzBtnShortRange.SetTooltipCustomType(MakeTooltipSimpleText("Click: To Dec Range Max"));
    zzBtnBuff = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnBuff") );
    zzBtnBuff.SetTooltipCustomType(MakeTooltipSimpleText("Buff Protection On/Off"));
    zzBtnPageDec = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnDecPage") );
    zzBtnPageDec.SetTooltipCustomType(MakeTooltipSimpleText("Dec Bar Skill"));
    zzBtnPageInc = ButtonHandle ( GetHandle ("AutoHunting.DrawerButtons.BtnIncPage") );
    zzBtnPageInc.SetTooltipCustomType(MakeTooltipSimpleText("Inc Bar Skill"));
    m_IsAnimationPlayingExpand = false;
// Hide animation at start
    scriptsauto.cycleON = False;
    xxBtnOnExpand();
    xxBtnOffExpand();
    xxBtnRespectHuntOn();
    xxBtnRespectHuntOff();
    xxBtnSummonOn();
    xxBtnSummonOff();
}

function OnEvent(int Event_ID, string param)
{

    if ( Event_ID == EV_Restart )
    {
        xxStopAll();
        activateautofarm = False;

    }

    else if (Event_ID == EV_SystemMessage)
    {     
        xxHandleSystemMessage(param);
    }
    if (Event_ID == EV_Die){
        xxStopAll();
        activateautofarm = False;
    }
}
  
function xxHandleSystemMessage(string zza_Param)
{
    local int zzIndex;
    local string zzMsg;

    ParseInt(zza_Param,"Index",zzIndex);
    ParseString(zza_Param,"Param1",zzMsg);
    /*   if (zzIndex != 1987)
    {
        return;
    }*/

    if ( -1 != InStr(zzMsg,"Auto Farm Blocked in the Olympics.") || -1 != InStr(zzMsg,"Auto Farm Blocked in the Instance Zone!") )
    {
        xxStopAll();
        activateautofarm = False;

    }
    if ( -1 != InStr(zzMsg,"Auto Farm Blocked in Peace Zone!") )

    {
        xxStopAll();
        activateautofarm = False;
    }
      
      
    if ( -1 != InStr(zzMsg,"Auto Farm Disabled on Teleport!") )

    {
        xxStopAll();
        activateautofarm = False;
    }
      

    if ( -1 != InStr(zzMsg,"Respect Hunt On.") )

    {
        xxBtnRespectHuntOn();
        zzBtnRespectHuntIcon = True;
    }
    if ( -1 != InStr(zzMsg,"Respect Hunt Of.") )

    {
        xxBtnRespectHuntOff();
        zzBtnRespectHuntIcon = False;
    }
      
    if( -1 != InStr(zzMsg,"Dead, Auto Farm Disabled.") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"AutoFarm Disabled.") )
    {
        xxStopAll();
        activateautofarm = False;
    }

    if( -1 != InStr(zzMsg,"Auto-farming deactivated")
        || -1 != InStr(zzMsg,"Autofarming deactivated")
        || -1 != InStr(zzMsg,"Auto Farming Off") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"AutoFarm Disabled.") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"Automatic hunting is prohibited in this zone!") )
    {
        xxStopAll();
        activateautofarm = False;
    }
    if( -1 != InStr(zzMsg,"Active AutoFarm.") )
    {
        xxStartAll();
        activateautofarm = True;
    }
    if( -1 != InStr(zzMsg,"Active AutoFarm.") )
    {
        xxStartAll();
        activateautofarm = True;
    }

    if( -1 != InStr(zzMsg,"Auto-farming activated")
        || -1 != InStr(zzMsg,"Autofarming activated")
        || -1 != InStr(zzMsg,"Auto Farming On") )
    {
        xxStartAll();
        activateautofarm = True;
    }     
    return;
} 
  
function xxStartAll()
{
    zzm_TexAnim1Expand.SetLoopCount(-1);
    zzm_TexAnim1Expand.Play();
    zzm_TexAnim2Expand.SetLoopCount(-1);
    zzm_TexAnim2Expand.Play();
    xxBtnOnExpand();
    zzm_ResultAnimation1Expand.ShowWindow();
    zzm_ResultAnimation2Expand.ShowWindow();
      
    scriptsauto.cycleON = True;
    scriptsauto.SkillStart();
  
}
  
function xxStopAll()
{
    zzm_TexAnim1Expand.Stop();
    zzm_TexAnim2Expand.Stop();

    xxBtnOffExpand();
    zzm_ResultAnimation1Expand.HideWindow();
    zzm_ResultAnimation2Expand.HideWindow();
    scriptsauto.cycleON = False;
    scriptsauto.SkillStop();
  
} 

function OnShow ()
{
      
    if ( activateautofarm )
    {
        xxStartAll();
    //    OMG("ACTIVE");
        activateautofarm = True;
    }
    else
    {
        xxResetReady();
    //OMG("OFF");
        activateautofarm = False;
    }

}

function xxResetReady()
{
    zzm_ResultAnimation1Expand.HideWindow();
    zzm_ResultAnimation2Expand.HideWindow();
    xxBtnSummonOff();
    xxBtnOffExpand();
    xxBtnRespectHuntOff();

    if( zzBtnSummontIcon )
    {
        xxBtnSummonOn();
    }
    else
    {
        xxBtnSummonOff();
    }

    if( zzBtnRespectHuntIcon )
    {
        xxBtnRespectHuntOn();
    }
  
  
    else
    {
        xxBtnRespectHuntOff();
    }
}

function xxOnTeleport()
{

    zzm_TexAnim1Expand.Stop();
    zzm_TexAnim2Expand.Stop();
    xxBtnOffExpand();
    zzm_ResultAnimation1Expand.HideWindow();
    zzm_ResultAnimation2Expand.HideWindow();

}

function xxBtnOnExpand()
{
    zzBtnattackoffExpand.SetTexture( "L2UI_CH3.AutoHuntingWnd.FightON_Auto", "L2UI_CH3.AutoHuntingWnd.FightON_Auto", "L2UI_CH3.AutoHuntingWnd.FightON_Auto" );
        zzBtnattackoffexpand.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm On"));
}

function xxBtnOffExpand()
{
    zzBtnattackoffExpand.SetTexture( "L2UI_CH3.AutoHuntingWnd.fightoff", "L2UI_CH3.AutoHuntingWnd.fightoff", "L2UI_CH3.AutoHuntingWnd.fightoff_auto" );
        zzBtnattackoffexpand.SetTooltipCustomType(MakeTooltipSimpleText("Auto Farm Off"));
}

function xxBtnSummonOn()
{
    zzBtnSummon.SetTexture( "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normalon", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normalon", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-overon" );
        zzBtnSummon.SetTooltipCustomType(MakeTooltipSimpleText("Summon Attack On"));
}

function xxBtnSummonOff()
{
    zzBtnSummon.SetTexture( "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normaloff", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-normaloff", "L2UI_CH3.autohuntingwnd.raidsbtn-shotd-overoff" );
        zzBtnSummon.SetTooltipCustomType(MakeTooltipSimpleText("Summon Attack Off"));
}

function xxBtnRespectHuntOn()
{
    zzBtnRespectHunt.SetTexture( "L2UI_CH3.AutoHuntingWnd.MannerBTNON_NORMAL", "L2UI_CH3.AutoHuntingWnd.MannerBTNON_OVER", "L2UI_CH3.AutoHuntingWnd.MannerBTNON_NORMAL" );
        zzBtnRespectHunt.SetTooltipCustomType(MakeTooltipSimpleText("Respect Hunt On"));
}

function xxBtnRespectHuntOff()
{
    zzBtnRespectHunt.SetTexture( "L2UI_CH3.AutoHuntingWnd.mannerbtnoff_normal", "L2UI_CH3.AutoHuntingWnd.mannerbtnoff_over", "L2UI_CH3.AutoHuntingWnd.mannerbtnoff_normal" );
        zzBtnRespectHunt.SetTooltipCustomType(MakeTooltipSimpleText("Respect Hunt Off"));
}

function xxBypass( string strBypass)
{
    RequestBypassToServer(strBypass);
}


function openautoskill()
{
    // End:0x2E
    if( IsShowWindow("AutoSkillWnd") )
    {
        HideWindow("AutoSkillWnd");
    }
    else
    {
        ShowWindowWithFocus("AutoSkillWnd");
    }
    return;
}

    function getsuprainfoaauto()
{
    local UserInfo UserInfo;

    GetPlayerInfo(UserInfo);
    // End:0x162
  
    if( UserInfo.nCurHP <= 0 )    {
    xxStopAll();
}
  
}

function OnClickButton (string strID)
{

    switch (strID)
    {
        case "Btnattack":
    //ExecuteCommand(".autofarm");
        xxBypass("scripts_services.Interface:autoFarmInfo");
            openautoskill();
            break;
        case "btnInfoHunting":
            ExecuteCommand(".autofarm");
        //    xxBypass("_infosettings");
        //    xxBypass("_bpUI autofarm info");
        //    xxBypass("_LotusUI FarmInfo");
            break;


    case "Btnattackoffexpand":
        xxBypass("scripts_services.Interface:autoFarm");
        break;
        case "BtnLongRange":
            //xxBypass("_radiusAutoFarm inc_radius");
            //xxBypass("_bpUI autofarm increaseMaxRange");
            //xxBypass("_radiusAutoFarm inc_radius");
            break;
        case "BtnShortRange":
            //xxBypass("scripts_services.Interface:radiusAutoFarm dec_radius");
            //xxBypass("_bpUI autofarm decreaseMaxRange");
            //xxBypass("scripts_services.Interface:radiusAutoFarm dec_radius");
            break;
        case "BtnRespectHunt":
        //    xxBypass("_enableRespectHunt");
        //    xxBypass("_bpUI autofarm respectHuntToogle");
        // xxBypass("_LotusUI AutoRespect");
            break;
        case "BtnIncPage":
            xxBypass("_pageAutoFarm inc_page");
            break;
        case "BtnDecPage":
            xxBypass("_pageAutoFarm dec_page");
            break;
        case "btnDrawer":
            xxminiexpand();
            break;
        case "BtnSummon":
            xxBypass("_enableSummonAttack");
            break;
        case "BtnBuff":
            xxBypass("_enableBuffProtect");
            break;
        default:
    }
}

function xxminiexpand()
{
    // End:0xFF
    if( IsShowWindow("AutoHunting.DrawerButtons") )
    {
        zzbotonexpandminimized.SetTexture("L2UI_CH3.AutoHunting.WinExpandButton", "L2UI_CH3.AutoHunting.WinExpandButton_down", "L2UI_CH3.AutoHunting.WinExpandButton_over");
        zzbotonexpandminimized.SetTooltipCustomType(MakeTooltipSimpleText("Expand"));
        HideWindow("AutoHunting.DrawerButtons");
        HideWindow("AutoSkillWnd");

    }
    else
    {
        zzbotonexpandminimized.SetTexture("L2UI_CH3.AutoHunting.WinMinButton", "L2UI_CH3.AutoHunting.WinMinButton_down", "L2UI_CH3.AutoHunting.WinMinButton_over");
        zzbotonexpandminimized.SetTooltipCustomType(MakeTooltipSimpleText("Minimized"));
        ShowWindow("AutoHunting.DrawerButtons");
    }
    return;
}




function CustomTooltip xxSetTooltip(string Text)
{
    local CustomTooltip TooltipInfo;
    TooltipInfo.MinimumWidth = 145;
    TooltipInfo.DrawList.Length = 1;
    TooltipInfo.DrawList[0].eType = DIT_TEXT;
    TooltipInfo.DrawList[0].nOffSetX = 1;
    TooltipInfo.DrawList[0].t_bDrawOneLine = True;
    TooltipInfo.DrawList[0].t_color.R = 255;
    TooltipInfo.DrawList[0].t_color.G = 255;
    TooltipInfo.DrawList[0].t_color.B = 255;
    TooltipInfo.DrawList[0].t_color.A = 255;
    TooltipInfo.DrawList[0].t_strText = Text;
    return TooltipInfo;
}

А хотя мне надо их не дружить они и так дружат. Просто надо чтоб клиент при открытом окне обновлял или переоткрывал окно авто фарма. Если оно открыто.
KEHC It's there in forum code for this autofarm system from photo ?
 
Все изображения и файлы загружайте только на наш сервер!
Petr, ранее спрашивал про безболезненную замену l2.exe... по этой же теме... могу так же заменить dsetup.dll??

И Eсть баг с панелями скиллов. Если допустим выставить на 1 панель в 1 слот Scroll Of Escape, а на 4 панель в 1 слот поставить любой скилл, а после этого заменить первую панель на 4 (т.е. получится порядок следования панелей 4-2-3...), то при нажатии на F1 будет использован скилл с 1 панели (soe), а не с 4, хотя 4 у нас выставлена, как активная.
Есть конечно вероятность, что проблема в том, что я заменил dsetup.dll из своего патча.
 
Автору респект, помог еще с некоторыми наработками, что просил сделать отдельно =) Спасибо!
 
Petr, ранее спрашивал про безболезненную замену l2.exe... по этой же теме... могу так же заменить dsetup.dll??

И Eсть баг с панелями скиллов. Если допустим выставить на 1 панель в 1 слот Scroll Of Escape, а на 4 панель в 1 слот поставить любой скилл, а после этого заменить первую панель на 4 (т.е. получится порядок следования панелей 4-2-3...), то при нажатии на F1 будет использован скилл с 1 панели (soe), а не с 4, хотя 4 у нас выставлена, как активная.
Есть конечно вероятность, что проблема в том, что я заменил dsetup.dll из своего патча.
никакого бага нету. Панель шорткатов изменена и добавлены ещё бинды для двоих панелей и возможность их переставлять.
Если хотите сильно то замените функцию HandleShortcutBind() в файле Shortcut.uc на вот такую
и тогда каждое нажатие на f1-f10 будет проверять какой номер сейчас у панели если f1-f10 установлен для 1 панели и юзать его
C-подобный:
function HandleShortcutBind( string Name )
{
	local Array<string> splitName;
	local int num;
	local ShortcutWnd scriptShortcut;

	scriptShortcut = ShortcutWnd(GetScript("ShortcutWnd"));
	Split(Name, "=", splitName);
	num = int(splitName[1]);

	if ( num >= 0 && num <= 11 && useFPad )
	{
		if ( !IsKeyDown(IK_Alt) )
		{
			if ( ComboNum1 == 1)
				ComboNum1 = scriptShortCut.CurrentShortcutPage + 1;
			ExecuteCommand("/useshortcut "$ComboNum1$" "$(num + 1));
		}
	}
	else if ( num >= 12 && num <= 23 )
	{
		if ( (GetOptionBool("Game", "EnterChatting") && useNumpad && !IsKeyDown(IK_Alt)) || (!GetOptionBool("Game", "EnterChatting") && useAltPad && IsKeyDown(IK_Alt)) )
			ExecuteCommand("/useshortcut "$ComboNum2$" "$(num - 11));
	}
	else if ( num >= 24 && num <= 35 )
	{
		if ( (GetOptionBool("Game", "EnterChatting") && useQwerty && !IsKeyDown(IK_Alt)) || (!GetOptionBool("Game", "EnterChatting") && useAltSPad && IsKeyDown(IK_Alt)) )
			ExecuteCommand("/useshortcut "$ComboNum3$" "$(num - 23));
		else
		{
			if ( num == 28 )
				menuScript.ToggleCharacterWnd();
			else if ( num == 31 )
				HandleOptionWnd();
		}
	}
}

Я думал что легче нажать например Alt+1 что бы использовать что то на второй панели чем Alt+f2 и потом f1..
 
Последнее редактирование:
никакого бага нету. Панель шорткатов изменена и добавлены ещё бинды для двоих панелей и возможность их переставлять.
Если хотите сильно то замените функцию HandleShortcutBind() в файле Shortcut.uc на вот такую
и тогда каждое нажатие на f1-f10 будет проверять какой номер сейчас у панели если f1-f10 установлен для 1 панели и юзать его
C-подобный:
function HandleShortcutBind( string Name )
{
    local Array<string> splitName;
    local int num;
    local ShortcutWnd scriptShortcut;

    scriptShortcut = ShortcutWnd(GetScript("ShortcutWnd"));
    Split(Name, "=", splitName);
    num = int(splitName[1]);

    if ( num >= 0 && num <= 11 && useFPad )
    {
        if ( !IsKeyDown(IK_Alt) )
        {
            if ( ComboNum1 == 1)
                ComboNum1 = scriptShortCut.CurrentShortcutPage + 1;
            ExecuteCommand("/useshortcut "$ComboNum1$" "$(num + 1));
        }
    }
    else if ( num >= 12 && num <= 23 )
    {
        if ( (GetOptionBool("Game", "EnterChatting") && useNumpad && !IsKeyDown(IK_Alt)) || (!GetOptionBool("Game", "EnterChatting") && useAltPad && IsKeyDown(IK_Alt)) )
            ExecuteCommand("/useshortcut "$ComboNum2$" "$(num - 11));
    }
    else if ( num >= 24 && num <= 35 )
    {
        if ( (GetOptionBool("Game", "EnterChatting") && useQwerty && !IsKeyDown(IK_Alt)) || (!GetOptionBool("Game", "EnterChatting") && useAltSPad && IsKeyDown(IK_Alt)) )
            ExecuteCommand("/useshortcut "$ComboNum3$" "$(num - 23));
        else
        {
            if ( num == 28 )
                menuScript.ToggleCharacterWnd();
            else if ( num == 31 )
                HandleOptionWnd();
        }
    }
}

Я думал что легче нажать например Alt+1 что бы использовать что то на второй панели чем Alt+f2 и потом f1..
Погоди, вот смотри: шорткаты имеют только 3 ряда панелей. 4-10 ряд получается можно нажимать только мышкой, т.к. шорткаты жестко привязаны к номеру ряда.
Играя например на маге, у меня на 1 ряду обычно стоит пвп билд скиллов, на 2 что-то универсальное для всех билдов и на 3 ряду расходка. Но помимо пвп билда у меня есть два пве: для париков и соло таргета, это 4 и 5 ряд. И получается, эти ряды мне нужно кликать мышкой, что делает их бесполезными... как и все остальные до 10 ряда.
1772464403294.webp

Тут F1 уже не работает, только клик мышкой:
1772464437992.webp
 
Погоди, вот смотри: шорткаты имеют только 3 ряда панелей. 4-10 ряд получается можно нажимать только мышкой, т.к. шорткаты жестко привязаны к номеру ряда.
Играя например на маге, у меня на 1 ряду обычно стоит пвп билд скиллов, на 2 что-то универсальное для всех билдов и на 3 ряду расходка. Но помимо пвп билда у меня есть два пве: для париков и соло таргета, это 4 и 5 ряд. И получается, эти ряды мне нужно кликать мышкой, что делает их бесполезными... как и все остальные до 10 ряда.
Посмотреть вложение 93964

Тут F1 уже не работает, только клик мышкой:
Посмотреть вложение 93965
Нажми на верхний квадратик с плюсиком справа этой панели
(Заменишь функцию которую я написал выше будут работать)

И да, наверно нужно сделать такое для все трёх панелей
 
The effects accumulate and don't fade away.
 

Вложения

Назад
Сверху Снизу