Torch + Organ Farmbot

07/30/2010 02:02 FoGzone#1
Quelle: [Only registered and activated users can see links. Click Here To Register...]

Script:
Code:
#
    //OrganFarmer put together by stairbuilder
    //a monkey with pretty colored multi shaped blocks production
    //look for credits in the comments
    //Thanks to Roflman who is always nice enough to let me bounce stuff off of him
    //THanks aslo to kiss me angel who's script inspired, and partially was stolen from to make this
    //thanks to Kolton for some ideas on duriel

    // modded by D2OD

function NTMain()
{
    Include("libs/common/NTCommon.ntl");
    NTC_IncludeLibs();
    NTC_IncludeConfig("NTBot/char_configs");

    NT_LoadConfig();

    NTSI_LoadNIPFiles("NTBot/item_configs");

    NTA_Initialize();

    Print("    ÿc;OrganFarmerPlusTorcher Start ");//s

    if(!NTTM_CheckAct(5))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
        return;
    }

    NTTMGR_TownManager();

    var KeyofTerror = me.GetItems("pk1");
    var KeyofHate = me.GetItems("pk2");
    var KeyofDestruction = me.GetItems("pk3");

    var mephistosbrain = me.GetItems("mbr");
    var baalseye = me.GetItems("bey");
    var diabloshorn = me.GetItems("dhn");

    if((!mephistosbrain || mephistosbrain.length < 1) || (!baalseye || baalseye.length < 1) || (!diabloshorn || diabloshorn.length < 1) || NTOF_CheckKeptTorch())
    {
        if(!NTOF_CheckKeptTorch())
            Print('Not enough organs => checking keys');
        else
            Print('Farming organs (i already have a torch) => checking keys!');

        if((!KeyofTerror || KeyofTerror.length < 3) || (!KeyofHate || KeyofHate.length < 3) || (!KeyofDestruction || KeyofDestruction.length < 3))
        {
            Print('Not enough keys => getting needed keys');
            if(!KeyofTerror || KeyofTerror.length < 3)
            {
                Print('I need '+(3-(KeyofTerror ? KeyofTerror.length : 0))+' keys of Terror. => Starting Countess!');
                if(!NTOF_KillCountess())
                {
                    //NTC_SendMsgToScript("NTBotGame.ntj", "NTOF_KillCountess()");
                    //return;
                }
                if(!NTTM_CheckAct())
                {
                    NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
                    return;
                }
                NTTMGR_TownManager();
            }

            if(!KeyofHate || KeyofHate.length < 3)
            {
                Print('I need '+(3-(KeyofHate ? KeyofHate.length : 0))+' keys of Hate. => Starting Summoner!');
                if(!NTOF_KillSummoner())
                {
                    //NTC_SendMsgToScript("NTBotGame.ntj", "NTOF_KillSummoner()");
                    //return;
                }
                if(!NTTM_CheckAct())
                {
                    NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
                    return;
                }
                NTTMGR_TownManager();
            }

            if(!KeyofDestruction || KeyofDestruction.length < 3)
            {
                Print('I need '+(3-(KeyofDestruction ? KeyofDestruction.length : 0))+' keys of Destruction. => Starting Nilhatack!');
                if(!NTOF_KillNilhatack())
                {
                    //NTC_SendMsgToScript("NTBotGame.ntj", "NTOF_KillNilhatack()");
                    //return;
                }
                if(!NTTM_CheckAct())
                {
                    NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
                    return;
                }
                NTTMGR_TownManager();
            }

            KeyofTerror = me.GetItems("pk1");
            KeyofHate = me.GetItems("pk2");
            KeyofDestruction = me.GetItems("pk3");

            if((!KeyofTerror || KeyofTerror.length < 3) || (!KeyofHate || KeyofHate.length < 3) || (!KeyofDestruction || KeyofDestruction.length < 3))
            {
                Print('Still not enough keys... => NextGame!');
                NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
                return;
            }
        }

        Print('I have enough keys => lets open the mini ubers!');
        if(!NTTM_CheckAct(5))
        {
            NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
            return;
        }

        NTConfig_AttackSkill[1] = 97; // smite

        NTConfig_MercLifeThresh = 0;
        NTConfig_MercRejuvThresh = 0; //won't waste pots on merc
        NTConfig_UseMerc = false; //won't revive merc now

        var open_mini_uber = true;
        while(open_mini_uber)
        {
            me.maxgametime = 3600; // 1 hour

            if(!NTTM_CheckAct(5))
            {
                NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
                return;
            }
            NTTMGR_TownManager();

            if(NTConfig_PreBuffFade && me.GetStat(181) < 1)// another rip off from kiss me angle, but it just was to good not to include
                NTOF_PreBuffFade();

            NTOF_CubeKeys();
            NTOF_EnterRedPortal();
            if(!NTOF_Kill_Mini_Uber())
            {
                //NTC_SendMsgToScript("NTBotGame.ntj", "NTOF_Kill_Mini_Uber()");
                //return;
            }
            if(!NTTM_CheckAct(5))
            {
                NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
                return;
            }
            NTTMGR_TownManager();

            mephistosbrain = me.GetItems("mbr");
            baalseye = me.GetItems("bey");
            diabloshorn = me.GetItems("dhn");

            if(mephistosbrain && mephistosbrain.length >= 1 && baalseye && baalseye.length >= 1 && diabloshorn && diabloshorn.length >= 1 && !NTOF_CheckKeptTorch())
                open_mini_uber = false;

            KeyofTerror = me.GetItems("pk1");
            KeyofHate = me.GetItems("pk2");
            KeyofDestruction = me.GetItems("pk3");

            if((!KeyofTerror || KeyofTerror.length < 1) || (!KeyofHate || KeyofHate.length < 1) || (!KeyofDestruction || KeyofDestruction.length < 1))
                open_mini_uber = false;
        }

        if((!mephistosbrain || mephistosbrain.length < 1) || (!baalseye || baalseye.length < 1) || (!diabloshorn || diabloshorn.length < 1))
        {
            Print('ÿc1How strange! I couldn\'t kill one of the mini uber??');
            Print('Still not enough organs... => NextGame!');
            NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
            return;
        }
    }

    if(mephistosbrain && mephistosbrain.length >= 1 && baalseye && baalseye.length >= 1 && diabloshorn && diabloshorn.length >= 1 && !NTOF_CheckKeptTorch())
    {
        // if(NTOF_CheckKeptTorch())
            // NTOF_Idle();

        me.maxgametime = 3600; // 1 hour

        NTConfig_AttackSkill[1] = 97; // smite

        NTConfig_MercLifeThresh = 0;
        NTConfig_MercRejuvThresh = 0; //won't waste pots on merc
        NTConfig_UseMerc = false; //won't revive merc now

        if(!NTTM_CheckAct(5))
        {
            NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
            return;
        }
        NTTMGR_TownManager();

        if(NTConfig_PreBuffFade && me.GetStat(181) < 1)// another rip off from kiss me angle, but it just was to good not to include
            NTOF_PreBuffFade();

        Print('Opening Uber Tristram!');
        NTOF_CubeOrgans();
        NTOF_EnterRedPortal();
        if(!NTOF_UberTristram())
        {
            NTC_SendMsgToScript("NTBotGame.ntj", "NTOF_UberTristram()");
            return;
        }
        if(!NTTM_CheckAct(5))
        {
            NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
            return;
        }
        NTOF_CheckKeptTorch();
    }

    NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}

