Vhaeraun's Glorious PVP Bookkeeper

InfernalRapture

New member

Version 1.8

WARNING: Some players have experienced a problem with reading new Fights in compact mode. It's almost certainly a simple REGEX fix, but I don't have a lot of time right now. If you see "Adventurer's Prowess" showing a ridiculous statistic (more than whole fights, generally) you're suffering from this bug. I am aware, and will fix it. In the meantime, please try switching modes and deleting the Current PVP data file.

Vhaeraun's Glorious PVP Bookkeeper
NOW WITH RELAY FUNCTIONALITY! is meant to be used by PVP'ers wanting to know which Minigames they're weak on, and which they're strong on.

Drop relay_PVP_Bookkeeper.ash in your relay directory, and vgpb.ash in your scripts directory, (relay will not work without vgpb.ash). Directions will appear when you first run the script.

Results will appear in your CLI, in a handsomely colorized format. If you hate my colors, my ranges, or if you want to add your own, they're fully customizable. I didn't factor in the colorblind when making this, so if you create a colorblind friendly color scheme, please feel free to paste it here. I'll add it as an attachment.


What's it do?
Parses out each mini game (over the specified <X> most recent fights), telling you how many times you won/lost and what percentage of the time that was. The default number of fights is everything from the current season but the default can be changed, and providing a command line argument use that instead.
Also provides total and average swagger/fame/flowers/winningness.
The first time it encounters a fight, it'll store those results in a data file (to spare Jick's servers).

What don't it do?
It only deals with fights this current season and it always starts with the most recent fight. The script was intended to help players answer the question "Where am I weak right now?". There are no plans to make it scroll back in time. If you want that feature desperately enough to write it, I'll roll it into the baseline.

It can't tell Hardcore and Softcore fights apart. The minigames don't really care, and the archive pages don't specify. Adding that differentiation in would involve parsing the daily logs to figure out whether a fight occurred in hard core or not. It seemed like a lot of work for a small gain.
 

Attachments

  • relay_PVP_Bookkeeper.ash
    439 bytes · Views: 465
  • vgpb.ash
    15 KB · Views: 434
Last edited:

slyz

Developer
I tried it and forgot to post here :)

Thanks a lot! It made me realize that I was probably better off using a single "better diver" effect rather than going for maximum purity.
 

lostcalpolydude

Developer
Staff member
I tried it and forgot to post here :)

Thanks a lot! It made me realize that I was probably better off using a single "better diver" effect rather than going for maximum purity.

I think on offense you want to go for something your opponent isn't using so you can win one of those two minis, and on defense you want to exactly match your opponent so you can win both minis.
 
May I suggest storing season data by adding the name of the character to the file? The problem is that I run a couple of different characters in pvp, and so
the .dat file keeps being overwritten by each character.

e.g. right now it's
Code:
string outputFileName = "pvp_season_"+visitInformationBooth() +".dat";

changing it to this worked quite well (putting the player name into the file name):

Code:
string outputFileName = "pvp_season_"+visitInformationBooth() +"_" +my_name() +".dat";

Thanks!
 
Last edited:
I'm SkyElf borrowing Captain Kirk's mafia forum account because I don't have my own mafia forum account. Captain Kirk downloaded this script for me, but when I run it on my KOL account, I get obviously incorrect information. It says my success ratio on offense is 0% in all categories and my success ratio on defense in all but one category is 100% when I win more than I lose in offense and I lose more than I win in defense. Also this is what my line for Prowess looks like for the last 1000 fights. Aside from the fact that it claims Prowess is being used on average 6 times in each pvp fight, I always use ballyhoo! when attacking, so it should be N/A for offense.
Adventurer's Prowess 5864 57:5807 0% 3815 0:3815 0% 2049 57:1992 2%

My total line looks like this for the last 1000 fights, indicating that I lost all of them.
Whole Fights 1000 0:1000 0% 643 0:643 0% 357 0:357 0%

However my swagger gain is 2.02 as my offensive average, which seems fairly accurate, but contradicts the previous indication that I never win fights.

I am using mafia v15.3 r11320

As a test, I tried attacking using backstab and got this result from KOL:

Round 1: Adventurer's Prowess
Who is the stat-iest? (Highest stance-specified stat)

SkyElf out-stats AliRaza111 by 35%, and wins!


Round 2: Least Boring Slideshow
Whose travels are the most interesting? (Most zones visited in the past five days)

A large screen descends from the ceiling, and a slideshow is displayed, featuring all the locations each contestant has visited in the past several days.


Unfortunately for AliRaza111, the judges fall asleep during his slideshow and SkyElf wins the round.


Round 3: Wine Tasting Contest
Who appreciates the finest of wines? (Most different booze items drunk in the last 30 days (or since the start of the season))

SkyElf's booze palate is 13400% more sophisticated than AliRaza111's, so she wins!


Round 4: Mystery Contest
It's a mystery!

The judges smile, nod, and wink at SkyElf.


Round 5: Who Runs Bordertown?
Most adventures spent in the Thugnderdome this season.

SkyElf is ∞% more familiar with the ins and outs of Thugnderdome than AliRaza111 is, so SkyElf wins!


Round 6: Space Tripper
Highest Space Trip score this season.

The judges check the high scores, and the winner is SkyElf, by 10,219 points!


Round 7: Spelunker
Who's the best spelunker? (Most basement levels cleared this season)

SkyElf has descended more levels into the Depths of Below Fernswarthy's Ruined Tower this season, and is declared the winner.


And this result from your script:

Displaying results from the last 1 fights.
Name Total Offense Defense
Times
Occured Ratio % Times
Occured Ratio % Times
Occured Ratio %
Adventurer's Prowess 7 0:7 0% 7 0:7 0% 0 N/A N/A
Whole Fights 1 0:1 0% 1 0:1 0% 0 N/A N/A
 
Last edited:

InfernalRapture

New member
I recognize this bug. This is a failed Regular Expresion in the script. Unfortunately without more information I can do absolutely nothing for you.

What I need is this:
Right click on the "view" link, for the fight in question. Then into the CLI type visit_url("[paste that here]");

If you PM or KMail me the massive HTML vomit (please don't try to post it, the forum may try to format it) I'll see if I can figure out the culprit.
 

kain

Member
I was gonna come in and see if losses (and wins on defense) could be delineated between losses and losses due to ties going to the defender?

Edit to add, it might be fun to see how many 7-0 wins you have too.
 
Last edited:

kain

Member
I recognize the lack of activity in this thread, but I had another suggestion:

Tally up steals (because, really, the only thing you should be attacking for this season is loot, right?) and give a "biggest steal" (based on mall price) and a "total theft this season" total? And maybe for what was taken from us, too!
 

lostcalpolydude

Developer
Staff member
Tally up steals (because, really, the only thing you should be attacking for this season is loot, right?)

Attacking for loot means you can't hit someone in ronin, and it's possible that someone might have a better shot of beating someone in ronin than in aftercore, so not attacking for loot can be optimal for gaining swagger.
 
Top