// CREATE CHARACTER
function user_create_character($character_data) {
array_walk($character_data, 'array_sanitize');
$cnf = fullConfig();
if ($character_data['sex'] == 1) {
if ($character_data['vocation'] == 1) {
$outfit_type = $cnf['sorcMaleOutfitId'];
} elseif ($character_data['vocation'] == 2) {
$outfit_type = $cnf['druidMaleOutfitId'];
} elseif ($character_data['vocation'] == 3) {
$outfit_type = $cnf['paladinMaleOutfitId'];
} elseif ($character_data['vocation'] == 4) {
$outfit_type = $cnf['knightMaleOutfitId'];
} else {
$outfit_type = $cnf['maleOutfitId'];
}
} else {
if ($character_data['vocation'] == 1) {
$outfit_type = $cnf['sorcFemaleOutfitId'];
} elseif ($character_data['vocation'] == 2) {
$outfit_type = $cnf['druidFemaleOutfitId'];
} elseif ($character_data['vocation'] == 3) {
$outfit_type = $cnf['paladinFemaleOutfitId'];
} elseif ($character_data['vocation'] == 4) {
$outfit_type = $cnf['knightFemaleOutfitId'];
} else {
$outfit_type = $cnf['femaleOutfitId'];
}
}
// This is TFS 0.2 compatible import data with Znote AAC mysql schema
$import_data = array(
'name' => $character_data['name'],
'group_id' => 1,
'account_id' => $character_data['account_id'],
'level' => $cnf['level'],
'vocation' => $character_data['vocation'],
'health' => $cnf['health'],
'healthmax' => $cnf['health'],
'experience' => 0, /* Will automatically be configured according to level after creating this array*/
'lookbody' => $cnf['lookBody'], /* STARTER OUTFITS */
'lookfeet' => $cnf['lookFeet'],
'lookhead' => $cnf['lookHead'],
'looklegs' => $cnf['lookLegs'],
'looktype' => $outfit_type,
'lookaddons' => 0,
'maglevel' => 0,
'mana' => $cnf['mana'],
'manamax' => $cnf['mana'],
'manaspent' => 0,
'soul' => $cnf['soul'],
'town_id' => $character_data['town_id'],
'posx' => $cnf['default_pos']['x'],
'posy' => $cnf['default_pos']['y'],
'posz' => $cnf['default_pos']['z'],
'conditions' => '',
'cap' => $cnf['cap'],
'sex' => $character_data['sex'],
'lastlogin' => 0,
'lastip' => $character_data['lastip'],
'save' => 1,
'skull' => 0,
'skulltime' => 0,
'rank_id' => 0,
'guildnick' => '',
'lastlogout' => 0,
'blessings' => 0,
'direction' => 0,
'loss_experience' => 10,
'loss_mana' => 10,
'loss_skills' => 10,
'premend' => 0,
'online' => 0,
'balance' => 0
);
// TFS 1.0 rules
if (Config('TFSVersion') === 'TFS_10') {
unset($import_data['rank_id']);
unset($import_data['guildnick']);
unset($import_data['direction']);
unset($import_data['loss_experience']);
unset($import_data['loss_mana']);
unset($import_data['loss_skills']);
unset($import_data['loss_mana']);
unset($import_data['premend']);
unset($import_data['online']);
}
// Set correct experience for level
$import_data['experience'] = level_to_experience($import_data['level']);
// If you are no vocation (id 0), use these details instead:
if ($character_data['vocation'] === '0') {
$import_data['level'] = $cnf['nvlevel'];
$import_data['experience'] = level_to_experience($cnf['nvlevel']);
$import_data['health'] = $cnf['nvHealth'];
$import_data['healthmax'] = $cnf['nvHealth'];
$import_data['cap'] = $cnf['nvCap'];
$import_data['mana'] = $cnf['nvMana'];
$import_data['manamax'] = $cnf['nvMana'];
$import_data['soul'] = $cnf['nvSoul'];
if ($cnf['nvForceTown'] == 1) {
$import_data['town_id'] = $cnf['nvTown'];
}
}
$fields = array_keys($import_data); // Fetch select fields
$data = array_values($import_data); // Fetch insert data
$fields_sql = implode("`, `", $fields); // Convert array into SQL compatible string
$data_sql = implode("', '", $data); // Convert array into SQL compatible string
echo 1;
mysql_insert("INSERT INTO `players`(`$fields_sql`) VALUES ('$data_sql');");
$created = time();
$charid = user_character_id($import_data['name']);
echo 2;
mysql_insert("INSERT INTO `znote_players`(`player_id`, `created`, `hide_char`, `comment`) VALUES ('$charid', '$created', '0', '');");
}