Page 1 of 1

Assist_Rutine.inc

Posted: Tue Dec 13, 2005 11:39 pm
by A_Enchanter_00
Changed onlyType to targetSelf when using mode 1 and 4 when you want to make 100 % sure you have correct target

Changed changed so default unly asisting on npc / pet's

Added: /mainAssist name [name] | mode [0-4]

Code: Select all

|**************************************************************************************************
| Assist_Rutine.inc
|
| Written by A_Enchanter_00
| Last Modified 01/22/2006
|
| Features:
|	***********************************************************************************************
|   ** IMPORTANT: You Can Assign in your main macro
|   **	${isPaused} is Used For /return if macro is paused!
|   **  --		/declare isPaused bool outer TRUE / FALSE
|   ** 	${AssistMode} is to define the Mode on how to assist
|   **	AssistMode 0	OFF
|   **	AssistMode 1	Assist in order Group / Raid / Normal
|   **	AssistMode 2	Group Assist Mode
|   **	AssistMode 3	Raid Asssist Mode
|   **	AssistMode 4	Normal Assist Mode
|   **  --		/declare AssistMode int outer 0 - 3
|   **	Name of MainAssist, used ONLY when running AssistMode 0 and 3
|   **  --		/declare MainAssist string outer NameOfMainAssist
|   **	The ID off The Last / Curent MainAssist's Target ID
|	** 	--		/declare MainAssistTarget int outer 0
|	***********************************************************************************************
| Usage:
|   **  /call Assist						<- Assist whatever the is on target NOTE: AssistMode
|
| Events:
|	ADD : /doevents SetMainAssist OR /doevents
|	**	/mainAssist name [name] | mode [0-4]
***************************************************************************************************|
#Event SetMainAssist	"[MQ2] SetMainAssist #1# #2#"

Sub Assist(bool targetSelf)	
	/if ( !${Defined[AssistMode]} ) /declare AssistMode int outer 0
	/if ( !${Defined[MainAssist]} ) /declare MainAssist string outer NULL
	/if ( !${Defined[MainAssistTarget]} ) /declare MainAssistTarget int outer 0
	
	/if ( ${isPaused} || ${Me.Casting.ID} || !${AssistMode} ) /return

	/if ( ( ${AssistMode} == 1 || ${AssistMode} == 2 ) && ${Me.GroupAssistTarget.ID} && ${Me.GroupAssistTarget.Distance} < 250 ) {
		/if ( ${Me.GroupAssistTarget.Type.NotEqual[NPC]} || ${Me.GroupAssistTarget.Type.NotEqual[PET]} ) {
			/if ( ${Me.GroupAssistTarget.Master.ID} && ${Me.GroupAssistTarget.Master.Type.NotEqual[PC]} ) {
				/target id ${Me.GroupAssistTarget.ID}
				/varset MainAssistTarget ${Me.GroupAssistTarget.ID}
			} else {
				/target id ${Me.GroupAssistTarget.ID}
				/varset MainAssistTarget ${Me.GroupAssistTarget.ID}
			}
		} else {
			/varset MainAssistTarget 0		
		}
	} else /if ( ( ${AssistMode} == 1 || ${AssistMode} == 3 ) && ( ${Me.RaidAssistTarget[1].ID} || ${Me.RaidAssistTarget[2].ID} || ${Me.RaidAssistTarget[3].ID} ) ) {
		/declare i int local
		/for i 1 to 3
			/if ( ${Me.RaidAssistTarget[${i}].ID} && ( ${Me.RaidAssistTarget[${i}].Type.Equal[NPC]} || ${Me.RaidAssistTarget[${i}].Type.Equal[PET]} ) ) {			
				/if ( ${Me.RaidAssistTarget[${i}].Master.ID} && ${Me.RaidAssistTarget[${i}].Master.Type.NotEqual[PC]} ) {
					/target id ${Me.RaidAssistTarget[${i}].ID}
					/varset MainAssistTarget ${Me.RaidAssistTarget[${i}].ID}
					/return					
				} else {
					/target id ${Me.RaidAssistTarget[${i}].ID}
					/varset MainAssistTarget ${Me.RaidAssistTarget[${i}].ID}
					/return
				}
			} else /if ( !${Me.RaidAssistTarget[${i}].ID} ) {
				/varset MainAssistTarget 0
			}
		/next i
	} else /if ( ( ${AssistMode} == 1 || ${AssistMode} == 4 ) && ${Spawn[pc ${MainAssist}].ID} ) {
		/if ( ${targetSelf} ) /target myself
		/assist ${MainAssist}
		/if ( ${targetSelf} ) {
			/delay 10 ${Target.ID} != ${Me.ID}
		} else {
			/delay 10
		}
		/if ( ${Target.ID} && ${Target.ID} != ${Me.ID} ) {		
			/if ( ${Target.Type.Equal[NPC]} || ${Target.Type.Equal[PET]} ) {			
				/if ( ${Target.Master.ID} && ${Target.Master.Type.NotEqual[PC]} ) {
					/varset MainAssistTarget ${Target.ID}		
				} else {
					/varset MainAssistTarget ${Target.ID}		
				}
			} else {
				/varset MainAssistTarget 0
				/return
			}		
		} else {
			/varset MainAssistTarget 0
		}
	} else {
		/varset MainAssistTarget 0
	}
/return

|************************
	   Events
************************|
Sub Event_SetMainAssist(string Line, string Command, string Value)
	/if ( !${Defined[AssistMode]} ) /declare AssistMode int outer 0
	/if ( !${Defined[MainAssist]} ) /declare MainAssist string outer NULL
	/if ( !${Defined[MainAssistTarget]} ) /declare MainAssistTarget int outer 0
	/if ( ${Command.Find[mode]} ) {
		/if ( ${Int[${Value}]} < 5 ) {
			/varset AssistMode ${Int[${Value}]}
		} else {
			/varset AssistMode 0
		}
	} else /if ( ${Command.Find[name]} ) {
		/if ( ${Defined[Value]} ) /varset MainAssist ${Value}
	} else {
		/echo **  Usage: /mainassist name [name] | mode [0-3] **
	}
		/echo **** Status Assist **********************************************************
	/if ( ${AssistMode} == 1 ) {
		/echo Assisting: In Order Group | Raid 1-3 | Normal @ ${MainAssist}% target health!
	} else /if ( ${AssistMode} == 2 ) {
		/echo Assisting: Group
	} else /if ( ${AssistMode} == 3 ) {
		/echo Assisting: Raid 1 - 3
	} else /if ( ${AssistMode} == 4 ) {
		/echo Assisting: Normal @ ${MainAssist}% target health!
	}
		/echo ******************************************************************************
/return

Posted: Sun Jan 22, 2006 12:26 am
by A_Enchanter_00
updated