Last active
January 31, 2020 17:57
-
-
Save haliphax/68d971a728c366ff2ace to your computer and use it in GitHub Desktop.
CHUD: Caddy Healer for Urban Dead (userscript)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name CHUD | |
// @namespace https://roadha.us | |
// @author haliphax (https://roadha.us) | |
// @contributor jimflexx (http://userscripts.org/users/117383) | |
// @description Caddy Healer for Urban Dead | |
// @include http://urbandead.com/map.cgi* | |
// @include http://www.urbandead.com/map.cgi* | |
// ==/UserScript== | |
// sort players array based on hp (players[i][2]) | |
function sortPlayers(a, b) | |
{ | |
return (a[2] - b[2]); | |
} | |
// display chud panel with player list | |
function chudList(players) | |
{ | |
var bgcolor= "Silver"; | |
var fak=false; | |
for (var i=0; i< document.forms.length; i++) { | |
if (document.forms[i].action == "http://www.urbandead.com/map.cgi?use-h") { | |
fak=true; | |
} | |
} | |
if (fak) { bgcolor = "pink"; } | |
var divHtml = '<div id="chud" style="background-color:'+bgcolor+';color:Red;' | |
+ 'border-width:2px;border-style:solid;border-color:red;padding:4px;">' | |
for(var i = 0; i < players.length; i++) { | |
divHtml += '<form name="chudf_' + players[i][0] + '" ' | |
+ 'action="map.cgi?use-h" method="post"><span style="color:Red;' | |
+ 'text-decoration:underline;cursor:pointer;"'; | |
if(players[i][3] != null) divHtml += ' class="' + players[i][3] + '"'; | |
divHtml += '" onclick="chudf_' + players[i][0] + '.submit()" ' | |
+ 'title="Heal">' + players[i][1] + '</span>: ' + players[i][2] | |
+ 'HP <input type="hidden" name="target" value="' | |
+ players[i][0] + '" /></form><br />'; | |
} | |
divHtml += '</div>' | |
document.body.innerHTML = document.body.innerHTML.replace(/class="y">Donate<\/a>/i, | |
'class="y">Donate</a><br />' + divHtml); | |
} | |
// main script body | |
var pnRegex = /<a.*?href="profile.cgi\?id=(\d+)"(?:\sclass="(.*?)")?>(.*?)<\/a>.*?\((\d+)/gi; | |
var matches = null; | |
var players = new Array(); | |
var i = 0; | |
matches = pnRegex.exec(document.body.innerHTML); | |
while(matches != null) { | |
if (matches[0].indexOf("class=\"trg\"")!=-1) { | |
players[i] = new Array(); | |
players[i][0] = matches[1]; // profile id | |
players[i][1] = matches[3]; // name | |
players[i][2] = matches[4]; // hit points | |
players[i][3] = matches[2]; // href class (color) | |
i++; | |
} | |
matches = pnRegex.exec(document.body.innerHTML); | |
} | |
if(players.length > 0) { | |
players.sort(sortPlayers); | |
chudList(players); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment