mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-23 08:31:57 +00:00
Characters DB R3
Corrected a bug when creating a new character Corrected gear management issues (SQL is so annoyed by NULL things :( ) Corrected a slot detection issue
This commit is contained in:
@@ -12,6 +12,9 @@ var/char_id
|
|||||||
var/char_slot
|
var/char_slot
|
||||||
/datum/preferences/proc/SQLsave_character(var/cslot)
|
/datum/preferences/proc/SQLsave_character(var/cslot)
|
||||||
char_slot = cslot
|
char_slot = cslot
|
||||||
|
if(!cslot)
|
||||||
|
log_debug("invalid slot")
|
||||||
|
return 0
|
||||||
for(var/ckey in preferences_datums)
|
for(var/ckey in preferences_datums)
|
||||||
var/datum/preferences/D = preferences_datums[ckey]
|
var/datum/preferences/D = preferences_datums[ckey]
|
||||||
if(D == src)
|
if(D == src)
|
||||||
@@ -36,10 +39,6 @@ var/char_slot
|
|||||||
InsertGearData()
|
InsertGearData()
|
||||||
InsertOrgansData()
|
InsertOrgansData()
|
||||||
log_debug(dbcon.ErrorMsg())
|
log_debug(dbcon.ErrorMsg())
|
||||||
TextQuery = "UPDATE SS13_characters SET Character_Name = (SELECT name FROM characters_data WHERE char_id = '[char_id]') WHERE id = '[char_id]'"
|
|
||||||
query = dbcon.NewQuery(TextQuery)
|
|
||||||
query.Execute()
|
|
||||||
log_debug(dbcon.ErrorMsg())
|
|
||||||
else
|
else
|
||||||
log_debug("ID = [char_id]")
|
log_debug("ID = [char_id]")
|
||||||
log_debug("Update entry")
|
log_debug("Update entry")
|
||||||
@@ -51,6 +50,10 @@ var/char_slot
|
|||||||
UpdateSkillsData()
|
UpdateSkillsData()
|
||||||
UpdateGearData()
|
UpdateGearData()
|
||||||
UpdateOrgansData()
|
UpdateOrgansData()
|
||||||
|
TextQuery = "UPDATE SS13_characters SET Character_Name = (SELECT name FROM characters_data WHERE char_id = '[char_id]') WHERE id = '[char_id]'"
|
||||||
|
query = dbcon.NewQuery(TextQuery)
|
||||||
|
query.Execute()
|
||||||
|
log_debug(dbcon.ErrorMsg())
|
||||||
log_debug("Save query executed")
|
log_debug("Save query executed")
|
||||||
return 1
|
return 1
|
||||||
log_debug("No ckey in datums")
|
log_debug("No ckey in datums")
|
||||||
@@ -107,6 +110,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateCharData()
|
/datum/preferences/proc/UpdateCharData()
|
||||||
log_debug("Update Char Data")
|
log_debug("Update Char Data")
|
||||||
|
query = dbcon.NewQuery("SELECT id FROM characters_data WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertCharData()
|
||||||
TextQuery = "UPDATE characters_data SET age = '[age]', backbag='[backbag]', b_type='[b_type]', eyes_B = '[b_eyes]', eyes_G='[g_eyes]', eyes_R='[r_eyes]',"
|
TextQuery = "UPDATE characters_data SET age = '[age]', backbag='[backbag]', b_type='[b_type]', eyes_B = '[b_eyes]', eyes_G='[g_eyes]', eyes_R='[r_eyes]',"
|
||||||
TextQuery += "facial_B='[b_facial]', facial_G='[g_facial]', facial_R='[r_facial]', facial_style='[f_style]', gender = '[gender]', hair_B='[b_hair]', hair_G='[g_hair]',"
|
TextQuery += "facial_B='[b_facial]', facial_G='[g_facial]', facial_R='[r_facial]', facial_style='[f_style]', gender = '[gender]', hair_B='[b_hair]', hair_G='[g_hair]',"
|
||||||
TextQuery += "hair_R='[r_hair]', hair_style='[h_style]', isRandom='[be_random_name]', language='[language]', name='[real_name]', OOC='[metadata]',skin_B='[b_skin]', skin_G='[g_skin]',"
|
TextQuery += "hair_R='[r_hair]', hair_style='[h_style]', isRandom='[be_random_name]', language='[language]', name='[real_name]', OOC='[metadata]',skin_B='[b_skin]', skin_G='[g_skin]',"
|
||||||
@@ -118,6 +125,7 @@ var/char_slot
|
|||||||
log_debug(dbcon.ErrorMsg())
|
log_debug(dbcon.ErrorMsg())
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
/datum/preferences/proc/LoadCharData()
|
/datum/preferences/proc/LoadCharData()
|
||||||
log_debug("Load char data")
|
log_debug("Load char data")
|
||||||
TextQuery = "SELECT age, backbag, b_type, eyes_B, eyes_G, eyes_R, facial_B, facial_G, facial_R, facial_style, gender, "
|
TextQuery = "SELECT age, backbag, b_type, eyes_B, eyes_G, eyes_R, facial_B, facial_G, facial_R, facial_style, gender, "
|
||||||
@@ -173,6 +181,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateJobsData()
|
/datum/preferences/proc/UpdateJobsData()
|
||||||
log_debug("update jobs")
|
log_debug("update jobs")
|
||||||
|
query = dbcon.NewQuery("SELECT id FROM characters_jobs WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertJobsData()
|
||||||
TextQuery = "UPDATE characters_jobs SET Alternate='[alternate_option]', civ_high='[job_civilian_high]', civ_med='[job_civilian_med]', civ_low='[job_civilian_low]', "
|
TextQuery = "UPDATE characters_jobs SET Alternate='[alternate_option]', civ_high='[job_civilian_high]', civ_med='[job_civilian_med]', civ_low='[job_civilian_low]', "
|
||||||
TextQuery += "medsci_high='[job_medsci_high]', medsci_med='[job_medsci_med]', medsci_low='[job_medsci_low]', "
|
TextQuery += "medsci_high='[job_medsci_high]', medsci_med='[job_medsci_med]', medsci_low='[job_medsci_low]', "
|
||||||
TextQuery += "engsec_high='[job_engsec_high]', engsec_med='[job_engsec_med]', engsec_low='[job_engsec_low]' WHERE char_id = [char_id] "
|
TextQuery += "engsec_high='[job_engsec_high]', engsec_med='[job_engsec_med]', engsec_low='[job_engsec_low]' WHERE char_id = [char_id] "
|
||||||
@@ -218,6 +230,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateFlavourData()
|
/datum/preferences/proc/UpdateFlavourData()
|
||||||
log_debug("update flavour")
|
log_debug("update flavour")
|
||||||
|
query = dbcon.NewQuery("SELECT id FROM characters_data WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertFlavourData()
|
||||||
TextQuery = "UPDATE characters_flavour SET generals='[flavor_texts["general"]]', head='[flavor_texts["head"]]', face='[flavor_texts["face"]]', eyes='[flavor_texts["eyes"]]', "
|
TextQuery = "UPDATE characters_flavour SET generals='[flavor_texts["general"]]', head='[flavor_texts["head"]]', face='[flavor_texts["face"]]', eyes='[flavor_texts["eyes"]]', "
|
||||||
TextQuery += "torso='[flavor_texts["torso"]]', arms='[flavor_texts["arms"]]', hands='[flavor_texts["hands"]]', legs='[flavor_texts["legs"]]', feet='[flavor_texts["feet"]]' "
|
TextQuery += "torso='[flavor_texts["torso"]]', arms='[flavor_texts["arms"]]', hands='[flavor_texts["hands"]]', legs='[flavor_texts["legs"]]', feet='[flavor_texts["feet"]]' "
|
||||||
TextQuery += "WHERE char_id = [char_id]"
|
TextQuery += "WHERE char_id = [char_id]"
|
||||||
@@ -263,6 +279,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateRobotFlavourData()
|
/datum/preferences/proc/UpdateRobotFlavourData()
|
||||||
log_debug("update robot")
|
log_debug("update robot")
|
||||||
|
query = dbcon.NewQuery("SELECT id FROM characters_robot_flavour WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertRobotFlavourData()
|
||||||
TextQuery = "UPDATE characters_robot_flavour SET Default_Robot='[flavour_texts_robot["Default"]]', Standard='[flavour_texts_robot["Standard"]]', Engineering='[flavour_texts_robot["Engineering"]]', "
|
TextQuery = "UPDATE characters_robot_flavour SET Default_Robot='[flavour_texts_robot["Default"]]', Standard='[flavour_texts_robot["Standard"]]', Engineering='[flavour_texts_robot["Engineering"]]', "
|
||||||
TextQuery += "Construction='[flavour_texts_robot["Construction"]]', Surgeon='[flavour_texts_robot["Surgeon"]]', Crisis='[flavour_texts_robot["Crisis"]]', Miner='[flavour_texts_robot["Miner"]]', "
|
TextQuery += "Construction='[flavour_texts_robot["Construction"]]', Surgeon='[flavour_texts_robot["Surgeon"]]', Crisis='[flavour_texts_robot["Crisis"]]', Miner='[flavour_texts_robot["Miner"]]', "
|
||||||
TextQuery += "Janitor='[flavour_texts_robot["Janitor"]]', Service='[flavour_texts_robot["Service"]]', Clerical='[flavour_texts_robot["Clerical"]]', "
|
TextQuery += "Janitor='[flavour_texts_robot["Janitor"]]', Service='[flavour_texts_robot["Service"]]', Clerical='[flavour_texts_robot["Clerical"]]', "
|
||||||
@@ -314,6 +334,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateMiscData()
|
/datum/preferences/proc/UpdateMiscData()
|
||||||
log_debug("update misc")
|
log_debug("update misc")
|
||||||
|
query = dbcon.NewQuery("SELECT id FROM characters_misc WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertMiscData()
|
||||||
TextQuery = "UPDATE characters_misc SET med_rec='[med_record]', sec_rec='[sec_record]', gen_rec='[gen_record]', disab='[disabilities]', "
|
TextQuery = "UPDATE characters_misc SET med_rec='[med_record]', sec_rec='[sec_record]', gen_rec='[gen_record]', disab='[disabilities]', "
|
||||||
TextQuery += "used_skill='[used_skillpoints]', skills_spec='[skill_specialization]', "
|
TextQuery += "used_skill='[used_skillpoints]', skills_spec='[skill_specialization]', "
|
||||||
TextQuery += "home_sys='[home_system]', citizen='[citizenship]', faction='[faction]', religion='[religion]', NT_relation='[nanotrasen_relation]', uplink_loc='[uplinklocation]', "
|
TextQuery += "home_sys='[home_system]', citizen='[citizenship]', faction='[faction]', religion='[religion]', NT_relation='[nanotrasen_relation]', uplink_loc='[uplinklocation]', "
|
||||||
@@ -365,6 +389,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateSkillsData()
|
/datum/preferences/proc/UpdateSkillsData()
|
||||||
log_debug("update skills")
|
log_debug("update skills")
|
||||||
|
query = dbcon.NewQuery("SELECT id FROM characters_skills WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertSkillsData()
|
||||||
TextQuery = "UPDATE characters_skills SET Command='[skills["management"]]', Botany='[skills["botany"]]', Cooking='[skills["cooking"]]', Close_Combat='[skills["combat"]]', "
|
TextQuery = "UPDATE characters_skills SET Command='[skills["management"]]', Botany='[skills["botany"]]', Cooking='[skills["cooking"]]', Close_Combat='[skills["combat"]]', "
|
||||||
TextQuery += "Weapons_Expertise='[skills["weapons"]]', Forensics='[skills["forensics"]]', NanoTrasen_Law='[skills["law"]]', EVA='[skills["EVA"]]', "
|
TextQuery += "Weapons_Expertise='[skills["weapons"]]', Forensics='[skills["forensics"]]', NanoTrasen_Law='[skills["law"]]', EVA='[skills["EVA"]]', "
|
||||||
TextQuery += "Construction='[skills["construction"]]', Electrical='[skills["electrical"]]', Atmos='[skills["atmos"]]', Engines='[skills["engines"]]', Heavy_Mach='[skills["pilot"]]', Complex_Devices='[skills["devices"]]', "
|
TextQuery += "Construction='[skills["construction"]]', Electrical='[skills["electrical"]]', Atmos='[skills["atmos"]]', Engines='[skills["engines"]]', Heavy_Mach='[skills["pilot"]]', Complex_Devices='[skills["devices"]]', "
|
||||||
@@ -376,6 +404,7 @@ var/char_slot
|
|||||||
log_debug(dbcon.ErrorMsg())
|
log_debug(dbcon.ErrorMsg())
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
/datum/preferences/proc/LoadSkillsData()
|
/datum/preferences/proc/LoadSkillsData()
|
||||||
log_debug("load skills")
|
log_debug("load skills")
|
||||||
TextQuery = "SELECT * FROM characters_skills WHERE char_id = '[char_id]'"
|
TextQuery = "SELECT * FROM characters_skills WHERE char_id = '[char_id]'"
|
||||||
@@ -422,6 +451,7 @@ var/char_slot
|
|||||||
if(3) TextQuery = "UPDATE characters_gear SET gear3='[gear_name]' WHERE char_id = '[char_id]'"
|
if(3) TextQuery = "UPDATE characters_gear SET gear3='[gear_name]' WHERE char_id = '[char_id]'"
|
||||||
if(4) TextQuery = "UPDATE characters_gear SET gear4='[gear_name]' WHERE char_id = '[char_id]'"
|
if(4) TextQuery = "UPDATE characters_gear SET gear4='[gear_name]' WHERE char_id = '[char_id]'"
|
||||||
if(5) TextQuery = "UPDATE characters_gear SET gear5='[gear_name]' WHERE char_id = '[char_id]'"
|
if(5) TextQuery = "UPDATE characters_gear SET gear5='[gear_name]' WHERE char_id = '[char_id]'"
|
||||||
|
log_debug(TextQuery)
|
||||||
query = dbcon.NewQuery(TextQuery)
|
query = dbcon.NewQuery(TextQuery)
|
||||||
query.Execute()
|
query.Execute()
|
||||||
log_debug(dbcon.ErrorMsg())
|
log_debug(dbcon.ErrorMsg())
|
||||||
@@ -429,6 +459,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateGearData()
|
/datum/preferences/proc/UpdateGearData()
|
||||||
log_debug("update gear")
|
log_debug("update gear")
|
||||||
|
query = dbcon.NewQuery("SELECT id FROM characters_gear WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertGearData()
|
||||||
var/loop_id = 0
|
var/loop_id = 0
|
||||||
for(var/gear_name in gear)
|
for(var/gear_name in gear)
|
||||||
if(gear_name)
|
if(gear_name)
|
||||||
@@ -439,17 +473,19 @@ var/char_slot
|
|||||||
if(3) TextQuery = "UPDATE characters_gear SET gear3='[gear_name]' WHERE char_id = '[char_id]'"
|
if(3) TextQuery = "UPDATE characters_gear SET gear3='[gear_name]' WHERE char_id = '[char_id]'"
|
||||||
if(4) TextQuery = "UPDATE characters_gear SET gear4='[gear_name]' WHERE char_id = '[char_id]'"
|
if(4) TextQuery = "UPDATE characters_gear SET gear4='[gear_name]' WHERE char_id = '[char_id]'"
|
||||||
if(5) TextQuery = "UPDATE characters_gear SET gear5='[gear_name]' WHERE char_id = '[char_id]'"
|
if(5) TextQuery = "UPDATE characters_gear SET gear5='[gear_name]' WHERE char_id = '[char_id]'"
|
||||||
|
log_debug(TextQuery)
|
||||||
query = dbcon.NewQuery(TextQuery)
|
query = dbcon.NewQuery(TextQuery)
|
||||||
query.Execute()
|
query.Execute()
|
||||||
log_debug(dbcon.ErrorMsg())
|
log_debug(dbcon.ErrorMsg())
|
||||||
while(loop_id<5)
|
while(loop_id<5)
|
||||||
loop_id += 1
|
loop_id += 1
|
||||||
switch(loop_id)
|
switch(loop_id)
|
||||||
if(1) TextQuery = "UPDATE characters_gear SET gear1='NULL' WHERE char_id = '[char_id]'"
|
if(1) TextQuery = "UPDATE characters_gear SET gear1='none' WHERE char_id = '[char_id]'"
|
||||||
if(2) TextQuery = "UPDATE characters_gear SET gear2='NULL' WHERE char_id = '[char_id]'"
|
if(2) TextQuery = "UPDATE characters_gear SET gear2='none' WHERE char_id = '[char_id]'"
|
||||||
if(3) TextQuery = "UPDATE characters_gear SET gear3='NULL' WHERE char_id = '[char_id]'"
|
if(3) TextQuery = "UPDATE characters_gear SET gear3='none' WHERE char_id = '[char_id]'"
|
||||||
if(4) TextQuery = "UPDATE characters_gear SET gear4='NULL' WHERE char_id = '[char_id]'"
|
if(4) TextQuery = "UPDATE characters_gear SET gear4='none' WHERE char_id = '[char_id]'"
|
||||||
if(5) TextQuery = "UPDATE characters_gear SET gear5='NULL' WHERE char_id = '[char_id]'"
|
if(5) TextQuery = "UPDATE characters_gear SET gear5='none' WHERE char_id = '[char_id]'"
|
||||||
|
log_debug(TextQuery)
|
||||||
query = dbcon.NewQuery(TextQuery)
|
query = dbcon.NewQuery(TextQuery)
|
||||||
query.Execute()
|
query.Execute()
|
||||||
log_debug(dbcon.ErrorMsg())
|
log_debug(dbcon.ErrorMsg())
|
||||||
@@ -469,15 +505,14 @@ var/char_slot
|
|||||||
gear = list()
|
gear = list()
|
||||||
var/count = 1
|
var/count = 1
|
||||||
for(var/gear_name in query.item)
|
for(var/gear_name in query.item)
|
||||||
if(!(count>2))
|
if(count>2)
|
||||||
if(gear_name!=0)
|
if(gear_name!="none")
|
||||||
gear += gear_name
|
gear += gear_name
|
||||||
count += 1
|
count += 1
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/datum/preferences/proc/InsertOrgansData()
|
/datum/preferences/proc/InsertOrgansData()
|
||||||
log_debug("insert organs")
|
log_debug("insert organs")
|
||||||
sanitizePrefs()
|
|
||||||
TextQuery = "INSERT INTO characters_organs (char_id, l_leg, r_leg, l_arm, r_arm, l_foot, r_foot, l_hand, r_hand, heart, eyes) VALUES ("
|
TextQuery = "INSERT INTO characters_organs (char_id, l_leg, r_leg, l_arm, r_arm, l_foot, r_foot, l_hand, r_hand, heart, eyes) VALUES ("
|
||||||
TextQuery += "'[char_id]', '[organ_data["l_leg"]]', '[organ_data["r_leg"]]', '[organ_data["l_arm"]]', '[organ_data["r_arm"]]', '[organ_data["l_foot"]]', '[organ_data["r_foot"]]', "
|
TextQuery += "'[char_id]', '[organ_data["l_leg"]]', '[organ_data["r_leg"]]', '[organ_data["l_arm"]]', '[organ_data["r_arm"]]', '[organ_data["l_foot"]]', '[organ_data["r_foot"]]', "
|
||||||
TextQuery += "'[organ_data["l_hand"]]', '[organ_data["r_hand"]]', '[organ_data["heart"]]', '[organ_data["eyes"]]')"
|
TextQuery += "'[organ_data["l_hand"]]', '[organ_data["r_hand"]]', '[organ_data["heart"]]', '[organ_data["eyes"]]')"
|
||||||
@@ -490,7 +525,10 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateOrgansData()
|
/datum/preferences/proc/UpdateOrgansData()
|
||||||
log_debug("update organs")
|
log_debug("update organs")
|
||||||
sanitizePrefs()
|
query = dbcon.NewQuery("SELECT id FROM characters_organs WHERE char_id = '[char_id]'")
|
||||||
|
query.Execute()
|
||||||
|
if(!query.RowCount())
|
||||||
|
InsertOrgansData()
|
||||||
TextQuery = "UPDATE characters_organs SET char_id='[char_id]', l_leg='[organ_data["l_leg"]]', r_leg='[organ_data["r_leg"]]', l_arm='[organ_data["l_arm"]]', r_arm='[organ_data["r_arm"]]', "
|
TextQuery = "UPDATE characters_organs SET char_id='[char_id]', l_leg='[organ_data["l_leg"]]', r_leg='[organ_data["r_leg"]]', l_arm='[organ_data["l_arm"]]', r_arm='[organ_data["r_arm"]]', "
|
||||||
TextQuery += "l_foot='[organ_data["l_foot"]]', r_foot='[organ_data["r_foot"]]', l_hand='[organ_data["l_hand"]]', r_hand='[organ_data["r_hand"]]', heart='[organ_data["heart"]]', eyes='[organ_data["eyes"]]'"
|
TextQuery += "l_foot='[organ_data["l_foot"]]', r_foot='[organ_data["r_foot"]]', l_hand='[organ_data["l_hand"]]', r_hand='[organ_data["r_hand"]]', heart='[organ_data["heart"]]', eyes='[organ_data["eyes"]]'"
|
||||||
TextQuery += " WHERE char_id='[char_id]'"
|
TextQuery += " WHERE char_id='[char_id]'"
|
||||||
@@ -527,7 +565,6 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/InsertRorgansData()
|
/datum/preferences/proc/InsertRorgansData()
|
||||||
log_debug("insert robotics organs")
|
log_debug("insert robotics organs")
|
||||||
sanitizePrefs()
|
|
||||||
TextQuery = "INSERT INTO characters_rlimb (char_id, l_leg, r_leg, l_arm, r_arm, l_foot, r_foot, l_hand, r_hand) VALUES ("
|
TextQuery = "INSERT INTO characters_rlimb (char_id, l_leg, r_leg, l_arm, r_arm, l_foot, r_foot, l_hand, r_hand) VALUES ("
|
||||||
TextQuery += "'[char_id]', '[rlimb_data["l_leg"]]', '[rlimb_data["r_leg"]]', '[rlimb_data["l_arm"]]', '[rlimb_data["r_arm"]]', '[rlimb_data["l_foot"]]', '[rlimb_data["r_foot"]]', "
|
TextQuery += "'[char_id]', '[rlimb_data["l_leg"]]', '[rlimb_data["r_leg"]]', '[rlimb_data["l_arm"]]', '[rlimb_data["r_arm"]]', '[rlimb_data["l_foot"]]', '[rlimb_data["r_foot"]]', "
|
||||||
TextQuery += "'[rlimb_data["l_hand"]]', '[rlimb_data["r_hand"]]')"
|
TextQuery += "'[rlimb_data["l_hand"]]', '[rlimb_data["r_hand"]]')"
|
||||||
@@ -539,7 +576,6 @@ var/char_slot
|
|||||||
|
|
||||||
/datum/preferences/proc/UpdateRorgansData()
|
/datum/preferences/proc/UpdateRorgansData()
|
||||||
log_debug("update robotics organs")
|
log_debug("update robotics organs")
|
||||||
sanitizePrefs()
|
|
||||||
TextQuery = "UPDATE characters_rlimb SET char_id='[char_id]', l_leg='[rlimb_data["l_leg"]]', r_leg='[rlimb_data["r_leg"]]', l_arm='[rlimb_data["l_arm"]]', r_arm='[rlimb_data["r_arm"]]', "
|
TextQuery = "UPDATE characters_rlimb SET char_id='[char_id]', l_leg='[rlimb_data["l_leg"]]', r_leg='[rlimb_data["r_leg"]]', l_arm='[rlimb_data["l_arm"]]', r_arm='[rlimb_data["r_arm"]]', "
|
||||||
TextQuery += "l_foot='[rlimb_data["l_foot"]]', r_foot='[rlimb_data["r_foot"]]', l_hand='[rlimb_data["l_hand"]]', r_hand='[rlimb_data["r_hand"]]'"
|
TextQuery += "l_foot='[rlimb_data["l_foot"]]', r_foot='[rlimb_data["r_foot"]]', l_hand='[rlimb_data["l_hand"]]', r_hand='[rlimb_data["r_hand"]]'"
|
||||||
TextQuery += " WHERE char_id = '[char_id]'"
|
TextQuery += " WHERE char_id = '[char_id]'"
|
||||||
@@ -571,6 +607,7 @@ var/char_slot
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/datum/preferences/proc/SavePrefData(var/ckey)
|
/datum/preferences/proc/SavePrefData(var/ckey)
|
||||||
|
log_debug("Save pref data")
|
||||||
TextQuery = "SELECT * FROM player_preferences WHERE ckey = '[ckey]'"
|
TextQuery = "SELECT * FROM player_preferences WHERE ckey = '[ckey]'"
|
||||||
log_debug(TextQuery)
|
log_debug(TextQuery)
|
||||||
query = dbcon.NewQuery(TextQuery)
|
query = dbcon.NewQuery(TextQuery)
|
||||||
@@ -588,6 +625,7 @@ var/char_slot
|
|||||||
return UpdatePrefData(ckey)
|
return UpdatePrefData(ckey)
|
||||||
|
|
||||||
/datum/preferences/proc/UpdatePrefData(var/ckey)
|
/datum/preferences/proc/UpdatePrefData(var/ckey)
|
||||||
|
log_debug("Update pref data")
|
||||||
sanitizePrefs()
|
sanitizePrefs()
|
||||||
TextQuery = "UPDATE player_preferences SET ooccolor='[ooccolor]', lastchangelog='[lastchangelog]', UI_style='[UI_style]', default_slot='[default_slot]', toggles='[toggles]', "
|
TextQuery = "UPDATE player_preferences SET ooccolor='[ooccolor]', lastchangelog='[lastchangelog]', UI_style='[UI_style]', default_slot='[default_slot]', toggles='[toggles]', "
|
||||||
TextQuery += "UI_style_color='[UI_style_color]', UI_style_alpha='[UI_style_alpha]', be_special='[be_special]' WHERE ckey = '[ckey]'"
|
TextQuery += "UI_style_color='[UI_style_color]', UI_style_alpha='[UI_style_alpha]', be_special='[be_special]' WHERE ckey = '[ckey]'"
|
||||||
@@ -598,6 +636,7 @@ var/char_slot
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/datum/preferences/proc/LoadPrefData(var/ckey)
|
/datum/preferences/proc/LoadPrefData(var/ckey)
|
||||||
|
log_debug("load pref data")
|
||||||
establish_db_connection()
|
establish_db_connection()
|
||||||
if(!dbcon.IsConnected())
|
if(!dbcon.IsConnected())
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -142,8 +142,10 @@ datum/preferences
|
|||||||
load_path(C.ckey)
|
load_path(C.ckey)
|
||||||
log_debug("loading data for [C.ckey]")
|
log_debug("loading data for [C.ckey]")
|
||||||
if(LoadPrefData(C.ckey))
|
if(LoadPrefData(C.ckey))
|
||||||
|
log_debug("Default slot loaded : [default_slot]")
|
||||||
if(SQLload_character(default_slot, C.ckey))
|
if(SQLload_character(default_slot, C.ckey))
|
||||||
current_slot = getCharSlot()
|
current_slot = default_slot
|
||||||
|
log_debug("Character [real_name] loaded, slot is [current_slot]")
|
||||||
return
|
return
|
||||||
if(load_preferences())
|
if(load_preferences())
|
||||||
if(load_character(default_slot))
|
if(load_character(default_slot))
|
||||||
@@ -1605,6 +1607,7 @@ datum/preferences
|
|||||||
var/datum/preferences/D = preferences_datums[ckey]
|
var/datum/preferences/D = preferences_datums[ckey]
|
||||||
if(D == src)
|
if(D == src)
|
||||||
//switch comment to switch to file save system
|
//switch comment to switch to file save system
|
||||||
|
default_slot = current_slot
|
||||||
SavePrefData(ckey)
|
SavePrefData(ckey)
|
||||||
SQLsave_character(current_slot, ckey)
|
SQLsave_character(current_slot, ckey)
|
||||||
//save_preferences()
|
//save_preferences()
|
||||||
@@ -1634,10 +1637,14 @@ datum/preferences
|
|||||||
var/datum/preferences/D = preferences_datums[ckey]
|
var/datum/preferences/D = preferences_datums[ckey]
|
||||||
if(D == src)
|
if(D == src)
|
||||||
current_slot = text2num(href_list["num"])
|
current_slot = text2num(href_list["num"])
|
||||||
SQLload_character(current_slot, ckey)
|
if(!SQLload_character(current_slot, ckey))
|
||||||
|
gender = pick(MALE, FEMALE)
|
||||||
|
real_name = random_name(gender,species)
|
||||||
|
gear.Cut()
|
||||||
|
ZeroSkills(1)
|
||||||
|
ResetJobs()
|
||||||
//file system load
|
//file system load
|
||||||
//load_character()
|
//load_character()
|
||||||
|
|
||||||
close_load_dialog(user)
|
close_load_dialog(user)
|
||||||
|
|
||||||
ShowChoices(user)
|
ShowChoices(user)
|
||||||
@@ -1790,7 +1797,7 @@ datum/preferences
|
|||||||
|
|
||||||
|
|
||||||
/datum/preferences/proc/open_load_dialog_file(mob/user)
|
/datum/preferences/proc/open_load_dialog_file(mob/user)
|
||||||
var/dat = "<body>"
|
/* var/dat = "<body>"
|
||||||
dat += "<tt><center>"
|
dat += "<tt><center>"
|
||||||
|
|
||||||
var/savefile/S = new /savefile(path)
|
var/savefile/S = new /savefile(path)
|
||||||
@@ -1808,13 +1815,13 @@ datum/preferences
|
|||||||
dat += "<hr>"
|
dat += "<hr>"
|
||||||
dat += "<a href='byond://?src=\ref[user];preference=close_load_dialog'>Close</a><br>"
|
dat += "<a href='byond://?src=\ref[user];preference=close_load_dialog'>Close</a><br>"
|
||||||
dat += "</center></tt>"
|
dat += "</center></tt>"
|
||||||
user << browse(dat, "window=saves;size=300x390")
|
user << browse(dat, "window=saves;size=300x390")*/
|
||||||
|
|
||||||
/datum/preferences/proc/getCharSlot()
|
/datum/preferences/proc/getCharSlot()
|
||||||
for(var/ckey in preferences_datums)
|
for(var/ckey in preferences_datums)
|
||||||
var/datum/preferences/D = preferences_datums[ckey]
|
var/datum/preferences/D = preferences_datums[ckey]
|
||||||
if(D == src)
|
if(D == src)
|
||||||
var/TextQuery = "SELECT slot FROM SS13_characters WHERE ckey = '[ckey]' AND name = '[real_name]'"
|
var/TextQuery = "SELECT slot FROM SS13_characters WHERE ckey = '[ckey]' AND Character_Name = '[real_name]'"
|
||||||
var/DBQuery/query
|
var/DBQuery/query
|
||||||
establish_db_connection()
|
establish_db_connection()
|
||||||
if(!dbcon.IsConnected())
|
if(!dbcon.IsConnected())
|
||||||
@@ -1824,7 +1831,7 @@ datum/preferences
|
|||||||
if(!query.RowCount())
|
if(!query.RowCount())
|
||||||
return 1
|
return 1
|
||||||
query.NextRow()
|
query.NextRow()
|
||||||
return query.item[1]
|
return text2num(query.item[1])
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user