mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 22:47:59 +01:00
2nd commit of MySQL conversion. So close to the finish line.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/datum/preferences/proc/load_preferences()
|
||||
/datum/preferences/proc/load_preferences(client/C)
|
||||
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT ooccolor,UI_style,UI_style_color,UI_style_alpha,be_special,default_slot,toggles,sound,randomslot,volume FROM erro_player WHERE ckey='[usr.key]'")
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT ooccolor,UI_style,UI_style_color,UI_style_alpha,be_special,default_slot,toggles,sound,randomslot,volume FROM erro_player WHERE ckey='[C.ckey]'")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during loading player preferences. Error : \[[err]\]\n")
|
||||
@@ -9,20 +9,21 @@
|
||||
|
||||
|
||||
//general preferences
|
||||
ooccolor = query.item[1]
|
||||
UI_style = query.item[2]
|
||||
UI_style_color = query.item[3]
|
||||
UI_style_alpha = query.item[4]
|
||||
be_special = query.item[5]
|
||||
default_slot = query.item[6]
|
||||
toggles = query.item[7]
|
||||
sound = query.item[8]
|
||||
randomslot = query.item[9]
|
||||
volume = query.item[10]
|
||||
while(query.NextRow())
|
||||
ooccolor = query.item[1]
|
||||
UI_style = query.item[2]
|
||||
UI_style_color = query.item[3]
|
||||
UI_style_alpha = query.item[4]
|
||||
be_special = query.item[5]
|
||||
default_slot = query.item[6]
|
||||
toggles = query.item[7]
|
||||
sound = query.item[8]
|
||||
randomslot = query.item[9]
|
||||
volume = query.item[10]
|
||||
|
||||
//Sanitize
|
||||
ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor))
|
||||
lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog))
|
||||
// lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog))
|
||||
UI_style = sanitize_inlist(UI_style, list("White", "Midnight"), initial(UI_style))
|
||||
be_special = sanitize_integer(be_special, 0, 65535, initial(be_special))
|
||||
default_slot = sanitize_integer(default_slot, 1, MAX_SAVE_SLOTS, initial(default_slot))
|
||||
@@ -34,9 +35,9 @@
|
||||
volume = sanitize_integer(volume, 0, 100, initial(volume))
|
||||
return 1
|
||||
|
||||
/datum/preferences/proc/save_preferences()
|
||||
/datum/preferences/proc/save_preferences(client/C)
|
||||
|
||||
var/DBQuery/query = dbcon.NewQuery("UPDATE error_player (ooccolor,UI_style,UI_style_color,UI_style_alpha,be_special,default_slot,toggles,sound,randomslot,volume) VALUES ('[ooccolor]','[UI_style]','[UI_style_color]','[UI_style_alpha]','[be_special]','[default_slot]','[toggles]','[sound]','[randomslot]','[volume]') WHERE ckey='[usr.key]'")
|
||||
var/DBQuery/query = dbcon.NewQuery("UPDATE erro_player SET ooccolor='[ooccolor]',UI_style='[UI_style]',UI_style_color='[UI_style_color]',UI_style_alpha='[UI_style_alpha]',be_special='[be_special]',default_slot='[default_slot]',toggles='[toggles]',sound='[sound]',randomslot='[randomslot]',volume='[volume]' WHERE ckey='[C.ckey]'")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during saving player preferences. Error : \[[err]\]\n")
|
||||
@@ -44,79 +45,80 @@
|
||||
return
|
||||
return 1
|
||||
|
||||
/datum/preferences/proc/load_character(slot)
|
||||
/datum/preferences/proc/load_character(client/C,slot)
|
||||
|
||||
if(!slot) slot = default_slot
|
||||
slot = sanitize_integer(slot, 1, MAX_SAVE_SLOTS, initial(default_slot))
|
||||
if(slot != default_slot)
|
||||
default_slot = slot
|
||||
var/DBQuery/firstquery = dbcon.NewQuery("UPDATE error_player (default_slot) VALUES ('[slot]') WHERE ckey='[usr.key]'")
|
||||
var/DBQuery/firstquery = dbcon.NewQuery("UPDATE erro_player SET default_slot=[slot] WHERE ckey='[C.ckey]'")
|
||||
firstquery.Execute()
|
||||
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT * FROM character WHERE ckey='[usr.key]' AND slot='[slot]'")
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT * FROM characters WHERE ckey='[C.ckey]' AND slot='[slot]'")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during character slot loading. Error : \[[err]\]\n")
|
||||
message_admins("SQL ERROR during character slot loading. Error : \[[err]\]\n")
|
||||
return
|
||||
|
||||
//Character
|
||||
metadata = query.item[4]
|
||||
real_name = query.item[5]
|
||||
be_random_name = query.item[6]
|
||||
gender = query.item[7]
|
||||
age = query.item[8]
|
||||
species = query.item[9]
|
||||
language = query.item[10]
|
||||
while(query.NextRow())
|
||||
//Character
|
||||
metadata = query.item[4]
|
||||
real_name = query.item[5]
|
||||
be_random_name = query.item[6]
|
||||
gender = query.item[7]
|
||||
age = query.item[8]
|
||||
species = query.item[9]
|
||||
language = query.item[10]
|
||||
|
||||
//colors to be consolidated into hex strings (requires some work with dna code)
|
||||
r_hair = query.item[11]
|
||||
g_hair = query.item[12]
|
||||
b_hair = query.item[13]
|
||||
r_facial = query.item[14]
|
||||
g_facial = query.item[15]
|
||||
b_facial = query.item[16]
|
||||
s_tone = query.item[17]
|
||||
r_skin = query.item[18]
|
||||
g_skin = query.item[19]
|
||||
b_skin = query.item[20]
|
||||
h_style = query.item[21]
|
||||
f_style = query.item[22]
|
||||
r_eyes = query.item[23]
|
||||
g_eyes = query.item[24]
|
||||
b_eyes = query.item[25]
|
||||
underwear = query.item[26]
|
||||
undershirt = query.item[27]
|
||||
backbag = query.item[28]
|
||||
b_type = query.item[29]
|
||||
//colors to be consolidated into hex strings (requires some work with dna code)
|
||||
r_hair = query.item[11]
|
||||
g_hair = query.item[12]
|
||||
b_hair = query.item[13]
|
||||
r_facial = query.item[14]
|
||||
g_facial = query.item[15]
|
||||
b_facial = query.item[16]
|
||||
s_tone = query.item[17]
|
||||
r_skin = query.item[18]
|
||||
g_skin = query.item[19]
|
||||
b_skin = query.item[20]
|
||||
h_style = query.item[21]
|
||||
f_style = query.item[22]
|
||||
r_eyes = query.item[23]
|
||||
g_eyes = query.item[24]
|
||||
b_eyes = query.item[25]
|
||||
underwear = query.item[26]
|
||||
undershirt = query.item[27]
|
||||
backbag = query.item[28]
|
||||
b_type = query.item[29]
|
||||
|
||||
|
||||
//Jobs
|
||||
alternate_option = query.item[30]
|
||||
job_civilian_high = query.item[31]
|
||||
job_civilian_med = query.item[32]
|
||||
job_civilian_low = query.item[33]
|
||||
job_medsci_high = query.item[34]
|
||||
job_medsci_med = query.item[35]
|
||||
job_medsci_low = query.item[36]
|
||||
job_engsec_high = query.item[37]
|
||||
job_engsec_med = query.item[38]
|
||||
job_engsec_low = query.item[39]
|
||||
job_karma_high = query.item[40]
|
||||
job_karma_med = query.item[41]
|
||||
job_karma_low = query.item[42]
|
||||
//Jobs
|
||||
alternate_option = query.item[30]
|
||||
job_civilian_high = query.item[31]
|
||||
job_civilian_med = query.item[32]
|
||||
job_civilian_low = query.item[33]
|
||||
job_medsci_high = query.item[34]
|
||||
job_medsci_med = query.item[35]
|
||||
job_medsci_low = query.item[36]
|
||||
job_engsec_high = query.item[37]
|
||||
job_engsec_med = query.item[38]
|
||||
job_engsec_low = query.item[39]
|
||||
job_karma_high = query.item[40]
|
||||
job_karma_med = query.item[41]
|
||||
job_karma_low = query.item[42]
|
||||
|
||||
//Miscellaneous
|
||||
flavor_text = query.item[43]
|
||||
med_record = query.item[44]
|
||||
sec_record = query.item[45]
|
||||
gen_record = query.item[46]
|
||||
be_special = query.item[47]
|
||||
disabilities = query.item[48]
|
||||
player_alt_titles = query.item[49]
|
||||
organ_data = query.item[50]
|
||||
//Miscellaneous
|
||||
flavor_text = query.item[43]
|
||||
med_record = query.item[44]
|
||||
sec_record = query.item[45]
|
||||
gen_record = query.item[46]
|
||||
be_special = query.item[47]
|
||||
disabilities = query.item[48]
|
||||
player_alt_titles = text2list(query.item[49],",")
|
||||
organ_data = text2list(query.item[50],",")
|
||||
|
||||
nanotrasen_relation = query.item[51]
|
||||
nanotrasen_relation = query.item[51]
|
||||
|
||||
//Sanitize
|
||||
metadata = sanitize_text(metadata, initial(metadata))
|
||||
@@ -161,30 +163,35 @@
|
||||
job_karma_high = sanitize_integer(job_karma_high, 0, 65535, initial(job_karma_high))
|
||||
job_karma_med = sanitize_integer(job_karma_med, 0, 65535, initial(job_karma_med))
|
||||
job_karma_low = sanitize_integer(job_karma_low, 0, 65535, initial(job_karma_low))
|
||||
disabilities = sanitize_integer(disabilities, 0, 65535, initial(disabilities))
|
||||
be_special = sanitize_integer(be_special, 0, 65535, initial(be_special))
|
||||
|
||||
if(isnull(disabilities)) disabilities = 0
|
||||
// if(isnull(disabilities)) disabilities = 0
|
||||
if(!player_alt_titles) player_alt_titles = new()
|
||||
if(!organ_data) src.organ_data = list()
|
||||
|
||||
return 1
|
||||
|
||||
/datum/preferences/proc/save_character()
|
||||
var/DBQuery/firstquery = dbcon.NewQuery("SELECT slot FROM character WHERE ckey='[usr.key]' ORDER BY slot")
|
||||
/datum/preferences/proc/save_character(client/C)
|
||||
var/organlist
|
||||
var/playertitlelist
|
||||
if(!isemptylist(organ_data))
|
||||
organlist = tg_list2text(organ_data)
|
||||
if(!isemptylist(player_alt_titles))
|
||||
playertitlelist = tg_list2text(player_alt_titles)
|
||||
|
||||
var/DBQuery/firstquery = dbcon.NewQuery("SELECT slot FROM characters WHERE ckey='[C.ckey]' ORDER BY slot")
|
||||
firstquery.Execute()
|
||||
var/numRow = firstquery.RowsAffected()
|
||||
if(numRow)
|
||||
for(var/i = 1,i <= numRow, i++)
|
||||
if(default_slot != firstquery.item[1])
|
||||
firstquery.NextRow()
|
||||
else
|
||||
var/DBQuery/query = dbcon.NewQuery("UPDATE character (OOC_Notes,real_name,name_is_always_random,gender,age,species,language,hair_red,hair_green,hair_blue,facial_red,facial_green,facial_blue,skin_tone,skin_red,skin_green,skin_blue,hair_style_name,facial_style_name,eyes_red,eyes_green,eyes_blue,underwear,undershirt,backbag,b_type,alternate_option,job_civ_high,job_civ_med,job_civ_low,job_medsci_high,job_medsci_med,job_medsci_low,job_engsec_high,job_engsec_med,job_engsec_low,job_karma_high,job_karma_med,job_karma_low,flavor_text,med_record,sec_record,gen_record,player_alt_titles,be_special,disabilities,organ_data,nanotrasen_relation) VALUES ('[metadata]','[real_name]','[be_random_name]','[gender]','[age]','[species]','[language]','[r_hair]','[g_hair]','[b_hair]','[r_facial]','[g_facial]','[b_facial]','[s_tone]',[r_skin]','[g_skin]','[b_skin]','[h_style]','[f_style]','[r_eyes]','[g_eyes]','[b_eyes]','[underwear]','[undershirt]','[backbag]','[b_type]','[alternate_option]','[job_civilian_high]','[job_civilian_med]','[job_civilian_low]','[job_medsci_high]','[job_medsci_med]','[job_medsci_low]','[job_engsec_high]','[job_engsec_med]','[job_engsec_low]','[job_karma_high]','[job_karma_med]','[job_karma_low]','[flavor_text]','[med_record]','[sec_record]','[gen_record]','[player_alt_titles]','[be_special]','[disabilities]','[organ_data]','[nanotrasen_relation]') WHERE ckey='[usr.key]' AND slot='[default_slot]'")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during character slot saving. Error : \[[err]\]\n")
|
||||
message_admins("SQL ERROR during character slot saving. Error : \[[err]\]\n")
|
||||
return
|
||||
return 1
|
||||
var/DBQuery/query = dbcon.NewQuery("INSERT INTO character (ckey,slot,OOC_Notes,real_name,name_is_always_random,gender,age,species,language,hair_red,hair_green,hair_blue,facial_red,facial_green,facial_blue,skin_tone,skin_red,skin_green,skin_blue,hair_style_name,facial_style_name,eyes_red,eyes_green,eyes_blue,underwear,undershirt,backbag,b_type,alternate_option,job_civ_high,job_civ_med,job_civ_low,job_medsci_high,job_medsci_med,job_medsci_low,job_engsec_high,job_engsec_med,job_engsec_low,job_karma_high,job_karma_med,job_karma_low,flavor_text,med_record,sec_record,gen_record,player_alt_titles,be_special,disabilities,organ_data,nanotrasen_relation) VALUES ('[usr.key],'[default_slot]','[metadata]','[real_name]','[be_random_name]','[gender]','[age]','[species]','[language]','[r_hair]','[g_hair]','[b_hair]','[r_facial]','[g_facial]','[b_facial]','[s_tone]',[r_skin]','[g_skin]','[b_skin]','[h_style]','[f_style]','[r_eyes]','[g_eyes]','[b_eyes]','[underwear]','[undershirt]','[backbag]','[b_type]','[alternate_option]','[job_civilian_high]','[job_civilian_med]','[job_civilian_low]','[job_medsci_high]','[job_medsci_med]','[job_medsci_low]','[job_engsec_high]','[job_engsec_med]','[job_engsec_low]','[job_karma_high]','[job_karma_med]','[job_karma_low]','[flavor_text]','[med_record]','[sec_record]','[gen_record]','[player_alt_titles]','[be_special]','[disabilities]','[organ_data]','[nanotrasen_relation]')")
|
||||
while(firstquery.NextRow())
|
||||
if(firstquery.item[1] == default_slot)
|
||||
var/DBQuery/query = dbcon.NewQuery("UPDATE characters SET OOC_Notes='[metadata]',real_name='[real_name]',name_is_always_random='[be_random_name]',gender='[gender]',age='[age]',species='[species]',language='[language]',hair_red='[r_hair]',hair_green='[g_hair]',hair_blue='[b_hair]',facial_red='[r_facial]',facial_green='[g_facial]',facial_blue='[b_facial]',skin_tone='[s_tone]',skin_red='[r_skin]',skin_green='[g_skin]',skin_blue='[b_skin]',hair_style_name='[h_style]',facial_style_name='[f_style]',eyes_red='[r_eyes]',eyes_green='[g_eyes]',eyes_blue='[b_eyes]',underwear='[underwear]',undershirt='[undershirt]',backbag='[backbag]',b_type='[b_type]',alternate_option='[alternate_option]',job_civilian_high='[job_civilian_high]',job_civilian_med='[job_civilian_med]',job_civilian_low='[job_civilian_low]',job_medsci_high='[job_medsci_high]',job_medsci_med='[job_medsci_med]',job_medsci_low='[job_medsci_low]',job_engsec_high='[job_engsec_high]',job_engsec_med='[job_engsec_med]',job_engsec_low='[job_engsec_low]',job_karma_high='[job_karma_high]',job_karma_med='[job_karma_med]',job_karma_low='[job_karma_low]',flavor_text='[flavor_text]',med_record='[med_record]',sec_record='[sec_record]',gen_record='[gen_record]',player_alt_titles='[playertitlelist]',be_special='[be_special]',disabilities='[disabilities]',organ_data='[organlist]',nanotrasen_relation='[nanotrasen_relation]' WHERE ckey='[C.ckey]' AND slot='[default_slot]'")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during character slot saving. Error : \[[err]\]\n")
|
||||
message_admins("SQL ERROR during character slot saving. Error : \[[err]\]\n")
|
||||
return
|
||||
return 1
|
||||
var/DBQuery/query = dbcon.NewQuery("INSERT INTO characters (ckey,slot,OOC_Notes,real_name,name_is_always_random,gender,age,species,language,hair_red,hair_green,hair_blue,facial_red,facial_green,facial_blue,skin_tone,skin_red,skin_green,skin_blue,hair_style_name,facial_style_name,eyes_red,eyes_green,eyes_blue,underwear,undershirt,backbag,b_type,alternate_option,job_civilian_high,job_civilian_med,job_civilian_low,job_medsci_high,job_medsci_med,job_medsci_low,job_engsec_high,job_engsec_med,job_engsec_low,job_karma_high,job_karma_med,job_karma_low,flavor_text,med_record,sec_record,gen_record,player_alt_titles,be_special,disabilities,organ_data,nanotrasen_relation) VALUES ('[C.ckey]','[default_slot]','[metadata]','[real_name]','[be_random_name]','[gender]','[age]','[species]','[language]','[r_hair]','[g_hair]','[b_hair]','[r_facial]','[g_facial]','[b_facial]','[s_tone]','[r_skin]','[g_skin]','[b_skin]','[h_style]','[f_style]','[r_eyes]','[g_eyes]','[b_eyes]','[underwear]','[undershirt]','[backbag]','[b_type]','[alternate_option]','[job_civilian_high]','[job_civilian_med]','[job_civilian_low]','[job_medsci_high]','[job_medsci_med]','[job_medsci_low]','[job_engsec_high]','[job_engsec_med]','[job_engsec_low]','[job_karma_high]','[job_karma_med]','[job_karma_low]','[flavor_text]','[med_record]','[sec_record]','[gen_record]','[playertitlelist]','[be_special]','[disabilities]','[organlist]','[nanotrasen_relation]')")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during character slot saving. Error : \[[err]\]\n")
|
||||
@@ -192,16 +199,17 @@
|
||||
return
|
||||
return 1
|
||||
|
||||
/datum/preferences/proc/random_character()
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT slot FROM character WHERE ckey='[usr.key]' ORDER BY slot")
|
||||
/datum/preferences/proc/random_character(client/C)
|
||||
var/DBQuery/query = dbcon.NewQuery("SELECT slot FROM characters WHERE ckey='[C.ckey]' ORDER BY slot")
|
||||
|
||||
while(query.NextRow())
|
||||
var/list/saves = list()
|
||||
for(var/i=1, i<=MAX_SAVE_SLOTS, i++)
|
||||
if(i==query.item[1])
|
||||
saves += i
|
||||
query.NextRow()
|
||||
|
||||
if(!saves.len)
|
||||
load_character()
|
||||
load_character(C)
|
||||
return 0
|
||||
load_character(pick(saves))
|
||||
load_character(C,pick(saves))
|
||||
return 1
|
||||
Reference in New Issue
Block a user