Page 1 of 1

party problem

Posted: Mon Jul 09, 2012 8:03 pm
by kuripot
i dont know how to resolve my problem
this my onload of my main char

Code: Select all

<onLoad>

	startGMDetect()
	loadProfile("Main")
	changeProfileOption("INV_AUTOSELL_FROMSLOT", 1)
	changeProfileOption("INV_AUTOSELL_TOSLOT", 30)
	settings.profile.friends = {"Incomplete Bloody Beast"}
	changeProfileOption("EGGPET_ENABLE_ASSIST", "true")
	changeProfileOption("INV_AUTOSELL_ENABLE", "true")
	dura = 0.9
	Magic_Tambourine = true
	Magic_Guitar = true
	__WPL:setWaypointIndex(__WPL:findWaypointTag("start"))
	changeProfileOption("AUTO_ELITE_FACTOR", 1000)
	changeProfileOption("HARVEST_DISTANCE", 50)

	Count = 0
	Zid = 0
	BuffCount = 0
	srun = 1

	if not eventparty then
	function eventparty()
	checkeventparty()
	end
	end

	function Boss_buff()

	if Magic_Tambourine == true then
		if inventory:itemTotalCount(204463) >= 1 then
			inventory:useItem(204463) -- 3 days
			yrest(5500)
		elseif inventory:itemTotalCount(204571) >= 1 then
			inventory:useItem(204571) -- 7 days
			yrest(5500)
		elseif inventory:itemTotalCount(206420) >= 1 then
			inventory:useItem(206420) -- 30 days
			yrest(5500)
		end
		elseif Magic_Tambourine == party_true then
			yrest(5500)
		end
	if Magic_Guitar == true then
		if inventory:itemTotalCount(204461) >= 1 then
			inventory:useItem(204461) -- 3 days
			yrest(5500)
		elseif inventory:itemTotalCount(206418) >= 1 then
			inventory:useItem(206418) -- 7 days
			yrest(5500)
		elseif inventory:itemTotalCount(204569) >= 1 then
			inventory:useItem(204569) -- 30 days
			yrest(5500)
		end
		elseif Magic_Tambourine == party_true then
			yrest(5500)
		end
		changeProfileSkill("MAGE_FLAME", "AutoUse", true);
		changeProfileSkill("MAGE_FIREBALL", "AutoUse", true);
		changeProfileSkill("MAGE_FLAME", "Priority", 90);
		changeProfileSkill("MAGE_FIREBALL", "Priority", 100);
		player:cast("MAGE_ESSENCE_OF_MAGIC");
		player:cast("PRIEST_MAGIC_BARRIER");
		player:cast("MAGE_ENERGY_INFLUX");
		player:cast("MAGE_ELECTROSTATIC_CHARGE");
		player:cast("MAGE_INTENSIFICATION");
		player:cast("MAGE_ELEMENTAL_CATALYSIS");
		player:cast("PRIEST_REGENERATE");
	end

	function trash_boss()
		local target = player:getTarget()
					   local _tb = false
					   local spawnboss = player:findNearestNameOrId("Okander \"Mad Man\" Mallen")
					   if spawnboss then
					      player:target(spawnboss)
					      if target.HP > 0 then
						player:update();
						player:cast("MAGE_FLAME");
						yrest(1500);
						player:cast("MAGE_FLAME");
						yrest(1500);
						player:cast("MAGE_FLAME");
						yrest(1500);
						player:cast("MAGE_FLAME");
						yrest(1500);
						cprintf(cli.pink, "Kame Hame Wave!!!\n")
						if( arg1.Name == "MAGE_FLAME" ) then
						changeProfileOption("LOOT_ALL", "true")
						cprintf(cli.pink, "Kame Hame Wave!!!!!\n")
						player:update();
						end
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );
					         _tb = false
					         _tb = false
					      else
 					        _tb = true
					      end
					   else
					      _tb = true
					   end
					   return _tb
					end

					function Countround()
						Count = Count+1;
						cprintf(cli.pink, "Round Number: %s\n\n", Count)
					end
					
					function checkdura()
						if dura > inventory:getMainHandDurability() then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("mech"))
						end

						local bcount = inventory:getItemCount(0)
						if(  5 > bcount ) then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("mech"))
						end
					end

					function findzi()
						local getinlvl = sendMacro('GetInstanceLevel("normal")')
						if getinlvl == ("easy") then
							zid = 128
						elseif getinlvl == ("normal") then
							zid = 127
						elseif getinlvl == ("hard") then
							zid = RoMScript("GetZoneID()");
							sendMacro('SetInstanceLevel("easy")');
							cprint(cli.blue, "Instance Lvl change to easy\n")
						end					
						keyboardHold( settings.hotkeys.MOVE_FORWARD.key )
						yrest(400)
						keyboardPress(settings.hotkeys.JUMP.key)
						yrest(1000)
						keyboardRelease( settings.hotkeys.MOVE_FORWARD.key )
						waitForLoadingScreen()
						yrest(500)
					end

					function selfname()
						sname = RoMScript("UnitName('player')")
						yrest(500)
						cprintf(cli.blue, "Player name is : %s\n", sname)
						sendpartychat(sname)
					end

					function getbuff()
						player:harvest(114982)
						player:update() 
						if player:hasBuff(506432) then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("havebuff"))
						else
							BuffCount = BuffCount+1
							if BuffCount > 8 then
								__WPL:setWaypointIndex(__WPL:findWaypointTag("havebuff"))
							end
						end
					end

					function gcheck()
						local _go = false
						local groupnumber = RoMScript("GetNumPartyMembers()")
						if groupnumber == 0 then
							_go = false
						else
							_go = true
						end
						return _go
					end



					function ireset()
						local EventPartyName = "DoD"
						local readycheck1 = RoMScript("UnitName('party1')")
						local readycheck2 = RoMScript("UnitName('party2')")
						local readycheck3 = RoMScript("UnitName('party3')")
						local readycheck4 = RoMScript("UnitName('party4')")
						local readycheck5 = RoMScript("UnitName('party5')")
						local groupnumber = RoMScript("GetNumPartyMembers()")
						if Instancereset == true then
						SlashCommand("rdd")
						yrest(500)
						SlashCommand("rdi")
						yrest(500)
						elseif gcheck() == true then
							repeat
							until checkparty(2000) == true
							yrest(500)
						SlashCommand("rdd")
						yrest(500)
						SlashCommand("rdi")
						yrest(500)
						end
						if 1 == srun and 0 == groupnumber then
							srun = srun+1
						elseif gcheck() == false then
							cprintf(cli.red, "You must wait 30min to reset instance or groupe a player\n")
							local _time = os.time()
							repeat
							until gcheck() == true or (os.time() - _time > 1800)
							srun = 1
						end

						if not Instancereset == true then
							eventparty(EventPartyName, "start")	
							yrest(500)
							if readycheck1 == nil then
								pname1 = ("Solo_run")
								cprintf(cli.red, "!!! Warning you not in a group !!!\n")
							else
								pname1 = readycheck1
							end
							if readycheck2 == nil then
								pname2 = ("NoPartyMembers")
							else
								pname2 = readycheck2
							end
							if readycheck3 == nil then
								pname3 = ("NoPartyMembers")
							else
								pname3 = readycheck3
							end
							if readycheck4 == nil then
								pname4 = ("NoPartyMembers")
							else
								pname4 = readycheck4
							end
							if readycheck5 == nil then
								pname5 = ("NoPartyMembers")
							else
								pname5 = readycheck5
							end
							keyboardPress(key.VK_SPACE)
							yrest(500)
							repeat
							yrest(500)
							local message = checkeventparty(EventPartyName,{pname1,pname2,pname3,pname4,pname5})
							if message and message == pname1 or pname1 == "Solo_run" then char1 = true end
							if message and message == pname2 or pname2 == "NoPartyMembers" then char2 = true end
							if message and message == pname3 or pname3 == "NoPartyMembers" then char3 = true end
							if message and message == pname4 or pname4 == "NoPartyMembers" then char4 = true end
							if message and message == pname5 or pname5 == "NoPartyMembers" then char5 = true end
							until char1 and char2 and char3	and char4 and char5
							char1 = false
							char2 = false
							char3 = false
							char4 = false
							char5 = false
							eventparty(EventPartyName, "stop")
						end
					end

					