// internal functions

function NTOF_EnterRedPortal()
{
    var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226))

    if(_portal)
    {
        while(GetDistance(me, _portal) > 15)
            _portal.GetNext();

        do
        {
            if(NTM_GetCloserInt(_portal))
                NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);

            NTC_Delay(100);

            if(me.areaid != 109)
                break;
        } while(_portal);
    }
}

function NTOF_Kill_Mini_Uber()
{
    if(me.areaid == 133)
    {
        Print("    ÿc;Killing Lillith")//i
        Print("    ÿc;2Love Those Boobs")

        return NTOF_KillUberLilith();
    }
    else if(me.areaid == 134)
    {
        Print("    ÿc;Killing Duriel")

        return NTOF_KillUberDuriel();
    }
    else if(me.areaid == 135)
    {
        Print("    ÿc;Killing Izzy")//r

        NTP_DoPrecast(true);

        if(NTConfig_SwitchTele)
            NTC_SwapWeapons(1);

        return NTOF_KillUberIzual();
    }
    else
    {
        Print("ÿc1I'm not in any mini uber level!");
        return false;
    }
}

function NTOF_CheckKeptTorch()
{
    var HellFireTorch = me.GetItems("cm2");
    if(HellFireTorch && HellFireTorch.length > 0)
    {
        Print("    ÿc!Already Have A Torch");
        if(NTSI_CheckItem(HellFireTorch[0]) == 0)
        {
            if(HellFireTorch[0].itemloc == 4)
            {
                // go find it in stash
                if(!NTTM_CheckAct(5))
                    return true;

                if(!NTTM_TownMove("stash"))
                    return true;
                var _stash;
                for(var i = 0 ; i < 10 ; i++)
                {
                    _stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);

                    if(_stash)
                        break;
                }
                if(!_stash)
                    return true;

                if(!NTT_DoInteract(_stash))
                    return true;

                NTT_ManageStash();

                // drop it
                if(NTC_ItemToCursor(HellFireTorch[0]))
                {
                    while(GetUIState(0x19))
                    {
                        me.Cancel(1);
                        NTC_Delay(500);
                    }

                    NTC_ClearCursor();
                }
                return false;
            }
            else if(HellFireTorch[0].itemloc == 0)
            {
                // drop it
                SetUIState(0x01);
                NTT_DropItem(HellFireTorch[0]);
                me.Cancel(1);

                return false;
            }
            else
            {
                // bug here :/ => where is the torch???
                Print("ÿc1uhhhh, where is my torch? : itemloc "+HellFireTorch[0].itemloc);
                return true;
            }

        }
        else if(NTSI_CheckItem(HellFireTorch[0]) == -1)
        {
            if(HellFireTorch[0].itemloc == 4)
            {
                // go find it in stash
                NTTM_CheckAct(5);
                NTTM_TownMove("stash");
                var _stash;
                for(var i = 0 ; i < 10 ; i++)
                {
                    _stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);

                    if(_stash)
                        break;
                }
                if(!_stash)
                    return false;

                if(!NTT_DoInteract(_stash))
                    return false;

                NTT_ManageStash();

                // pick up torch
                var _invspace = new Array(4);

                for(var y = 0 ; y < 4 ; y++)
                    _stashspace[y] = new Array(10);

                for(var y = 0 ; y < 4 ; y++)
                    for(var x = 0 ; x < 10 ; x++)
                        _stashspace[y][x] = NTConfig_Columns[y][x];

                _items = me.GetItems(0);

                if(_items)
                    for(var i = 0 ; i < _items.length ; i++)
                        for(var y = 0 ; y < _items[i].ysize ; y++)
                            for(var x = 0 ; x < _items[i].xsize ; x++)
                                _invspace[y+_items[i].y][x+_items[i].x] = 0;

                for(var y = 0 ; y < 4 ; y++)
                {
                    for(var x = 0 ; x < 10 ; x++)
                    {
                        var _havespace = true;
                        for(var torchysize = 0; torchysize < HellFireTorch[0].ysize; torchysize++)
                            for(var torchxsize = 0; torchxsize < HellFireTorch[0].xsize; torchxsize++)
                                if(_invspace[y+torchysize][x+torchxsize] == 0)
                                    _havespace = false;

                        if(_havespace)
                        {
                            if(NTC_ItemToCursor(HellFireTorch[0]))
                            {
                                for(n = 0 ; n < 80 ; n++)
                                {
                                    if((n % 40) == 0)
                                        me.ClickItem(0, x, y, 0);

                                    NTC_Delay(100);

                                    if(!me.itemoncursor)
                                       break;
                                }
                                NTC_PingDelay(200);
                            }
                        }
                    }
                }
                if(HellFireTorch[0].itemloc != 0)
                    return true;

                me.Cancel(1);

                // ID it
                NTTMGR_TownManager();
                return NTOF_CheckKeptTorch();
            }
            else if(HellFireTorch[0].itemloc == 0)
            {
                // ID it
                if(!NTTM_CheckAct(5))
                    return true;
                NTTMGR_TownManager();
                return NTOF_CheckKeptTorch();
            }
            else
            {
                // bug here :/ => where is the torch???
                Print("ÿc1uhhhh, where is my torch? : itemloc "+HellFireTorch[0].itemloc);
                return true;
            }
        }
        else
        {
            Print("I should keep that torch!");
            return true;
        }
    }
    return false;
}

