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 43 online users.
» 0 Member(s) | 43 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,067
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

 
  Mob avoidance and pathing
Posted by: zerger - 02-12-2019, 10:56 PM - Forum: Script development - Lua ressources - No Replies

i am working on scripts that can avoid mobs.
i started to write a script for single static mob avoidance and i try to end up with a system that can avoid/path through groups of moving mobs.
https://www.youtube.com/watch?v=lElsPPEBsI4

here is some theory crafting:

1. we have general navigation through the world using a navmesh
2. we have "steering" which should avoid mobs locally

General assumption:
we want the bot to think/behave human like
we cant see more than 100 yards ahead

we have different character situations:

-"llnm" low level compared to the zone/area mobs without mount (level 5 character in wetlands)
-"slnm" same level compared to the zone/area mobs without mount
-"hlnm" same level compared to the zone/area mobs without mount (level 60 in STV)

-"llm" low level compared to the zone/area mobs with mount (level 40 character in winterspring)
-"slm" same level compared to the zone/area mobs with mount
-"hlsm" higher level compared to the zone/area mobs with 'super' mount

we have different travel situations:

"ldt" long distance travel (getting from menethil to dun modr or from eastern wetlands to a vendor)
"sdt" short different travel (getting to a ore node or avoiding an elite while moving to the next grind target)

in the case of wetlands
steering is useful when:
slnm/llnm sdt

steering is NOT useful when:
llnm ldt (running through the area of 1 will us either get stuck or takes us a long time to find a path)

steering might not be necessary
hlnm/hlsm doing ldt/sdt

[Image: wetlands_abc.png]
[Image: wetlands_numbered.png]


  Resurrection function that avoids mobs for Logitechs grinder
Posted by: zerger - 02-03-2019, 03:14 PM - Forum: Bot Base - No Replies

i wrote a function that tries to find a better spot for res 

logic:
go to corpse
create 1000 random spots and check their distance to surrounding mobs
if there is a spot that has enough distance to all mobs around go there and repop
if not stay at corpse and repop

Issues:
doesn't check when at "save res spot" if there are mobs that are closer now (because they patrol)
doesn't check if you can actually walk to res spot, so you might get stuck

is use fr0s4 improved version but it should also work for logitechs original grinder 

you can change and test 2 variable
1) v.r is aggro range of mobs, so here it would be aggrorange + 10 yards (increase if you want the safespot to be further away from mobs)

Code:
if GetDistance3D(v.x,v.y,v.z,self.move_res_x, self.move_res_y,self.move_res_z) < v.r+10 then

2) you can increase the area that is searched by raisng the ressdistance, on Lh its more like 30 or 35
Code:
ressDistance = 25,



if you want to use it you have to edit "script_grind_logitech.lua"

in the top part add these variables
Code:
    searched_save_repop_spot = false,
    move_res_x = 0,
    move_res_y = 0,
    move_res_z = 0,

somewhere above "function script_grind:run()" add
Code:
function script_grind:MobTable()
-- put enemies in a table    
    local me = GetLocalPlayer();
    objectTable = {};
    local obj_, type_ = GetFirstObject();
    while obj_ ~= 0 do
        if type_ == 3 or type_ == 4 then
            local objX, objY, objZ = obj_:GetPosition();
            -- objR is mob aggro ranged, i tested it  and it is at least 6 and maximum 46, on same lvl its 21
            local objR = obj_:GetLevel() - me:GetLevel() + 21
            if objR > 46 then objR = 46 end;
            if objR < 6 then objR = 6 end;
            local objGUID = obj_:GetGUID();
            local objName = obj_:GetUnitName();
            objectTable[obj_] = {x = objX, y = objY, z = objZ, type = type_, r = objR, GUID = objGUID, name = objName};
        end
        obj_, type_ = GetNextObject(obj_);
    end
end

and replace the  resurrect part in the code between "-- Corpse-walk if we are dead" and "-- Check: If in group wait for members to be within 60 yards and 75% mana" with :
Code:
        if(localObj:IsDead()) then
            self.message = "Walking to corpse...";
            -- Release body
            if(not IsGhost()) then RepopMe(); self.waitTimer = GetTimeEX() + 5000; return; end
            -- Ressurrect within the ress distance to our corpse
            local _lx, _ly, _lz = localObj:GetPosition();
            if(GetDistance3D(_lx, _ly, _lz, GetCorpsePosition()) > 2) and self.searched_save_repop_spot == false then -- if we are more than 2 yards away from corpse AND havent looked for a save resspot
                script_nav:moveToNav(localObj, GetCorpsePosition());
                return;
            else
                if self.searched_save_repop_spot == false then -- if we havent looked for a spot
                    local c_x,c_y,c_z = GetCorpsePosition();
                    script_grind:MobTable();
                
                    for i=1,1000 do  -- there might be no save xy then res at corpse_xy

                         r = self.ressDistance * sqrt(math.random())
                         theta = math.random() * 2 * math.pi
                        
                        save_res_x = c_x + r * math.cos(theta)
                         save_res_y = c_y + r * math.sin(theta)
                        
                        self.move_res_x = save_res_x
                        self.move_res_y = save_res_y
                    
                         isVis, _hx, _hy, _hz = Raycast(self.move_res_x, self.move_res_y, 10000, self.move_res_x, self.move_res_y, -10000);
                        self.move_res_z = _hz
                         self.Is_spot_save = true

                        for i,v in pairs(objectTable) do
                    
                            if v.type == 3     and i:CanAttack() == true  and i:IsCritter() == false then

                                if GetDistance3D(v.x,v.y,v.z,self.move_res_x, self.move_res_y,self.move_res_z) < v.r+10 then -- aggro radius PLUS a save distance
                                    self.Is_spot_save = false;
                                end

                            end
                        end

                        if self.Is_spot_save == true then
                            self.searched_save_repop_spot = true;
                            break; -- break for i do        
                        end
                        
                        if i == 1000 then -- if we dont find a savespot till the last i then there is no savespot
                            self.Is_spot_save = false;
                            self.searched_save_repop_spot = true;
                        end        
                    end -- for i do end

                    if self.Is_spot_save == false then -- if we didnt find a save spot to res, res at corpse xyz
                        self.move_res_x = c_x
                        self.move_res_y = c_y
                        self.move_res_z = c_z
                    end
                end -- if not searched_save_repop_spot end
                
                if self.searched_save_repop_spot == true and--if we looked for a save res position
                 GetDistance3D(_lx, _ly, _lz, self.move_res_x,self.move_res_y,self.move_res_z) < 2 then -- if a we are close to safe res spot
                    script_grind:savePos(); -- save pos so we don't log out (stuck feature)
                    RetrieveCorpse();
                else -- we looked for a save spot and are more than 2 yards away
                    Move(self.move_res_x,self.move_res_y,self.move_res_z);
                end
                
            end
            return;
        end


  Lua emulator
