Malatina's survival

Additional botting resources. Addons may be either for the game itself or for the RoM bot.
Forum rules
Only post additional bot resources here. Please do not ask unrelated questions.
Post Reply
Message
Author
User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Malatina's survival

#1 Post by rock5 » Sun Nov 06, 2011 10:36 pm

Malatina Survival Game

Thanks to all who contributed, especially Lisa who started this thread.

Description
  • This script can complete Malatina's Survival mini game. I've found it to be extreamly reliable in completing with any class as long as they are mediumly geared. It uses AOE skills to clear the initial trash mobs if available but I've only ever used Purgatory Fire. With other classes I only use one on one attack skills. It has relog features similar to the "cot_tele" script that allows you to relog the next character or next in a list of characters or load a different waypoint file.
Requirements
  • Swim hack userfunction
    http://www.solarstrike.net/phpBB3/viewt ... 410#p24410
  • Teleport userfunction
    http://www.solarstrike.net/phpBB3/viewt ... 951#p23951
  • If you use one of the relog options you'll need "fastlogin"
    http://www.solarstrike.net/phpBB3/viewtopic.php?p=10350
  • If you use the "charlist" option you'll need the "LoginNextChar" userfunction also found at the above link.
  • If you want to use an AOE spell then it needs to be added to the character profile. It doesn't matter what priority you give it, it will be used first when clearing the initial trash mobs. You can even set 'autouse="false"' if you don't want it to interfere with your regular botting. This script will enable the AOE skill to clear the initial Trash mobs then disable it for attacking the other spawned mobs.
  • If you use regular one on one skills to kill the initial trash then, as a rule of thumb, you need to kill each mob in 2 seconds and complete clearing all the trash mobs with at least 7:30 left on the clock. Then you should have no problem finishing on time.
Installation and Setup
  • Put the 2 userfunctions into the "rom/userfunctions" folder.
  • Put "SurvivalR5.xml" and "SurvivalR5Onload.lua" into the "rom/waypoints" folder.
  • Check and set the settings at the top of the "SurvivalR5.xml" file. Descriptions are included in the file.
Bonus files
  • SurvivalNext - If you want to chain files one after another, eg. survival then cot then relog, you will need a separate file to do the relogging. That's where "survivalnext" comes in. It simply loads your next character and then loads "survivalr5" (default). It has similar relog options as cot_tele and survivalr5. To use it, for example, you could have survivalr5 set to load cot_tele and then have cot_tele set to load survivalnext. I personally use a much longer sequence of files.
Latest Files
  • Requires game patch 6.0.0 or newer and bot revision 758 or newer.
survivalR5.xml
Version 2.74 - A few tweaks that might improve reliability and stability.
(7.48 KiB) Downloaded 706 times
survivalR5onload.lua
Version 2.74
(16.11 KiB) Downloaded 628 times
Older files
survivalR5.xml
Version 2.72
(7.5 KiB) Downloaded 448 times
survivalR5onload.lua
Version 2.72
(16.12 KiB) Downloaded 450 times
Bonus files
survivalnext.xml
Version 1.2
(1.41 KiB) Downloaded 297 times
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

Jellenser
Posts: 29
Joined: Thu Jul 28, 2011 12:28 am

Re: Malatina's survival

#2 Post by Jellenser » Mon Nov 07, 2011 2:50 am

ok i tested both wp .. lisa and r5

lisa:
-i think its faster on start make the round and killing the mobs at beginnig then the version from r5
and some times when it goes to open all chests sometimes it miss one chest

r5:
the pause between it teleport from point topoint at start to kill the mobs is too long
+ i personaly think you make the better and faster solution to open the chest directly when it comes up..
i need about 2 mins to kill all mobs at start.. is it possible to make this shorter?


i tested it now with a Priest/scout but booth version dont press iceblade (witch is instand an main dmg skill).. it alwas make 1-2 seconds pause


thats all i find out atm.. and i hope u understand it .. my english is bad i know :/

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#3 Post by rock5 » Mon Nov 07, 2011 4:01 am

Lisa has been saying mine is faster doing the trash. The skill it uses is usually the first in your skill list. Either change the order of your skills or set AllowSkillCastTime to a shorter value like 1 so it doesn't use the skills with 2s cast time.

