//functions.php function BuildLinkBack($page){ return "/?page=$page"; } function alert($userid, $subject, $message){ $message = addslashes($message); $subject = addslashes($subject); mysql_query("INSERT INTO alerts (receiver_id, subject, message, thetime) values('$userid', '$subject', '$message', NOW())") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); } function format($number, $dec = 0, $dec_sep = ""){ return number_format((int)$number, $dec, $dec_sep, ","); } function clean_str($str){ $str = stripslashes($str); //$str = htmlspecialchars($str); return $str; } function updateCharacter($column, $value, $id) { mysql_query("UPDATE characters SET {$column} = {$value} WHERE id = '{$id}'"); } function updateBank($column, $value, $id) { mysql_query("UPDATE bank SET {$column} = {$value} WHERE owner_id = '{$id}'"); } function attackRoll($id) { $CharacterInfo = GetCharacterInfo($id); $WeaponInfo = GetWeaponInfo($CharacterInfo); return(mt_rand($WeaponInfo['min_damage'], $WeaponInfo['max_damage'] + ceil($CharacterInfo['strength'] / 2))); } function npcAttackRoll($attVal, $attValMax, $str) { return(mt_rand($attVal, $attValMax + ceil($str / 2))); } function defendRoll($id) { $CharacterInfo = GetCharacterInfo($id); $ArmourInfo = GetArmourInfo($CharacterInfo); return(mt_rand($ArmourInfo['value'], ($ArmourInfo['value'] + ceil($CharacterInfo['strength'] / 2)))); } function npcDefendRoll($defVal, $str) { return(mt_rand($defVal, ($defVal + ceil($str / 2)))); } function addExp($id, $exp) { $CharInfo = mysql_fetch_array(mysql_query("SELECT * FROM characters WHERE id = '{$id}'")); if($exp + $CharInfo['exp'] >= floor(($CharInfo['level'] * 1.1) * 500)) { // do a level up. $rolloverEXP = ($exp + $CharInfo['exp']) - floor(($CharInfo['level'] * 1.1) * 500); $extraHP = mt_rand(5, 10 + (ceil($CharInfo['strength'] / 2))); updateCharacter("exp", $rolloverEXP, $id); updateCharacter("level", "(level + 1)", $id); updateCharacter("max_hp", "(max_hp + {$extraHP})", $id); updateCharacter("now_hp", "(now_hp + {$extraHP})", $id); if(mt_rand(1, 8) == 1) updateCharacter("strength", "(strength + 1)", $id); $extraMoney = mt_rand(90, 150); updateCharacter("money", "(money + {$extraMoney}", $id); $CharInfo = mysql_fetch_array(mysql_query("SELECT * FROM characters WHERE id = '{$id}'")); if($CharInfo['exp'] >= floor(($CharInfo['level'] * 1.1) * 500)) // Double check for extra levels addExp($CharInfo['id'], 0); } else updateCharacter("exp", "(exp + {$exp})", $id); } function TakeMoney($amount){ global $sess_user_id; $sess_user_money -= $amount; mysql_query("UPDATE `users` set money = '$sess_user_money' where user_id = '$sess_user_id'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); return "$amount KD was taken from you"; } function FineMoney($amount, $punishment) { //from person first global $CharacterInfo; if($CharacterInfo['money'] >= $amount){ updateCharacter("money", "(money - {$amount})", $CharacterInfo['id']); $message = "You have been fined {$amount}."; } elseif($punishment == false) { $message = "You were going to get a {$amount} KD fine, but we'll let you off this time!"; } elseif($punishment) { $bankInfo = GetBankInfo($CharacterInfo['id']); if($bankInfo['money'] >= $amount){ updateBank("money", "(money - {$amount})", $CharacterInfo['id']); $message = "You have been fined {$amount} KD"; } else { if(($CharacterInfo['money'] + $bankInfo['money']) >= $amount){ $amount -= $bankInfo['money']; updateBank("money", "0", $CharacterInfo['id']); updateCharacter("money", "(money - {$amount})", $CharacterInfo['id']); $message = "You have been fined $amount KD"; } else { //drain both accoutns & add 100 kd debit updateBank("money", "-100", $CharacterInfo['id']); updateCharacter("money", "0", $CharacterInfo['id']); $message = "You have been fined $amount KD, but because you did not have the funds your account has been drained and you are now 100 KD in debit"; } } } GiveMoney(5, $amount); alert(5, "Somebody got a fine", "{$CharacterInfo['name']} got an {$amount} fine."); return $message; } function GiveMoney($user_id, $amount){ updateBank("money", "(money + {$amount})", $user_id); } function TakeHP($user_id, $take){ if($take < 0) $take = 0; updateCharacter("now_hp", "(now_hp - {$take})", $user_id); } function GetPercentage($low, $high){ $per = $low / $high; $per = $per * 100; $per = round($per,2); return $per; } function NumberIsPercentOf($number, $percent){ // 30% of what number is 90? $percent = $percent / 100; $value = $number / $percent; return $value; } function PercentOfNumberIs($percent, $number){ // 30% of 90 is what number? $percent = $percent / 100; $percent = round($percent,2); $value = $number * $percent; return $value; } function GetCharacterInfo($id){ $GetInfo = mysql_query("SELECT * FROM characters WHERE owner_id = '{$id}'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); return mysql_fetch_array($GetInfo); } function GetBankInfo($id){ $GetInfo = mysql_query("SELECT * FROM bank WHERE owner_id = '{$id}'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); return mysql_fetch_array($GetInfo); } function GetWeaponInfo($charInfo){ $GetWeapon = mysql_query("SELECT * FROM weapons where id = '{$charInfo['equiped_weapon']}'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); return mysql_fetch_array($GetWeapon); } function GetArmourInfo($charInfo){ $GetArmour = mysql_query("SELECT * FROM armour where id = '{$charInfo['equiped_armour']}'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); return mysql_fetch_array($GetArmour); } function GetIP(){ global $REMOTE_ADDR; global $HTTP_X_FORWARDED_FOR, $HTTP_X_FORWARDED, $HTTP_FORWARDED_FOR, $HTTP_FORWARDED; global $HTTP_VIA, $HTTP_X_COMING_FROM, $HTTP_COMING_FROM; if (empty($REMOTE_ADDR)) { if (!empty($_SERVER) && isset($_SERVER['REMOTE_ADDR'])) { $REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; } else if (!empty($_ENV) && isset($_ENV['REMOTE_ADDR'])) { $REMOTE_ADDR = $_ENV['REMOTE_ADDR']; } else if (@getenv('REMOTE_ADDR')) { $REMOTE_ADDR = getenv('REMOTE_ADDR'); } } if (empty($HTTP_X_FORWARDED_FOR)) { if (!empty($_SERVER) && isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $HTTP_X_FORWARDED_FOR = $_SERVER['HTTP_X_FORWARDED_FOR']; } else if (!empty($_ENV) && isset($_ENV['HTTP_X_FORWARDED_FOR'])) { $HTTP_X_FORWARDED_FOR = $_ENV['HTTP_X_FORWARDED_FOR']; } else if (@getenv('HTTP_X_FORWARDED_FOR')) { $HTTP_X_FORWARDED_FOR = getenv('HTTP_X_FORWARDED_FOR'); } } if (empty($HTTP_X_FORWARDED)) { if (!empty($_SERVER) && isset($_SERVER['HTTP_X_FORWARDED'])) { $HTTP_X_FORWARDED = $_SERVER['HTTP_X_FORWARDED']; } else if (!empty($_ENV) && isset($_ENV['HTTP_X_FORWARDED'])) { $HTTP_X_FORWARDED = $_ENV['HTTP_X_FORWARDED']; } else if (@getenv('HTTP_X_FORWARDED')) { $HTTP_X_FORWARDED = getenv('HTTP_X_FORWARDED'); } } if (empty($HTTP_FORWARDED_FOR)) { if (!empty($_SERVER) && isset($_SERVER['HTTP_FORWARDED_FOR'])) { $HTTP_FORWARDED_FOR = $_SERVER['HTTP_FORWARDED_FOR']; } else if (!empty($_ENV) && isset($_ENV['HTTP_FORWARDED_FOR'])) { $HTTP_FORWARDED_FOR = $_ENV['HTTP_FORWARDED_FOR']; } else if (@getenv('HTTP_FORWARDED_FOR')) { $HTTP_FORWARDED_FOR = getenv('HTTP_FORWARDED_FOR'); } } if (empty($HTTP_FORWARDED)) { if (!empty($_SERVER) && isset($_SERVER['HTTP_FORWARDED'])) { $HTTP_FORWARDED = $_SERVER['HTTP_FORWARDED']; } else if (!empty($_ENV) && isset($_ENV['HTTP_FORWARDED'])) { $HTTP_FORWARDED = $_ENV['HTTP_FORWARDED']; } else if (@getenv('HTTP_FORWARDED')) { $HTTP_FORWARDED = getenv('HTTP_FORWARDED'); } } if (empty($HTTP_VIA)) { if (!empty($_SERVER) && isset($_SERVER['HTTP_VIA'])) { $HTTP_VIA = $_SERVER['HTTP_VIA']; } else if (!empty($_ENV) && isset($_ENV['HTTP_VIA'])) { $HTTP_VIA = $_ENV['HTTP_VIA']; } else if (@getenv('HTTP_VIA')) { $HTTP_VIA = getenv('HTTP_VIA'); } } if (empty($HTTP_X_COMING_FROM)) { if (!empty($_SERVER) && isset($_SERVER['HTTP_X_COMING_FROM'])) { $HTTP_X_COMING_FROM = $_SERVER['HTTP_X_COMING_FROM']; } else if (!empty($_ENV) && isset($_ENV['HTTP_X_COMING_FROM'])) { $HTTP_X_COMING_FROM = $_ENV['HTTP_X_COMING_FROM']; } else if (@getenv('HTTP_X_COMING_FROM')) { $HTTP_X_COMING_FROM = getenv('HTTP_X_COMING_FROM'); } } if (empty($HTTP_COMING_FROM)) { if (!empty($_SERVER) && isset($_SERVER['HTTP_COMING_FROM'])) { $HTTP_COMING_FROM = $_SERVER['HTTP_COMING_FROM']; } else if (!empty($_ENV) && isset($_ENV['HTTP_COMING_FROM'])) { $HTTP_COMING_FROM = $_ENV['HTTP_COMING_FROM']; } else if (@getenv('HTTP_COMING_FROM')) { $HTTP_COMING_FROM = getenv('HTTP_COMING_FROM'); } } if (!empty($REMOTE_ADDR)) { $direct_ip = $REMOTE_ADDR; } $proxy_ip = ''; if (!empty($HTTP_X_FORWARDED_FOR)) { $proxy_ip = $HTTP_X_FORWARDED_FOR; } else if (!empty($HTTP_X_FORWARDED)) { $proxy_ip = $HTTP_X_FORWARDED; } else if (!empty($HTTP_FORWARDED_FOR)) { $proxy_ip = $HTTP_FORWARDED_FOR; } else if (!empty($HTTP_FORWARDED)) { $proxy_ip = $HTTP_FORWARDED; } else if (!empty($HTTP_VIA)) { $proxy_ip = $HTTP_VIA; } else if (!empty($HTTP_X_COMING_FROM)) { $proxy_ip = $HTTP_X_COMING_FROM; } else if (!empty($HTTP_COMING_FROM)) { $proxy_ip = $HTTP_COMING_FROM; } if (empty($proxy_ip)) { return $direct_ip; } else { $is_ip = preg_match('|^([0-9]{1,3}\.){3,3}[0-9]{1,3}|', $proxy_ip, $regs = array()); if ($is_ip && (count($regs) > 0)) { return $regs[0]; } else { return FALSE; } } } function generateVerifyChecksum() { do { $testID = md5(mt_rand()); } while (!is_verify_unique($testID)); return $testID; } function is_verify_unique( $the_id ) { $result = mysql_query("SELECT COUNT(id) FROM verify WHERE checksum = '$the_id'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); if (mysql_result($result, 0) == 0) { return true; } else { return false; } } # performs a javascript redirection function JSRedirect($url, $timer = 0) { if ($timer == 0) { print ""; } else { $timerN = $timer * 1000; print "
Now Redirecting, please wait $timer seconds.
or click here.
";
}
}
?>