drk Posted February 18, 2012 Share 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. Link to comment
Castillo Posted February 18, 2012 Share 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 ) Link to comment
Castillo Posted February 18, 2012 Share 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 ) Link to comment
drk Posted February 18, 2012 Author Share Posted February 18, 2012 Its working perfectly now! Thanks Link to comment
drk Posted February 21, 2012 Author Share 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 ) Link to comment
drk Posted February 21, 2012 Author Share 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 ) Link to comment
Kenix Posted February 21, 2012 Share 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? Link to comment
drk Posted February 21, 2012 Author Share 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 Link to comment
Kenix Posted February 21, 2012 Share Posted February 21, 2012 You need find what destroy guis , if player logout. Link to comment
drk Posted February 21, 2012 Author Share Posted February 21, 2012 What destroys GUI's? Why? Link to comment
drk Posted February 21, 2012 Author Share Posted February 21, 2012 I think that now it working. If not, I post the code. Link to comment
Kenix Posted February 21, 2012 Share Posted February 21, 2012 I think that now it working. If not, I post the code. Ok dude. Good luck. Link to comment
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