Locked Home » Forums » Legacy & Archived » Archived Content » Vanguard » VGExtreme Requests

Diplomacy bot : VGExtreme Requests

Posted: March 23rd, 2007
Premium
Total Posts:11 Joined:2007
I made a pretty simple diplomacy bot which uses 2 mobs and the navigate to mob to run myself around these 3 mobs for grinding diplomacy faction.

However, I am only running 2 diplomacy parleys every 3 mins - thats only 40 parleys an hour (one mob is up some stairs behind a wall so I use him to position my toon to run to the 2nd mob - up another set of stairs. If there were a better navigation function so I could run to one more mob instead of waiting for the 3 minute between parley timers this would make so much nicer - 1 parley per minute - 60 per hour (standard for normal grinding).

Other helpful functions would be something to check if the parley were active or not so I could exit the loop and run to another mob (4 mobs per 3 minutes hooray!). But im too lazy to do any color checking - but I imagine that some low level function already exists or easily is implemented.

unless someone has something more complex to offer
Posted: March 23rd, 2007
Premium
Total Posts:11 Joined:2007
I figured out a better movement routine - pathing out to other locations so I am able to do around 60 parleys per hour.Movement is good, but it would be really nice to be able to get which cards were active at any given time, as well as telling if a parley were over or not. Right now the efficiency looses about 1-2 minutes in lost diplomacy time because of these issues.

Additionally, the parley progress bar as well as levels of the individual reaons/agression/etc... for yourself and your opponent would be great additions. This way more dynamic parleys could be attempted, where order of play could be determined dynamically.
Posted: March 29th, 2007
Premium
Total Posts:11 Joined:2007
I'm basically looking for several diplomancy functions to make my bot user friendly. Right now the routine goes like this - find mobs in the target level or presence range level you want to work that are close enough together and play with a standard set of cards - ones which a set order of your cards will always beat the set of them in however many moves, on average it takes.

It basically loops through the diplomancy deck, a set amount of times, which ensures that the parley is eventually won. Then moves to the next mob in the target list through some simple pathing commands. Finally it opens the diplomancy window, clicks on the parley to perform, and runs with it.

The functions I am requesting - so that I can make an intellegent bot - one which will counter the AI based on cards played are thus:
1) Diplomancy active function - something which returns a bool based on weather diplomancy parley is in progress or not.

2) Card status function - returns either a bool for a single card e.g. getcardstatus(0) - returns the active state of the 1st card in the deck or one which returns an array containing the status of all cards in the deck

3)Parley status function - one which fetches and returns the status of the parley as an int 0 for tie -n for the parley marker being on the opponent side and +n for the marker being on my own side

4) color levels function - one which fetches and returns an array showing the current level of each color - both opponent and self. possibly split this up into 2 functions - getopponentcolors and getselfcolors - a value of -1 indicates that the color is blocked in the current parley

5) a card object - card.value returns the parley movement value of the card card.cost: an integer based array showing the cost of the car red green blue yellow card.opponent - an integer array showing the values which the opponent will recieve when played and card.self - an integer array showing the values which the player will recieve when played

6) get deck function - this function returns an array of card objects

With these functions in place, I think programming a complex diplomancy bot AI script wouldn"t be too hard for me to manage.

Using the bot I made so far, I've gotten well over 100 points of skill and almost 300 points of various presences. With the functions, this will only speed things up that much more, as well as allow for the writing of a generic Diplomancy bot which will allow anyone to simply plug in mob names and let the bot run automagically without need for simple looping and wasted parley time.
Posted: March 30th, 2007
User avatar
Total Posts:272 Joined:2004
Very cool cornholiox. Now we just need to get wyvern to get to work on those addresses! Would you be willing to post what you have already? I would love to see how you coded some of your functions.
Posted: March 31st, 2007
Premium
Total Posts:11 Joined:2007
Now that we have .NET dll wrapper - things are looking much better for this little bot.

What my ultimate goal is (once we get those functions, plus some mouse functions I requested in another theread) will be this.

The user logs into VGE - through the program (that annoying VGE pop up box). They then load their diplomancy mobs and paths or enter them from scratch.

It will generate an array of movement coords to the mobs they wish to parley, and go through the parley with the specific mob.

The user will need to have hotkeys set up correspinding to their deck /parleyplay 0 /parleyspeak

in keys 1-x respectively with the last key being a /parleylisten.

Using a basic weighted algorithm, the program will find the most powerful card that is currently playable and play it against the NPC - with rebuttals being given the highest priority in the loop. The loop will continue until the parley is completed, and then move to the next mob using the waypoint navitgation scheme the user entered earlier.

However, in order to really progress on this, I really need those functions which provide me the data from the program. Without them, well I could program something simple, but that would be very location and window size specific - not at all condusive to deployability... thus the need for the functions mentioned earlier.
Posted: March 31st, 2007
User avatar
Premium
Total Posts:6662 Joined:2004
Yes I plan to add in diplomacy into VGE. And I'm workig with admin on having a non login type of XUM interface. :)