function NTOF_UberTristram()
{
    NTP_DoPrecast(true);

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    var _old = NTConfig_AttackSkill[2];
    if(NTC_PutSkill(125, NTC_HAND_RIGHT))
        NTConfig_AttackSkill[2] = 125; // salvation

    var _tomeph = [25040,5101, 25040, 5166, 25122, 5173];//takes you to trap house 1/2 second delay then to kill spot

    for(i = 0; i < _tomeph.length; i += 2)
    {
        if(!NTM_MoveTo(me.areaid, _tomeph[i], _tomeph[i+1]))
            return false;

        NTC_Delay(1500);
    }

    if(!NTM_MoveTo(me.areaid, 25129, 5208)) // meph kill spot
        return false;

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    NTC_Delay(1000);

    var retry = 0;
    while(!NTA_KillMonster(704) && retry < 10) //meph
    {
        retry++;
        NTM_MoveTo(me.areaid,25122+retry, 5173-retry);
        Delay(1000);
        NTM_MoveTo(me.areaid, 25129, 5208); // meph kill spot
        Delay(800);
    }
    if(retry == 10)
        return false;

    NTConfig_AttackSkill[2] = _old;

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    if(!NTM_MoveTo(me.areaid, 25162, 5141)) // baal kill spot
        return false;

    NTC_Delay(2000);

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    if(!NTA_KillMonster(709))//baal
        return false;

    if(!NTA_KillMonster(705))//diablo
        return false;

    Print("ÿc!Thanks For The Torch!");

    NTSI_PickItems();

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    if(!NTM_MoveTo(me.areaid, 25103, 5141)) // back to portal
        return false;

    var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226))

    while(_portal)
    {
        if(NTM_GetCloserInt(_portal))
            NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);

        NTC_Delay(100);

        if(me.areaid != 136)
            break;
    }

    return true;
}

function NTOF_Idle()
{
    NTTM_CheckAct(5);
    while(true)
    {
        Print('I already have a good torch! I shouldn\'t open Uber Tristram... => Idle');
        NTTM_TownMove("stash");
        Delay(2500);
        NTTM_TownMove("Larzuk");
        Delay(2500);
    }
}

function NTOF_CubeKeys()
{
    var KeyofTerror = me.GetItems("pk1");
    var KeyofHate = me.GetItems("pk2");
    var KeyofDestruction = me.GetItems("pk3");
    var cube = me.GetItems(NTC_UNIT_CUBE);

    if(!KeyofTerror || KeyofTerror.length < 1 || !KeyofHate || KeyofHate.length < 1 || !KeyofDestruction || KeyofDestruction.length < 1 || !cube || cube.length < 1 || !NTTM_CheckAct(5))
        return false;

    var _cube = cube[0];

    // checking  if we have a keyset in inventory, or if we need to go to stash
    var terror_in_inv = false;
    for(var i = 0; i < KeyofTerror.length; i++)
    {
        if(KeyofTerror[i].itemloc == 0)
        {
            terror_in_inv = true;
            break;
        }
    }

    var hate_in_inv = false;
    for(var i = 0; i < KeyofHate.length; i++)
    {
        if(KeyofHate[i].itemloc == 0)
        {
            hate_in_inv = true;
            break;
        }
    }

    var dest_in_inv = false;
    for(var i = 0; i < KeyofDestruction.length; i++)
    {
        if(KeyofDestruction[i].itemloc == 0)
        {
            terror_in_inv = true;
            break;
        }
    }

    // checking if we have the cube in inventory
    var cube_in_inv = _cube.itemloc == 0;
    if(NTCU_CheckCubeInventoryInt() > 0)
        cube_in_inv = false; // we have something in the cube, we need to stash it.

    if(!(terror_in_inv && hate_in_inv && dest_in_inv && cube_in_inv))
    {
        // we need to go to stash
        NTTM_CheckAct(5);
        NTTM_TownMove("stash");
        var _stash;
        for(var i = 0 ; i < 10 ; i++)
        {
            _stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);

            if(_stash)
                break;
        }
        if(!_stash)
            return false;

        if(!NTT_DoInteract(_stash))
            return false;

        NTT_ManageStash();

        // empty the cube
        if(NTCU_CheckCubeInventoryInt() > 0)
        {
            if(!NTCU_OpenCubeInt(_cube))
                return false;

            if(NTCU_ClearCubeInt() < 1)
                return false;

            NTCU_CloseCubeInt();

            NTT_ManageStash();
        }

        // pick up cube
        if(_cube.itemloc != 0)
        {
            var _invspace = new Array(4);

            for(var y = 0 ; y < 4 ; y++)
                _invspace[y] = new Array(10);

            for(var y = 0 ; y < 4 ; y++)
                for(var x = 0 ; x < 10 ; x++)
                    _invspace[y][x] = 1;

            _items = me.GetItems();

            if(_items)
                for(var i = 0 ; i < _items.length ; i++)
                    if(_items[i].itemloc == 0)
                        for(var y = 0 ; y < _items[i].ysize ; y++)
                            for(var x = 0 ; x < _items[i].xsize ; x++)
                                _invspace[y+_items[i].y][x+_items[i].x] = 0;

            /*
            for(var y = 0 ; y < 4 ; y++)
            {
                var debug = "";
                for(var x = 0 ; x < 10 ; x++)
                    debug += _invspace[y][x];
                Print(debug);
            }
            */

            var _havespace = true;
            for(var y = 0 ; y < 4 ; y++)
            {
                for(var x = 0 ; x < 10 ; x++)
                {
                    _havespace = true;
                    for(var cubeysize = 0; cubeysize < _cube.ysize; cubeysize++)
                        for(var cubexsize = 0; cubexsize < _cube.xsize; cubexsize++)
                            if(y+cubeysize > 3 || x+cubexsize > 9 || _invspace[y+cubeysize][x+cubexsize] == 0)
                                _havespace = false;

                    if(_havespace)
                    {
                        if(NTC_ItemToCursor(_cube))
                        {
                            for(n = 0 ; n < 80 ; n++)
                            {
                                if((n % 40) == 0)
                                    me.ClickItem(0, x, y, 0);

                                NTC_Delay(100);

                                if(!me.itemoncursor)
                                   break;
                            }
                            NTC_PingDelay(200);
                        }
                        if(!me.itemoncursor)
                            break;
                    }
                }
                if(_havespace && !me.itemoncursor)
                    break;
            }
            if(_cube.itemloc != 0)
                return false;
        }

        // put the keys inside the cube
        //if(!NTCU_OpenCubeInt(_cube))
        //    return false;

        KeyofTerror = me.GetItems("pk1");
        KeyofHate = me.GetItems("pk2");
        KeyofDestruction = me.GetItems("pk3");

        for(var i = 0; i < KeyofTerror.length; i++)
        {
            if(terror_in_inv && KeyofTerror[i].itemloc == 4 && i < KeyofTerror.length - 1)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, KeyofTerror[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < KeyofHate.length; i++)
        {
            if(hate_in_inv && KeyofHate[i].itemloc == 4 && i < KeyofHate.length - 1)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, KeyofHate[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < KeyofDestruction.length; i++)
        {
            if(dest_in_inv && KeyofDestruction[i].itemloc == 4 && i < KeyofDestruction.length - 1)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, KeyofDestruction[i]))
                return false;
            else
                break;
        }

        //NTT_ManageStash();

        // close stash
        me.Cancel(1);
    }
    else
    {
        // open inventory
        SetUIState(0x01, true);

        // put the keys inside the cube
        //if(!NTCU_OpenCubeInt(_cube))
            //return false;

        KeyofTerror = me.GetItems("pk1");
        KeyofHate = me.GetItems("pk2");
        KeyofDestruction = me.GetItems("pk3");

        for(var i = 0; i < KeyofTerror.length; i++)
        {
            if(terror_in_inv && KeyofTerror[i].itemloc == 4)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, KeyofTerror[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < KeyofHate.length; i++)
        {
            if(hate_in_inv && KeyofHate[i].itemloc == 4)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, KeyofHate[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < KeyofDestruction.length; i++)
        {
            if(dest_in_inv && KeyofDestruction[i].itemloc == 4)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, KeyofDestruction[i]))
                return false;
            else
                break;
        }

        //NTCU_CloseCubeInt();

        // close inventory
        me.Cancel(1);
    }

    // moving to an openPortal spot
    NTOF_MoveToOpenRedPortalSpot();

    // open inventory
    SetUIState(0x01, true);

    // open cube
    if(!NTCU_OpenCubeInt(_cube))
        return false;

    // transmute
    if(!Transmute())
    {
        NTCU_CloseCubeInt();
        me.Cancel(1);
        return false;
    }

    NTC_PingDelay(800);
    NTCU_CloseCubeInt();
    me.Cancel(1);
    return true;
}

