mirror of
https://github.com/Znote/ZnoteAAC.git
synced 2025-04-26 01:09:22 +02:00
190 lines
8.0 KiB
PHP
190 lines
8.0 KiB
PHP
<?php require_once 'engine/init.php'; include 'layout/overall/header.php';
|
|
protect_page();
|
|
admin_only($user_data);
|
|
|
|
// PREP: Create a function that echos player skills
|
|
function playerSkill($skills, $id) {
|
|
if (!$skills) return 0;
|
|
else {
|
|
return $skills[$id]['value'];
|
|
}
|
|
}
|
|
|
|
// UPDATE SKILLS POST
|
|
if (isset($_POST['pid']) && (int)$_POST['pid'] > 0) {
|
|
$pid = (int)$_POST['pid'];
|
|
if ($config['ServerEngine'] != 'TFS_10') $status = user_is_online($pid);
|
|
else $status = user_is_online_10($pid);
|
|
|
|
if (!$status) {
|
|
// New player level
|
|
$level = (int)$_POST['level'];
|
|
|
|
// Fetch stat gain for vocation
|
|
$statgain = $config['vocations_gain'][(int)$_POST['vocation']];
|
|
$playercnf = $config['player'];
|
|
|
|
/*
|
|
if ((int)$_POST['vocation'] !== 0) {
|
|
// Fetch base level and stats:
|
|
$baselevel = $config['level'];
|
|
$basehealth = $config['health'];
|
|
$basemana = $config['mana'];
|
|
$basecap = $config['cap'];
|
|
} else { // No vocation stats
|
|
// Fetch base level and stats:
|
|
$baselevel = $config['nvlevel'];
|
|
$basehealth = $config['nvHealth'];
|
|
$basemana = $config['nvMana'];
|
|
$basecap = $config['nvCap'];
|
|
}
|
|
*/
|
|
|
|
$LevelsFromBase = $level - $playercnf['base']['level'];
|
|
$newhp = $playercnf['base']['health'] + ($statgain['hp'] * $LevelsFromBase);
|
|
$newmp = $playercnf['base']['mana'] + ($statgain['mp'] * $LevelsFromBase);
|
|
$newcap = $playercnf['base']['cap'] + ($statgain['cap'] * $LevelsFromBase);
|
|
|
|
// Calibrate hp/mana/cap
|
|
if ($config['ServerEngine'] != 'TFS_10') {
|
|
mysql_update("UPDATE `player_skills` SET `value`='". (int)$_POST['fist'] ."' WHERE `player_id`='$pid' AND `skillid`='0' LIMIT 1;");
|
|
mysql_update("UPDATE `player_skills` SET `value`='". (int)$_POST['club'] ."' WHERE `player_id`='$pid' AND `skillid`='1' LIMIT 1;");
|
|
mysql_update("UPDATE `player_skills` SET `value`='". (int)$_POST['sword'] ."' WHERE `player_id`='$pid' AND `skillid`='2' LIMIT 1;");
|
|
mysql_update("UPDATE `player_skills` SET `value`='". (int)$_POST['axe'] ."' WHERE `player_id`='$pid' AND `skillid`='3' LIMIT 1;");
|
|
mysql_update("UPDATE `player_skills` SET `value`='". (int)$_POST['dist'] ."' WHERE `player_id`='$pid' AND `skillid`='4' LIMIT 1;");
|
|
mysql_update("UPDATE `player_skills` SET `value`='". (int)$_POST['shield'] ."' WHERE `player_id`='$pid' AND `skillid`='5' LIMIT 1;");
|
|
mysql_update("UPDATE `player_skills` SET `value`='". (int)$_POST['fish'] ."' WHERE `player_id`='$pid' AND `skillid`='6' LIMIT 1;");
|
|
mysql_update("UPDATE `players` SET `maglevel`='". (int)$_POST['magic'] ."' WHERE `id`='$pid' LIMIT 1;");
|
|
mysql_update("UPDATE `players` SET `vocation`='". (int)$_POST['vocation'] ."' WHERE `id`='$pid' LIMIT 1;");
|
|
mysql_update("UPDATE `players` SET `level`='". $level ."' WHERE `id`='$pid' LIMIT 1;");
|
|
mysql_update("UPDATE `players` SET `experience`='". level_to_experience($level) ."' WHERE `id`='$pid' LIMIT 1;");
|
|
// Update HP/mana/cap accordingly to level & vocation
|
|
mysql_update("UPDATE `players` SET `health`='". $newhp ."', `healthmax`='". $newhp ."', `mana`='". $newmp ."', `manamax`='". $newmp ."', `cap`='". $newcap ."' WHERE `id`='$pid' LIMIT 1;");
|
|
} else {
|
|
mysql_update("UPDATE `players` SET `health`='". $newhp ."', `healthmax`='". $newhp ."', `mana`='". $newmp ."', `manamax`='". $newmp ."', `cap`='". $newcap ."', `vocation`='". (int)$_POST['vocation'] ."', `skill_fist`='". (int)$_POST['fist'] ."', `skill_club`='". (int)$_POST['club'] ."', `skill_sword`='". (int)$_POST['sword'] ."', `skill_axe`='". (int)$_POST['axe'] ."', `skill_dist`='". (int)$_POST['dist'] ."', `skill_shielding`='". (int)$_POST['shield'] ."', `skill_fishing`='". (int)$_POST['fish'] ."', `maglevel`='". (int)$_POST['magic'] ."', `level`='". $level ."', `experience`='". level_to_experience($level) ."' WHERE `id`='$pid' LIMIT 1;");
|
|
}
|
|
?>
|
|
<h1>Player skills updated!</h1>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<font color="red" size="7">Player must be offline!</font>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
// Stage 1: Fetch name
|
|
if (isset($_GET['name'])) {
|
|
$name = getValue($_GET['name']);
|
|
} else $name = false;
|
|
//if (isset($_POST['name'])) $name = getValue($_POST['name']);
|
|
|
|
// Stage 2: Fetch user id and skills
|
|
$skills = false;
|
|
$pid = 0;
|
|
if ($name !== false) {
|
|
if (user_character_exist($name)) {
|
|
$pid = user_character_id($name);
|
|
|
|
if ($config['ServerEngine'] != 'TFS_10') {
|
|
$skills = mysql_select_multi("SELECT `value` FROM `player_skills` WHERE `player_id`='$pid' LIMIT 7;");
|
|
$player = mysql_select_single("SELECT `maglevel`, `level`, `vocation` FROM `players` WHERE `id`='$pid' LIMIT 1;");
|
|
$skills[] = array('value' => $player['maglevel']);
|
|
$skills[] = array('value' => $player['level']);
|
|
$skills[] = array('value' => $player['vocation']);
|
|
} else {
|
|
$player = mysql_select_single("SELECT `skill_fist`, `skill_club`, `skill_sword`, `skill_axe`, `skill_dist`, `skill_shielding`, `skill_fishing`, `maglevel`, `level`, `vocation` FROM `players` WHERE `id`='$pid' LIMIT 1;");
|
|
$skills = array(
|
|
0 => array('value' => $player['skill_fist']),
|
|
1 => array('value' => $player['skill_club']),
|
|
2 => array('value' => $player['skill_sword']),
|
|
3 => array('value' => $player['skill_axe']),
|
|
4 => array('value' => $player['skill_dist']),
|
|
5 => array('value' => $player['skill_shielding']),
|
|
6 => array('value' => $player['skill_fishing']),
|
|
7 => array('value' => $player['maglevel']),
|
|
8 => array('value' => $player['level']),
|
|
9 => array('value' => $player['vocation'])
|
|
);
|
|
}
|
|
|
|
//data_dump($skills, false, "Player skills");
|
|
} else $name = false;
|
|
}
|
|
|
|
?>
|
|
<form action="" method="<?php if (!$name) echo "get"; else echo "post";?>">
|
|
<input type="hidden" name="pid" value="<?php echo $pid; ?>">
|
|
<table class="table">
|
|
<tr class="yellow">
|
|
<td colspan="2"><center><font size="6">Player skills administration</font></center></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<input name="name" type="text" placeholder="Character name" <?php if ($name !== false) echo "value='$name' disabled";?>>
|
|
<br><br>
|
|
Vocation:<br>
|
|
<select name="vocation" <?php if (!$name) echo "disabled";?>>
|
|
<?php
|
|
$vocations = $config['vocations'];
|
|
foreach ($vocations as $vid => $vname) {
|
|
?>
|
|
<option value="<?php echo $vid; ?>" <?php if ($vid == playerSkill($skills, 9)) echo "selected"?> ><?php echo $vname['name']; ?></option>
|
|
<?php
|
|
}
|
|
?>
|
|
</select>
|
|
<br><br>
|
|
Fist fighting:<br>
|
|
<input name="fist" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 0); ?>">
|
|
<br><br>
|
|
Club fighting:<br>
|
|
<input name="club" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 1); ?>">
|
|
<br><br>
|
|
Sword fighting:<br>
|
|
<input name="sword" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 2); ?>">
|
|
<br><br>
|
|
Axe fighting:<br>
|
|
<input name="axe" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 3); ?>">
|
|
<br><br>
|
|
</td>
|
|
<td>
|
|
Dist fighting:<br>
|
|
<input name="dist" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 4); ?>">
|
|
<br><br>
|
|
Shield fighting:<br>
|
|
<input name="shield" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 5); ?>">
|
|
<br><br>
|
|
Fish fighting:<br>
|
|
<input name="fish" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 6); ?>">
|
|
<br><br>
|
|
Level:<br>
|
|
<input name="level" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 8); ?>">
|
|
<br><br>
|
|
Magic level:<br>
|
|
<input name="magic" type="text" <?php if (!$name) echo "disabled";?> value="<?php echo playerSkill($skills, 7); ?>">
|
|
<br><br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<?php
|
|
if (!$name) {
|
|
?>
|
|
<input class="btn btn-primary" type="submit" value="Fetch character skills info">
|
|
<?php
|
|
} else {
|
|
?>
|
|
<input class="btn btn-success" type="submit" value="UPDATE SKILLS">
|
|
<?php
|
|
}
|
|
?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a href="admin_skills.php">Reset fields / search new character</a>
|
|
</form>
|
|
<?php
|
|
// end
|
|
include 'layout/overall/footer.php'; ?>
|