I just tested it with fireball and flame. I still managed to finish it with seconds to spare even though it mainly used flame which has a 3 second cast time.

With my version it's vital that you check your skills and make sure the skills you want to use are at the top of the list. Especially the first skill as that one will be used the most.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Malatina's survival

#4 Post by lisa » Mon Nov 07, 2011 4:37 am

Jellenser wrote:i tested it now with a Priest/scout but booth version dont press iceblade
Hmm ice blade works fine for me, make sure you have your profile setup to use it

Code: Select all

		<skill name="PRIEST_ICE_BLADE"     		hotkey="MACRO" priority="80" />	
And like rock said put it near the top of your priest skills.

my skills look like this

Code: Select all

		<skill name="PRIEST_SOUL_SOURCE"    	hotkey="MACRO" priority="110" inbattle="true" hpper="30" />
		<skill name="PRIEST_URGENT_HEAL"    	hotkey="MACRO" priority="100" hpper="85"  />
		<skill name="PRIEST_REGENERATE"     	hotkey="MACRO" priority="90"  hpper="60" />
		<skill name="PRIEST_ICE_BLADE"     		hotkey="MACRO" priority="80" />		
		<skill name="PRIEST_GRACE_OF_LIFE" 		hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" />
		<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_HOLY_AURA"      	hotkey="MACRO" priority="100" inbattle="true" hpper="24" />
		<skill name="PRIEST_MAGIC_BARRIER" 		hotkey="MACRO" priority="20" rebuffcut="60" inbattle="false" />
		<skill name="PRIEST_HEALING_SALVE"     	hotkey="MACRO" priority="95" />	
		<skill name="PRIEST_EMBRACE_OF_THE_WATER_SPIRIT"     	hotkey="MACRO" priority="95" inbattle="false" />
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#5 Post by rock5 » Mon Nov 07, 2011 7:01 am

I just had an idea. Maybe it's having problems with the corner trash because it's teleporting through the tile. I remember when I was testing the teleport function a while ago that it would fail to teleport if there was something between start and end point of the teleport. I'll try to make it go around the corner and see if that helps.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

cokebot
Posts: 54
Joined: Wed Oct 19, 2011 7:47 am

Re: Malatina's survival

#6 Post by cokebot » Mon Nov 07, 2011 8:02 am

Language changes: German

Guardian Rock Spirit: Wachender Felsgeist
Brown Wooden Chest: Braune Holztruhe (not needed since v2.3)

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Malatina's survival

#7 Post by lisa » Mon Nov 07, 2011 8:15 am

cokebot wrote:Guardian Rock Spirit: Wachender Felsgeist
Test using this

Code: Select all

guardianrockspirit = GetIdName(101269)
I always meant to test it, I even had it as next line just commented out, without the Id. I just never got round to testing it myself.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

Tooney
Posts: 26
Joined: Fri Oct 07, 2011 12:48 am

Re: Malatina's survival

#8 Post by Tooney » Mon Nov 07, 2011 4:46 pm

Lvl 53 mage with fireball, lightning & flame. Worked great for me, first time I've ever completed it even with AOE. Thanks all for the contributions.

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#9 Post by rock5 » Tue Nov 08, 2011 2:48 am

I just saw something interresting in a youtube video just now. A guy was looting the bodies while digging up the tiles. Hm... still might not be worth the effort to program.
http://www.youtube.com/watch?v=s2g5837eSRU
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Malatina's survival

#10 Post by lisa » Tue Nov 08, 2011 3:18 am

Yeah I never bother to loot the bodies even if I have 5 mins left on timer, I loot the frantic just in case by some weird miracle it has a monster card, I don't think there is a monster card for it though.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#11 Post by rock5 » Tue Nov 08, 2011 6:50 am

I'm currently working on a aoe option that assumes that if you want to use an aoe to clear the trash then you would have it set as your first attack skill. So it checks the first attack skill again a list of aoe skills. Here is the list I'm using. Are there any others I should add?

Code: Select all

