Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 1,281
» Latest member: smack
» Forum threads: 138
» Forum posts: 672

Full Statistics

Online Users
There are currently 42 online users.
» 0 Member(s) | 42 Guest(s)

Latest Threads
Rotation Framework
Forum: Bot Base
Last Post: xiaopao
03-06-2023, 10:48 AM
» Replies: 1
» Views: 5,502
Classic - oGasai 2.1.23 -...
Forum: Bot Base
Last Post: sonusood
10-08-2022, 04:44 PM
» Replies: 155
» Views: 282,060
Resurrecting
Forum: Support
Last Post: sonusood
10-08-2022, 04:16 PM
» Replies: 1
» Views: 3,066
Bot functions (for 2.1.7)
Forum: Script development - Lua ressources
Last Post: sonusood
10-08-2022, 03:47 PM
» Replies: 7
» Views: 15,885
how to load a script?
Forum: Support
Last Post: sonusood
10-08-2022, 03:18 PM
» Replies: 5
» Views: 9,913
Mage 1.8
Forum: Mage
Last Post: sonusood
10-08-2022, 02:29 PM
» Replies: 3
» Views: 6,405
Auto delete all grey item...
Forum: Support
Last Post: sonusood
10-08-2022, 01:54 PM
» Replies: 3
» Views: 5,977
My own: assign target fun...
Forum: Support
Last Post: sonusood
10-08-2022, 12:59 PM
» Replies: 1
» Views: 3,811
Hunter Rotation v1.5c
Forum: Hunter
Last Post: sonusood
10-08-2022, 11:59 AM
» Replies: 7
» Views: 13,770
Functions for logging out...
Forum: General
Last Post: sonusood
10-08-2022, 10:52 AM
» Replies: 2
» Views: 7,430

 
  Resurrecting
Posted by: meegadoo - 11-26-2017, 12:28 AM - Forum: Support - Replies (1)

Hey im having issues when i die and run back to my corpse some how the bot will go past my corpse and not resurrect and just sit there dead like not far at all from my body. Please help thank you


  Bot functions (for 2.1.7)
Posted by: zerger - 11-21-2017, 09:01 AM - Forum: Script development - Lua ressources - Replies (7)

Wow APIs:
http://wowwiki.wikia.com/wiki/World_of_W...did=293138 version of October 2006

oGasai APIs:
[WoWUnits]
WoWUnits:FaceTarget([bool] skipCheck = false)
WoWUnits:GetDistance() [number] distance
WoWUnits:HasDebuff([string] spellName) [bool]
WoWUnits:HasBuff([string] spellName) [bool]
WoWUnits:TargetEnemy() [bool]
WoWUnits:IsTargetingMe() [bool]
WoWUnits:GetDebuffStacks([string] spellName) [number] debuffStacks
WoWUnits:GetBuffStacks([string] spellName) [number] buffStacks
WoWUnits:IsSpellInRange([string] spellName) [bool]
WoWUnits:CanAttack() [bool]
WoWUnits:IsDead() [bool]
WoWUnits:GetHealth() [number]
WoWUnits:GetHealthPercentage() [number]
WoWUnits:GetMana() [number]
WoWUnits:GetManaPercentage() [number]
WoWUnits:GetRage() [number]
WoWUnits:GetRagePercentage() [number]
WoWUnits:GetFocus() [number]
WoWUnits:GetRagePercentage() [number]
WoWUnits:GetEnergy() [number]
WoWUnits:GetEnergyPercentage() [number]
WoWUnits:GetComboPoints() [number]
WoWUnits:GetLevel() [number]
WoWUnits:GetPosition() [number] x, [number] y, [number] z
WoWUnits:HasRangedWeapon() [bool]
WoWUnits:IsMovementDisabed() [bool]
WoWUnits:IsFleeing() [bool]
WoWUnits:IsConfused() [bool]
WoWUnits:IsStunned() [bool]
WoWUnits:GetCreatureType() [string]
WoWUnits:GetCreatureTypeIndex() [number]
WoWUnits:IsInLineOfSight() [bool]
WoWUnits:IsTapped() [bool]
WoWUnits:IsTappedByMe() [bool]
WoWUnits:IsSkinnable() [bool]
WoWUnits:IsCritter() [bool]
WoWUnits:GetUnitsTarget() [WoWUnits*] pObject
WoWUnits:UnitInteract() [bool]
WoWUnits:CastSpell([string] spellName) [bool])
WoWUnits:GetFieldFlags() [number]
WoWUnits:IsLootable() [bool]
WoWUnits:GetGUID() [string] GUID
WoWUnits:GetPointer() [nmber]
-- returns native pointer to object, used more for dev debugging
WoWUnits:IsChanneling() [bool]
WoWUnits:GetChanneling() [number] spellId
WoWUnits:IsCasting() [bool]
WoWUnits:GetCasting() [number] spellId
WoWUnits:GetClassification() [number] type
-- Normal = 0
-- Elite = 1 
-- RareElite = 2 
-- WorldBoss = 3 
-- Rare = 4
WoWUnits:GetUnitName() [string]
-- returns name of unit
WoWUnits:CastSpellById([number] spellId) [bool]
PersistLoadingScreen(true) -- the bot restarts itself after a loading screen (dungeon or boat) but variables are cleared