</onLoad>
i use this before killing boss

Code: Select all

				<waypoint x="2252" z="2444" y="401">
					changeProfileOption("LOOT", "true")
					changeProfileOption("LOOT_ALL", "true")
					if gcheck() == true then
						if Instancereset == true then
							Boss_buff()
							trash_boss()
							player:lootAll()
							yrest(1000)
							player:lootAll()
							yrest(1000)
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );
						elseif not Instancereset == true then
							keyboardPress(key.VK_SPACE)
							local _time = os.time()
							repeat
							until checkparty(200) == true or (os.time() - _time > 120)
							Boss_buff()
							trash_boss()
							player:lootAll()
							yrest(1000)
							player:lootAll()
							yrest(1000)
						end
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );
					elseif not gcheck() == true then
							useGoodie("mdmg2");
							useGoodie("casting");
							useGoodie("speed");
							useGoodie("matt3");
							useGoodie("defense");
							Boss_buff()
							trash_boss()
							player:lootAll()
							yrest(1000)
							player:lootAll()
							yrest(1000)
					end
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );	

i use this outside dod

Code: Select all

<waypoint x="1637" z="-5094" y="760">
					ireset()
					SlashCommand("aid normal")
				</waypoint>

this is the onload of my alt char

Code: Select all

<onLoad>
	startGMDetect()
	loadProfile("Dodparty")
	changeProfileOption("RES_AUTOMATIC_AFTER_DEATH", "true")
	changeProfileOption("INV_AUTOSELL_FROMSLOT", 1)
	changeProfileOption("INV_AUTOSELL_TOSLOT", 30)
	settings.profile.friends = {"Incomplete Bloody Beast"}
	Slots = 59
	dura = 0.9
	instancebuff = false
	changeProfileOption("INV_AUTOSELL_ENABLE", "true")
	changeProfileOption("EGGPET_ENABLE_ASSIST", "false")

	Grassland_Mix = main_true
	Magic_Lute = main_true
	Magic_Tambourine = main_true
	Magic_Guitar = false

	changeProfileOption("INV_AUTOSELL_FROMSLOT", 1)
	changeProfileOption("INV_AUTOSELL_TOSLOT", 30)
	settings.profile.friends = {"Incomplete Bloody Beast"}
	changeProfileOption("EGGPET_ENABLE_ASSIST", "true")
	changeProfileOption("INV_AUTOSELL_ENABLE", "true")
	dura = 0.9
	Magic_Tambourine = true
	Magic_Guitar = true
	__WPL:setWaypointIndex(__WPL:findWaypointTag("start"))
	changeProfileOption("AUTO_ELITE_FACTOR", 1000)
	changeProfileOption("HARVEST_DISTANCE", 50)

	Count = 0
	Zid = 0
	BuffCount = 0
	srun = 1

	if not eventparty then
	function eventparty()
	checkeventparty()
	end
	end

	function Boss_buff()

	if Magic_Tambourine == true then
		if inventory:itemTotalCount(204463) >= 1 then
			inventory:useItem(204463) -- 3 days
			yrest(5500)
		elseif inventory:itemTotalCount(204571) >= 1 then
			inventory:useItem(204571) -- 7 days
			yrest(5500)
		elseif inventory:itemTotalCount(206420) >= 1 then
			inventory:useItem(206420) -- 30 days
			yrest(5500)
		end
		elseif Magic_Tambourine == party_true then
			yrest(5500)
		end
	if Magic_Guitar == true then
		if inventory:itemTotalCount(204461) >= 1 then
			inventory:useItem(204461) -- 3 days
			yrest(5500)
		elseif inventory:itemTotalCount(206418) >= 1 then
			inventory:useItem(206418) -- 7 days
			yrest(5500)
		elseif inventory:itemTotalCount(204569) >= 1 then
			inventory:useItem(204569) -- 30 days
			yrest(5500)
		end
		elseif Magic_Tambourine == party_true then
			yrest(5500)
		end
		player:cast("DRUID_RECOVER");
	end

function AttackableTarget()
   player:update();
   local target = player:getTarget();
   if target == nil then
      print("Target is nil");
      return false;
   end
   target:update();
   
   if false then
      print("--------------");
      print("Target Name: "..target.Name);
      print("Target Level: "..target.Level);
      print("Target HP: "..target.HP);
      print("Target MaxHP: "..target.MaxHP);
      if target.Lootable then
         print("Lootable");
      else
         print("Not Lootable");
      end
      if target.Alive then
         print("Alive");
      else
         print("Not Alive");
      end
      if target.Attackable then
         print("Attackable");
      else
         print("Not Attackable");
      end
      if target.Aggressive then
         print("Aggressive");
      else
         print("Not Aggressive");
      end
      if player.Battling then
         print("Battling");
      else
         print("Not Battling");
      end
      print ("HP percent: ".. (target.HP/target.MaxHP)*100);
      print("--------------");
   end
   
   if (1 > target.HP) then
      print("AttackableTarget: no hp")
      return false;
   end
   if target.Lootable then
      print("AttackableTarget: lootable")
      return false;
   end
   if not target.Attackable then
      print("ntAttackableTarget: not attackable")
      return false;
   end
   if not target.Alive then
      print("AttackableTarget: not alive")
      return false;
   end
   return true;
end

	function trash_boss()
		local target = player:getTarget()
					   local _tb = false
					   local spawnboss = player:findNearestNameOrId("Okander \"Mad Man\" Mallen")
					   if spawnboss then
					      player:target(spawnboss)
					      if target.HP > 0 then
						player:update();
						player:cast("DRUID_RECOVER");
						yrest(1000);
						cprintf(cli.pink, "Kame Hame Wave!!!\n")
						if( arg1.Name == "DRUID_RECOVER" ) then
						changeProfileOption("LOOT_ALL", "true")
						cprintf(cli.pink, "Kame Hame Wave!!!!!\n")
						player:update();
						end
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );
					         _tb = false
					      else
 					        _tb = true
					      end
					   else
					      _tb = true
					   end
					   return _tb
					end

					function Countround()
						Count = Count+1;
						cprintf(cli.pink, "Round Number: %s\n\n", Count)
					end
					
					function checkdura()
						if dura > inventory:getMainHandDurability() then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("mech"))
						end

						local bcount = inventory:getItemCount(0)
						if(  5 > bcount ) then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("mech"))
						end
					end

					function findzi()
						local getinlvl = sendMacro('GetInstanceLevel("normal")')
						if getinlvl == ("easy") then
							zid = 128
						elseif getinlvl == ("normal") then
							zid = 127
						elseif getinlvl == ("hard") then
							zid = RoMScript("GetZoneID()");
							sendMacro('SetInstanceLevel("easy")');
							cprint(cli.blue, "Instance Lvl change to easy\n")
						end					
						keyboardHold( settings.hotkeys.MOVE_FORWARD.key )
						yrest(400)
						keyboardPress(settings.hotkeys.JUMP.key)
						yrest(1000)
						keyboardRelease( settings.hotkeys.MOVE_FORWARD.key )
						waitForLoadingScreen()
						yrest(500)
					end

					function ireset()
						SlashCommand("rdd")
						yrest(500)
						SlashCommand("rdi")
						yrest(1000)
						end

					function bossheal()
						player:cast("DRUID_RECOVER");
						yrest(1000)
						end



					function selfname()
						sname = RoMScript("UnitName('player')")
						yrest(500)
						cprintf(cli.blue, "Player name is : %s\n", sname)
						sendpartychat(sname)
					end

					function gcheck()
						local _go = false
						local groupnumber = RoMScript("GetNumPartyMembers()")
						if groupnumber == 0 then
							_go = false
						else
							_go = true
						end
						return _go
					end

					function getbuff()
						player:harvest(114982)
						player:update() 
						if player:hasBuff(506432) then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("havebuff"))
						else
							BuffCount = BuffCount+1
							if BuffCount > 8 then
								__WPL:setWaypointIndex(__WPL:findWaypointTag("havebuff"))
							end
						end
					end