local aoeskills = {
	"MAGE_PURGATORY_FIRE",
	"MAGE_DISCHARGE",
	"WARRIOR_BLASTING_CYCLONE",
	"WARRIOR_MOON_CLEAVE",
	"WARRIOR_WHIRLWIND",
	"KNIGHT_WHIRLWIND_SHIELD",
}
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
Nero
Posts: 98
Joined: Wed Aug 10, 2011 9:07 am

Re: Malatina's survival

#12 Post by Nero » Tue Nov 08, 2011 6:59 am

@rock5

Digging the tile seems to have the same rules that playing instruments - you can use potions in that time, loot mobs, or even cast instant spells (sometimes when doing manually and had little time, I've used discharge and purg to kill spawned mobs, while digging up next tile already).

Still, I don't think it's worth it - all that trash is just filling up your space in your bag, and you get, what, 20k gold from each run?

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#13 Post by rock5 » Tue Nov 08, 2011 7:14 am

The idea of attacking mobs while digging sounds good but if you can only use instant spells then it's too limiting.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

smokyru
Posts: 31
Joined: Fri Dec 18, 2009 9:02 am

Re: Malatina's survival

#14 Post by smokyru » Tue Nov 08, 2011 8:08 am

With my priest, I can start digging, and start casting Rising Tide while digging. The spell will one-shot a mob, and few ms after the spell has hit, the tile "opens up". I use it all the time, it's very convenient, and I've been thinking how to improve the speed of 1st malatina bot with the priest (which fails sometimes with 2-3 remaining tiles.)

On a rogue, everything is working great.

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#15 Post by rock5 » Tue Nov 08, 2011 8:15 am

I've run out of characters to test with today but my current version is looking good.

I should be releasing it tomorrow after some more testing.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#16 Post by rock5 » Tue Nov 08, 2011 9:40 am

I've been thinking about the relog option. Survival isn't like cot in which any profile will do. Survival needs the right skills you've set up in your profile. I was thinking maybe when it relogs, it looks for a profile with the same name as the newly loaded character and if it exists, then load it.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

BillDoorNZ
Posts: 446
Joined: Wed Aug 03, 2011 7:37 pm

Re: Malatina's survival

#17 Post by BillDoorNZ » Tue Nov 08, 2011 3:04 pm

I've been fiddling with the Survival script a bit to make it a bit more generic and handle multiple attacks and /or AOE attacks to speed up the initial trash/spawn clearing. It works for me in that all attacks (and AOE's) one-shot the mobs so the logic for clearing the 'faces' is the same as for clearing the guardians.

The system works by maintaining a list of attack options (e.g. Whirlwind Shield, Full Moon Cleave, Disarmament), keeping track of their cooldowns and their AOE. It uses the AOE value (which is specified in the tile radius - i.e. the number of tiles that will be hit (in 1 direction) when the skill is used). This set of skills has to be maintained by the bot user at the moment.

The bot will start at the closest corner as per the current bot and then:
  • 1. Find the first usable attack
  • 2. Using the AOE, work out which tile to move to so that the current tile will also be hit
  • 3.Execute the attack and update its cooldown
  • 4. Rinse and repeat until all 'faces' are dead and then begin again on the guardians
Basically, I've added/edited the following variables:

Code: Select all

local orderlist = {6,12,18,24,30,36,35,34,33,32,31,25,19,13,7,1,2,3,4,5}
local attackSkills = {"KNIGHT_WHIRLWIND_SHIELD", "ALL_FULL_MOON_CLEAVE", "KNIGHT_DISARMAMENT"}
local attackAOE = {3, 3, 1}
local attackCooldown = {6,20,0}
local lastUsedTime = {os.time(), os.time(), os.time()}
and added a couple of functions to track the attacks:

Code: Select all

--returns the details of the first available attack skill
function getAvailableAttack()
	local skillCount = #attackSkills;
	local count = 0;
	
	repeat
		count = count + 1;
	until ((count > skillCount) or (os.time() > (lastUsedTime[count] + attackCooldown[count])));
	
	if (count > skillCount) then return nil, nil; end;
	return count, attackAOE[count];
end

function useAttack(idx)
	player:cast(attackSkills[idx]);
	lastUsedTime[idx] = os.time();
