I have optimize the script a lot (the new version I will post soon) and still I don't get always 2700 or more.
2700 points or more seems to necessary to get 30 shells. The strangest thinks is their are people who have even more up to 3200 points.
Okay before somebody post what I did until now:
Kill the mobs in order and make sure I got all.
First the newts then the turtle and then the bugs and then the bunny's.
When I kill the turtles I also use the AoE which is so adjusted that it will never hit a newt or bunny or will used in vain.
How that look like in code
Code: Select all
repeat
button = 1
repeat
icon = RoMScript("GetExtraActionInfo("..button..")");
if(icon and string.find(icon,"skill_boss_skill_42.dds"))then
found = true;
break;
end
if(icon and string.find(icon,"skill_boss_skill_26"))then
found = true;
break;
end
button = button + 1;
until icon == nil
while( player:findNearestNameOrId(106882,nil, checkclicked) )do
one(106882)
end
while( player:findNearestNameOrId(106881,nil, checkclicked))do
if( found == true )then
two(button)
if( RoMScript("GetExtraActionInfo("..button..")") == nil )then
found = false;
end
end
one(106881)
end
while( player:findNearestNameOrId(106883,nil, checkclicked))do
one(106883)
end
if(not player:findNearestNameOrId({106881,106883},nil, checkclicked))then
while( player:findNearestNameOrId(106884,nil, checkclicked) )do
one(106884)
end
end
until (not player:findNearestNameOrId({106881,106882,106883,106884,106885}) )
Code: Select all
local function two(NumExtraButton)
local turtleobj = player:findNearestNameOrId({106881,106883},nil, checkclicked);
if(turtleobj ~= nil)then
local turtlepawn = CPawn(turtleobj.Address)
local mobcount, x, z = turtlepawn:findBestClickPoint(20, 300, false, pawnevalfunc, myexclude)
if(mobcount >= 3)then
print("We using AoE on :"..mobcount.." enemys")
RoMScript("UseExtraAction("..NumExtraButton..")")
player:aimAt({X=x, Z=z, Y=turtlepawn.Y})
player.LastSkill.AimedAt = {X=x, Z=z, Y=turtlepawn.Y}
player:clickToCast()
else
while( player:findNearestNameOrId(106882,nil, checkclicked))do
one(106882)
end
while( player:findNearestNameOrId(106881,nil, checkclicked))do
one(106881)
end
while( player:findNearestNameOrId(106883,nil, checkclicked))do
one(106883)
end
if(not player:findNearestNameOrId({106881,106883},nil, checkclicked))then
while( player:findNearestNameOrId(106884,nil, checkclicked) )do
one(106884)
end
end
return false;
end
else
return false;
end
return true;
end