[WoWGameObject]
WoWGameObject:FaceTarget([bool] skipCheck = false)
WoWGameObject:GetCreatorsGUID() [string] GUID
WoWGameObject:GetObjectPosition() [number] x,  [number] y,  [number] z
WoWGameObject:GameObjectInteract() [bool]
WoWGameObject:GetObjectDisplayID() [number] displayID
WoWGameObject:GetObjectState() [number] state
WoWGameObject:IsGatherNode() [bool]
WoWGameObject:GetPointer() [nmber]
WoWGameObject:GetGUID() [string] GUID
WoWGameObject:IsValid() [bool]


[LocalPlayer]
GetNearestEnemy() [WoWUnits*] pObject
GetTarget() [WoWUnits*] pObject
GetFirstObject() [WoWUnits*] pObject, [number] type -- Player = 4 Unit = 3,
GetNextObject([WoWUnits*] pObject) [WoWUnits*] pObject, [number] type
GetGUIDObject([string] GUID) [WoWUnits*] pObject
GetLocalPlayer() [WoWUnits*] pObject
GetContinentID() [number]
GetFaction() [number]
GetMapID() [number]
GetCorpsePosition() [number] x, [number] y, [number] z
FaceAngle([number] angle)
-- turn towards that angle, angle is not relative 
in rad not degree, if you want to face 90° you need to convert to rad first
x = math.rad(90)
FaceAngle(x)
GetSpellInfoX([string] spellName) [number] CastTime, [number] MaxRange, [number] MinRange,
[number] PowerType, [number] Cost, [number] SpellId, [CSpellInfo*] SpellObj
HasSpell([string] spellName) [bool]
IsSpellOnCD([string] spellName) [bool]
AutoAttackTarget()
ResetNavigate()
IsDrinking() [bool]
IsEating() [bool]
IsMoving() [bool]
IsStanding() [bool]
IsInCombat() [bool]
IsIndoors() [bool]
DisMount()
IsMounted() [bool]
IsGhost() [bool]
Move([number] x, [number] y, [number] z) [bool]
CanOverpower() [bool]
IsAutoCasting([string] spellName) bool
DeleteItem([string] itemName) [bool]
HasItem([string] itemName) [bool]
UseItem([string] itemName) [bool]
UseItemOnWeapon([string] itemName) [bool]
AreBagsFull() [bool]
IsSwimming() [bool]
GetPartyMember([number] index) [WoWUnits*] pObject
GetPet() [WoWUnits*] pObject
LootTarget() [bool]
IsLooting() [bool]
MountID([number] mountId)
CastSpellById([number] spellId) [bool]
IsSpellOnCoolDownById([number] spellId) [bool]
JumpOrAscendStart()
AutoAttack()
IsChanneling() [bool]
IsCasting() [bool]
StopFalling()


[Core]
StartBot()
StopBot()
-- stops the bot
Exit()
-- closes the wow client
GetTime() [number]
-- returns games time, used for timers
GetTimeStamp() [string]
-- returns time stamp, used for logging ie 08:15:20
ToFile([string] text)
-- outputs text to file in logs foler
ToConsole([string] text)
-- outputs text to external console window
ToWoWConsole([string] text)
-- outputs text to interal wow dev console
SetVarX([string*] name, [number] var)
-- Like SetCVar, best practice is to use self. over SetVar 
GetVarX([string* name]) [number]
-- Like GetCVar, best practice is to use self. over GetVar 
GetDistance3D([number] x1, [number] y1, [number] z1, [number] x2, [number] y2, [number] z2) [number] distance
-- returns distance between 2 3d points
Raycast([number] x1, [number] y1, [number] z1, [number] x2, [number] y2, [number] z2) [bool] hit, [number] x, [number] y, [number] z
-- returns true if the ray intersects with a collider
SetMaxTargetLevel([number] maxlevel) [void]
-- deprecated setting for GetNearestEnemy
SetMinTargetLevel([number] minlevel) [void]
-- deprecated setting for GetNearestEnemy
SetTargetLevel([number] minlevel, [number] maxnlevel) [void]
-- deprecated setting for GetNearestEnemy
SetPVE([bool] on)
-- deprecated setting for GetNearestEnemy
SetPullDistance([number] distance)
-- deprecated setting for GetNearestEnemy
DrawPath([bool] onORoff)
-- draws walk path, lines between nodes
DrawPoints([bool] onORoff)
-- draws walk path nodes
NewTheme([bool] onORoff)
-- disabled new theme, makes menu look like the old one
GetLastError() [number] spellId, [number] errorCode
ClearLastError()