end
and finally extended the existing clearing functions to use these.

Code: Select all

--=== First mobs to kill ===--
function trashmelee()
	local attackIndex, attackAOE = getAvailableAttack();
	local i = attackAOE or 1;
	
	repeat
		local tile = tiles[orderlist[i]]
		teleport(GetAttackPosition(tile.X,tile.Z))
		yrest(500)
		local trash = player:findNearestNameOrId(101489)
		if trash then
			local distance = distance(player.X, player.Z, trash.X, trash.Z)
			if (attackdistance * 2) > distance then
				player:target(trash)
				if (attackIndex) then
					useAttack(attackIndex);
				else
					player:fight();
				end;
				
				yrest(500)
				player:clearTarget();
			end
			
			i = i + attackAOE-1;
			attackIndex, attackAOE = getAvailableAttack();
			attackAOE = attackAOE or 1;
			i = i + attackAOE;
		else
			i = i + 1;
		end
	until (i >= listsize)
	spawnsmelee()
end

--=== Kill spawns melee ===--
function spawnsmelee()
	local attackIndex, attackAOE = getAvailableAttack();
	local i = attackAOE or 1;
	
	repeat
		local tile = tiles[orderlist[i]]
		teleport(GetAttackPosition(tile.X,tile.Z))
		yrest(500);
		local spawn = player:findNearestNameOrId(guardianrockspirit)
		yrest(500)
		if spawn then
			local distance = distance(player.X, player.Z, spawn.X, spawn.Z)
			player:target(spawn) 
			if (attackIndex) then
				useAttack(attackIndex);
			else
				player:fight();
			end;
			
			i = i + attackAOE-1;
			attackIndex, attackAOE = getAvailableAttack();
			attackAOE = attackAOE or 1;
			i = i + attackAOE;
		else
			printf("Something wrong, name incorrect.\n")
		end
		if player.Battling then
			local _enemy = player:findEnemy(true,nil)
			if _enemy then
				player:target(_enemy.Address);
				player:fight()
			end
		end				
	until (i >= listsize)

	breaktiles()
end	
I'm sure there is probably a better way to handle the cooldowns (i.e. RoMScript("GetSkillCooldown(1,4);"), but I couldn't figure out how to track the cooldown for item-set skills - namely FULL MOON CLEAVE. I should also be reading the cooldown value from the skill itself I suppose, but I was in a hurry when I wrote this :)
Attachments
survival.xml
v2.3.1 - mainly to indicate which version it is based off
(10.67 KiB) Downloaded 259 times

MinMax
Posts: 46
Joined: Mon Dec 21, 2009 6:45 am

Re: Malatina's survival

#18 Post by MinMax » Tue Nov 08, 2011 4:53 pm

The last two day the surv worked great, but today i am a littlebit confused.
Today i tried it 3 times (with a mage a scout and a rouge )and every time the bot had overseen a chest , went to waypoint nr. 1 and left the instance(The bot didn´t stop).
The case of the forgotten chest is the attack of a tile-mob under looting the chest. After the attack the chest were not looted again.

PS i had the survivalR5

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#19 Post by rock5 » Tue Nov 08, 2011 9:17 pm

Yeh it's not perfect. The version I'll release later today should be a lot better (hopefully).
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: Malatina's survival

#20 Post by rock5 » Wed Nov 09, 2011 9:17 am

Sorry, it's taking longer than I thought to release my next version. Maybe tomorrow.

I'm currently getting an error I don't know enough to understand.

Code: Select all

1:1am - scripts\mac/bot.lua:445: onLoad error: [string "..."]:19: Cannot open file 'C:/Program Files (x86)/micromacro/scripts/mac/waypoints/settings.xml' for reading.
This is what I have.

In the onload section I have

Code: Select all

include("waypoints/survivalR5onload.lua",true)
I have all the onload code there.

On line '19' there is

Code: Select all

settings.load()
I suspect the problem is the first line of settings.load which is

Code: Select all

	local filename = getExecutionPath() .. "/settings.xml";
"getExecutionPath()" is returning the wrong path but I don't know enough about it to know how to fix it .

Can anyone help?
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Google [Bot] and 8 guests