_________________
Use Search first, ask questions later!
Posted: June 28th, 2007
gir086
Any updates on a diplomacy bot?
Posted: August 8th, 2007
impact1986
yea diplo and crafting bot would be great ....
Posted: August 11th, 2007
Total Posts:111 Joined:2007
Is diplo bot still being officially worked on?
Posted: September 2nd, 2007
User avatar
Premium
Total Posts:6662 Joined:2004
Yes, I'm going to push out this API list probably tomorrow. I am still looking for the card cooldown timers.. but this is a pretty nice list of API's that will be in the next patch that will happen in 1-2 days.

int Inspire { get;}
int OpponentInspire { get;}
int Demand { get;}
int OpponentDemand { get;}
int Reason { get;}
int OpponentReason { get;}
int Flatter { get;}
int OpponentFlatter { get;}
string Type { get;}
int Points { get;}
int OpponentPoints { get;}

int Status { get;}
string OpponentName { get;}
bool hasWon { get;}
bool hasLost { get;}
bool inParlay { get;}
bool hasOpponentPassed { get;}
bool hasPlayerPassed { get;}

int CardCooldown(int card); //This is the only one that I havnt found yet. The others above will be pushed out within 48 hours.

Also some crafting API's are new also like StepName, etc.. but you will need to follow the crafting threads for those.

If you can think of anything else, please dont hesitate to ask about it in the gforge bug/feature tracker. Register to unlock hidden link

_________________
Use Search first, ask questions later!
Posted: September 3rd, 2007
User avatar
Premium
Total Posts:6662 Joined:2004
Update, ok I found the CardCooldown, I'll push this out tomorrow. :)

I'll try to explain how everything works pretty well, but its farily easy. You can easily use the in game parlay commands to use cards, and use the API here, to get if it is available, and how much points are on the parley window, etc. More to follow tomorrow.

_________________
Use Search first, ask questions later!
Posted: September 3rd, 2007
blackout
Thanks once again for you hard work on this Wyv!

-Blackout
Posted: September 3rd, 2007
User avatar
Premium
Total Posts:6662 Joined:2004
September 2, 2007

NOTE: See included Inlcludes/VGParley.vbs on how to use them!
NOTE: See included Inlcludes/VGCrafting.vbs on how to use them!

--Added Crafting Functions
'Function Crafting_AvailableWorkOrderName 'Returns the name of the work order you have selected from the taskmaster
'Function Crafting_AvailableWorkOrderDescription 'Returns the description of the work order you have selected from the taskmaster
'Function Crafting_AvailableWorkOrderDifficulty 'Returns the Difficulty of the work order you have selected from the taskmaster
'Function Crafting_AvailableWorkOrderSkill 'Returns the skill of the work order you have selected from the taskmaster
'Function Crafting_AvailableWorkOrderNeededItems 'Returns what the work order requires to be constructed from the work order you have selected from the taskmaster

--Added Parley Functions
'function Parley_Inspire 'Returns the amount of inspire you currently have
'function Parley_OpponentInspire 'Returns the amount of inspirey our opponent has
'function Parley_Demand 'Returns the amount of demand you currently have
'function Parley_OpponentDemand 'Returns the amount of demand your opponent has
'function Parley_Reason 'Returns the amount of reason you currently have
'function Parley_OpponentReason 'Returns the amount of reason your opponent has
'function Parley_Flatter 'Returns the amount of flatter you currently have
'function Parley_OpponentFlatter 'Returns the amount of flatter your opponent has
'function Parley_Type ' Returns the type of parley you have initiated (entertainment, civic, etc)
'function Parley_Points 'Returns the dialog points you currently have
'function Parley_OpponentPoints 'Returns the dialog points your opponent has
'function Parley_Status 'Returns the purple sticker showing how much you are progressing to the goal
'function Parley_OpponentName 'Returns who you are currently conversing with
'function Parley_hasWon 'Returns True/False if you won the parley
'function Parley_hasLost 'Returns True/False if you lost the parley
'function Parley_inParley 'Returns True/False if you are currently in a parley
'function Parley_hasOpponentPassed 'Returns True/False if the opponent decided to "Listen"
'function Parley_hasPlayerPassed 'Returns True/False if you decided to "Listen"
'function Parley_CardCooldown(int_card) 'Returns the cooldown rounds remaining on the card (Zero-Based index - first card is 0)

_________________
Use Search first, ask questions later!
Posted: September 4th, 2007
gir086
Thanks a ton!
Posted: September 28th, 2007
Total Posts:266 Joined:2007
so where is this bot at??
Ready to join the community? Click here and see all of the benefits!
blue large dotWho is online
Users browsing this forum: No registered users and 1 guest
Locked