function NTOF_CubeOrgans()
{
    var mephistosbrain = me.GetItems("mbr");
    var baalseye = me.GetItems("bey");
    var diabloshorn = me.GetItems("dhn");
    var cube = me.GetItems(NTC_UNIT_CUBE);

    if(!mephistosbrain || mephistosbrain.length < 1 || !baalseye || baalseye.length < 1 || !diabloshorn || diabloshorn.length < 1 || !cube || cube.length < 1 || !NTTM_CheckAct(5))
        return false;

    var _cube = cube[0];

    // checking  if we have a keyset in inventory, or if we need to go to stash
    var diabloshorn_in_inv = false;
    for(var i = 0; i < diabloshorn.length; i++)
    {
        if(diabloshorn[i].itemloc == 0)
        {
            diabloshorn_in_inv = true;
            break;
        }
    }

    var mephistosbrain_in_inv = false;
    for(var i = 0; i < mephistosbrain.length; i++)
    {
        if(mephistosbrain[i].itemloc == 0)
        {
            mephistosbrain_in_inv = true;
            break;
        }
    }

    var baalseye_in_inv = false;
    for(var i = 0; i < baalseye.length; i++)
    {
        if(baalseye[i].itemloc == 0)
        {
            baalseye_in_inv = true;
            break;
        }
    }

    // checking if we have the cube in inventory
    var cube_in_inv = _cube.itemloc == 0;
    if(NTCU_CheckCubeInventoryInt() > 0)
        cube_in_inv = false; // we have something in the cube, we need to stash it.

    if(!(diabloshorn_in_inv && mephistosbrain_in_inv && baalseye_in_inv && cube_in_inv))
    {
        // we need to go to stash
        NTTM_CheckAct(5);
        NTTM_TownMove("stash");
        var _stash;
        for(var i = 0 ; i < 10 ; i++)
        {
            _stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);

            if(_stash)
                break;
        }
        if(!_stash)
            return false;

        if(!NTT_DoInteract(_stash))
            return false;

        NTT_ManageStash();

        // empty the cube
        if(NTCU_CheckCubeInventoryInt() > 0)
        {
            if(!NTCU_OpenCubeInt(_cube))
                return false;

            if(NTCU_ClearCubeInt() < 1)
                return false;

            NTCU_CloseCubeInt();

            NTT_ManageStash();
        }

        // pick up cube
        if(_cube.itemloc != 0)
        {
            var _invspace = new Array(4);

            for(var y = 0 ; y < 4 ; y++)
                _invspace[y] = new Array(10);

            for(var y = 0 ; y < 4 ; y++)
                for(var x = 0 ; x < 10 ; x++)
                    _invspace[y][x] = 1;

            _items = me.GetItems();

            if(_items)
                for(var i = 0 ; i < _items.length ; i++)
                    if(_items[i].itemloc == 0)
                        for(var y = 0 ; y < _items[i].ysize ; y++)
                            for(var x = 0 ; x < _items[i].xsize ; x++)
                                _invspace[y+_items[i].y][x+_items[i].x] = 0;

            var _havespace = true;
            for(var y = 0 ; y < 4 ; y++)
            {
                for(var x = 0 ; x < 10 ; x++)
                {
                    _havespace = true;
                    for(var cubeysize = 0; cubeysize < _cube.ysize; cubeysize++)
                        for(var cubexsize = 0; cubexsize < _cube.xsize; cubexsize++)
                            if(y+cubeysize > 3 || x+cubexsize > 9 || _invspace[y+cubeysize][x+cubexsize] == 0)
                                _havespace = false;

                    if(_havespace)
                    {
                        if(NTC_ItemToCursor(_cube))
                        {
                            for(n = 0 ; n < 80 ; n++)
                            {
                                if((n % 40) == 0)
                                    me.ClickItem(0, x, y, 0);

                                NTC_Delay(100);

                                if(!me.itemoncursor)
                                   break;
                            }
                            NTC_PingDelay(200);
                        }
                        if(!me.itemoncursor)
                            break;
                    }
                }
                if(_havespace && !me.itemoncursor)
                    break;
            }
            if(_cube.itemloc != 0)
                return false;
        }

        // put the keys inside the cube
        //if(!NTCU_OpenCubeInt(_cube))
            //return false;

        mephistosbrain = me.GetItems("mbr");
        baalseye = me.GetItems("bey");
        diabloshorn = me.GetItems("dhn");

        for(var i = 0; i < mephistosbrain.length; i++)
        {
            if(mephistosbrain_in_inv && mephistosbrain[i].itemloc == 4 && i < mephistosbrain.length - 1)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, mephistosbrain[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < baalseye.length; i++)
        {
            if(baalseye_in_inv && baalseye[i].itemloc == 4 && i < baalseye.length - 1)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, baalseye[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < diabloshorn.length; i++)
        {
            if(diabloshorn_in_inv && diabloshorn[i].itemloc == 4 && i < diabloshorn.length - 1)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, diabloshorn[i]))
                return false;
            else
                break;
        }

        //NTCU_CloseCubeInt();

        //NTT_ManageStash();

        // close stash
        me.Cancel(1);
    }
    else
    {
        // open inventory
        SetUIState(0x01, true);

        // put the keys inside the cube
        //if(!NTCU_OpenCubeInt(_cube))
            //return false;

        mephistosbrain = me.GetItems("mbr");
        baalseye = me.GetItems("bey");
        diabloshorn = me.GetItems("dhn");

        for(var i = 0; i < mephistosbrain.length; i++)
        {
            if(mephistosbrain[i].itemloc == 4)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, mephistosbrain[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < baalseye.length; i++)
        {
            if(baalseye[i].itemloc == 4)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, baalseye[i]))
                return false;
            else
                break;
        }

        for(var i = 0; i < diabloshorn.length; i++)
        {
            if(diabloshorn[i].itemloc == 4)
                continue;

            if(!NTCU_MoveItemToCubeInt(_cube, diabloshorn[i]))
                return false;
            else
                break;
        }

        //NTCU_CloseCubeInt();

        // close inventory
        me.Cancel(1);
    }

    // moving to an openPortal spot
    NTOF_MoveToOpenRedPortalSpot();

    // open inventory
    SetUIState(0x01, true);

    // open cube
    if(!NTCU_OpenCubeInt(_cube))
        return false;

    // transmute
    if(!Transmute())
    {
        NTCU_CloseCubeInt();
        me.Cancel(1);
        return false;
    }

    NTC_PingDelay(800);
    NTCU_CloseCubeInt();
    me.Cancel(1);
    return true;
}