</onLoad>
i use this outside dod

Code: Select all

<waypoint x="1645" z="-4908" y="752" tag="start" type="TRAVEL">
					local groupnumber = RoMScript("GetNumPartyMembers()")
					if gcheck() == false then 
						cprintf(cli.red, "--==Not in a Groupe==--\n")
						repeat
						until gcheck() == true
						__WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
					else
						keyboardPress(key.VK_SPACE)
						yrest(800)
						repeat
						until checkparty(30) == true
						yrest(1500)
						selfname()
						yrest(2500)
					end
					checkdura()

				</waypoint>
before entering

Code: Select all

				<waypoint x="1679" z="-4962" y="759" tag="enter" type="TRAVEL">
						selfname()

				</waypoint>
	<!-- #  2 -->
				<waypoint x="1685" z="-5042" y="760" type="TRAVEL">
						selfname()
					</waypoint>
	<!-- #  3 -->
				<waypoint x="1692" z="-5103" y="760" type="TRAVEL">
						selfname()	
					findzi()
					speed(59)
					yrest(1000)
					local zoneid = RoMScript("GetZoneID()")
					if zoneid == 209 then
						__WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
					end
					repeat
					until checkparty(50) == true
					gcheck()
				</waypoint>
inside dod

Code: Select all

<waypoint x="1793" z="2880" y="433" tag="instance">
					local groupnumber = RoMScript("GetNumPartyMembers()")
					if gcheck() == false then 
						cprintf(cli.red, "--==Not in a Groupe==--\n")
						repeat
						until gcheck() == true
						__WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
					else
						keyboardPress(key.VK_SPACE)
						yrest(800)
						repeat
						until checkparty(2000) == true
						yrest(1500)
						selfname()
						yrest(2500)
					end
					Countround()
					fly()

				__WPL:setForcedWaypointType("TRAVEL")		</waypoint>

killing boss

Code: Select all

<waypoint x="2252" z="2444" y="401" tag="wboss">
						changeProfileOption("LOOT_ALL", "true")
					local groupnumber = RoMScript("GetNumPartyMembers()")
					if gcheck() == false then 
						cprintf(cli.red, "--==Not in a Groupe==--\n")
						repeat
						until gcheck() == true
						__WPL:setWaypointIndex(__WPL:findWaypointTag("wboss"))
					else
						keyboardPress(key.VK_SPACE)
						repeat
						until checkparty(100) == true
						selfname()
						yrest(1500)
					end
					keyboardPress(key.VK_SPACE)
						yrest(1000)
						player:cast("DRUID_RECOVER");
						trash_boss()
							player:lootAll()
							yrest(1000)
							player:lootAll()
							yrest(1000)
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );
				</waypoint>

my problem is... when my main sell item in npc.. my main will delay... so my altchar will enter dod even my main char are not close to him... but waiting inside dod and when my main char done in selling... my mainchar will not enter dod and waiting outside dod..




