I got this AS3 from "zerobrium" ; And made my own bot. But in Etherstorm bot, the bot doesn't accept any drops. Anyone knows how to solve this?
 
import flash.utils.Timer;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
//Array Definitions. These will hold all of the values needed.
var Quests:Array = [0];
var arr:Array = [0];
var drops:Array = [0];
var mapItems:Array = [0];
//Integer definitions. These will work as the position check;
var curQuest:int;
var Pos:int = 0;
var dropID:int;
var drpIndex:int = 0;
var curMap:int;
var mapIndex:int = 0;
//Timer Definitions
//this is the main Timer. Even if your bot will not fight, you need to start it.
var botCore:Timer = new Timer(2500);
//this timer is used for skill management. Don't touch!
var myTimer:Timer;
//same as above
var skill:Timer = new Timer(3500);
//This is the timer handling all of the combat.
var main:Timer = new Timer(3000);
//Boolean Definitions, those values will set wether the bot will activate the functions or not
var enabledQuests:Boolean = false;
var enabledDrops:Boolean = false;
var enabledMapItems:Boolean = false;
var pvpRelated:Boolean = false;


botCore.addEventListener(TimerEvent.TIMER, coreFunctions);
go.addEventListener(MouseEvent.CLICK, startAction);
function startAction(e:MouseEvent)
{
go.enabled = false;
_stop.enabled = true;
getSkills(Game.world.myAvatar.objData.strClassName );
switch (curBot.selectedItem.data)
{

case "1" ://arcangrove
Quests = [794,795,796,797,798,799,800,801];
Game.world.getQuests(Quests);
botCore.start();
main.start();
if (Game.world.strMapName == "arcangrove")
{
Game.world.moveToCell("Back", "Right");
}
else
{
Game.world.gotoTown("arcangrove-999999", "Back", "Right");
}
break;
//Etherstorm Airstorm Rep;
case "2" :
Quests = [1596,1578];
drops = [10700];
enabledQuests = true;
botCore.start();
main.start();
Game.world.getQuests(Quests);
if (Game.world.strMapName == "airstorm")
{
Game.world.moveToCell("r12", "Left");
}
else
{
Game.world.gotoTown("airstorm-999999", "r12", "Left");
}
break;
//Alchemy Reagents. Refer here for examples on how to enable drop accepting.
case "3" :
drops = [11475,11478];
main.start();
enabledDrops = true;
enabledQuests = false;
botCore.start();
if (Game.world.strMapName == "lair")
{
Game.world.moveToCell("Enter", "Spawn");
}
else
{
Game.world.gotoTown("lair-9999999", "Enter", "Spawn");
}
break;
//Chronospan Rep;
case "4" :
Quests = [2197,2203,2204,2205,2208];
Game.world.getQuests(Quests);
enabledQuests = true;
botCore.start();
main.start();
if (Game.world.strMapName == "thespan")
{
Game.world.moveToCell("Enter", "Left");
}
else
{
Game.world.gotoTown("thespan-99999999", "Enter", "Left");
}
break;
case "5" :
main.start();
if (Game.world.strMapName == "pirates")
{
Game.world.moveToCell("BlackEnd", "Right");
}
else
{
Game.world.gotoTown("pirates-99999999", "BlackEnd", "Right");
}//Undead Pirates XP;
break;
case "6" :
if (Game.world.myAvatar.isUpgraded())
{
Quests = [1009,1010,1013,1014,1006];
Game.world.getQuests(Quests);
main.start();
botCore.start();
enabledQuests = true;
if (Game.world.strMapName == "skyguard")
{
Game.world.moveToCell("r2", "Up");
}
else
{
Game.world.gotoTown("skyguard-99999999", "r2", "Up");
}
}
else
{
Game.MsgBox.notify("this is A Member Bot Only");
go.enabled = true;
_stop.enabled = false;
}//Skyguard Rep;
break;
case "7" ://Horc Rep. Refer here for one map item example
Quests = [1200,1201,1203,1205,1206,1207,1208,1209,1210];
mapItems = [500,502,505,513];
Game.world.getQuests(Quests);
enabledQuests = true;
enabledMapItems = true;
botCore.start();
main.start();
if (Game.world.strMapName == "bloodtusk")
{
Game.world.moveToCell("r15", "Left");
}
else
{
Game.world.gotoTown("bloodtusk-9999999", "r15", "Left");
}
break;
case "8"://Troll Rep;
Quests = [1180,1181,1183,1185,1186];
mapItems = [500,502,503,505];
Game.world.getQuests(Quests);
enabledQuests = true;
enabledMapItems = true;
botCore.start();
main.start();
if(Game.world.strMapName == "bloodtusk")
{
Game.world.moveToCell("r15", "Left");
}
else
{
Game.world.gotoTown("bloodtusk-99999", "r15", "Left");
}
break;
case "9":
Quests = [1071, 1072, 1073, 1074, 1076];
Game.world.getQuests(Quests);
mapItems = [424,561,567,568];
enabledQuests = true;
enabledMapItems = true;
main.start();
botCore.start();
if(Game.world.strMapName == "doomwood")
{
Game.world.moveToCell("r8", "Right");
}
else
{
Game.world.gotoTown("doomwood-999999", "r8", "Right");
}//Doomwood Rep;
break;
case "10":
Quests = [320,321,324,325,327];
Game.world.getQuests(Quests);
enabledQuests = true;
botCore.start();
main.start();
if(Game.world.strMapName == "pines")
{
Game.world.moveToCell("Enter", "Spawn");
}else
{
Game.world.gotoTown("pines-999999", "Enter", "Spawn");
}//DwarfHold Rep;
break;
case "11"://mythsong rep
if(Game.world.myAvatar.isUpgraded())
{
Quests = [633,634,635,647];
}
else
{
Quests = [633,634,635];
}
Game.world.getQuests(Quests);
enabledQuests = true;
main.start();
botCore.start();
if(Game.world.strMapName == "mythsong")
{
Game.world.moveToCell("Path", "Right");
}
else
{
Game.world.gotoTown("mythsong-999999", "Path", "Right");
}
break;
case "12"://Tainted Gem bot.
Quests = [569];
drops = [4708,4769];
enabledQuests = true;
enabledDrops = true;
Game.world.getQuests(Quests);
main.start();
botCore.start();
if(Game.world.strMapName == "boxes")
{
Game.world.moveToCell("Enter", "Spawn");
}
else
{
Game.world.gotoTown('boxes-999999', 'Enter', 'Spawn');
}
break;
case "13"://Horc + Troll bot.
Quests = [1200,1201,1203,1180,1181,1183];
mapItems = [500];
Game.world.getQuests(Quests);
enabledQuests = true;
enabledMapItems = true;
main.start();
botCore.start();
if(Game.world.strMapName == "bloodtusk")******.world.moveToCell("r15", "Left");}
else{Game.world.gotoTown("bloodtusk-99999", "r15", "Left")};
break;
}
}
function coreFunctions(e:TimerEvent)
{
if (enabledQuests)
{
curQuest = Quests[Pos];
Pos++;
if (! Game.world.isQuestInProgress(curQuest))
{
Game.world.acceptQuest(curQuest);
}
if (Game.world.isQuestInProgress(curQuest) && Game.world.canTurnInQuest(curQuest))
{
Game.world.tryQuestComplete(curQuest);
}
if (Pos >= Quests.length)
{
Pos = 0;
}
}
if (enabledDrops)// o
{
dropID = drops[drpIndex];
drpIndex++;
Game.sfc.sendXtMessage("zm", "getDrop", [dropID], "str");
if (drpIndex >= drops.length)
{
drpIndex = 0;
}
}
if (enabledMapItems)
{

curMap = mapItems[mapIndex];
mapIndex++;
Game.world.getMapItem(curMap);
if (mapIndex >= mapItems.length)
{
mapIndex = 0;
}
}


}
_stop.addEventListener(MouseEvent.CLICK, stopAll);
function stopAll(e:MouseEvent)
{
Quests = [0];
drops = [0];
mapItems = [0];
go.enabled = true;
_stop.enabled = false;
botCore.stop();
main.stop();
skill.stop();
enabledDrops = false;
enabledQuests = false;
enabledMapItems = false;
}
/////////////////////////////////////////////////////////////////////////;
main.addEventListener(TimerEvent.TIMER, attacK);
function attacK(e:TimerEvent)
{
if (Game.world.mapLoadInProgress)
{
trace("not ready");
return;
}
else
{
var restMode:Boolean = false;
var curTarget:Object;
var allMon:Object = Game.world.getMonstersByCell(Game.world.strFrame);
for each (var mon:Object in allMon)
{
var monData:Object = mon.dataLeaf;
if (mon != Game.world.myAvatar.target && monData.MonID != 63 && monData.MonID != 254 && monData.MonID != 355 && monData.MonID != 808 && monData.MonID != 809 && monData.MonID != 938 && monData.intState >= 1)
{
curTarget = mon;
}
}
if (Game.world.myAvatar.dataLeaf.intHP <= 600 && Game.world.myAvatar.dataLeaf.intState == 1)
{
Game.world.rest();
restMode = true;
}
if (Game.world.myAvatar.dataLeaf.intHP >= Game.world.myAvatar.dataLeaf.intHPMax)
{
restMode = false;
}
if (! restMode && Game.world.myAvatar.dataLeaf.intState == 1 && ! restMode && ! Game.world.myAvatar.target)
{
Game.world.setTarget(curTarget);
}
if (Game.world.myAvatar.target && ! Game.world.myAvatar.target.isMyAvatar && ! restMode)
{
Game.world.approachTarget();
skill.start();
}
if (curTarget != null)
{
if (curTarget.dataLeaf.intState < 1)
{
curTarget = null;
}
}
if(Game.world.myAvatar.objData.intState <1)
{
rp.start();
skill.stop();
}
if (! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "curseblue" || ! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "mythsong" || ! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "thespan"|| ! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "boxes")
{
MoveToProper();
}
}
}

