Krambot v2

Denthan

Active Member
!!! Krambot v2 !!!
Final -- Pluss Beta 2.1


I have been home a lot on FMLA trying to help my wife who has been put on bedrest. She is 8 months with child and it has been rough on her and now with both of us not bring in any income it is getting tight on the family. The good news is I was able to get a lot of testing and bug fixes done and I should have a solid release today.

/* Shameless Request */
If anyone would like to make a donation you can send it to my pay-pal by using Send Money and use the email smurphys88@yahoo.com, any donations are welcome even if its just enough to buy diapers :)

Starting with Krambot 2.1, I will be passing the torch to Madhatter. He has a lot of great idea and the skill to make them happen. I will continue to be a part of the testing and idea process of Krambot. My wife will be having our baby on the 7th or the 9th depending on what the doc says and I will have my hands full.


Code:
/* KramBot
 * Version v2 -- 05/03/07
 *
 * Credits:
 * Created by Kram (Melee Mods by Denthan)
 * Harvesting code by Abbadon
 *
 * With MUCH help from: Amadeus, dontdoit, Thanatos, Abbadon, Zeek, Xeon, Tsumari, 
 *			Hendirx, Xxyn, Neriod, and every helpful person in IRC
 *			Thanks to those who helped beta test.
 *
 *
 * Requirements:
 * 	Required include files: moveto.iss, antiadd.iss & bnavobjects.iss
 *	Use the ones included in the Zip file as I KNOW that they work
 *	You must put all files in the proper places.
 *	Krambot.iss needs to be in Scripts
 *	Any XML file(s) need to be in Scripts\XML
 *	Antiadd, Moveto & bnavobjects need to be in Scripts\Common
 *	
 * Discription:
 *	This is intended to be used by Melee Classes
 *	
 * Usage:
 * 	1. Go to the bottom of this script, Change all the variables to match your abilities
 *	2. Review ALL of the variables you see in the SetAbilities function
 *	3. Save the file after your edits.
 *	4. In-game, find a fairly open location with mobs you can solo
 *	5. Type Runscript Krambot into the console window
 *	6. The KramBotUI should pop up, you can choose unlimited patrol points. 
 *		A. a XML file of the zone will be created in Scripts\VGPaths
 *		B. kb-config.xml will be created in Scripts\XML
 *	7. Now that the patrol points are set, click START and it wil begin.
 *	8. If you want to quit, click QUIT on the uI. 
 *	
 *	!! NOTE !!
 *	If you should need to redo your path in a zone you must delete the files
 *	created in step 6 above.
 *	
 * Features:
 *	Buffs, Selects Form, Pulls, Melee's, Dots, Snares, Nukes, Heals, Feigns Death (when needed), Loots, Eats and/or Meditates up & starts again.
 *	Counts total mobs killed and xp gains per kill.
 *	Avoids pulling mobs that have adds.
 *	Avoids adds while killing current mob.
 *	Travels between  patrol points to check for mobs to kill
 *	Pauses botting if another player is nearby (optional)
 *	Meditation, use of Forms, Feign Death, DOT conning(on top of the level conning), use of Foods(both for Health or Energy)
 *	Jin check before pulling, Sprint Button, Port UI, Logs where you died so you can Port back to your TS
 *
 * Future Plans:
 *	Option for not pulling named mobs
 *
 * Known Issue:
 *	
 *
 */
Adjustable Sections (All of them have been move to the bottom of the script)

Code:
	;Dots
;List how many DoTs you will use and the names. DoTs are some type of ability that leaves an icon on the target and dose damage or debuff over time
	HowManyDoTs:Set[2]
	DoT1:Set[Feet of the Fire Dragon IV]
	DoT2:Set[Ashen Hand VI]
	DoT3:Set[null]
	DoT4:Set[null]
	DoT5:Set[null]
	DoT6:Set[null]
	DoT7:Set[null]

	;Nukes