main profile

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<profile>
	<options>
		<!-- Try the bot with a new char mage                   -->
		<!-- At the pioneer village. Use demo.xml waypoint file -->
		<option name="HP_LOW"			value="60" />
		<option name="MP_LOW_POTION"		value="60" />
		<option name="HP_LOW_POTION"		value="60" />
		<option name="USE_HP_POTION"		value="best" />	<!-- potion select strategy: best|minstack -->
		<option name="USE_MANA_POTION"		value="best" />	<!-- potion select strategy: best|minstack -->
		<option name="USE_PHIRIUS_POTION"	value="true" /> 		<!-- false | true if you want to use the Phirus Potions -->
		<option name="PHIRIUS_MP_LOW"		value="40" />
		<option name="PHIRIUS_HP_LOW"		value="60" />

		<!-- Rest if HP or Mana is below that level -->
		<option name="HP_REST" value="15" />
		<option name="MP_REST" value="15" />

		<!-- Combat options -->
		<option name="COMBAT_TYPE"        	value="ranged" />	<!-- leave empty or choose ranged/melee if not using class default -->
		<option name="COMBAT_RANGED_PULL" 	value="" /> <!-- only important for melees -->
		<option name="COMBAT_DISTANCE"    	value="200" />
		<option name="MAX_FIGHT_TIME"     	value="20" />	<!-- Max time without damage before break -->
		<option name="DOT_PERCENT"        	value="90" />
		<option name="ANTI_KS"            	value="true" />
		<option name="MAX_TARGET_DIST"    	value="250" />
		<option name="SKILL_GLOBALCOOLDOWN"     value="800" />

		<!-- Attack monsters 3 levels above or 10 below your level -->
		<option name="TARGET_LEVELDIF_ABOVE" 	value="10" />
		<option name="TARGET_LEVELDIF_BELOW" 	value="70" />

		<!-- Waypoint and movement settings -->
		<option name="WAYPOINTS"		value="main" />  <!-- leave empty to show a list -->
		<option name="RETURNPATH"		value="main_return" />
		<option name="PATH_TYPE"		value="waypoints" />	<!-- waypoints | wander -->
		<option name="WANDER_RADIUS"		value="0" />
		<option name="WAYPOINT_DEVIATION"	value="0" />
		<option name="QUICK_TURN" 		value="true" />
		<option name="WP_NO_STOP" 		value="true" />

		<!-- Loot settings -->
		<option name="LOOT"			value="true" />
		<option name="LOOT_ALL"			value="true" />  <!-- Loot all nearby dead mobs after combat -->
		<option name="LOOT_IN_COMBAT"		value="true" />
		<option name="LOOT_DISTANCE"		value="300" />
		<option name="LOOT_PAUSE_AFTER"		value="10" />		<!-- probability in % for a short rest -->

		<!-- Harvest options -->
		<option name="HARVEST_DISTANCE"		value="120" />
		<option name="HARVEST_WOOD"		value="true" /> <!-- Choose which types to harvest. -->
		<option name="HARVEST_HERB"		value="true" /> <!-- "true" = harvest, "false" = do not harvest -->
		<option name="HARVEST_ORE"		value="true" />

		<!-- Eggpet options -->
		<option name="EGGPET_ENABLE_CRAFT"	value="false" /><!-- If using same slot for assist and craft, onlt 1 can be enabled. -->
		<option name="EGGPET_CRAFT_SLOT"	value="1" />
		<option name="EGGPET_ENABLE_ASSIST"	value="true" />
		<option name="EGGPET_ASSIST_SLOT"	value="1" />
		<option name="EGGPET_CRAFT_RATIO"	value="1:1:1" /> <!-- mining:woodworking:herbalism ratio to produce. -->
		<option name="EGGPET_CRAFT_INDEXES"	value="" /> 	 <!-- override auto craft index for mining,woodworking,herbalism eg. "2,,"-->


		<!-- Log out and resurrect settings -->
		<option name="LOGOUT_TIME" 		value="0" />	<!-- in minutes, 0 = timer disabled -->
		<option name="LOGOUT_SHUTDOWN"		value="false" />
		<option name="LOGOUT_WHEN_STUCK"	value="true" />
		<option name="CLOSE_WHEN_STUCK"		value="true" />
		<option name="RES_AUTOMATIC_AFTER_DEATH" value="true" />
		<option name="MAX_DEATHS" 		value="100" /> <!-- Log out after this many deaths -->
		
		<!-- Auto Sell -->
		<option name="DEBUG_AUTOSELL"      	value="true" />
		<option name="INV_AUTOSELL_ENABLE"	value="true" />
		<option name="INV_AUTOSELL_FROMSLOT"    value="27" />
		<option name="INV_AUTOSELL_TOSLOT"	value="60" />
		<option name="INV_AUTOSELL_QUALITY"	value="white,green,blue,purple" />
		<option name="INV_AUTOSELL_IGNORE"	value="Miller's Special Cake, Hero Potion, 
		Invisibility Potion, Phirius Elixir - Type E, Phirius Elixir - Type C, Phirius Elixir - Type B, Phirius Elixir - Type A, 
		Phirius Elixir - Type D, Phirius Elixir - Type C, Ancient Spirit Water, Spellweaver Potion, Dessert of Happiness, Mysticite, 
		Dusk Orchid, Dark Crystal, Green Thistle, Phirius Potion - Type C, Phirius Potion - Type B, Phirius Potion - Type A, 
		Phirius Potion - Type D, Phirius Potion - Type E, Phirius Special Water - Type E, Phirius Special Water - Type B, Phirius Special Water - Type A, 
		Phirius Special Water - Type C, Resistance iii, Resistance iv, Resistance v, Magic Bottle, Small Hoe, Magic iii, Magic iv, Magic v, Shell iii, Shell iv, Shell v, Oak Lumber, Redwood Timber, Oak Timber, Redwood, 
		Oak Wood, Endurance iii, Endurance iv, Endurance v, Mind iii, Mind iv, Mind v, Strike iii, Strike iv, Strike v, Defense iii, Defense iv, Defense v, Vigor iii, Vigor iv, Vigor v, Elven Encyclopedia, Phirius Special Water - Type D, Small Spade, 
		Wizard-Iron Ore, Touch of the Unicorn, Chocolate Cake, Moon Orchid Bundle, Egg Rice Dumplings, Straw Mushroom Bundle, Moon Orchid, Wizard-Iron Sand, Wolfram Nail, Dragon Beard Root Plank,
		Mithril Ingot, Magic Hormone, Transparent Jade, Ancient Fossil, Mist Emerald, Dilan'y Ring, Defense iii, Defense iv, Defense v, Quickness iii, Quickness iv, Quickness v, Vitality iii, Vitality iv, Vitality v,
		Harm iii, Harm iv, Harm v, Soaring Tower Metal Stone, Harvest God Star Stone, Parasol Tree Fiber, Wisdom God Star Stone, White Gold Nail, Sago Palm Fiber, Loaf of Magic Hard Bread, Serenstum, Rainbow Crystal Candy, Moti Blended Sausage, Lettuce Sandwich,
		Dinner of the Gods, Glimmering Long Boots of the Fort, Callous Halo Leg Guards, Shoulder Guards of a Thousand Feathers, Moon Silver Ore, Mithril, Sinners Palm, Straw Mushroom " />
		
		<!-- GM detection options -->
      <option name="GMDETECT"         value="true" /> -- enables the GM detection userfunction
      <option name="GMnearbylogout"      value="true" /> -- If a GM is close to the character it will log out.
      <option name="PAUSEONGM"      value="300" />  -- Pauses when GM whispers for value in seconds. ie 300 = 5 minutes
      <option name="RECALL"         value="true" /> -- if in combat while pausing it will use recall and whisper/logout

		<!-- Party Bot options  -->
		<!-- <option name="PARTY"			value="true" /> -->
		<!-- <option name="PARTY_ICONS"			value="true" /> -->
		<!-- <option name="PARTY_INSTANCE"		value="true" /> -->


		<!-- For more options and documentation see the RoM Bot Wiki:  -->
		<!-- http://www.solarstrike.net/wiki/index.php5?title=RoM_Bot  -->

	</options>

	<friends>
		<!-- names of friends we help fighting or enemys we don't want to attack -->
		<!-- for umlauts use \129 (ue),\132 (ae),\148 (oe) e.g. K\132fer         -->
		<friend name="MyOtherCharacter1" />
		<friend name="MyOtherCharacter2" />
		<friend name="Elite_Mob_Name1" />
		<friend name="Elite_Mob_Name2" />
	</friends>

	<mobs>
		<!-- names of mobs we want to attack 				-->
		<!-- if no names defined we will attack all mobs	-->
		<mob name="Incomplete Bloody Beast" />
		<mob name="" />
		<mob name="" />
	</mobs>

	<hotkeys>
    	<!-- to communicate with the RoM API / define ingame dummy macro at place 1 -->
		<hotkey name="MACRO"        modifier="" key="VK_0" />
	</hotkeys>

	<!-- define your skills depending from your actual primary class -->
	<!-- see the example for a priest/mage                           -->
	<!-- delete skills you don't have or don't want to use.          -->
	<!-- For more skills to use see /database/skills.xml             -->
	<!-- demo skills for LvL 1 character for all classes             -->
	
	<skills_mage>
		<skill name="MAGE_FLAME"                hotkey="MACRO" priority="100" autouse="true" />
		<skill name="MAGE_ESSENCE_OF_MAGIC"	hotkey="MACRO" priority="80" />
		<skill name="MAGE_FIREBALL"          	hotkey="MACRO" priority="90" autouse="true" />
		<skill name="MAGE_LIGHTNING"         	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_PURGATORY_FIRE"       hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_ELEMENTAL_WEAKNESS"	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="PRIEST_RISING_TIDE"     	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_MAGIC_DRAIN"		hotkey="MACRO" priority="80" autouse="false" />
		<skill name="PRIEST_URGENT_HEAL"     	hotkey="MACRO" priority="120" hpper="80"  />
		<skill name="PRIEST_REGENERATE"      	hotkey="MACRO" priority="110" hpper="90" />
		<skill name="MAGE_ENERGY_INFLUX" 	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_ELEMENTAL_CATALYSIS"	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_INTENSIFICATION"	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_ENERGY_WELL" 		hotkey="MACRO" priority="80" autouse="false" />
		<skill name="PRIEST_MAGIC_BARRIER" 	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_ELECTROSTATIC_CHARGE" hotkey="MACRO" priority="80" autouse="false" />
	</skills_mage>

	<onPreSkillCast>
		if player.Class == 5 and player.Class2 == 2 then
			player:cast("MAGE_FLAME");
			cprintf(cli.pink, "Kame Hame Wave!!!!!\n")
			yrest(100);
			if( arg1.Name == "MAGE_FLAME" ) then
			player:cast("MAGE_FLAME");
			cprintf(cli.pink, "Kame Hame Wave!!!!!\n")
			yrest(100);
		      end
		   end
	</onPreSkillCast>
	
	<onLoad><![CDATA[
		startGMDetect()
	]]></onLoad>

	<onDeath><![CDATA[
		-- Additional Lua code to execute on death
	]]></onDeath>

	<onLeaveCombat><![CDATA[
		player:lootAll();
	]]></onLeaveCombat>

	<onLevelup><![CDATA[
		-- Additional Lua code to execute after having a levelup
		-- and levelup the skills for a new character (mage or priest recommended)
		-- e.g. sendMacro("SetSpellPoint(_tabnr, _skillnr);"); would levelup a skill
	]]></onLevelup>

	<onSkillCast><![CDATA[
		if player.Class == 5 and player.Class2 == 2 then
			player:cast("MAGE_FLAME");
			cprintf(cli.pink, "FLAME!!!!!\n")
			yrest(100);
			if( arg1.Name == "MAGE_FLAME" ) then
			player:cast("MAGE_FLAME");
			cprintf(cli.pink, "FLAME!!!!!\n")
			yrest(100);
		      end
		   end

		   target = player:getTarget();
		   if target.Id == 103169 then
		      if sendMacro("madman.Time") >= 1 then
		         player:clearTarget();
		         printf("Running\n")
		         yrest(100)
			player:cast("MAGE_FLAME");
			cprintf(cli.pink, "Kame Hame Wave....\n")
			yrest(100);
		      end
		   end
	]]></onSkillCast>

	<onHarvest><![CDATA[
		-- Additional Lua code to execute directly before the actual harvesting takes place.
		-- Note: arg1 contains the object to be harvested.
		-- i.e. arg1.Name will be the name of the node you are about to harvest
		-- If this snippet returns 'false', the node will *not* be harvested.
		-- All other return values result in the player attempting to harvest the node.
		-- Note that returning 'false' here breaks out of harvesting completely;
		-- You will not attempt to harvest other nearby nodes instead.
	]]></onHarvest>

	<onUnstickFailure><![CDATA[
		SlashCommand("run ReturnPet(1)");
		yrest(500)
		SlashCommand("run RotateCamera(99,99,99,990)");
		yrest(4000)
	]]></onUnstickFailure>
</profile>