var red_portal_spots = ["larzuk", "cain", "qual-kehk", "malah"];
var red_portal_index = 0;
function NTOF_MoveToOpenRedPortalSpot()
{
    var _result = NTTM_TownMove(red_portal_spots[red_portal_index]);
    red_portal_index++;
    if(red_portal_index > red_portal_spots.length - 1)
        red_portal_index = 0;
    return _result;
}

function NTOF_KillUberLilith()
{
    NTP_DoPrecast(true);

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 397, 2, 2))
        return false;

    if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
        return false;

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    if(!NTA_KillMonster(707))
        return false;

    NTC_PingDelay(100);
    Print("    ÿc;Thanks for the Horn")
    NTC_PingDelay(100);
    NTSI_PickItems();

    return true;
}

function NTOF_KillUberIzual()
{
    NTP_DoPrecast(true);

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 397, 2, 2))
        return false;

    if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
        return false;

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    if(!NTA_KillMonster(706))
        return false;

    NTC_PingDelay(100);
    Print("    ÿc;Thanks for the Brain")
    NTC_PingDelay(200);
    NTSI_PickItems();

    return true;
}

function NTOF_KillUberDuriel()
{
    NTP_DoPrecast(true);

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    if(!NTOF_FindUberDuriel())
        return false;

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    var UberDuriel = NTC_FindMonster(708);

    if(!UberDuriel)
        return false;

    if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
        return false;

    NTM_MoveTo(me.areaid, UberDuriel.x, UberDuriel.y);

    if(!NTA_KillMonster(708))
        return false;

    NTC_PingDelay(100);
    Print("    ÿc;Thanks for the Eye")
    NTC_PingDelay(200);
    NTSI_PickItems();

    return true;
}

function NTOF_FindUberDuriel()
{
    var FindLoc = [20196, 8694, 20308, 8588, 20187, 8639, 20100, 8550, 20103, 8688, 20144, 8709, 20263, 8811, 20247, 8665];

    var _teleport;
    var _path;
    var _result;

    for(var k = 0 ; k < FindLoc.length; k+=2)
    {
        if(NTC_InTown() || NTC_GetSkillLevel(54) < 1)
            _teleport = false;
        else
            _teleport = true;

        _path = GetPath(me.areaid, me.x, me.y, FindLoc[k], FindLoc[k+1], _teleport);

        if(_path)
        {
            for(var i = 0 ; i < _path.length ; i++)
            {
                if(_teleport)
                    _result = NTM_TeleportTo(_path[i][0], _path[i][1]);
                else
                    _result = NTM_WalkTo(_path[i][0], _path[i][1]);

                if(NTC_FindMonster(708))
                    return true;
            }
        }
    }

    return false;
}

function NTC_FindMonster(classid, spectype)
{
    var _monster;

    if(arguments.length < 1)
        return null;

    if(arguments.length < 2)
        spectype = 0;

    for(var i = 0 ; i < 2 ; i++)
    {
        _monster = GetUnit(NTC_UNIT_MONSTER, classid);

        if(_monster)
        {
            if(spectype)
            {
                do
                {
                    if(_monster.spectype & spectype)
                        return _monster;
                } while(_monster.GetNext());
            }
            else
                return _monster;
        }

        if(i < 1)
            NTC_PingDelay(NTC_DELAY_FRAME);
    }

    return null;
}

