| Author |
Diplomacy bot![]() |
cornholiox
Script Kiddy
Premium Member
Joined: 17 Mar 2007 Posts: 9 0 TUBucks
|
Posted: Fri Mar 23, 2007 3:07 pm Post subject:
Diplomacy bot Subject description: Desire for some diplomacy functions or a diplobot |
|
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
|
|
Back to top
|
|
 |
cornholiox
Script Kiddy
Premium Member
Joined: 17 Mar 2007 Posts: 9 0 TUBucks
|
Posted: Sat Mar 24, 2007 5:28 am Post subject:
|
|
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.
|
|
Back to top
|
|
 |
cornholiox
Script Kiddy
Premium Member
Joined: 17 Mar 2007 Posts: 9 0 TUBucks
|
Posted: Thu Mar 29, 2007 10:39 am Post subject:
|
|
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.
|
|
Back to top
|
|
 |
djvj
Typical User

Premium Member
Joined: 01 May 2004 Posts: 354 390 TUBucks
|
Posted: Fri Mar 30, 2007 9:38 am Post subject:
|
|
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.
|
|
Back to top
|
|
 |
cornholiox
Script Kiddy
Premium Member
Joined: 17 Mar 2007 Posts: 9 0 TUBucks
|
Posted: Sat Mar 31, 2007 1:25 pm Post subject:
|
|
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.
|
|
Back to top
|
|
 |
wyvernx
Site Moderator

Premium Member
Joined: 01 May 2004 Posts: 8258 8392 TUBucks
|
Posted: Sat Mar 31, 2007 4:26 pm Post subject:
|
|
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!
|
|
Back to top
|
|
 |
gir086
Script Kiddy
Regular Member
Joined: 26 Jun 2007 Posts: 5 105 TUBucks
|
Posted: Fri Jun 29, 2007 12:56 am Post subject:
|
|
Any updates on a diplomacy bot?
|
|
Back to top
|
|
 |
impact1986
In Training

Premium Member
Joined: 21 Jun 2007 Posts: 42 40 TUBucks
|
Posted: Wed Aug 08, 2007 8:41 pm Post subject:
|
|
yea diplo and crafting bot would be great ....
|
|
Back to top
|
|
 |
proudr
Typical User

Regular Member
Joined: 19 Apr 2007 Posts: 110 65 TUBucks
|
Posted: Sun Aug 12, 2007 2:47 am Post subject:
|
|
Is diplo bot still being officially worked on?
|
|
Back to top
|
|
 |
wyvernx
Site Moderator

Premium Member
Joined: 01 May 2004 Posts: 8258 8392 TUBucks
|
Posted: Mon Sep 03, 2007 7:46 am Post subject:
|
|
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. http://gforge.xunleashed.com
_________________ Use Search first, ask questions later!
|
|
Back to top
|
|
 |
wyvernx
Site Moderator

Premium Member
Joined: 01 May 2004 Posts: 8258 8392 TUBucks
|
Posted: Mon Sep 03, 2007 8:22 am Post subject:
|
|
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!
|
|
Back to top
|
|
 |
blackout
Script Kiddy
Regular Member
Joined: 21 Dec 2004 Posts: 6 6 TUBucks
|
Posted: Mon Sep 03, 2007 3:56 pm Post subject:
|
|
Thanks once again for you hard work on this Wyv!
-Blackout
|
|
Back to top
|
|
 |
wyvernx
Site Moderator

Premium Member
Joined: 01 May 2004 Posts: 8258 8392 TUBucks
|
Posted: Tue Sep 04, 2007 4:01 am Post subject:
|
|
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!
|
|
Back to top
|
|
 |
gir086
Script Kiddy
Regular Member
Joined: 26 Jun 2007 Posts: 5 105 TUBucks
|
Posted: Tue Sep 04, 2007 5:57 pm Post subject:
|
|
Thanks a ton!
|
|
Back to top
|
|
 |
strabomeeks
Lifetime Member (Scripting)

Premium Member
Joined: 19 Aug 2007 Posts: 261 259 TUBucks
|
Posted: Sat Sep 29, 2007 4:20 am Post subject:
|
|
so where is this bot at??
|
|
Back to top
|
|
 |
|