my alt profile

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<profile>
	<options>
		<!-- Try the bot with a new char mage                   -->
		<!-- At the pioneer village. Use demo.xml waypoint file -->

		<!-- GM detection options -->
		<option name="GMDETECT"			value="true" /> -- enables the GM detection userfunction
		<option name="GMnearbylogout"		value="true" /> -- If a GM is close to the character it will log out.
		<option name="PAUSEONGM"		value="600" />  -- Pauses when GM whispers for value in seconds. ie 300 = 5 minutes
		<option name="RECALL"			value="true" /> -- if in combat while pausing it will use recall and whisper/logout

		<option name="HP_LOW"			value="85" />
		<option name="MP_LOW_POTION"		value="70" />
		<option name="HP_LOW_POTION"		value="70" />
		<option name="USE_HP_POTION"		value="best" />			<!-- potion select strategy: best|minstack -->
		<option name="USE_MANA_POTION"		value="best" />			<!-- potion select strategy: best|minstack -->
		<option name="USE_PHIRIUS_POTION"	value="true" /> 		<!-- false | true if you want to use the Phirus Potions -->
		<option name="PHIRIUS_MP_LOW"		value="40" />
		<option name="PHIRIUS_HP_LOW"		value="40" />

		<!-- Rest if HP or Mana is below that level -->
		<option name="HP_REST" 			value="15" />
		<option name="MP_REST" 			value="15" />

		<!-- Shopping options, how many of what do you want to keep in your inventory -->
		<option name="HEALING_POTION" 		value="99" />
		<option name="MANA_POTION" 		value="99" />			<!-- set to "0" if not required to buy -->
		<option name="ARROW_QUIVER" 		value="2" /> 			<!-- set to "0" if not required to buy -->
		<option name="THROWN_BAG" 		value="2" />			<!-- set to "0" if not required to buy -->
		<option name="POISON" 			value="30" />			<!-- set to "0" if not required to buy -->

		<!-- either false or arrow or thrown -->
		<option name="RELOAD_AMMUNITION" 	value="false" />		<!-- false|arrow|thrown -->

		<!-- Combat options -->
		<option name="COMBAT_TYPE"        	value="" />				<!-- leave empty or choose ranged/melee if not using class default -->
		<option name="COMBAT_RANGED_PULL" 	value="false" /> 		<!-- only important for melees -->
		<option name="COMBAT_DISTANCE"    	value="200" />
		<option name="MAX_FIGHT_TIME"     	value="15" />			<!-- Max time without damage before break -->
		<option name="DOT_PERCENT"        	value="90" />
		<option name="ANTI_KS"            	value="true" />
		<option name="MAX_TARGET_DIST"    	value="225" />

		<!-- Attack monsters 3 levels above or 10 below your level -->
		<option name="TARGET_LEVELDIF_ABOVE" value="10" />
		<option name="TARGET_LEVELDIF_BELOW" value="54" />

		<!-- Waypoint and movement settings -->
		<option name="WAYPOINTS"		value="" />  			<!-- leave empty to show a list -->
		<option name="RETURNPATH"		value="" />
		<option name="PATH_TYPE"		value="waypoints" />	<!-- waypoints | wander -->
		<option name="WANDER_RADIUS"		value="500" />
		<option name="WAYPOINT_DEVIATION"	value="0" />
		<option name="QUICK_TURN" 		value="true" />

		<!-- Loot settings -->
		<option name="LOOT"               	value="true" />
		<option name="LOOT_ALL"			value="true" />  		<!-- Loot all nearby dead mobs after combat -->
		<option name="LOOT_IN_COMBAT"     	value="true" />
		<option name="LOOT_DISTANCE"      	value="250" />
		<option name="LOOT_PAUSE_AFTER"   	value="0" />			<!-- probability in % for a short rest -->

		<!-- Auto selling options when used with player:merchant -->
		<option name="INV_AUTOSELL_ENABLE"	value="false" />		<!-- true | false -->
		<option name="INV_AUTOSELL_FROMSLOT" 	value="1" /> 			<!-- 1 = bag 1 slot 1 -->
		<option name="INV_AUTOSELL_TOSLOT"	value="60" /> 			<!-- 30 = last slot bag 1 -->
		<option name="INV_AUTOSELL_QUALITY"	value="white,green" /> 	<!-- white,green,blue,purple  -->

		<!-- Harvest options -->
		<option name="HARVEST_DISTANCE"		value="120" />
		<option name="HARVEST_WOOD"		value="true" /> 		<!-- Choose which types to harvest. -->
		<option name="HARVEST_HERB"		value="true" /> 		<!-- "true" = harvest, "false" = do not harvest -->
		<option name="HARVEST_ORE"		value="true" />

		<!-- Eggpet options -->
		<option name="EGGPET_ENABLE_CRAFT"	value="false" />		<!-- If using same slot for assist and craft, onlt 1 can be enabled. -->
		<option name="EGGPET_CRAFT_SLOT"	value="1" />
		<option name="EGGPET_ENABLE_ASSIST"	value="false" />
		<option name="EGGPET_ASSIST_SLOT"	value="1" />
		<option name="EGGPET_CRAFT_RATIO"	value="1:1:1" /> 		<!-- mining:woodworking:herbalism ratio to produce. -->
		<option name="EGGPET_CRAFT_INDEXES"	value="" /> 	 		<!-- override auto craft index for mining,woodworking,herbalism eg. "2,,"-->


		<!-- Log out and resurrect settings -->
		<option name="LOGOUT_TIME" 		value="0" />			<!-- in minutes, 0 = timer disabled -->
		<option name="LOGOUT_SHUTDOWN"		value="false" />
		<option name="LOGOUT_WHEN_STUCK"	value="false" />
		<option name="CLOSE_WHEN_STUCK"		value="true" />
		<option name="RES_AFTER_DEATH" 		value="true" />
		<option name="MAX_DEATHS" 		value="100" /> 			<!-- Log out after this many deaths -->

		<!-- Party Bot options  -->
		<option name="PARTY"			value="true" />
		<option name="PARTY_ICONS"		value="true" />
		<option name="PARTY_INSTANCE"		value="true" />

		<!-- Healing options -->
		<!-- <option name="HEALER_FIGHT"	value="true" /> --> 	<!-- Not implemented yet, coming soon -->

		<!-- pvp -->
		<!--option name="PVP"         value="true" /> -->       <!-- To enable PVP, with this set to true it will auto attack any players with red names -->

		<!-- For more options and documentation see the RoM Bot Wiki:  -->
		<!-- http://www.solarstrike.net/wiki/index.php5?title=RoM_Bot  -->

	</options>

	<friends>
		<!-- names of friends we help fighting or enemys we don't want to attack -->
		<!-- for umlauts use \129 (ue),\132 (ae),\148 (oe) e.g. K\132fer         -->
		<friend name="Mutated Wolf" />
		<friend name="Dark Rite Warlock" /> <!-- Elite, avoid him -->
		<friend name="Dark Rite Instructor" /> <!-- Elite, avoid him -->
		<friend name="Dark Rite Mage" /> <!-- Elite, avoid him -->
		<friend name="Dark Rite Acolyte" /> <!-- Elite, avoid him -->
		<friend name="Spirit Core" /> <!-- Elite, avoid him -->
		<friend name="Misty Rotwrom" />
		<friend name="Iron Teeth Sentry" />
		<friend name="Puppet Shaman" />
		<friend name="Drifting Javias" />
		<friend name="Hare" />
		<friend name="Foul Maggot" />
	</friends>

	<mobs>
		<!-- names of mobs we want to attack 				-->
		<!-- if no names defined we will attack all mobs	-->
		<mob name="" />
		<mob name="" />
		<mob name="" />
	</mobs>

	<hotkeys>
    	<!-- to communicate with the RoM API / define ingame dummy macro at place 1 -->
		<hotkey name="MACRO"          key="VK_0" />
	</hotkeys>

	<!-- define your skills depending from your actual primary class -->
	<!-- see the example for a priest/mage                           -->
	<!-- delete skills you don't have or don't want to use.          -->
	<!-- For more skills to use see /database/skills.xml             -->
	<!-- demo skills for LvL 1 character for all classes             -->
	<!-- to use a specific key instead of MACRO then use hotkey="VK_1" this example is for hotkey 1 -->
	<skills_priest>
		<skill name="PRIEST_SOUL_SOURCE"     	hotkey="MACRO" priority="110" inbattle="true" hpper="15" />
		<skill name="PRIEST_URGENT_HEAL"     	hotkey="MACRO" priority="100" hpper="50"  />
		<skill name="PRIEST_REGENERATE"      	hotkey="MACRO" priority="90"  hpper="80" />
		<skill name="PRIEST_RISING_TIDE"     	hotkey="MACRO" priority="80" />
		<skill name="PRIEST_WAVE_ARMOR"      	hotkey="MACRO" priority="40"  inbattle="true" />
		<skill name="PRIEST_AMPLIFIED_ATTACK" 	hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" />
		<skill name="PRIEST_GRACE_OF_LIFE" 	hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" />
		<skill name="PRIEST_HOLY_AURA"       	hotkey="MACRO" priority="100" inbattle="true" hpper="24" />
		<!--skill name="PRIEST_SOUL_BOND"     	hotkey="MACRO" priority="30" /> -->
		<!--skill name="PRIEST_MAGIC_BARRIER" 	hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" /> -->
	</skills_priest>

	<skills_warrior>
		<skill name="WARRIOR_SLASH"          	hotkey="MACRO" priority="90" />
		<skill name="WARRIOR_TACTICAL_ATTACK"   hotkey="MACRO" priority="70" />
		<skill name="WARRIOR_PROBING_ATTACK" 	hotkey="MACRO" priority="80" />
		<skill name="WARRIOR_OPEN_FLANK"      	hotkey="MACRO" priority="70" />
		<skill name="WARRIOR_SURPRISE_ATTACK"   hotkey="MACRO" priority="70" pullonly="true" />
		<skill name="WARRIOR_FRENZY"  		hotkey="MACRO" priority="30" inbattle="true" />
		<skill name="WARRIOR_THUNDER"     	hotkey="MACRO" priority="70" />
		<skill name="WARRIOR_MOON_CLEAVE"     	hotkey="MACRO" priority="70" />
		<skill name="WARRIOR_BLASTING_CYCLONE"  hotkey="MACRO" priority="70" />
	</skills_warrior>

	<skills_scout>
		<skill name="DRUID_SAVAGE_BLESSING" 	hotkey="MACRO" priority="50" inbattle="false" />
		<skill name="DRUID_RECOVER"          	hotkey="MACRO" priority="100" hpper="80" />
		<skill name="SCOUT_SHOT"          	hotkey="MACRO" priority="90" />
		<skill name="SCOUT_AUTOSHOT"      	hotkey="MACRO" priority="80" />
		<skill name="SCOUT_WIND_ARROWS"   	hotkey="MACRO" priority="70" />
		<skill name="SCOUT_VAMPIRE_ARROWS" 	hotkey="MACRO" priority="100" />
		<skill name="SCOUT_COMBO_SHOT"        	hotkey="MACRO" priority="95" />
		<skill name="SCOUT_ARROW_OF_ESSENCE"    hotkey="MACRO" priority="90" maxhpper="60" inbattle="true"/>
	</skills_scout>

	<skills_rogue>
		<skill name="ROGUE_SHADOWSTAB"    	hotkey="MACRO" priority="90" />
		<skill name="ROGUE_LOW_BLOW"      	hotkey="MACRO" priority="80" />
		<skill name="ROGUE_HIDE"    		hotkey="MACRO" priority="10" autouse="false" />
		<skill name="ROGUE_INFORMER"    	hotkey="MACRO" priority="80" />
		<skill name="ROGUE_ASSASSINS_RAGE"    	hotkey="MACRO" priority="60" />
		<skill name="ROGUE_WOUND_ATTACK"    	hotkey="MACRO" priority="80" />
	</skills_rogue>

	<skills_mage>
		<skill name="MAGE_FLAME"                hotkey="MACRO" priority="90" autouse="false" />
		<skill name="MAGE_ELEMENTAL_WEAKNESS"	hotkey="MACRO" priority="80" autouse="false" />
		<skill name="MAGE_MAGMA_BLADE"          hotkey="MACRO" priority="100" autouse="false" />
		<skill name="MAGE_FIREBALL"          	hotkey="MACRO" priority="110" autouse="false" />
		<skill name="MAGE_LIGHTNING"         	hotkey="MACRO" priority="70" autouse="false" />
		<skill name="MAGE_PURGATORY_FIRE"       hotkey="MACRO" priority="60" autouse="false" />
		<skill name="DRUID_RECOVER"          	hotkey="MACRO" priority="120" hpper="80" />
		<skill name="MAGE_ENERGY_INFLUX" 	hotkey="MACRO" priority="30" AutoUse="false"/>
		<skill name="MAGE_ELEMENTAL_CATALYSIS"   hotkey="MACRO" priority="30" AutoUse="false"/>
		<skill name="MAGE_INTENSIFICATION"	hotkey="MACRO" priority="30" AutoUse="false"/>
		<skill name="MAGE_ENERGY_WELL" 		hotkey="MACRO" priority="30" AutoUse="false"/>
		<skill name="MAGE_PERCEPTION"		hotkey="MACRO" priority="30" AutoUse="false"/>
		<skill name="MAGE_MAGIC_TARGET" 	hotkey="MACRO" priority="30" AutoUse="false"/>
		<skill name="DRUID_SAVAGE_BLESSING" 	hotkey="MACRO" priority="30" AutoUse="false"/>
	</skills_mage>

	<skills_knight>
		<skill name="KNIGHT_HOLY_STRIKE"    	hotkey="MACRO" priority="90" />
		<skill name="KNIGHT_HOLY_SHIELD"    	hotkey="MACRO" priority="80" inbattle="true" hpper="15" />
		<skill name="KNIGHT_HOLY_SEAL"      	hotkey="MACRO" priority="70" />
		<skill name="KNIGHT_PUNISHMENT"     	hotkey="MACRO" priority="60" />
		<skill name="KNIGHT_ENHANCED_ARMOR"   	hotkey="MACRO" priority="90" />
		<skill name="KNIGHT_MANA_RETURN"   	hotkey="MACRO" priority="60" />
		<skill name="KNIGHT_RESOLUTION"   	hotkey="MACRO" priority="60" />
		<skill name="KNIGHT_DISARMAMENT"   	hotkey="MACRO" priority="70" />

	</skills_knight>

	<skills_warden>
		<skill name="WARDEN_CHARGED_CHOP"	hotkey="MACRO" priority="90" />
		<skill name="WARDEN_ENERGY_ABSORB"	hotkey="MACRO" priority="80" inbattle="true" hpper="25" />
	</skills_warden>

	<skills_druid>
		<skill name="DRUID_RECOVER"          		hotkey="MACRO" priority="120" hpper="80" />
		<skill name="DRUID_CAMELLIA_FLOWER"     	hotkey="MACRO" priority="80" hpper="80" />
		<skill name="DRUID_BLOSSOMING_LIFE"     	hotkey="MACRO" priority="80" AutoUse="false"/>
		<skill name="DRUID_MOTHER_EARTHS_FOUNTAIN"      hotkey="MACRO" priority="80" hpper="80" />
		<skill name="DRUID_SAVAGE_BLESSING" 		hotkey="MACRO" priority="50" inbattle="false" />
		<skill name="DRUID_CONCENTRATION_PRAYER" 	hotkey="MACRO" priority="50" inbattle="false" />
		<skill name="DRUID_UNITY_WITH_MOTHER_EARTH" 	hotkey="MACRO" priority="50" inbattle="true" />
	</skills_druid>

	<onLoad><![CDATA[
			startGMDetect()
	]]></onLoad>

	<onDeath><![CDATA[
		loadPaths("zparty_return")
	]]></onDeath>

	<onLeaveCombat><![CDATA[
	      if player:findNearestNameOrId(102102) then
	         local Evelyn = player:findNearestNameOrId(102102)
	         player:target(Evelyn)
	         player:fight()
	      end
	    if player:findNearestNameOrId("Mysterious Bag") then
	      local filename = getExecutionPath() .. "/logs/giftbag.log";
	      local file, err = io.open(filename, "a+");
	      if file then
	         file:write("Date: "..os.date().." scout")
	         file:close();
	      end
	      player:target_Object("Mysterious Bag")
	      yrest(1000)
	      player:target_Object("Mysterious Bag")
	      yrest(1000)
	   end
	]]></onLeaveCombat>

	<onLevelup><![CDATA[
		-- Additional Lua code to execute after having a levelup
		-- and levelup the skills for a new character (mage or priest recommended)
		-- e.g. sendMacro("SetSpellPoint(_tabnr, _skillnr);"); would levelup a skill
	]]></onLevelup>

	<onSkillCast><![CDATA[
	   target = player:getTarget();
	   if target.Id == 103857 or target.Id == 103169 then
	      if sendMacro("madman.Time") >= 1 then
	         player:clearTarget();
	         printf("Running\n")
	         yrest(4000)
	      end
	   end
	if( arg1.Name == "DRUID_RECOVER" ) then
		yrest(3100);
		player:cast("DRUID_RECOVER");
		end 
	if( arg1.Name == "DRUID_RECOVER" ) then
		yrest(100);
		player:cast("DRUID_RECOVER");
		end 
	if( arg1.Name == "DRUID_RECOVER" ) then
		yrest(100);
		player:cast("DRUID_RECOVER");
		end
	if( arg1.Name == "DRUID_RECOVER" ) then
		yrest(100);
		player:cast("DRUID_RECOVER");
		end
		keyboardPress( key.VK_1 );
		yrest(1000);
		keyboardPress( key.VK_1 );
	]]></onSkillCast>

	<onHarvest><![CDATA[
		-- Additional Lua code to execute directly before the actual harvesting takes place.
		-- Note: arg1 contains the object to be harvested.
		-- i.e. arg1.Name will be the name of the node you are about to harvest
		-- If this snippet returns 'false', the node will *not* be harvested.
		-- All other return values result in the player attempting to harvest the node.
		-- Note that returning 'false' here breaks out of harvesting completely;
		-- You will not attempt to harvest other nearby nodes instead.
	]]></onHarvest>

	<onUnstickFailure><![CDATA[
		SlashCommand("run ReturnPet(1)");
		yrest(500)
		SlashCommand("run RotateCamera(99,99,99,990)");
		yrest(4000)
	]]></onUnstickFailure>