;List how many Nukes you will use and the names. Nukes can be any direct damage ability, they usually are used from a distance but not always
	HowManyNukes:Set[0]
	Nuke1:Set[Six Dragons Strike V]
	Nuke2:Set[Dragon's Rage II]
	Nuke3:Set[Cloud Dragon Ruse II]
	Nuke4:Set[null]
	Nuke5:Set[null]
	Nuke6:Set[null]
	Nuke7:Set[null]
	
	;Melee Attacks
;List how many Melee Attacks you will use and the names. Melee Attacks are typically direct damage with a weapon or hands within 5m of the target.
	HowManyMelee:Set[4]
	Melee1:Set[Six Dragons Strike V]
	Melee2:Set[Dragon's Rage II]
	Melee3:Set[Cloud Dragon Ruse II]
	Melee4:Set[Crescent Kick VI]
	Melee5:Set[Boundless Fist V]
	Melee6:Set[null]
	Melee7:Set[null]
	
	;In-combat buffs
;List how many Combat Buffs you will use and the names. Combat Buffs are cast on yourself while in combat.
	HowManyInCombatBuffs:Set[7]
	;If CombatBuff1 is active, the other buffs will not fire so use CombatBuff1 for quick buff that would get over written or make it null.
	CombatBuff1:Set[Iron Hand V]
	;If CombatBuff2 is active, CombatBuff3 will not fire and visversa, so use CombatBuff3 and CombatBuff4 for alternating buffs.
	CombatBuff2:Set[Secret of Transcendence I]
	CombatBuff3:Set[Secret of Celerity]
	CombatBuff4:Set[Secret of Flames V]
	CombatBuff5:Set[Secret of Ice IV]
	CombatBuff6:Set[Sun Dragon's Corona]
	CombatBuff7:Set[Jin Surge V]
	CombatBuff8:Set[Swaying Step IV]
	
	;Chains
;List how many Chains you will use and the names. Chains are abilities that are activated by a critical hit and can be activated in sequence for a increased affect
	HowManyChains:Set[6]
	Chain1:Set[Gouging Dragon Claw I]
	Chain2:Set[Thousand Fists III]
	Chain3:Set[Flying Kick V]
	Chain4:Set[Sundering Dragon Claw I]
	Chain5:Set[Thundering Fists III]
	Chain6:Set[Kick of the Heavens III]
	Chain7:Set[null]
	Chain8:Set[null]
	Chain9:Set[null]
	
	;Finishers
;List how many Finishers you will use and the names. Finishers do not have to be a finishing move, it is just an ability that will be spammed when the target is close to death in order to hasten its death
	HowManyFinishers:Set[6]
	Finisher1:Set[Thundering Fists III]
	Finisher2:Set[Kick of the Heavens III]
	Finisher3:Set[Quivering Palm IV]
	Finisher4:Set[Stinging Backfist VI]
	Finisher5:Set[Crescent Kick VI]
	Finisher6:Set[Ranged Attack]
	Finisher7:Set[null]
	Finisher8:Set[null]
	Finisher9:Set[null]

	;Forms
;Set if you use Forms, there names and at what point you will change from AttackForm to DefForm
	;If you use Forms Set to TRUE else set to FALSE
	DoWeHaveForms:Set[TRUE]
	;AttackForm should be a Combat or Defensive Form (Even if only one Form is used, it will go back if you are knocked out of your Form)
	AttackForm:Set[Magnificent Storm Dragon]
	;NeutralForm should be a resting and/or healing Form (Used with Meditation and/or Eating)
	NeutralForm:Set[Dragon Stance]
	DefForm:Set[Eternal Stone Dragon]
	;Change to DefForm at what % of Health
	ChangeFormAt:Set[0]

	;Buffs (buffs with timers, no toggles here)
;List how many Buffs you will use and the names. Buffs are cast on yourself after healing and/or during meditation
	HowManyBuffs:Set[2]
	Buff1:Set[Sun Dragon's Corona]
	Buff2:Set[Aum Ti]
	Buff3:Set[Aum Liat]
	Buff4:Set[null]
	Buff5:Set[null]
	Buff6:Set[null]
	Buff7:Set[null]
	Buff8:Set[null]
	Buff9:Set[null]
	Buff10:Set[null]
	
	;Toggle Buffs (ones that dont have a time limit)
;List how many Buffs you will use and the names.
	HowManyToggleBuffs:Set[0]
	ToggleBuff1:Set[null]
	ToggleBuff2:Set[null]
	ToggleBuff3:Set[null]
	ToggleBuff4:Set[null]
	ToggleBuff5:Set[null]

;This is typically a heal that is used as a last ditch effort to save yourself
	;Do we have an emergency heal? whats the name? what % do I cast it at?
	DoWeHaveEmergHeal:Set[TRUE]
	EmergHeal:Set[Racial Ability: Spirit of Jin]
	EmergHealAt:Set[40]

;This is typically a heal that is used when your health is very low
	;Do we have a big heal? Whats it's name? What % do I cast it at?
	DoWeHaveBigHeal:Set[FALSE]
	BigHeal:Set[null]
	BigHealAt:Set[20]
	
;This is typically a heal that is used for moderate healing
	;Do we have a medium heal? Whats it's name? What % do I cast it at?
	DoWeHaveMediumHeal:Set[TRUE]
	MediumHeal:Set[Ignore Pain IV]
	MediumHealAt:Set[50]

;This is typically a heal that is used when you have very light damage to your health
	;Do we have a small heal? Whats it's name? What % do I cast it at?
	DoWeHaveSmallHeal:Set[TRUE]
	SmallHeal:Set[Iron Skin]
	SmallHealAt:Set[40]

	;Do we have a medding heal? (This heal will be cast between pulls if you're less than required hp)
	DoWeHaveMeddingHeal:Set[FALSE]
	MeddingHeal:Set[null]

	;Do we use medition? (Meditation will occure between pulls if you're less than required hp)
;Meditation is used by Monks and Disciples
	DoWeHaveMeditation:Set[TRUE]
;Use Meditation if I am not afk or not worried about agro allowing high Jin and faster kills
	WeMeditate:Set[Meditation]
;Use ${FeignDeath} if I am worried about agro but at the cost of low Jin
;	WeMeditate:Set[Feign Death III]

	;Feign Death
;Feign Death is an attempt to fool an agressor into thinking you are dead so they will stop attacking you.
	DoWeHaveFD:Set[TRUE]
	FeignDeath:Set[Feign Death III]
	FeignDeathAt:Set[30]
;Added code && (${Me.TargetHealth}>${FightOnAt}) so that if the fight is close I will not FD. Lower to Feign even if close 
	FightOnAt:Set[30]
;Pet
DoWeHavePet:Set[FALSE]
PetSpellName:Set[null]
PetHeal:Set[null]
PetHealAt:Set[40]

;Pet buffs
DoWeHavePetBuffs:Set[FALSE]
PetBuff1:Set[null]
PetBuff2:Set[null]
PetBuff3:Set[null]
PetBuff4:Set[null]
PetBuff5:Set[null]

	;Pull spell/ability (can be any spell or ranged attack, uses this to pull, duh)
	PullAbility:Set[Ranged Attack]
	
	;Pull Followup, this ability will be performed after the initial pull. Rangers should set this to your ranged chain
	PullFollowup:Set[Ashen Hand VI]
	
	;Pull Backup, this is the last effort to pull a mob. If for some reason your first two pull abilties failed
	PullBackup:Set[Six Dragons Strike V]

;Do you use Food and if so what is the name
	EatForHealth:Set[TRUE]
;	Or
	EatForEnergy:Set[FALSE]
	;will eat if 	your Energy is less-than RequiredEnergy
;	YourFood:Set[Shiny Red Apple]
	YourFood:Set[Block of Cheese]
;	YourFood:Set[Loaf of Honey Bread]
;	YourFood:Set[Hard Boiled Egg]
	EatForHlthAt:Set[80]
	;will eat if less than this variable

	;Set the required amounts of HP, End, Energy, Jin and Max Range. You'll med/heal to these amounts between fights (must be a number, not null)
	RequiredHP:Set[99]
	RequiredEndurance:Set[75]
	RequiredEnergy:Set[0]
;Check Jin for Monks and Disciples (set to zero if you are not one of these classes
	RequiredJin:Set[0]

;Below put your Max Pull Range minus 3. Exp: my monks MaxPullRange is 20-3=17 (because you may walk backward out of pulling range)
MaxPullRange:Set[17]
MinPullRange:Set[6]

MaxMeleeRange:Set[5]
MinMeleeRange:Set[2]


;SprintSpeed is a percentage of Max VGSprint. I Set mine to 60 as that is about as fast as my class can run with his best buff. 100 is as fast as a Bard.
SprintSpeed:Set[100]

;Set of min and max level mob to pull. Current set to pull anything thats Green to Blue.
MinLevel:Set[${Me.Level}-4]
MaxLevel:Set[${Me.Level}+2]
;this setting tells the character how far he can go from a waypoint before he must Return to it. 7500 = 75m
AllowedRoaming:Set[1500]
;this setting tells the character how far he can look from where he is standing now for something to pull. 80 = 80m
PullDistance:Set[75]
;this setting tell the character how close he can be before agroing or how close two mobs can be to pull without agroing. 13 = 13m
MobAgroRange:Set[25]
;Con Check. How many DOTs on the PC are you willing to fight, else you will use Feign Death. Suggest 2 for solo
ConCheck:Set[2]

;Addchecking, setting this to FALSE will make the script skip all add checking routines.
AddChecking:Set[TRUE]

;TotallyAFK abilities, set these things if you'll be totally afk.
TotallyAFK:Set[FALSE]
AFKAbility:Set[Meditation]
AFKNote:Set[Half AFK watching Matrix.  I might miss a tell or 2]

;Harvest type, what type of item do you want to harvest if harvesting is turned on from the UI (list below not all-inclusive)
;HarvestType:Set[Dry]
HarvestType:Set[Dry]
;2nd Harvest Typein beta (not functional in this script)
;HarvestType2:Set[Slate]
Information on LavishNav

LavishNav Discussed by XeonX

LavishNav (Wiki)

Quote from Kram back in the day for Rogue Class

I've been asked a number of times now how to set this up to work for a rogue. Since a rogue doesn't want to used ranged attacks to open fights. He wants to sneak in and use backstab if possible.

The following changes will set the bot up for a rogue. I've tested it on my uber lvl 7 rogue and it was working wonderfully.

First change to make is in the variables listed at the end of the script. PullAbility, PullFollowup, and PullBackup. Set these to look something like this:

Code:

Code:
;Pull spell/ability (can be any spell or ranged attack, uses this to pull, duh)
PullAbility:Set[Stalk]
	
;Pull Followup, this ability will be performed after the initial pull. Should set this to your ranged chain
PullFollowup:Set[Backstab I]
		
;Pull Backup, this is the last effort to pull a mob. If for some reason your first two pull abilties failed
PullBackup:Set[Wicked Strike I]
Great, now we need to find some code in the Pull function, delete it and replace it with the code below.

Find the code in the Pull function that starts with the commented line "Pull using PullAbility"

Delete the code that lies between the following commented lines:
;Pull using PullAbility
and
;Use your pull follow up


Now copy and paste the following code into that area:

Code:
Code:
	;Pull using PullAbility
	if "${Me.Ability[${PullAbility}].IsReady} && ${Me.Target.ID(exists)} && !${Me.Target.Owner(exists)} && (!${Me.TargetHealth}<100) && !${Harvesting}"
		{
			face
			Me.Ability[${PullAbility}]:Use
			
			;changed for rogue	
			if "${Me.Target.Distance}>2 && ${Me.Target.Distance}<${PullDistance} && !${Me.Target.Owner(exists)} && (!${Me.TargetHealth}<100) && !${Harvesting}"
			{	
				call DebugIt "D. Moving in to pull range"
				call movetoobject ${Me.Target.ID} 3 1
				do
					{
						wait 1
					}
				while ${Me.Target.Distance}>4
			}
		} 

	;Use your pull follow up
With it all said and done, you'll find a target to pull, move up to 24m, go into stealth, then walk up and try to backstab. If you dont have the targets back or side, you'll just use wicked strike instead.

Its not going to walk you behind the mob to get a backstab everytime. Though thats possible I didn't include such specifics.
To Do:
Attack List Filter (add mobs to a list allowing you to pull them and only those that are on the list.

I hope you enjoy the latest release.

Denthan

Discussion and feedback here
 

Attachments

Last edited:
Top Bottom