function MoveToProper()
{
if(Game.world.strMapName == "curseblue"){
switch (Game.world.strFrame)
{
case "Enter" :
Game.world.moveToCell("r2", "Left");
break;
case "r2" :
Game.world.moveToCell("r3", "Right");
break;
case "r3" :
Game.world.moveToCell("r4", "Left");
break;
case "r4" :
Game.world.moveToCell("r5", "Left");
break;
case "r5" :
Game.world.moveToCell("Enter", "Spawn");
break;
default :
break;
}
}
if(Game.world.strMapName == "mythsong")
{
switch(Game.world.strFrame)
{
case "Path":
//%xt%zm%moveToCell%1317%Cross%Left%
Game.world.moveToCell("Cross", "Left");
break;
case "Cross":
Game.world.moveToCell("Path", "Right");
break;
default:
break;
}
}
if(Game.world.strMapName == "thespan")
{
switch(Game.world.strFrame)
{
case "Enter":
Game.world.moveToCell("r2", "Right");
break;
case "r2":
Game.world.moveToCell("r3", "Up");
break;
case "r3":
Game.world.moveToCell("Enter", "Left");
break;
default:
break;

}
}
if(Game.world.strMapName == "battleunderb")
{
switch(Game.world.strFrame)
{
case "r1":
Game.world.moveToCell("r2", "Left");
break;
case "r2":
Game.world.moveToCell("r1", "Right");
break;
default:
break;


}
}
if(Game.world.strMapName == "boxes")
{
switch(Game.world.strFrame)
{
case "Enter":
Game.world.moveToCell("Closet", "Right");
break;
case "Closet":
Game.world.moveToCell("Fort1", "Right");
break;
case "Fort1":
Game.world.moveToCell("Enter", "Spawn");
default:
break;


}
}
}