function NTOF_PreBuffFade()
{
    var _result = false;
    if(NTTM_CheckAct())
    {
        if(NTTM_TownMove("waypoint"))
        {
            if(NTM_TakeWaypoint(107))
            {
                NTP_DoPrecast(true);

                NTM_MoveTo(me.areaid, 7811, 5872);

                Print("ÿc;Getting Buffed");

                var timer = 0;
                while(timer < 60001) // 1 min max
                {
                    if(me.GetStat(181) > 0)
                    {
                        Print("ÿc;There's Our Fade");
                        _result = true;
                        break;
                    }

                    NTC_Delay(200);
                    timer += 200;
                }
                if(timer > 60000)
                    Print("It was too long, moving on!");
                if(NTTM_CheckAct(5))
                    NTTMGR_TownManager();
            }
        }
    }
    return _result;
}

function NTOF_KillCountess()
{
    var _countess;

    if(!NTTM_TownMove("waypoint"))
        return false;

    if(!NTM_TakeWaypoint(6))
        return false;

    NTP_DoPrecast(true);

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    for(var i = 0 ; i < 6 ; i++)
    {
        if(!NTM_MoveToStair(me.areaid, 20+i))
            return false;

        if(!NTM_TakeStair(20+i))
            return false;
    }

    if(NTConfig_ClearPosition)
    {
        if(NTConfig_SwitchTele)
            NTC_SwapWeapons(0);
        NTA_ClearPosition(10, true, 2);
        if(NTConfig_SwitchTele)
            NTC_SwapWeapons(1);
    }

    if(me.y > 11060 && me.y <= 11078)
    {
        if(!NTM_MoveTo(me.areaid, 12544, 11066))
            return false;
    }
    else
    {
        if(!NTM_MoveTo(me.areaid, 12570, 11057))
            return false;
    }

    _countess = NTC_FindUnit(NTC_UNIT_MONSTER, GetLocaleString(2875), 5);
    if(!_countess)
        return false;

    if(me.y > 11060 && me.y <= 11078)
    {
        if(_countess.y <= 11054)
            NTM_MoveTo(me.areaid, 12537, 11042);

        if(_countess.y > 11056 && _countess.y <= 11070)
        {
            if(_countess.x < 12533)
                NTM_MoveTo(me.areaid, 12518, 11057);
            else
                NTM_MoveTo(me.areaid, 12548, 11057);
        }

        if(_countess.y > 11070 && _countess.y <= 11085)
        {
            if(_countess.x < 12533)
                NTM_MoveTo(me.areaid, 12518, 11083);
            else
                NTM_MoveTo(me.areaid, 12548, 11083);
        }

        if(_countess.y > 11086)
            NTM_MoveTo(me.areaid, 12542, 11098);
    }
    else
    {
        if(_countess.x <= 12550)
        {
            NTM_MoveTo(me.areaid, 12562, 11057);
            NTM_MoveTo(me.areaid, 12548, 11043);
        }

        if(_countess.x > 12550 && _countess.x <= 12561)
        {
            if(_countess.y < 11027)
                NTM_MoveTo(me.areaid, 12577, 11043);
            else
            {
                NTM_MoveTo(me.areaid, 12565, 11043);
                NTM_MoveTo(me.areaid, 12577, 11025);
            }
        }

        if(_countess.x > 12561 && _countess.x <= 12579)
        {
            if(_countess.y < 11027)
                NTM_MoveTo(me.areaid, 12555, 11043);
            else
            {
                NTM_MoveTo(me.areaid, 12565, 11043);
                NTM_MoveTo(me.areaid, 12555, 11025);
            }
        }

        if(_countess.x > 12579)
        {
            NTM_MoveTo(me.areaid, 12578, 11057);
            NTM_MoveTo(me.areaid, 12582, 11043);
        }
    }

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    if(!NTA_KillMonster(GetLocaleString(2875)))
        return false;

    if(NTConfig_ClearPosition)
        NTA_ClearPosition();

    NTSI_PickItems();

    if(NTConfig_OpenChest)
    {
        if(NTConfig_SwitchTele)
            NTC_SwapWeapons(1);

        if(!NTM_MoveToStair(me.areaid, 24))
            return false;

        if(me.areaid, me.x > 12565 && me.y > 11127)
        {
            if(!NTM_MoveTo(me.areaid, 12515, 11099))
                NTM_MoveTo(me.areaid, 12603, 11014);
        }

        var _armor;
        _armor = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3247), 1);
        NTC_OpenChest(_armor);

        var _weapon;
        _weapon = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3248), 1);
        NTC_OpenChest(_weapon);
    }

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    return true;
}

function NTOF_KillSummoner()
{
    if(!NTTM_TownMove("waypoint"))
        return false;

    if(!NTM_TakeWaypoint(74))
        return false;

    NTP_DoPrecast(true);

    if(NTConfig_KillFireEye)
    {
        if(NTM_TakeUnit(NTC_UNIT_OBJECT, 298))
        {
            if(NTA_KillMonster(GetLocaleString(2885)))
            {
                if(NTConfig_ClearPosition)
                    NTA_ClearPosition();

                NTSI_PickItems();
            }

            if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 298))
                return false;

            if(!NTM_TakeUnit(NTC_UNIT_OBJECT, 298))
                return false;
        }
    }

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 357, 2, 2))
        return false;

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
        return false;

    if(!NTA_KillMonster(250))
        return false;

    if(NTConfig_ClearPosition)
        NTA_ClearPosition();

    NTSI_PickItems();

    return true;
}

var _NTNihlathak_Locations = new Array(8, 4);

_NTNihlathak_Locations[0] = [12519, 5203, 12522, 5227]; // Top Left
_NTNihlathak_Locations[1] = [12704, 5019, 12692, 5022]; // Top Right
_NTNihlathak_Locations[2] = [12705, 5391, 12723, 5413]; // Bottom Right
_NTNihlathak_Locations[3] = [12889, 5206, 12898, 5228]; // Bottom Left
_NTNihlathak_Locations[4] = [12519, 5203, 12522, 5196]; // Top Left
_NTNihlathak_Locations[5] = [12704, 5019, 12692, 5413]; // Top Right
_NTNihlathak_Locations[6] = [12705, 5391, 12727, 5022]; // Bottom Right
_NTNihlathak_Locations[7] = [12889, 5206, 12898, 5192]; // Bottom Left

