drk Posted February 18, 2012 Posted February 18, 2012 I'm trying to save profile data ( player type the data in the memos and I want to save it in the SQL by the account name ) but when I restart the resource the data don't appear in the memo The code: Client: addEventHandler('onClientGUIClick',root, function() if source == profile['save_label'] then triggerServerEvent('onClickSave',localPlayer,getPlayerName(localPlayer),guiGetText(profile['name_memo']),guiGetText(profile['birthday_m']),guiGetText(profile['birthday_d']),guiGetText(profile['birthday_y']),guiGetText(profile['mail_memo'])) triggerServerEvent('onSaveSettings',localPlayer) end end ) addEventHandler('onLoginLoad',root, function(name,month,day,year,mail) guiSetText(profile['name_memo'],name) guiSetText(profile['birthday_m'],month) guiSetText(profile['birthday_d'],day) guiSetText(profile['birthday_y'],year) guiSetText(profile['mail_memo'],mail) end ) Server: local table = executeSQLQuery("CREATE TABLE IF NOT EXISTS Profile ( player TEXT, name TEXT, month NUMBER, day NUMBER, year NUMBER, mail TEXT )") addEvent('onSaveOutput',true) addEvent('onClickSave',true) addEventHandler('onSaveOutput',root, function() outputChatBox('#ABCDEF* #ffffffYour settings have been saved!',source,255,255,255,true) end ) addEventHandler('onPlayerLogin',root, function() local select = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(getPlayerAccount(source)).."'") if not result or #result == 0 then local result = executeSQLQuery("INSERT INTO Profile VALUES ( '"..getAccountName(getPlayerAccount(source)).."', '', 'Month', 'Day', 'Year', '' )") else local resultt = executeSQLQuery("SELECT * FROM Profile WHERE player = "..getAccountName(getPlayerAccount(source)).."'") triggerClientEvent('onLoginLoad',source,tostring(resultt[1]['name']),tostring(resultt[1]['month']),tostring(resultt[1]['day']),tostring(resultt[1]['year']),tostring(resultt[1]['mail'])) end end ) addEventHandler('onClickSave',root, function(thePlayer,name,month,day,year,mail) local update = executeSQLQuery("UPDATE Profile SET name='"..name.."', month='"..month.."', day='"..day.."', year='"..year.."', mail='"..mail.."' WHERE player='"..getAccountName(getPlayerAccount(source)).."'") triggerEvent('onSaveOutput',source) end ) I get no errors.
Castillo Posted February 18, 2012 Posted February 18, 2012 local table = executeSQLQuery("CREATE TABLE IF NOT EXISTS Profile ( player TEXT, name TEXT, month NUMBER, day NUMBER, year NUMBER, mail TEXT )") addEvent('onSaveOutput',true) addEvent('onClickSave',true) addEventHandler('onSaveOutput',root, function() outputChatBox('#ABCDEF* #ffffffYour settings have been saved!',source,255,255,255,true) end ) addEventHandler('onPlayerLogin',root, function (_, account) local result = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(account).."'") if (not result or #result == 0) then executeSQLQuery("INSERT INTO Profile VALUES ( '"..getAccountName(account).."', '', 'Month', 'Day', 'Year', '' )") end local resultt = executeSQLQuery("SELECT * FROM Profile WHERE player = "..getAccountName(account).."'") triggerClientEvent('onLoginLoad',source,tostring(resultt[1]['name']),tostring(resultt[1]['month']),tostring(resultt[1]['day']),tostring(resultt[1]['year']),tostring(resultt[1]['mail'])) end ) addEventHandler('onClickSave',root, function(thePlayer,name,month,day,year,mail) local update = executeSQLQuery("UPDATE Profile SET name='"..name.."', month='"..month.."', day='"..day.."', year='"..year.."', mail='"..mail.."' WHERE player='"..getAccountName(getPlayerAccount(source)).."'") triggerEvent('onSaveOutput',source) end )
Castillo Posted February 18, 2012 Posted February 18, 2012 Post or PM me the full client side, I'll test it on my server. Edit: I've found the error: --[[ --@@author Draken --@@18-02-2012 ]]-- local table = executeSQLQuery("CREATE TABLE IF NOT EXISTS Profile ( player TEXT, name TEXT, month NUMBER, day NUMBER, year NUMBER, mail TEXT )") addEvent('onPlayerNotLoggedIn',true) addEvent('isPlayerGuest',true) addEvent('onSaveSettings',true) addEvent('onSaveOutput',true) addEvent('onClickSave',true) addEventHandler('isPlayerGuest',root, function() local account = getPlayerAccount(source) if not isGuestAccount(account) then triggerClientEvent('onPanelOpen',source) else triggerEvent('onPlayerNotLoggedIn',source) end end) addEventHandler('onPlayerNotLoggedIn',root, function() outputChatBox("#ABCDEF* #ffffffYou are not logged in!",source,255,255,255,true) end ) addEventHandler('onSaveOutput',root, function() outputChatBox('#ABCDEF* #ffffffYour settings have been saved!',source,255,255,255,true) end ) addEventHandler('onPlayerLogin',root, function (_, account) local result = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(account).."'") if (not result or #result == 0) then executeSQLQuery("INSERT INTO Profile VALUES ( '"..getAccountName(account).."', '', 'Month', 'Day', 'Year', '' )") end local resultt = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(account).."'") -- "'" was missing. triggerClientEvent('onLoginLoad',source,tostring(resultt[1]['name']),tostring(resultt[1]['month']),tostring(resultt[1]['day']),tostring(resultt[1]['year']),tostring(resultt[1]['mail'])) end ) addEventHandler('onClickSave',root, function(thePlayer,name,month,day,year,mail) local update = executeSQLQuery("UPDATE Profile SET name='"..name.."', month='"..month.."', day='"..day.."', year='"..year.."', mail='"..mail.."' WHERE player='"..getAccountName(getPlayerAccount(source)).."'") triggerEvent('onSaveOutput',source) end )
drk Posted February 21, 2012 Author Posted February 21, 2012 Hey! I have another problem about this. If I reconnect and I'm logged in it appears but if I logout and login again or restart resource the text not appears anymore Client-side: addEventHandler('onClientGUIClick',root, function() if source == gui['button1_name'] then guiSetVisible(profile['window'],not guiGetVisible(profile['window'])) elseif source == profile['save_label'] then triggerServerEvent('onClickSave',localPlayer,getPlayerName(localPlayer),guiGetText(profile['name_memo']),guiGetText(profile['birthday_m']),guiGetText(profile['birthday_d']),guiGetText(profile['birthday_y']),guiGetText(profile['mail_memo']),getElementData(localPlayer,'Image')) triggerServerEvent('onSaveSettings',localPlayer) elseif source == profile['img_choose'] then guiSetVisible(profile['window'],false) guiSetVisible(profile['img'],true) elseif source == profile['img_select'] then local row, col = guiGridListGetSelectedItem(source) if row and col and row ~= -1 and col ~= -1 then local dir = guiGridListGetItemData(source,row, col) guiStaticImageLoadImage(profile['img_preview'],dir) end elseif source == profile['cancel'] then guiSetVisible(profile['img'],false) guiSetVisible(profile['window'],true) showCursor(true) elseif source == profile['set'] then local row, col = guiGridListGetSelectedItem(profile['img_select']) if row and col and row ~= -1 and col ~= -1 then local dir = guiGridListGetItemData(profile['img_select'],row, col) guiStaticImageLoadImage(profile['image'],dir) setElementData(localPlayer,'Image',dir) guiSetVisible(profile['img'],false) guiSetVisible(profile['window'],true) end end end ) addEventHandler('onLoginLoad',root, function(name,month,day,year,mail,image) guiSetText(profile['name_memo'],name) guiSetText(profile['birthday_m'],month) guiSetText(profile['birthday_d'],day) guiSetText(profile['birthday_y'],year) guiSetText(profile['mail_memo'],mail) guiStaticImageLoadImage(profile['image'],image) end ) Server-side: --[[ --@@author Draken --@@18-02-2012 ]]-- local table = executeSQLQuery("CREATE TABLE IF NOT EXISTS Profile ( player TEXT, name TEXT, month NUMBER, day NUMBER, year NUMBER, mail TEXT, image TEXT )") addEvent('onPlayerNotLoggedIn',true) addEvent('isPlayerGuest',true) addEvent('onSaveSettings',true) addEvent('onSaveOutput',true) addEvent('onClickSave',true) addEventHandler('isPlayerGuest',root, function() local account = getPlayerAccount(source) if not isGuestAccount(account) then triggerClientEvent('onPanelOpen',source) else triggerEvent('onPlayerNotLoggedIn',source) end end) addEventHandler('onPlayerNotLoggedIn',root, function() outputChatBox("#ABCDEF* #ffffffYou are not logged in!",source,255,255,255,true) end ) addEventHandler('onSaveOutput',root, function() outputChatBox('#ABCDEF* #ffffffYour settings have been saved!',source,255,255,255,true) end ) addEventHandler('onPlayerLogin',root, function (_, account) local result = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(account).."'") if (not result or #result == 0) then executeSQLQuery("INSERT INTO Profile VALUES ( '"..getAccountName(account).."', '', 'Month', 'Day', 'Year', '', '' )") end local resultt = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(account).."'") triggerClientEvent('onLoginLoad',source,tostring(resultt[1]['name']),tostring(resultt[1]['month']),tostring(resultt[1]['day']),tostring(resultt[1]['year']),tostring(resultt[1]['mail']),tostring(resultt[1]['image'])) end ) addEventHandler('onClickSave',root, function(thePlayer,name,month,day,year,mail,image) local update = executeSQLQuery("UPDATE Profile SET name='"..name.."', month='"..month.."', day='"..day.."', year='"..year.."', mail='"..mail.."', image='"..image.."' WHERE player='"..getAccountName(getPlayerAccount(source)).."'") triggerEvent('onSaveOutput',source) end )
drk Posted February 21, 2012 Author Posted February 21, 2012 It's too long. About 300 lines I will show only the profile part. Client-side: --profile choose image profile['img'] = guiCreateStaticImage((268/800)*sx,(98/600)*sy,(395/800)*sx,(309/600)*sy,"_utils/_data/_image/grid.png",false) profile['img_select'] = guiCreateGridList((32/800)*sx,(19/600)*sy,(153/800)*sx,(268/600)*sy,false,profile['img']) guiGridListSetSelectionMode(profile['img_select'],0) guiSetAlpha(profile['img_select'],0.-- s8) --> profile['img_preview'] = guiCreateStaticImage((208/800)*sx,(30/600)*sy,(157/800)*sx,(199/600)*sy,"_utils/_data/_image/radar.png",false,profile['img']) profile['set'] = guiCreateButton((200/800)*sx,(249/600)*sy,(82/800)*sx,(27/600)*sy,"Set",false,profile['img']) guiSetAlpha(profile['set'],0.9) profile['cancel'] = guiCreateButton((288/800)*sx,(248/600)*sy,(82/800)*sx,(27/600)*sy,"Cancel",false,profile['img']) guiSetAlpha(profile['cancel'],0.9) local column = guiGridListAddColumn(profile['img_select'],'Image',0.-- s8) --> if column then for name, dir in pairs(imageList) do local row = guiGridListAddRow(profile['img_select']) guiGridListSetItemText(profile['img_select'],row,column,tostring(name),false,false) guiGridListSetItemData(profile['img_select'],row,column,tostring(dir)) end end --main script guiSetVisible(gui['window'],false) guiSetVisible(profile['window'],false) guiSetVisible(profile['img'],false) addEventHandler('onClientGUIClick',root, function() if source == gui['button1_name'] then guiSetVisible(profile['window'],not guiGetVisible(profile['window'])) elseif source == profile['save_label'] then triggerServerEvent('onClickSave',localPlayer,getPlayerName(localPlayer),guiGetText(profile['name_memo']),guiGetText(profile['birthday_m']),guiGetText(profile['birthday_d']),guiGetText(profile['birthday_y']),guiGetText(profile['mail_memo']),getElementData(localPlayer,'Image')) triggerServerEvent('onSaveSettings',localPlayer) elseif source == profile['img_choose'] then guiSetVisible(profile['window'],false) guiSetVisible(profile['img'],true) elseif source == profile['img_select'] then local row, col = guiGridListGetSelectedItem(source) if row and col and row ~= -1 and col ~= -1 then local dir = guiGridListGetItemData(source,row, col) guiStaticImageLoadImage(profile['img_preview'],dir) end elseif source == profile['cancel'] then guiSetVisible(profile['img'],false) guiSetVisible(profile['window'],true) showCursor(true) elseif source == profile['set'] then local row, col = guiGridListGetSelectedItem(profile['img_select']) if row and col and row ~= -1 and col ~= -1 then local dir = guiGridListGetItemData(profile['img_select'],row, col) guiStaticImageLoadImage(profile['image'],dir) setElementData(localPlayer,'Image',dir) guiSetVisible(profile['img'],false) guiSetVisible(profile['window'],true) end end end ) addEventHandler('onLoginLoad',root, function(name,month,day,year,mail,image) guiSetText(profile['name_memo'],name) guiSetText(profile['birthday_m'],month) guiSetText(profile['birthday_d'],day) guiSetText(profile['birthday_y'],year) guiSetText(profile['mail_memo'],mail) guiStaticImageLoadImage(profile['image'],image) end ) Server-side: --[[ --@@author Draken --@@18-02-2012 ]]-- local table = executeSQLQuery("CREATE TABLE IF NOT EXISTS Profile ( player TEXT, name TEXT, month NUMBER, day NUMBER, year NUMBER, mail TEXT, image TEXT )") addEvent('onPlayerNotLoggedIn',true) addEvent('isPlayerGuest',true) addEvent('onSaveSettings',true) addEvent('onSaveOutput',true) addEvent('onClickSave',true) addEventHandler('isPlayerGuest',root, function() local account = getPlayerAccount(source) if not isGuestAccount(account) then triggerClientEvent('onPanelOpen',source) else triggerEvent('onPlayerNotLoggedIn',source) end end) addEventHandler('onPlayerNotLoggedIn',root, function() outputChatBox("#ABCDEF* #ffffffYou are not logged in!",source,255,255,255,true) end ) addEventHandler('onSaveOutput',root, function() outputChatBox('#ABCDEF* #ffffffYour settings have been saved!',source,255,255,255,true) end ) addEventHandler('onPlayerLogin',root, function (_, account) local result = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(account).."'") if (not result or #result == 0) then executeSQLQuery("INSERT INTO Profile VALUES ( '"..getAccountName(account).."', '', 'Month', 'Day', 'Year', '', '' )") end local resultt = executeSQLQuery("SELECT * FROM Profile WHERE player = '"..getAccountName(account).."'") triggerClientEvent('onLoginLoad',source,tostring(resultt[1]['name']),tostring(resultt[1]['month']),tostring(resultt[1]['day']),tostring(resultt[1]['year']),tostring(resultt[1]['mail']),tostring(resultt[1]['image'])) end ) addEventHandler('onClickSave',root, function(thePlayer,name,month,day,year,mail,image) local update = executeSQLQuery("UPDATE Profile SET name='"..name.."', month='"..month.."', day='"..day.."', year='"..year.."', mail='"..mail.."', image='"..image.."' WHERE player='"..getAccountName(getPlayerAccount(source)).."'") triggerEvent('onSaveOutput',source) end )
Kenix Posted February 21, 2012 Posted February 21, 2012 Hey! I have another problem about this. If I reconnect and I'm logged in it appears but if I logout and login again or restart resource the text not appears anymore 1.onResourceStart --> trigger Client event onLoginLoad. 2.if player logout you destroy guis?
drk Posted February 21, 2012 Author Posted February 21, 2012 Hey! I have another problem about this. If I reconnect and I'm logged in it appears but if I logout and login again or restart resource the text not appears anymore 1.onResourceStart --> trigger Client event onLoginLoad. 2.if player logout you destroy guis? 1.onResourceStart --> trigger Client event onLoginLoad. I will try 2.if player logout you destroy guis? Not
Kenix Posted February 21, 2012 Posted February 21, 2012 You need find what destroy guis , if player logout.
drk Posted February 21, 2012 Author Posted February 21, 2012 I think that now it working. If not, I post the code.
Kenix Posted February 21, 2012 Posted February 21, 2012 I think that now it working. If not, I post the code. Ok dude. Good luck.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now