</profile>

also problem in looting... sometimes they dont loot both

Re: party problem

Posted: Mon Jul 09, 2012 9:08 pm
by lisa
--=== edit ===--

Code: Select all

<waypoint x="1645" z="-4908" y="752" tag="start" type="TRAVEL">
               local groupnumber = RoMScript("GetNumPartyMembers()")
               if gcheck() == false then 
                  cprintf(cli.red, "--==Not in a Groupe==--\n")
                  repeat
                  until gcheck() == true
                  __WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
               else
                  keyboardPress(key.VK_SPACE)
                  yrest(800)
                  repeat
                  until checkparty(30) == true
                  yrest(1500)
                  selfname()
                  yrest(2500)
               end
               checkdura()

            </waypoint>
With this code if you arn't in a party it will stay in the loop until you are in party and then it will continue on without doing the checkparty().

try this

Code: Select all

<waypoint x="1645" z="-4908" y="752" tag="start" type="TRAVEL">
               local groupnumber = RoMScript("GetNumPartyMembers()")
               if gcheck() == false then 
                  cprintf(cli.red, "--==Not in a Groupe==--\n")
                  repeat
yrest(500)
                  until gcheck() == true

end
                  keyboardPress(key.VK_SPACE)
                  yrest(800)
                  repeat
