Originally Posted by
JamesRo
I use classes, definitely better than messy timeline stuff...
okay, i do use classes too... so im probably in good way with the mystic source.
@JamesRo, This is my coding source.
this part is my CheatMenu.as class
Code:
package darkmystic.v3 {
//darkmystic.v3
import flash.display.MovieClip;
import flash.display.*;
import fl.controls.*;
import flash.events.MouseEvent;
import darkmystic.v3.bots.*;
import flash.events.Event;
import darkmystic.v3.bots.events.BotEvent;
import darkmystic.v3.*;
public class CheatMenu2 extends MovieClip {
public var acceptAll:CheckBox;
public var chkAttackBot2:CheckBox;
public function CheatMenu2()
{
chkAttackBot2.addEventListener(Event.CHANGE, chkAttackBot_onChange2);
Bot.events.addEventListener(BotEvent.MONSTER_DEAD, onMonsterDead);
//acceptAll.addEventListener(Event.CHANGE, acceptDrops);
}
/////////////////////////////////////////////////////////////////////
function chkAttackBot_onChange2(event:Event):void {
if(event.target.selected) {
Bot.start();
} else {
Bot.reset();
}
}
/////////////////////////////////////////////////////////////
function onMonsterDead(event:BotEvent):void {
if(acceptAll.selected) {
Game.pickUpItems();
}
}
}
}
and this part is in my Game.as Class
Code:
package darkmystic.v3 {
import flash.utils.ByteArray;
import flash.display.MovieClip;
import flash.utils.setInterval;
import flash.utils.clearInterval;
public class Game {
private static var _instance:Object;
public static function get instance():Object{
if(!_instance)
throw new Error("Game instance uninitialized");
return _instance;
}
public static function set instance(o:Object) { _instance = o; }
public static function showMessage(text:String)
{
_instance.showMessageBox(text, function(){});
}
static function clone(source:Object):*
{
var myBA:ByteArray = new ByteArray();
myBA.writeObject(source);
myBA.position = 0;
return(myBA.readObject());
}
///////////////////////////////////////////////
public static function pickUpItems():void
{
var dropStack:MovieClip = _instance.ui.dropStack;
//var dropStack:MovieClip = clone(_instance.ui.dropStack) as MovieClip;
var invTree:Object = clone(_instance.world.invTree);
var arrNames:Array = new Array();
for each(var test:MovieClip in dropStack) {
trace("[ Auto-Pick Up ] : On Screen: '" + tes*****t.strName.text + "'");
arrNames.push(tes*****t.strName.text);
}
for each (var item:Object in invTree)
{
for each(var itemName:String in arrNames) {
if (itemName.indexOf(item.sName) != -1 && item.bTemp == 0)
{
_instance.sfc.sendXtMessage("zm", "getDrop", [item.ItemID], "str", _instance.world.curRoom);
trace("[ Auto-Pick Up ] : Get Drop packet successfully sent!");
break;
}
}
}
//////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////
}
private static var rTimeout;
private static var eTimeout;
private static var gTimeout;
private static var cTimeout;
private static function repGetDelay() {
if(!_instance.world.myAvatar.isItemInInventory(8879) && !_instance.world.myAvatar.objData.iBoostRep) {
_instance.world.getMapItem(515);
Game.pickUpItemByID(8879);
}
if(!_instance.world.myAvatar.objData.iBoostRep) {
_instance.world.sendUseItemRequest({ItemID:8879});
}
clearInterval(rTimeout);
}
private static function expGetDelay() {
if(!_instance.world.myAvatar.isItemInInventory(7162) && !_instance.world.myAvatar.objData.iBoostXP) {
_instance.world.getMapItem(366);
Game.pickUpItemByID(7162);
}
if(!_instance.world.myAvatar.objData.iBoostXP) {
_instance.world.sendUseItemRequest({ItemID:7162});
}
clearInterval(eTimeout);
}
private static function goldGetDelay() {
if(!_instance.world.myAvatar.isItemInInventory(7140) && !_instance.world.myAvatar.objData.iBoostG) {
_instance.world.getMapItem(365);
Game.pickUpItemByID(7140);
}
if(!_instance.world.myAvatar.objData.iBoostG) {
_instance.world.sendUseItemRequest({ItemID:7140});
}
clearInterval(gTimeout);
}
private static function classGetDelay() {
if(!_instance.world.myAvatar.isItemInInventory(8877 && !_instance.world.myAvatar.objData.iBoostCP)) {
_instance.world.getMapItem(516);
Game.pickUpItemByID(8877);
}
if(!_instance.world.myAvatar.objData.iBoostCP) {
_instance.world.sendUseItemRequest({ItemID:8877});
}
clearInterval(cTimeout);
}
public static function useClassBoost(): void {
cTimeout = setInterval(classGetDelay, 1500);
}
public static function useBoosts(): void {
rTimeout = setInterval(repGetDelay, 1500);
eTimeout = setInterval(expGetDelay, 3000);
gTimeout = setInterval(goldGetDelay, 4500);
}
public static function pickUpItemByID(id:uint): void {
_instance.sfc.sendXtMessage("zm", "getDrop", [id], "str", _instance.world.curRoom);
}
public static function getBallyhooAwards(): void {
if (_instance.world.myAvatar.objData.iDailyAds == _instance.world.myAvatar.objData.iDailyAdCap)
{
Game.showMessage("You have already reach the maximum ballyhoo rewards you can get for the day!\n ~Mystical.");
return;
}
else if (_instance.world.strMapName != "ballyhoo")
{
Game.showMessage("You are not in Ballyhoo, Please join a public/private ballyhoo room.");
return;
}
for (var i:int = 0; i < _instance.world.myAvatar.objData.iDailyAdCap; i++)
{
_instance.world.sendGetAdRewardRequest();
}
}
public static function sellItem(name:String) {
var invTree:Object = clone(_instance.world.myAvatar.items);
for each (var item:Object in invTree)
{
trace("Item Name: " + item.sName + " Search name: " + name);
if (item.sName == name)
{
_instance.world.sendSellItemRequest(item);
trace("[ Auto-Pick Up ] : Item sold!");
break;
} else {
trace("[ Auto-pick up ] : Item not found!");
}
}
}
public static function pickUpItem(name:String)
{
//var dropStack:MovieClip = clone(_instance.ui.dropStack) as MovieClip;
var invTree:Object = clone(_instance.world.invTree);
for each (var item:Object in invTree)
{
trace("Item Name: " + item.sName + " Search name: " + name);
if (item.sName == name)
{
_instance.sfc.sendXtMessage("zm", "getDrop", [item.ItemID], "str", _instance.world.curRoom);
trace("[ Auto-Pick Up ] : Get Drop packet successfully sent!");
break;
} else {
trace("[ Auto-pick up ] : Item not found!");
}
}
}
}
}
I'm trying to work with dark mystic source since it have a bot manager.
but whats wrong with the Get drop function that it just dont work for me... ?
thanks for your opinion, it's very appreciated.
have a nice day.