Initial commit
This commit is contained in:
132
lotgd-web/lotgd/lib/pvplist.php
Executable file
132
lotgd-web/lotgd/lib/pvplist.php
Executable file
@ -0,0 +1,132 @@
|
||||
<?php
|
||||
// translator ready
|
||||
// addnews ready
|
||||
// mail ready
|
||||
|
||||
//put these outside the function since they're used by scripts outside of
|
||||
//this function.
|
||||
$pvptime = getsetting("pvptimeout",600);
|
||||
$pvptimeout = date("Y-m-d H:i:s",strtotime("-$pvptime seconds"));
|
||||
|
||||
function pvplist($location=false,$link=false,$extra=false,$sql=false){
|
||||
global $session,$pvptime,$pvptimeout;
|
||||
|
||||
if ($location===false)
|
||||
$location = $session['user']['location'];
|
||||
if ($link===false) {
|
||||
$link = basename($_SERVER['SCRIPT_NAME']);
|
||||
}
|
||||
if ($extra === false) {
|
||||
$extra = "?act=attack";
|
||||
}
|
||||
|
||||
$days = getsetting("pvpimmunity", 5);
|
||||
$exp = getsetting("pvpminexp", 1500);
|
||||
$clanrankcolors=array("`!","`#","`^","`&", "`\$");
|
||||
|
||||
if ($sql === false) {
|
||||
$lev1 = $session['user']['level']-1;
|
||||
$lev2 = $session['user']['level']+2;
|
||||
$last = date("Y-m-d H:i:s",
|
||||
strtotime("-".getsetting("LOGINTIMEOUT", 900)." sec"));
|
||||
$id = $session['user']['acctid'];
|
||||
$loc = addslashes($location);
|
||||
|
||||
$sql = "SELECT acctid, name, alive, location, sex, level, laston, " .
|
||||
"loggedin, login, pvpflag, clanshort, clanrank, dragonkills, " .
|
||||
db_prefix("accounts") . ".clanid FROM " .
|
||||
db_prefix("accounts") . " LEFT JOIN " .
|
||||
db_prefix("clans") . " ON " . db_prefix("clans") . ".clanid=" .
|
||||
db_prefix("accounts") . ".clanid WHERE (locked=0) " .
|
||||
"AND (slaydragon=0) AND " .
|
||||
"(age>$days OR dragonkills>0 OR pk>0 OR experience>$exp) " .
|
||||
"AND (level>=$lev1 AND level<=$lev2) AND (alive=1) " .
|
||||
"AND (laston<'$last' OR loggedin=0) AND (acctid<>$id) " .
|
||||
"ORDER BY location='$loc' DESC, location, level DESC, " .
|
||||
"experience DESC, dragonkills DESC";
|
||||
}
|
||||
|
||||
$result = db_query($sql);
|
||||
|
||||
$pvp = array();
|
||||
while($row = db_fetch_assoc($result)) {
|
||||
$pvp[] = $row;
|
||||
}
|
||||
|
||||
$pvp = modulehook("pvpmodifytargets", $pvp);
|
||||
|
||||
tlschema("pvp");
|
||||
$n = translate_inline("Name");
|
||||
$l = translate_inline("Level");
|
||||
$loc = translate_inline("Location");
|
||||
$ops = translate_inline("Ops");
|
||||
$bio = translate_inline("Bio");
|
||||
$att = translate_inline("Attack");
|
||||
|
||||
rawoutput("<table border='0' cellpadding='3' cellspacing='0'>");
|
||||
rawoutput("<tr class='trhead'><td>$n</td><td>$l</td><td>$loc</td><td>$ops</td></tr>");
|
||||
$loc_counts = array();
|
||||
$num = count($pvp);
|
||||
$j = 0;
|
||||
for ($i=0;$i<$num;$i++){
|
||||
$row = $pvp[$i];
|
||||
|
||||
if (isset($row['invalid']) && $row['invalid']) continue;
|
||||
if (!isset($loc_counts[$row['location']]))
|
||||
$loc_counts[$row['location']] = 0;
|
||||
$loc_counts[$row['location']]++;
|
||||
if ($row['location'] != $location) continue;
|
||||
$j++;
|
||||
$biolink="bio.php?char=".$row['acctid']."&ret=".urlencode($_SERVER['REQUEST_URI']);
|
||||
addnav("", $biolink);
|
||||
rawoutput("<tr class='".($j%2?"trlight":"trdark")."'>");
|
||||
rawoutput("<td>");
|
||||
if ($row['clanshort']>"" && $row['clanrank'] > CLAN_APPLICANT) {
|
||||
output_notl("%s<`2%s%s>`0 ",
|
||||
$clanrankcolors[$row['clanrank']], $row['clanshort'],
|
||||
$clanrankcolors[$row['clanrank']], true);
|
||||
}
|
||||
output_notl("`@%s`0", $row['name']);
|
||||
rawoutput("</td>");
|
||||
rawoutput("<td>");
|
||||
output_notl("%s", $row['level']);
|
||||
rawoutput("</td>");
|
||||
rawoutput("<td>");
|
||||
output_notl("%s", $row['location']);
|
||||
rawoutput("</td>");
|
||||
rawoutput("<td>[ <a href='$biolink'>$bio</a> | ");
|
||||
if($row['pvpflag']>$pvptimeout){
|
||||
output("`i(Attacked too recently)`i");
|
||||
}elseif ($location!=$row['location']){
|
||||
output("`i(Can't reach them from here)`i");
|
||||
}else{
|
||||
rawoutput("<a href='$link$extra&name=".$row['acctid']."'>$att</a>");
|
||||
addnav("","$link$extra&name=".$row['acctid']);
|
||||
}
|
||||
rawoutput(" ]</td>");
|
||||
rawoutput("</tr>");
|
||||
}
|
||||
|
||||
if (!isset($loc_counts[$location]) || $loc_counts[$location]==0){
|
||||
$noone = translate_inline("`iThere are no available targets.`i");
|
||||
output_notl("<tr><td align='center' colspan='4'>$noone</td></tr>", true);
|
||||
}
|
||||
rawoutput("</table>",true);
|
||||
|
||||
if ($num != 0 && (!isset($loc_counts[$location]) ||
|
||||
$loc_counts[$location] != $num)) {
|
||||
output("`n`n`&As you listen to different people around you talking, you glean the following additional information:`n");
|
||||
foreach ($loc_counts as $loc=>$count) {
|
||||
if ($loc == $location) continue;
|
||||
$args = modulehook("pvpcount", array('count'=>$count,'loc'=>$loc));
|
||||
if (isset($args['handled']) && $args['handled']) continue;
|
||||
if ($count == 1) {
|
||||
output("`&There is `^%s`& person sleeping in %s whom you might find interesting.`0`n", $count, $loc);
|
||||
} else {
|
||||
output("`&There are `^%s`& people sleeping in %s whom you might find interesting.`0`n", $count, $loc);
|
||||
}
|
||||
}
|
||||
}
|
||||
tlschema();
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user