[Pathing]
StopMoving() [bool]
-- stops character from moving by clicking on its current position,
-- do not call more then 1x, character will start to rotate due to some ctm bug,
MoveToTarget([WoWUnits*] pTarget || [number] x, [number] y,  [number] z) [bool]
-- deprecated call
GetPathAsyncInfo() [number] state, [number] time, [number] blackListSize
IsNodeBlacklisted([number] x, [number] y,  [number] z,  [number] r) [bool]
ClearNodeBlacklist() [number] nodesCleared
IsSearchingForPath() [bool]
GetPathSize([number] pathType) [number]
GetPathPositionAtIndex([number] pathType, [number] index) [number] x, [number] y, [number] z
IsPathLoaded([number] pathId) [bool]
-- IsPathLoaded(5) would return if the navmesh path is loaded
ClearPath([number] pathId)
SavePath([string] fileName, [number] pathId)
LoadPath([string] fileName, [number] pathId)
IsUsingNavmesh() [bool]
GeneratePath([number] x1, [number] y1, [number] x1, [number] x2, [number] y2, [number] z2) [bool]
UseNavmesh () -- ticks the "use navmesh" menu option
IsUsingNavmesh() -- checks if the "use navmesh" option is true or false
LoadNavmesh() -- loads the mmtiles into the bot
GetLoadNavmeshProgress() -- returns 0 and 1 for navmesh loaded or not

[pathId]
walk path = 0
navmesh blacklist = 4 --blacklist node list
navmesh path = 5 -- can only read from
-- The following are no longer used in 2.1.X framework,
-- but can still be used to load other paths to swap between 
grave path = 1 -- deprecated
vendor path = 2 -- deprecated
repair path = 3 -- deprecated

[Drawing]
SetSatusText([string] title, [string] text) [void]
DrawText([string] text, [number] x, [number] y, [number] r, [number] g, [number] b) [void]
WorldToScreen([number] x, [number] y, [number] z) [number] x, [number] y, [bool] isOnScreen
DrawLine([number] x1, [number] y1, [number] x2, [number] y2, [number] r, [number] g, [number] b, [number] thickness)
DrawRect([number] x1, [number] y1, [number] x2, [number] y2, [number] r, [number] g, [number] b,  [number] rounding, [number] rounding_corners, [number] thickness)
DrawRectFilled([number] x1, [number] y1, [number] x2, [number] y2, [number] r, [number] g, [number] b, [number] w,  [number] rounding, [number] rounding_corners)

[Vendor]
SkipGossip()
-- Skips vendor text and opens items page 
IsVendorWindowOpen() [bool]
-- Check is vendor page is open
BuyItem([string] itemName, [number] num) [bool]
-- Buys item from vendor, vendor window must be open
VendorHasItem([string] itemName) [bool]
-- Check if vendor has item, vendor window must be open
SellItems([string] itemName) [bool]
-- Sell item to vendor
-- Moves item to trade window
-- Moves item to mailbox

