Jump to content

how to create a player object from player name


Brian

Recommended Posts

21 minutes ago, saleh said:

Can you please explain what you need to do ?

The end goal is to get the player address so I can interact with it, I was planning to get the player object then get the address from that

Link to comment
Share on other sites

4 minutes ago, saleh said:

is That for party 

No.  I have a string with a player name.  I need to target that player, not in the party.

Link to comment
Share on other sites

6 minutes ago, saleh said:

The player needing to be targeted is constantly changing and isn't known initially, so I can't make a macro for it.  Can you cast a spell on a specific player with LUA? That would work as well.  I am trying to make a healing fightclass that supports raids, since raids are not supported by the bot, atleast in WOTLK, I can get the correct players name that needs to be healed via LUA, but I just need to cast a spell on him.

Link to comment
Share on other sites

14 minutes ago, saleh said:

Do you play retail? Because I messed around with 

Party.GetPartyHomeAndInstance();

and it didn't work for me.  I got the playername of who I need to heal, just need to know how to target him or get the WoWPlayer object with just a playername

Link to comment
Share on other sites

2 minutes ago, saleh said:

i am playing for funn

with group 20 Toon in same time (20 Account)

 

 

Is this on retail or what server version?

Link to comment
Share on other sites

Get player object by name:

WoWPlayer player = ObjectManager.GetObjectWoWPlayer().Where(p => p.IsValid && p.Name == "PlayerName").FirstOrDefault();

 

Target player:

Interact.InteractGameObject(player.GetBaseAddress, true);

Cast spell at the specified target:

string targetName = "blubb";
int spellID = 999;
Lua.LuaDoString($"CastSpellByID({spellID}, \"{targetName}\")");

 

Hope it helps.

Link to comment
Share on other sites

9 hours ago, iMod said:

Get player object by name:


WoWPlayer player = ObjectManager.GetObjectWoWPlayer().Where(p => p.IsValid && p.Name == "PlayerName").FirstOrDefault();

 

Target player:


Interact.InteractGameObject(player.GetBaseAddress, true);

Cast spell at the specified target:


string targetName = "blubb";
int spellID = 999;
Lua.LuaDoString($"CastSpellByID({spellID}, \"{targetName}\")");

 

Hope it helps.

Thanks it does.  Does 

p.IsValid

check if online?  Also, CastSpellByID is protected, you are able to call protected LUA functions through wrobot?

Link to comment
Share on other sites

1 hour ago, Brian said:

Thanks it does.  Does 


p.IsValid

check if online?  Also, CastSpellByID is protected, you are able to call protected LUA functions through wrobot?

It checks if the object you got is valid to interact with.

Yes you can call protected lua functions.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...