///////////////////////////////////////////////

skill.addEventListener(TimerEvent.TIMER, useSkillz);
function getSkills(className:String)
{

trace("Getting recommended skills for: " + className);
var noClass:Array = className.split(" Class");
className = noClass.join("");
switch (className)
{// No Class
case "No" :
break;// Healer Classes
case "Healer" :
case "Acolyte" :
case "Witch" :
arr = [1,3,2];
break;//Mage Classes
case "Mage" :
case "Sorcerer" :
arr = [2,1];
break;//Warrior Classes
case "Warrior" :
case "Warlord" :
case "Beast Warrior" :
case "Pumpkin Lord" :
arr = [1,1,2];
break;//Rogue Classes
case "Rogue" :
case "Barber" :
case "Leprechaun" :
case "Pirate" :
case "Alpha Pirate" :
case "Renegade" :
case "Vampire" :
arr = [3,1,2];
break;//Berserker Classes
case "Berserker" :
case "Beta Berserker" :
arr = [4,1,2];
break;//Ninja Classes
case "Ninja" :
case "Assassin" :
arr = [3,1];
break;//Rustbucket Classes
case "Enforcer" :
case "Rustbucket" :
case "Protosartorium" :
arr = [1];
break;
case "Elemental Dracomancer" :
arr = [4,3,2];
break;
//Special Classes
case "Bard" :
arr = [1,4,3];
break;
case "CardClasher" :
arr = [1,2];
break;
case "Chaos Shaper" :
break;
case "Chronomancer" :
break;
case "ClawSuit" :
break;
case "Defender" :
arr = [1,1,1,2];
break;
case "DoomKnight" :
arr = [1,1,1,2];
break;
case "Dragonlord" :
arr = [2,3];
break;
case "Dragonslayer" :
arr = [1,2];
break;
case "Evolved Shaman" :
arr = [2,3,1];
break;
case "Evolved ClawSuit" :
arr = [1,2];
break;
case "Giftbox" :
break;
case "Guardian" :
arr = [1,1,2,3];
break;
case "Necromancer" :
arr = [2,2,2,2,2,4];
break;
case "Paladin" :
arr = [4,1];
break;
case "Ranger" :
case "Troll Spellsmith" :
arr = [4,4,4,4,4,2,1];
break;
case "Shaman" :
arr = [1,2];
break;
case "Starlord" :
break;
case "UndeadSlayer" :
break;
case "Vindicator Of They" :
arr = [2,2,3,4];
break;
case "MindBreaker" :
arr = [1,3];
break;
default :
break;
}

}
////////////////////////////////////////////
var ran:int;
var index:int = 0;
var noSkills:Boolean;
var actObj:Object;
function useSkillz(e:TimerEvent)
{

ran = arr[index];
index++;



if (Game.world.myAvatar.objData.intMP <= 20)
{
switch (Game.world.myAvatar.objData.strClassName)
{
case "Troll Spellsmith Class" :
case "Necromancer" :
case "Ninja Class" :
actObj = Game.world.actions.active[3];
break;
default :
break;
}
skill.delay = actObj.cd + 100;
}
else
{
actObj = Game.world.actions.active[ran];



}
if (Game.world.myAvatar.target && ! Game.world.myAvatar.target.isMyAvatar && Game.world.myAvatar.target.dataLeaf.intHP > 1 && Game.world.myAvatar.objData.intMP > actOb*****)
{
if (actObj.isOK && actObj.cd < 15000 && actOb***** < Game.world.myAvatar.objData.intMP)
{
Game.world.testAction(actObj);
Game.world.approachTarget();
}
if (! noSkills && actObj.cd >= 15000 && actObj.isOK)
{
noSkills = true;
trace(noSkills);
Game.world.testAction(actObj);
Game.world.approachTarget();
setup();
}

}
if (actObj.cd < 15000)
{
skill.delay = actObj.cd;
}


if (index >= arr.length || !Game.world.myAvatar.target)
{
index = 0;
}



}
function setup()
{
trace("just checking...");
myTimer = new Timer(actObj.cd);
myTimer.addEventListener(TimerEvent.TIMER, restoreSkill);
myTimer.start();
}
function restoreSkill(e:Event)
{
noSkills = false;//sSelect.visible = true;
trace("OK.");
trace("OK.");
trace("OK.");
trace("OK.");
myTimer.stop();
}
///////////////////////////////////////////
var rp:Timer = new Timer(11500, 1);
rp.addEventListener(TimerEvent.TIMER, reSpawn);
function reSpawn(e:Event){
var resMC:MovieClip = MovieClip(Game.ui.mcRes);
resMC.resC = 10;
resMC.visible = false;
resMC.gotoAndStop(1);
Game.world.setSpawnPoint(Game.world.strFrame, Game.world.strPad);
Game.world.resPlayer();
//rp.stop();

}

Thanks; //Btw, I'm new here. :)