Posted by: zerger - 01-16-2019, 06:05 PM - Forum: Script development - Lua ressources - No Replies

https://repl.it/repls/InnocentCriticalHexadecimal

here you can test your scripts


Exclamation Guide / Tutorial for Wow TBC 2.4.3
Posted by: icencoffe - 01-16-2019, 03:37 AM - Forum: Support - Replies (3)

Hi ! 
first off, thank you so much for creating and sharing this bot, ive been trying to make this bot work on this private server : 
Warmane - OUtland 
wow Burning Crusade 2.4.3

So far, no luck  Sad 

i have tried to Follow all the Guides / Tutorial available, but i believe most of them are made for the Wow Vanilla ?

using : Windows 7 64bit

This is what ive done : 
1. Launch wow 2.4.3 windowed mode 
2. Inject oGasai.dll using Extreme Injector v3.6 from softpedia.com 
3. Login into game
4. Click UI > Menu 
5. Copy Paste Rotation into Rotation box > Click Use Script
[Image: LPLGnlh.png]


* I have tried various Rotation from this forum, mostly from Rotations Section 
* I also have tried to using Logitech's Rotation from This Post

6. Record my own small circular path OR trying out various Path from ppl posting in here
7. Hit RUN

so far, nothing is working, can anyone help shedding a light on this matter ? 
or maybe point me to the right direction for a guide ? 

Thank you  for anyone reading this and willing to help !


  Question about detection
Posted by: K4i - 01-12-2019, 10:24 PM - Forum: Support - Replies (3)

Sadly I have some issues with GM's on Pservers Big Grin
I would ask if the program detect also invisible players so the paranoia script could also detect these and maybe logout or just stay there like it does at these times?
The thought of mine is that when is no one in your area that could see you nothing will know you are botting and will ever report you that you get screwed or watched by gm's.


  My Waypoint on some Regions not reachable
Posted by: K4i - 01-12-2019, 10:21 PM - Forum: Support - Replies (3)

Hi,
first of all thank you, I love your work! The pathfinding algo and so on to program are awesome. Sadly I have some issues in Mulgore that when I start the bot from random location (especially the point where you come from the starting place) the char couldn't reach the created hotspot point. The same behaviour I have recognized at the hinterlands. Is that maybe a problem of the mmaps or could it be that the hotspot script has some issues?


  2.0.17 or 2.1.17
Posted by: NightCrawler504 - 11-09-2018, 08:48 AM - Forum: General - Replies (2)

Hi ive been lost for a while, planning on a comeback, why would I prefer 2.0.17 over 2.1.17 and viceversa? also on ownedcore forum latest is 2.1.16 found a link provided to 2.1.17 but have no idea where they got it from, see no download selection on menus and gone over a good part of the forum and still no idea. If somebody can help me with any of the above I would appreciate it.


Heart Hunter Tamed
Posted by: Rallor - 08-14-2018, 05:19 AM - Forum: Support - No Replies

Hi guys! Lf rotation for tamed rars pets...like lupos. Or just tame targer if use addon NPCscsn


  Hunter won't auto shot?
Posted by: KahluanMilk - 04-15-2018, 04:12 PM - Forum: Support - No Replies

I use a beast master 1.5 rotation and i use a hunter script too while of course using paths to level.

My hunter just goes to a mob and then puts a '' Hunter's Mark '' and does a raptor strike, but it never auto attacks with my bow, how do i fix this?


-Fixes, i took raptor strike off >.>


  How to edit the attack distance for mages?
Posted by: KahluanMilk - 03-23-2018, 02:30 PM - Forum: Support - Replies (3)

I'm  using 2.0.17 version ( i think it's the newest one ) and i'm also using a profile which i downloaded from this site, nothing else basically, i don't use rotation since i don't know what it is. I use a mage combat script too ( obviously ) .

But how can i edit the distance for my attacks? Since every time my mage follows that blue line and finds a mob, it goes pretty near that mob and attacks it, so i end up using 1-2 frostbolts until i get attacked, but without using the bot i could use 3-4 frostbolts before i get attacked.

How can i change this Smile? I would really appreciate for some help ^^

Also is this banable? I've had pretty low profile but i'm still worried if i use some stuff in oGasai which ends up me getting banned.