yrest(500)
                  until checkparty(30) == true
                  yrest(1500)
                  selfname()
                  yrest(2500)
                  __WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
               checkdura()

            </waypoint>
Also it is a good idea to add a yrest in any loop for the checkparty otherwise it will do 1000's of calculations every second until it becomes true, yrest(500) (half a second) is enough and won't cost you any wasted time by adding it.

Also not sure you need the
local groupnumber = RoMScript("GetNumPartyMembers()")
in that part of the code as it doesn't seem to get used.

Re: party problem

Posted: Tue Jul 10, 2012 10:58 pm
by kuripot
still my alt not waiting for my main before entering dod. this is my waypoint for my alt

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<onLoad>
	startGMDetect()
	loadProfile("Dodparty")
	changeProfileOption("RES_AUTOMATIC_AFTER_DEATH", "true")
	changeProfileOption("INV_AUTOSELL_FROMSLOT", 1)
	changeProfileOption("INV_AUTOSELL_TOSLOT", 30)
	changeProfileOption("EGGPET_ENABLE_ASSIST", "true")
	changeProfileOption("INV_AUTOSELL_ENABLE", "true")
	changeProfileOption("AUTO_ELITE_FACTOR", 1000)
	changeProfileOption("HARVEST_DISTANCE", 50)

	Slots = 59
	dura = 0.9
	instancebuff = false
	Grassland_Mix = main_true
	Magic_Lute = main_true
	Magic_Tambourine = main_true
	Magic_Guitar = false
	dura = 0.9
	Magic_Tambourine = true
	Magic_Guitar = true
	__WPL:setWaypointIndex(__WPL:findWaypointTag("start"))
	Count = 0
	Zid = 0
	BuffCount = 0
	srun = 1

	if not eventparty then
	function eventparty()
	checkeventparty()
	end
	end

	function Boss_buff()

	if Magic_Tambourine == true then
		if inventory:itemTotalCount(204463) >= 1 then
			inventory:useItem(204463) -- 3 days
			yrest(5500)
		elseif inventory:itemTotalCount(204571) >= 1 then
			inventory:useItem(204571) -- 7 days
			yrest(5500)
		elseif inventory:itemTotalCount(206420) >= 1 then
			inventory:useItem(206420) -- 30 days
			yrest(5500)
		end
		elseif Magic_Tambourine == party_true then
			yrest(5500)
		end
	if Magic_Guitar == true then
		if inventory:itemTotalCount(204461) >= 1 then
			inventory:useItem(204461) -- 3 days
			yrest(5500)
		elseif inventory:itemTotalCount(206418) >= 1 then
			inventory:useItem(206418) -- 7 days
			yrest(5500)
		elseif inventory:itemTotalCount(204569) >= 1 then
			inventory:useItem(204569) -- 30 days
			yrest(5500)
		end
		elseif Magic_Tambourine == party_true then
			yrest(5500)
		end
		player:cast("DRUID_RECOVER");
	end

function AttackableTarget()
   player:update();
   local target = player:getTarget();
   if target == nil then
      print("Target is nil");
      return false;
   end
   target:update();
   
   if false then
      print("--------------");
      print("Target Name: "..target.Name);
      print("Target Level: "..target.Level);
      print("Target HP: "..target.HP);
      print("Target MaxHP: "..target.MaxHP);
      if target.Lootable then
         print("Lootable");
      else
         print("Not Lootable");
      end
      if target.Alive then
         print("Alive");
      else
         print("Not Alive");
      end
      if target.Attackable then
         print("Attackable");
      else
         print("Not Attackable");
      end
      if target.Aggressive then
         print("Aggressive");
      else
         print("Not Aggressive");
      end
      if player.Battling then
         print("Battling");
      else
         print("Not Battling");
      end
      print ("HP percent: ".. (target.HP/target.MaxHP)*100);
      print("--------------");
   end
   
   if (1 > target.HP) then
      print("AttackableTarget: no hp")
      return false;
   end
   if target.Lootable then
      print("AttackableTarget: lootable")
      return false;
   end
   if not target.Attackable then
      print("ntAttackableTarget: not attackable")
      return false;
   end
   if not target.Alive then
      print("AttackableTarget: not alive")
      return false;
   end
   return true;