function NTOF_KillNilhatack()
{
    if(!NTTM_TownMove("waypoint"))
        return false;

    if(!NTM_TakeWaypoint(123))
    {
        me.Cancel(1);
        if(!NTTM_CheckAct(5))
            return false;

        NTConfig_PindleskinExtension = false;

        if(!NTTM_TownMove("portal"))
            return false;

        if(!NTM_UsePortal("Portal", 121))
            return false;

        NTP_DoPrecast(true);

        if(!NTM_MoveTo(me.areaid, 10061, 13234))
            return false;

        if(NTA_KillMonster(GetLocaleString(22497)))
        {
            if(NTConfig_ClearPosition)
                NTA_ClearPosition();

            NTSI_PickItems();
        }

        if(NTConfig_SwitchTele)
            NTC_SwapWeapons(1);

        if(!NTM_MoveToStair(me.areaid, 122))
            return false;

        if(!NTM_TakeStair(122))
            return false;

        if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
            return false;

        if(!NTM_MoveToStair(me.areaid, 123))
            return false;

        if(!NTM_TakeStair(123))
            return false;
    }

    NTP_DoPrecast(true);

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(1);

    if(!NTM_MoveToStair(me.areaid, 124))
        return false;

    if(!NTM_TakeStair(124))
        return false;

    _location = NT_FindNihlathakInt();

    if(_location == -1)
        return false;

    if(!NTM_MoveTo(me.areaid, _NTNihlathak_Locations[_location][2], _NTNihlathak_Locations[_location][3]))
        return false;

    if(NTConfig_SwitchTele)
        NTC_SwapWeapons(0);

    if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
        return false;

    if(NTA_KillMonster(526))
    {
        if(NTConfig_ClearPosition)
            NTA_ClearPosition();

        NTSI_PickItems();
    }
    else
    {
        return false;
    }

    if(NTConfig_PindleskinExtension)
    {
        for(var i = 0 ; i < 2 ; i++)
        {
            if(!NTM_MoveToStair(me.areaid, 123-i))
                return true;

            if(!NTM_TakeStair(123-i))
                return true;
        }

        if(!NTM_MoveToStair(me.areaid, 121))
            return true;

        if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
            return true;

        NTP_DoPrecast(false);

        if(!NTM_TakeStair(121))
            return true;

        if(!NTM_MoveTo(me.areaid, 10061, 13234))
            return true;

        if(!NTA_KillMonster(GetLocaleString(22497)))
            return true;

        if(NTConfig_ClearPosition)
            NTA_ClearPosition();

        NTSI_PickItems();
    }

    return true;
}

function NT_FindNihlathakInt()
{
    var i, x, y;
    var _nihlathak;
    var _mindist = 999999;
    var _currdist;
    var _location = -1;

    _nihlathak = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT, 462);

    if(!_nihlathak || _nihlathak.length < 1)
        return _location;

    x = _nihlathak[0].roomx*5 + _nihlathak[0].x;
    y = _nihlathak[0].roomy*5 + _nihlathak[0].y;

    for(i = 0 ; i < 8 ; i++)
    {
        _currdist = GetDistance(_NTNihlathak_Locations[i][0], _NTNihlathak_Locations[i][1], x, y);

        if(_currdist < _mindist)
        {
            _mindist = _currdist;
            _location = i;
        }
    }

    return _location;
}
Das hier in die Charconfig:

Code:
NTConfig_Script.push("NTEldritch.ntj"); NTConfig_ShenkExtension = true;
    NTConfig_Script.push("NTOrganFarmerPlusTorcher.ntj");
        NTConfig_SwitchTele = true; // use tab1 for teleport (and switch back to tab0 after)
        NTConfig_PreBuffFade = true; // set to true only if you have LastWish on tab0
    NTConfig_Script.push("NTTravincal.ntj");
Eld is für Regenartionstränke und Travi für gamelänge.
Chicken solltet ihr auch auf ca 5% stellen, da der bot sonst sehr schnell bei Meppl und Andy leavt
07/30/2010 03:39 Vilsa-Limette#2
ne genaue beschreibung was der bot macht?
mit welchem char macht man das am besten??
07/30/2010 08:52 baydiver#3
wär nett, wenn es dafür ne musterausrüstung(+char) gibt... und man in der cfg auswählen könnt, ob man nur organe farmen will oder beides(mein smiter hat halt für utrist lieber die coh an und ich mach das manuell(keine lust wegen nem möglichen chicken n keyset zu verlieren))...für organe könnt man sicherlich auch ne kickse, frenzy, shaper oder so nehmen...denke einzig sorc könnte da probleme haben
07/30/2010 09:23 FoGzone#4
wenn man sich allein die ersten paar zeilen vom script anschaut würdet ihr gleich sehen was er macht.
Er checkt ob ihr keys/organe in der stash habt und macht dann ut
Sollten nicht genug organe/keys vorhanden sein macht er keyruns bis er das keyset hat, dann holt er die organe und die torch....

In dem topic hat er nen smiter vorgeschlagen mit teleswitch (fc eq aufm 2nd slot).

Wegen dem eq:
stink normaler smiter mit lastwish als waffe (wegen fade; den bot kann man auch einstellen, dass er erst loslegt, wenn fade angecastet is)
07/30/2010 12:31 Bill D'Schirmschoner#5
Quote:
Originally Posted by Knutschkugel View Post
Wegen dem eq:
stink normaler smiter mit lastwish als waffe (wegen fade; den bot kann man auch einstellen, dass er erst loslegt, wenn fade angecastet is)

Lohnt das dann überhaupt noch oO Da muss der ja schon ne 20/20 Pally torch finden^^
07/30/2010 12:46 FoGzone#6
Quote:
Originally Posted by grozet View Post
Lohnt das dann überhaupt noch oO Da muss der ja schon ne 20/20 Pally torch finden^^
lohnt es sich dann überhaupt nen mf pala zu bauen?

man muss immer vorher in was investieren bevor es sich lohnt oder meinst du das gute zeug wächst auf bäumen?
Denk bitte vorher erstmal nach bevor du so nen sinnlosen post machst -.-
07/30/2010 13:20 co_cain#7
hi,

funzt einmanfrei hab schon ne 18/19 baba 19/19 assa gefarmt^^heut wird nur ut gemacht vieleicht bekomm ich ja meine 20/20 soso oder pala t^^
07/30/2010 13:27 Bill D'Schirmschoner#8
Quote:
Originally Posted by Knutschkugel View Post
lohnt es sich dann überhaupt nen mf pala zu bauen?