[Menu]
ShowBar()
HideBar()
CollapsingHeader([string] title) [bool]
Checkbox([string] text, [bool] isChecked) [bool] isChecked, [bool] wasChecked
Text([string] text)
Button([string] text)
SameLine()
SameSeparatorLine()
InputText([string] title, [string] inputText) [string] inputText
SliderFloat([string] title, [number] min, [number] max, [number] value) [number] value
SliderInt([string] title, [number] min, [number] max, [number] value) [number] value
ProgressBar([string] title, [number] progress)
NewWindow([string] title, [number] width, [number] hight) [bool] isOpen
EndWindow()
RadioButton([string] title, [number] isSelected, [number] groupId) [number] isSelected, [bool] wasSelected
AddScriptToMode([string] scriptText, [string] scriptName) [bool] wasAdded
AddScriptToCombat([string] scriptText, [string] scriptName) [bool] wasAdded
RunCombatDraw()
ComboBox([string] title, [number] indexSelected, [string] ...) [number] indexSelected, [bool] newSelection
CreateImage(([string] fileName) [image]


[Image]
image: DrawImage([number] width = defaultWidth, [number] height = defaultHeight)
image: DrawImageButton(([number] width = defaultWidth, [number] height = defaultHeight) [bool]


[Script]
include([string] fileName) [bool] wasLoaded
RunScript([string] scriptName)
GetScript([string] scriptName) [string] script
LoadScript([string] scriptName, [string] script) [bool] wasLoaded
RunCombatScript([string] GUID) [number] error
RunMountScript()
RunRestScript()




[errorCode]
SPELL_FAILED_AFFECTING_COMBAT = 0x0,
SPELL_FAILED_ALREADY_AT_FULL_HEALTH = 0x1,
SPELL_FAILED_ALREADY_AT_FULL_MANA = 0x2,
SPELL_FAILED_ALREADY_BEING_TAMED = 0x3,
SPELL_FAILED_ALREADY_HAVE_CHARM = 0x4,
SPELL_FAILED_ALREADY_HAVE_SUMMON = 0x5,
SPELL_FAILED_ALREADY_OPEN = 0x6,
SPELL_FAILED_MORE_POWERFUL_SPELL_ACTIVE = 0x7,
SPELL_FAILED_BAD_IMPLICIT_TARGETS = 0x9,
SPELL_FAILED_BAD_TARGETS = 0xA,
SPELL_FAILED_CANT_BE_CHARMED = 0xB,
SPELL_FAILED_CANT_BE_DISENCHANTED = 0xC,
SPELL_FAILED_CANT_BE_PROSPECTED = 0xD,
SPELL_FAILED_CANT_CAST_ON_TAPPED = 0xE,
SPELL_FAILED_CANT_DUEL_WHILE_INVISIBLE = 0xF,
SPELL_FAILED_CANT_DUEL_WHILE_STEALTHED = 0x10,
SPELL_FAILED_CANT_TOO_CLOSE_TO_ENEMY = 0x11,
SPELL_FAILED_CANT_DO_THAT_YET = 0x12,
SPELL_FAILED_CASTER_DEAD = 0x13,
SPELL_FAILED_CHARMED = 0x14,
SPELL_FAILED_CHEST_IN_USE = 0x15,
SPELL_FAILED_CONFUSED = 0x16,
SPELL_FAILED_DONT_REPORT = 0x17,
SPELL_FAILED_EQUIPPED_ITEM = 0x18,
SPELL_FAILED_EQUIPPED_ITEM_CLASS = 0x19,
SPELL_FAILED_EQUIPPED_ITEM_CLASS_MAINHAND = 0x1A,
SPELL_FAILED_EQUIPPED_ITEM_CLASS_OFFHAND = 0x1B,
SPELL_FAILED_ERROR = 0x1C,
SPELL_FAILED_FIZZLE = 0x1D,
SPELL_FAILED_FLEEING = 0x1E,
SPELL_FAILED_FOOD_LOWLEVEL = 0x1F,
SPELL_FAILED_HIGHLEVEL = 0x20,
SPELL_FAILED_IMMUNE = 0x22,
SPELL_FAILED_INTERRUPTED = 0x23,
SPELL_FAILED_INTERRUPTED_COMBAT = 0x24,
SPELL_FAILED_ITEM_ALREADY_ENCHANTED = 0x25,
SPELL_FAILED_ITEM_GONE = 0x26,
SPELL_FAILED_ENCHANT_NOT_EXISTING_ITEM = 0x27,
SPELL_FAILED_ITEM_NOT_READY = 0x28,
SPELL_FAILED_LEVEL_REQUIREMENT = 0x29,
SPELL_FAILED_LINE_OF_SIGHT = 0x2A,
SPELL_FAILED_LOWLEVEL = 0x2B,
SPELL_FAILED_SKILL_NOT_HIGH_ENOUGH = 0x2C,
SPELL_FAILED_MAINHAND_EMPTY = 0x2D,
SPELL_FAILED_MOVING = 0x2E,
SPELL_FAILED_NEED_AMMO = 0x2F,
SPELL_FAILED_NEED_REQUIRES_SOMETHING = 0x30,
SPELL_FAILED_NEED_EXOTIC_AMMO = 0x31,
SPELL_FAILED_NOPATH = 0x32,
SPELL_FAILED_NOT_BEHIND = 0x33,
SPELL_FAILED_NOT_FISHABLE = 0x34,
SPELL_FAILED_NOT_HERE = 0x35,
SPELL_FAILED_NOT_INFRONT = 0x36,
SPELL_FAILED_NOT_IN_CONTROL = 0x37,
SPELL_FAILED_NOT_KNOWN = 0x38,
SPELL_FAILED_NOT_MOUNTED = 0x39,
SPELL_FAILED_NOT_ON_TAXI = 0x3A,
SPELL_FAILED_NOT_ON_TRANSPORT = 0x3B,
SPELL_FAILED_NOT_READY = 0x3C,
SPELL_FAILED_NOT_SHAPESHIFT = 0x3D,
SPELL_FAILED_NOT_STANDING = 0x3E,
SPELL_FAILED_NOT_TRADEABLE = 0x3F,
SPELL_FAILED_NOT_TRADING = 0x40,
SPELL_FAILED_NOT_UNSHEATHED = 0x41,
SPELL_FAILED_NOT_WHILE_GHOST = 0x42,
SPELL_FAILED_NO_AMMO = 0x43,
SPELL_FAILED_NO_CHARGES_REMAIN = 0x44,
SPELL_FAILED_NO_CHAMPION = 0x45,
SPELL_FAILED_NO_COMBO_POINTS = 0x46,
SPELL_FAILED_NO_DUELING = 0x47,
SPELL_FAILED_NO_ENDURANCE = 0x48,
SPELL_FAILED_NO_FISH = 0x49,
SPELL_FAILED_NO_ITEMS_WHILE_SHAPESHIFTED = 0x4A,
SPELL_FAILED_NO_MOUNTS_ALLOWED = 0x4B,
SPELL_FAILED_NO_PET = 0x4C,
SPELL_FAILED_NO_POWER = 0x4D,
SPELL_FAILED_NOTHING_TO_DISPEL = 0x4E,
SPELL_FAILED_NOTHING_TO_STEAL = 0x4F,
SPELL_FAILED_ONLY_ABOVEWATER = 0x50,
SPELL_FAILED_ONLY_DAYTIME = 0x51,
SPELL_FAILED_ONLY_INDOORS = 0x52,
SPELL_FAILED_ONLY_MOUNTED = 0x53,
SPELL_FAILED_ONLY_NIGHTTIME = 0x54,
SPELL_FAILED_ONLY_OUTDOORS = 0x55,
SPELL_FAILED_ONLY_SHAPESHIFT = 0x56,
SPELL_FAILED_ONLY_STEALTHED = 0x57,
SPELL_FAILED_ONLY_UNDERWATER = 0x58,
SPELL_FAILED_OUT_OF_RANGE = 0x59,
SPELL_FAILED_PACIFIED = 0x5A,
SPELL_FAILED_POSSESSED = 0x5B,
SPELL_FAILED_REQUIRES_AREA = 0x5D,
SPELL_FAILED_REQUIRES_SPELL_FOCUS = 0x5E,
SPELL_FAILED_ROOTED = 0x5F,
SPELL_FAILED_SILENCED = 0x60,
SPELL_FAILED_SPELL_IN_PROGRESS = 0x61,
SPELL_FAILED_SPELL_LEARNED = 0x62,
SPELL_FAILED_SPELL_UNAVAILABLE = 0x63,
SPELL_FAILED_STUNNED = 0x64,
SPELL_FAILED_TARGETS_DEAD = 0x65,
SPELL_FAILED_TARGET_AFFECTING_COMBAT = 0x66,
SPELL_FAILED_TARGET_AURASTATE = 0x67,
SPELL_FAILED_TARGET_DUELING = 0x68,
SPELL_FAILED_TARGET_ENEMY = 0x69,
SPELL_FAILED_TARGET_ENRAGED = 0x6A,
SPELL_FAILED_TARGET_FRIENDLY = 0x6B,
SPELL_FAILED_TARGET_IN_COMBAT = 0x6C,
SPELL_FAILED_TARGET_IS_PLAYER = 0x6D,
SPELL_FAILED_TARGET_NOT_DEAD = 0x6E,
SPELL_FAILED_TARGET_NOT_IN_PARTY = 0x6F,
SPELL_FAILED_TARGET_NOT_LOOTED = 0x70,
SPELL_FAILED_TARGET_NOT_PLAYER = 0x71,
SPELL_FAILED_TARGET_NO_POCKETS = 0x72,
SPELL_FAILED_TARGET_NO_WEAPONS = 0x73,
SPELL_FAILED_TARGET_UNSKINNABLE = 0x74,
SPELL_FAILED_THIRST_SATIATED = 0x75,
SPELL_FAILED_TOO_CLOSE = 0x76,
SPELL_FAILED_TOO_MANY_OF_ITEM = 0x77,
SPELL_FAILED_TRAINING_POINTS = 0x79,
SPELL_FAILED_TRY_AGAIN = 0x7A,
SPELL_FAILED_UNIT_NOT_BEHIND = 0x7B,
SPELL_FAILED_UNIT_NOT_INFRONT = 0x7C,
SPELL_FAILED_WRONG_PET_FOOD = 0x7D,
SPELL_FAILED_NOT_WHILE_FATIGUED = 0x7E,
SPELL_FAILED_TARGET_NOT_IN_INSTANCE = 0x7F,
SPELL_FAILED_NOT_WHILE_TRADING = 0x80,
SPELL_FAILED_TARGET_NOT_IN_RAID = 0x81,
SPELL_FAILED_DISENCHANT_WHILE_LOOTING = 0x82,
SPELL_FAILED_PROSPECT_WHILE_LOOTING = 0x83,
SPELL_FAILED_TARGET_FREEFORALL = 0x85,
SPELL_FAILED_NO_EDIBLE_CORPSES = 0x86,
SPELL_FAILED_ONLY_BATTLEGROUNDS = 0x87,
SPELL_FAILED_TARGET_NOT_GHOST = 0x88,
SPELL_FAILED_TOO_MANY_SKILLS = 0x89,
SPELL_FAILED_CANT_USE_NEW_ITEM = 0x8A,
SPELL_FAILED_WRONG_WEATHER = 0x8B,
SPELL_FAILED_DAMAGE_IMMUNE = 0x8C,
SPELL_FAILED_PREVENTED_BY_MECHANIC = 0x8D,
SPELL_FAILED_PLAY_TIME = 0x8E,
SPELL_FAILED_REPUTATION = 0x8F,
SPELL_FAILED_MIN_SKILL = 0x90,
SPELL_FAILED_UNKNOWN = 0x91,
SPELL_CAST_OK = 0xFF,


  how to load a script?
Posted by: ROCKY25579 - 11-19-2017, 12:13 AM - Forum: Support - Replies (5)

I have downloaded the bot. have it launched.  but when i click load script it only says Mage v1. and no options for anything else. what am I doing wrong here?


  Mage 1.8
Posted by: SomebodyFound - 11-18-2017, 10:17 AM - Forum: Mage - Replies (3)

added the same modifications i made to 1.6 from logitech to his 1.7 version
with some new things

-- The original 1.7 and before were made by Logitech
-- Version 1.8 by SomebodyFound
-- -added: Bandage logic
-- -added: Potion logic
-- -added: new eat logic
-- -added: new drink logic
-- all new logics are based on beniamin's rogue rotation
-- -fixed: won't try to conjure food or drink when inventory is full
-- -fixed: getStatus() now has a default return to avoid 'nil' problems
-- -added: will now also try to conjure crystal water
-- -added: cone of cold (toggleable, false by default)
-- -modified: now the information text will be shown on the left/top corner of screen

have fun! Smile



Attached Files
.lua   Mage.lua (Size: 37.77 KB / Downloads: 743)

  Auto delete all grey items from your bags
Posted by: Logitech - 11-13-2017, 08:29 PM - Forum: Support - Replies (3)

Since I usually stop botting when the bags are full (except if there is a "working" vendor close to the path), I hate all the grey items taking up bagspace so I added this to my scripts.

-- Check: Delete grey items from our bags
if (IsInCombat() == 0 and IsDead(localObj) == 0) then
        
    for bag = 0, 4 do
        for slot = 1, GetContainerNumSlots(bag) do
            local name = GetContainerItemLink(bag,slot)
            if name and string.find(name,"ff9d9d9d") then
                PickupContainerItem(bag,slot);
                DeleteCursorItem();
            end
        end
    end

end


  My own: assign target functionhttp://darkenedlinux.com/ogasai/showthread.php?tid=192
Posted by: Logitech - 11-11-2017, 07:33 PM - Forum: Support - Replies (1)

When leveling there is a lot of humanoid packs thats most likely will kill you that I like to ignore. So I made my own "get nearest target" function with some extra parameters. I share it if anyone would wanna use it. Basicly I grind on beasts, and "ignore" humanoids since they are usually in large groups.

-- Target selection parameters
pullDistance = 88;  -- searches for enemies within X yards
skipHumanoid = true; -- Skip killing humanoid (usually in groups etc...)
skipUndead = true; -- Skip killing undead (usually in groups etc...)
maxLevelDiff = 1; -- pull mobs who are maximum X level above our own level
minLevelDiff = 5; -- pull mobs who are minimum X levels below our own level

function AssignTarget(localObj, bot_)
    if (bot_ == 1) then
        targetObj = 0;
        -- Fetch last target
        lastTarget = GetTarget();
        -- Clear last target if it's dead or tapped by other player
        if (IsDead(lastTarget) == 1 or (IsTapped(lastTarget) == 1 and IsTappedByMe(lastTarget) == 0)) then
            ClearTarget();
            lastTarget = 0;
        else
            targetObj = lastTarget;
        end
        -- Fetch the nearest valid target
        nearestTarget = 0;
        mobDistance = pullDistance;
        local objectTable = GetObjects();
        for i,v in pairs(objectTable) do
            if IsDead(i) == 0 and v.type == 3 and CanAttack(i) == 1 and IsCritter(i) == 0
            and ((GetLevel(i) <= GetLevel(localObj) + maxLevelDiff and GetLevel(i) >= GetLevel(localObj) - minLevelDiff) or GetUnitsTarget(i) == localObj)
            and GetDistance(i) < pullDistance and (IsTapped(i) == 0 or IsTappedByMe(i) == 1) then
                if (skipHumanoid and GetCreatureType(i) == 'Humanoid' and GetUnitsTarget(i) ~= localObj) then
                    -- do nothing
                elseif (skipUndead and GetCreatureType(i) == 'Undead' and GetUnitsTarget(i) ~= localObj) then
                    -- do nothing
                else
                    -- return the closest mob, or a mob that is attacking us
                    if (GetDistance(i) < mobDistance) then
                        -- New closest distance
                        mobDistance = GetDistance(i);    
                        nearestTarget = i;
                    end
                end
            end
        end

        -- Select the closest target if our last target is dead
        if (lastTarget == 0) then
            targetObj = nearestTarget;
        end

        -- Check: If we are in combat but we have no targets perhaps it's low level mob, kill it
        if (lastTarget == 0 and nearestTarget == 0 and IsInCombat() == 1) then
            targetObj = GetTarget();
        end

        -- Check: Swap to the nearest enemy if not in combat yet
        if (IsInCombat() == 0 and GetDistance(nearestTarget) < GetDistance(lastTarget)) then
            targetObj = nearestTarget;
        end

        -- Check: Swap to the target with lowest HP
        lastTargetHP = GetHealthPercentage(lastTarget);
        nearestTargetHP = GetHealthPercentage(nearestTarget);
        if (lastTargetHP >= nearestTargetHP and GetUnitsTarget(nearestTarget) == localObj) then
            targetObj = nearestTarget;
        end
    else
        targetObj = GetTarget(); -- Set target for rotation (player selection)
    end
    return targetObj;
end


  Hunter Rotation v1.5c
Posted by: SomebodyFound - 11-10-2017, 07:11 PM - Forum: Hunter - Replies (7)

i modified the beastmaster v1.4 rotation to update it with some new logics, 

-- Rotation based on Beastmaster 1.4
-- v1.4
-- -Small fixes, regains Hp/Mana before looting now and turns around right after we walk out to shoot
-- -Added information on the screen of monster and players, you can disable it the settings (borrowed some for-statements from Beniamins rogue script for this)
-- v1.3
-- -Fixed the move back function
-- -Removed the timer after using Aspect of the Cheetah to not look so "botish"
-- v1.2
-- -Fixed logical errors when the player is in level range 1-12
-- -Added the move back function to run out and shoot if pet has aggro
-- v1.1
-- -Fixed ChooseAspect function
-- -Fixed check for Mend Pet (update 2017-03-10)
-- -Updated the check for targeting enemy players/pets, see the enemyFaction setting

-- Version 1.5 by SomebodyFound
-- v1.5
-- -added: Bandage logic
-- -added: Potion logic
-- -added: new eat logic
-- -added: new drink logic
-- all 4 logics are based on beniamin's rogue rotation
-- -added: new assign target logic
-- -added: pullDistance may now be configured
-- 1.5b
-- added: will now cast Feign Death if (2 or more enemies attacking us) or if (1 enemy attacking us and below 50% hp)
-- added: some new functions
-- fixed(?): sometimes drinking and looting were overlaping
-- fixed: clearing target after feeding pet
-- 1.5c
-- tried to improve the drinking/looting logic

have fun! Smile



Attached Files
.lua   Hunter.lua (Size: 27.57 KB / Downloads: 680)

  Functions for logging out when if we get stuck or the nav mesh crash
Posted by: Logitech - 11-08-2017, 02:56 PM - Forum: General - Replies (2)

Im back leveling with this bot and since I've been having problems with the nav mesh crashing I dont wanna get banned standing still forever... So I made some functions for detection this...

Add these functions and run: StopIfStuck(); on every iteration.

function SavePos()
    local x, y, z = GetUnitsPosition(GetLocalPlayer());
    SetVar('myX', x);
    SetVar('myY', y);
    SetVar('myZ', z);  
    SetVar('myTime', GetTimeX());
end

function GetSavedX() if (GetVar('myX') ~= 0) then return GetVar('myX'); else return 0; end end
function GetSavedY() if (GetVar('myY') ~= 0) then return GetVar('myY'); else return 0; end end
function GetSavedZ() if (GetVar('myZ') ~= 0) then return GetVar('myZ'); else return 0; end end
function GetSavedTime() if (GetVar('myTime') ~= 0) then return GetVar('myTime'); else return 0; end end

function GetDistanceDif()
    local x, y, z = GetUnitsPosition(GetLocalPlayer());
    local xV = GetSavedX()-x;
    local yV = GetSavedY()-y;
    local zV = GetSavedZ()-z;
    return math.sqrt(xV^2 + yV^2 + zV^2);
end

function StopIfStuck()
    -- Draw functions
    DrawText('Stuck feature:', 250, 240, 255, 255, 0);
    DrawText('Current distance to last saved coordinates: ' .. math.floor(GetDistanceDif()) .. ' yards...', 250, 250, 255, 255, 255);
    DrawText('Logging out in' .. ' ' .. math.floor(30-((GetTimeX()-GetSavedTime())/1000)) .. ' s if we do not move or save a new position...', 250, 260, 255, 255, 255);
    DrawText('New position is saved if we move more than 20 yards or when we are in combat or eating...', 250, 270, 255, 255, 255);

    -- Save our pos if we moved more then 20 yards or if we are in combat or eating
    if (GetDistanceDif() > 20 or IsInCombat() == 1 or IsEating() == 1) then
        SavePos();
        return;
    end

    -- Check if we are stuck/standing still (moved less than 20 yards) since 30 sec since last saved position
    if (GetDistanceDif() < 20 and ((GetTimeX()-GetSavedTime())/1000) > 30) then
        if (logOutIfStuck) then Logout(); end
        StopBot();
        return;
    end
end


  Log4cplus: ERROR No appenders coud be found for logger <AdSyncNamespace>
Posted by: Akaronte - 11-07-2017, 11:48 AM - Forum: Support - Replies (1)

Log4cplus: ERROR No appenders coud be found for logger <AdSyncNamespace>



Attached Files Thumbnail(s)
   

Star Shaman 1.2b (w/ totems)
Posted by: SomebodyFound - 11-06-2017, 07:05 AM - Forum: Shaman - Replies (5)

i've had a hard time with those totems, it should be so simple, but the bot sometimes did landed the totems, sometimes it didn't....

now it seems to be working properly, so i decided to release, but consider it as a beta, feedback would be nice <3 


-- Version 1.1 and beyond modified by SomebodyFound
-- from original 1.0 Logitech work
--
-- V1.1
-- -fixed: walking stuttering for low level shamans
-- -added: new drinking logic with driking lists
-- -added: new eating logic with drinking lists
-- -added: new potion logic with potion lists
-- -added: new bandage logic with bandage lists
-- all logics implemented from beniamin rogue's rotation
-- V1.2b
-- -added: totems
-- -added: now you can choose wich elemental shock
-- will be used (earth by default)
-- -added: flame shock will be used to renew the debuff
-- (toggleable)
-- -added: ice shock may now be used to renew debuff
-- (toggleable, false by default)
-- V1.3
-- -added: Lightning bolt is now toggleable
-- -added: air totem
-- -fixed: bandage wasn't working as intended
-- -added: stormstrike (toggleable, false by default)


have fun!



Attached Files
.lua   Shaman.lua (Size: 26.38 KB / Downloads: 695)