end

	function trash_boss()
		local target = player:getTarget()
					   local _tb = false
					   local spawnboss = player:findNearestNameOrId("Okander \"Mad Man\" Mallen")
					   if spawnboss then
					      player:target(spawnboss)
					      if target.HP > 0 then
						player:update();
						player:cast("DRUID_RECOVER");
						yrest(1000);
						cprintf(cli.pink, "Kame Hame Wave!!!\n")
						if( arg1.Name == "DRUID_RECOVER" ) then
						changeProfileOption("LOOT_ALL", "true")
						cprintf(cli.pink, "Kame Hame Wave!!!!!\n")
						player:update();
						end
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );
					         _tb = false
					      else
 					        _tb = true
					      end
					   else
					      _tb = true
					   end
					   return _tb
					end

					function Countround()
						Count = Count+1;
						cprintf(cli.pink, "Round Number: %s\n\n", Count)
					end
					
					function checkdura()
						if dura > inventory:getMainHandDurability() then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("mech"))
						end

						local bcount = inventory:getItemCount(0)
						if(  5 > bcount ) then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("mech"))
						end
					end

					function findzi()
						local getinlvl = sendMacro('GetInstanceLevel("normal")')
						if getinlvl == ("easy") then
							zid = 128
						elseif getinlvl == ("normal") then
							zid = 127
						elseif getinlvl == ("hard") then
							zid = RoMScript("GetZoneID()");
							sendMacro('SetInstanceLevel("easy")');
							cprint(cli.blue, "Instance Lvl change to easy\n")
						end					
						keyboardHold( settings.hotkeys.MOVE_FORWARD.key )
						yrest(400)
						keyboardPress(settings.hotkeys.JUMP.key)
						yrest(1000)
						keyboardRelease( settings.hotkeys.MOVE_FORWARD.key )
						waitForLoadingScreen()
						yrest(500)
					end

					function ireset()
						SlashCommand("rdd")
						yrest(500)
						SlashCommand("rdi")
						yrest(1000)
						end

					function bossheal()
						player:cast("DRUID_RECOVER");
						yrest(1000)
						end



					function selfname()
						sname = RoMScript("UnitName('player')")
						yrest(500)
						cprintf(cli.blue, "Player name is : %s\n", sname)
						sendpartychat(sname)
					end

					function gcheck()
						local _go = false
						local groupnumber = RoMScript("GetNumPartyMembers()")
						if groupnumber == 0 then
							_go = false
						else
							_go = true
						end
						return _go
					end

					function getbuff()
						player:harvest(114982)
						player:update() 
						if player:hasBuff(506432) then
							__WPL:setWaypointIndex(__WPL:findWaypointTag("havebuff"))
						else
							BuffCount = BuffCount+1
							if BuffCount > 8 then
								__WPL:setWaypointIndex(__WPL:findWaypointTag("havebuff"))
							end
						end
					end
</onLoad>
	<!-- #  1 -->
				<waypoint x="1645" z="-4908" y="752" tag="start" type="TRAVEL">
			               checkdura()

			            </waypoint>
	<!-- #  2 -->
				<waypoint x="1679" z="-4962" y="759" tag="enter" type="TRAVEL">

				</waypoint>
	<!-- #  2 -->
				<waypoint x="1685" z="-5042" y="760" type="TRAVEL">
					</waypoint>
	<!-- #  3 -->
				<waypoint x="1692" z="-5103" y="760" type="TRAVEL">
			               local groupnumber = RoMScript("GetNumPartyMembers()")
			               if gcheck() == false then
			                  cprintf(cli.red, "--==Not in a Groupe==--\n")
			                  repeat
					yrest(500)
			                  until gcheck() == true

					end
			                  yrest(800)
			                  repeat
					yrest(500)
			                  until checkparty(10) == true
			                  yrest(1500)
			                  selfname()
			                  yrest(2500)
			                  __WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
					findzi()
					speed(59)
					--player:update
					local zoneid = RoMScript("GetZoneID()")
					if zoneid == 209 then
						__WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
					else
						__WPL:setWaypointIndex(__WPL:findWaypointTag("instance"))
					end
				</waypoint>
	<!-- #  4 -->
				<waypoint x="1793" z="2880" y="433" tag="instance">
					Countround()
				</waypoint>
	<!-- #  5 -->
				<waypoint x="1889" z="2880" y="560">	</waypoint>
	<!-- #  6 -->
				<waypoint x="1952" z="2814" y="560">	</waypoint>

				<waypoint x="2019" z="2737" y="560">	</waypoint>

				<waypoint x="2051" z="2692" y="463">	</waypoint>

				<waypoint x="2124" z="2597" y="463">	</waypoint>

				<waypoint x="2124" z="2597" y="433">	</waypoint>

				<waypoint x="2190" z="2521" y="401">	</waypoint>
	<!-- #  7 -->
				<waypoint x="2252" z="2444" y="401" tag="wboss">
						changeProfileOption("LOOT_ALL", "true")
					local groupnumber = RoMScript("GetNumPartyMembers()")
					if gcheck() == false then 
						cprintf(cli.red, "--==Not in a Groupe==--\n")
						repeat
						until gcheck() == true
						__WPL:setWaypointIndex(__WPL:findWaypointTag("wboss"))
					else
						keyboardPress(key.VK_SPACE)
						repeat
						until checkparty(100) == true
						selfname()
						yrest(1500)
					end
					keyboardPress(key.VK_SPACE)
						yrest(1000)
						player:cast("DRUID_RECOVER");
						trash_boss()
							player:lootAll()
							yrest(1000)
							player:lootAll()
							yrest(1000)
						player:update();
						yrest(1000)
						keyboardPress( key.VK_1 );
				</waypoint>
				
				<waypoint x="2290" z="2357" y="401" type="TRAVEL">			</waypoint>
	<!-- # 19 -->
				<waypoint x="2191" z="2520" y="401">			</waypoint>

				<waypoint x="2124" z="2597" y="463">			</waypoint>

				<waypoint x="2061" z="2675" y="463">			</waypoint>

				<waypoint x="2019" z="2737" y="560">			</waypoint>

				<waypoint x="1955" z="2803" y="560">			</waypoint>
	
				<waypoint x="1900" z="2875" y="560">			</waypoint>
	
				<waypoint x="1891" z="2876" y="560">			</waypoint>
	<!-- # 21 -->
				<waypoint x="1891" z="2876" y="433" tag="exit">			</waypoint>
	<!-- # 22 -->
				<waypoint x="1700" z="2886" y="433">
					findzi()
					local zoneid = RoMScript("GetZoneID()")
						if zoneid == zid then
							SlashCommand("run ReturnPet(1)");
							yrest(500)
							SlashCommand("run RotateCamera(99,99,99,990)");
							yrest(4000)
							waitForLoadingScreen()
							loadPaths("party_return")
						else
							__WPL:setWaypointIndex(__WPL:findWaypointTag("start"))
						end
				</waypoint>
	<!-- # 23 -->
			<waypoint x="1707" z="-4755" y="752" tag="mech" type="TRAVEL">
				--player:merchant(115536)  --== no more works on Chapter IV ==--
				if player:openStore(115536) then
					for i, item in pairs(inventory.BagSlot) do
						if item.SlotNumber >= settings.profile.options.INV_AUTOSELL_FROMSLOT and settings.profile.options.INV_AUTOSELL_TOSLOT >= item.SlotNumber then
							item:use() -- sells it to the store
						end
					end
				end
				__WPL:setWaypointIndex(__WPL:findWaypointTag("enter"))
			</waypoint>
</waypoints>

Re: party problem

Posted: Tue Jul 10, 2012 11:35 pm
by kuripot
my alt sometimes dont loot

Re: party problem

Posted: Wed Jul 11, 2012 3:33 am
by kuripot
my main char waiting for my alt to do "selfname()" before he proceed.. it is possible to my main char to do "selfname()" and my alt char also waiting for my main char to do "selfname()" if possible?? how??

Re: party problem

Posted: Wed Jul 11, 2012 7:02 am
by lisa
I suspect the issue is that the code for checking party should be at an earlier waypoint but I could be wrong.

Re: party problem

Posted: Sat Jul 21, 2012 9:14 pm
by kuripot
still i cant find solution... for my alt to wait my main char before entering dod.. only me i got this problem??