man muss immer vorher in was investieren bevor es sich lohnt oder meinst du das gute zeug wächst auf bäumen?
Denk bitte vorher erstmal nach bevor du so nen sinnlosen post machst -.-
Ich find da lastwish halt einfach etwas übertrieben ;) Nen gutes Grief reicht ja vollkommen aus um Ut zu machen....

Und Mf Sorcs lohnen sich auch viel mehr als Mf Palas ;)
07/30/2010 14:11 FoGzone#9
die Ut smiterwaffen diskussion findet hier statt -.-
[Only registered and activated users can see links. Click Here To Register...]
07/30/2010 14:26 Bill D'Schirmschoner#10
Quote:
Originally Posted by Knutschkugel View Post
die Ut smiterwaffen diskussion findet hier statt -.-
[Only registered and activated users can see links. Click Here To Register...]
Ok, vll sollte ich mal anders fragen ;)

Braucht der Bot bei diesem Script unbedingt nen Last Wish (das kam so in deinem Post hervor) oder ist es auch möglich andere Waffen wie z.B. ein Grief zu benutzen?
07/30/2010 14:54 ek654#11
wichtig is ein eni und teleswitch FCR eq. (Zauberdorn & Spirit) der rest sollt einfach UT fähig sein.

und ich denke man sollte das in der pickit haben:

Code:
[Name] == keyofterror
[Name] == keyofhate
[Name] == keyofdestruction

[Name] == baal'seye
[Name] == mephisto'sbrain
[Name] == diablo'shorn

[Name] == LargeCharm && [Quality] == unique # [ItemAddPaladinSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddAmazonSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddSorceressSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddNecromancerSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddBarbarianSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddDruidSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddAssassinSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18

[Name] == HoradricCube

[COLOR="Red"]Diesen eintrag auskommentieren -->[/COLOR]
//[Name] == LargeCharm && [Quality] == unique //
Torch mit stats eintragen!


die Attacks richtig eintragen nicht vergessen:
Code:
   //------------------------------------------------------------------------------
   // Attack configuration
   //------------------------------------------------------------------------------
   NTConfig_AttackSkill[0] = 0;   // First skill. Set to 0 if you won't
   NTConfig_AttackSkill[1] = 106;   // Primary skill to boss.
   NTConfig_AttackSkill[2] = 122;   // Primary aura to boss. Set to 0 if you won't
   NTConfig_AttackSkill[3] = 106;   // Primary skill to others.
   NTConfig_AttackSkill[4] = 122;   // Primary aura to others. Set to 0 if you won't
   NTConfig_AttackSkill[5] = 0;   // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
   NTConfig_AttackSkill[6] = 0;   // Secondary aura. Set to 0 if you won't
   NTConfig_ClearPosition = false;   // Set to true if you want to clear area after killing boss.
07/30/2010 21:07 FoGzone#12
Quote:
Originally Posted by ek654 View Post
wichtig is ein eni und teleswitch FCR eq. (Zauberdorn & Spirit) der rest sollt einfach UT fähig sein.

und ich denke man sollte das in der pickit haben:

Code:
[Name] == keyofterror
[Name] == keyofhate
[Name] == keyofdestruction

[Name] == baal'seye
[Name] == mephisto'sbrain
[Name] == diablo'shorn

[Name] == LargeCharm && [Quality] == unique # [ItemAddPaladinSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddAmazonSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddSorceressSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddNecromancerSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddBarbarianSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddDruidSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18
[Name] == LargeCharm && [Quality] == unique # [ItemAddAssassinSkills] == 3 && [FireResist] >= 18 && [Strength] >= 18

[Name] == HoradricCube

[COLOR="Red"]Diesen eintrag auskommentieren -->[/COLOR]
//[Name] == LargeCharm && [Quality] == unique //
Torch mit stats eintragen!


die Attacks richtig eintragen nicht vergessen:
Code:
   //------------------------------------------------------------------------------
   // Attack configuration
   //------------------------------------------------------------------------------
   NTConfig_AttackSkill[0] = 0;   // First skill. Set to 0 if you won't
   NTConfig_AttackSkill[1] = 106;   // Primary skill to boss.
   NTConfig_AttackSkill[2] = 122;   // Primary aura to boss. Set to 0 if you won't
   NTConfig_AttackSkill[3] = 106;   // Primary skill to others.
   NTConfig_AttackSkill[4] = 122;   // Primary aura to others. Set to 0 if you won't
   NTConfig_AttackSkill[5] = 0;   // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
   NTConfig_AttackSkill[6] = 0;   // Secondary aura. Set to 0 if you won't
   NTConfig_ClearPosition = false;   // Set to true if you want to clear area after killing boss.
aber nicht vergessen, dass der bot mit dieser attack-einstellung die normalen mobs mit Zeal angreift ;)


Das LW is kein muss, sonst würde man wohl ned einstellen können, dass er ned auf fade wartet =)
07/30/2010 22:15 co_cain#13
hi,

der bot hat, weil ich rumgespielt habe^^ 2 portale übereinander geöffnet.es gab da mal ein prog dass die portale wieder nebeneinander stellt.weiss einer welches das war und ob es noch funzt?danke

mfg

OK1 HAT SICH ERLEDIGT HABS IRGENDWIE GESCHAFFT IN BEIDE PORTALE REINZUKOMMEN^^
07/31/2010 00:01 FoGzone#14
Quote:
Originally Posted by co_cain View Post
hi,

der bot hat, weil ich rumgespielt habe^^ 2 portale übereinander geöffnet.es gab da mal ein prog dass die portale wieder nebeneinander stellt.weiss einer welches das war und ob es noch funzt?danke

mfg

OK1 HAT SICH ERLEDIGT HABS IRGENDWIE GESCHAFFT IN BEIDE PORTALE REINZUKOMMEN^^
du sollst doch ned an der config rumspielen :D
lohnt sich das ganze eig?
07/31/2010 02:26 co_cain#15
Quote:
du sollst doch ned an der config rumspielen
lohnt sich das ganze eig?
hab net an der config rumgespielt!! ich habe nachdem er das erste portal geöffnet hat, pause gedrückt. da mir aufgefallen ist dass er sich kein mana gekauft hat.hab mir mana gekauft und wieder pause gedrückt.bot fing von vorne an und hat das portal direkt über dem 1. geöffnet.

lohnen????hmmm eigendlich net, aber ich hab ne menge keys und nen smiter.also lass ich einfach mal laufen und gugg was kommt^^

mfg