AHMED MOSTAFA Posted June 6, 2016 Share Posted June 6, 2016 (edited) السلام عليكم ورحمة الله وبركاته اول شي كل عام وانتم بألف خير يارب يكون رمضان خير علينا وعليكم ثاني شي بدي مساعدة في لوحة تسجيل الدخول username_ = guiCreateEdit(10, 54, 186, 29, "", false, window_login) Password_ = guiCreateEdit(10, 115, 186, 29, "", false, window_login) checkbox_User = guiCreateCheckBox(10, 152, 186, 15, " save username", false, false, window_login) checkbox_Pass = guiCreateCheckBox(10, 174, 186, 15, " save password.", false, false, window_login) ابي لما اضغط على الشك بوكس يحفظ الباسورد + اليوزر بالنسبة لتسجيل الدخول سويت اللوحة بدون مشاكل اما التسجيل فما قدرت اسويها ابي حل وشكراً Edited June 8, 2016 by Guest Link to comment
Mhmd.z Posted June 6, 2016 Share Posted June 6, 2016 بالنسبه للحفظ, رح تكون صعبه شوي لآنك رح تسخدم حفظ البيانات, لكن رح ساعدك شوي فيها, اول شي انا بطريقتي اسوي كذه : addEventHandler('onResourceStart',resourceRoot, function () dataBase = dbConnect( "sqlite", "save.db" ) dbExec ( dataBase, "CREATE TABLE IF NOT EXISTS saveAccount (serial TEXT, account TEXT)" ) end ) ذي تعني انك سويت ملف داتا بيس وراح يجيب لك المحفظات يلي فيه الحين الشيئ الثاني هو اول ما الاعب يضغط على زر حفظ الحساب يسوي ترايقر لملف سيرفر ويسوي كذه : local serial = getPlayerSerial(source) dbExec(dataBase, "INSERT INTO saveAccount (serial,account) VALUES(?,?,?)",serial,username) serial = معرفها username = اسم الحساب يلي مكتوب بالايديت حقت اللوحه الحين مشان تجيب اسم حساب الاعب للايديت لازم تسوي بملف كلنت اول ما تظهر للاعب لوحة التسجيل يسوي ترايقر function getSaved(serial) local qh = dbQuery( dataBase, "SELECT * FROM saveAccount WHERE serial=?", serial) local result = dbPoll( qh, -1 ) if result then for _, row in ipairs ( result ) do outputChatBox(row["account"], source) accountRow = row["account"] triggerClientEvent("triggerName", source, accountRow) end end end addEvent("ClientTriggerToServer", true) addEventHandler("ClientTriggerToServer", root, getSaved) الحين في ذا الترايقر : triggerClientEvent("triggerName", source, accountRow) تروح ملف كلنت وتستعمل guiSetText(ايديت الحساب, accountRow) طبعا لازم تكون معرف بالفنكشن حق الترايقر ذي accountRow أتوقع أنه مافي خطأ لآني مجرب عندي , لكن لو صار معك خطأ اكتبه Link to comment
</Mr.Tn6eL> Posted June 6, 2016 Share Posted June 6, 2016 set/get/removeSQLData وظيفة مفيدة تسهل عملية استخدام قواعد البيانات setSQLData(string data_name, string data_value) getSQLData(string data_name) removeSQLData(string data_name) ( string ) قيمة الداتا تقبل السلسة النصية فقط ( tostring ) لتحويل الارقام قم باستخدام ( toJSON, fromJSON) JSON لتحويل الجداول استخدم دوال الـ Code : sql = executeSQLQuery sql "CREATE TABLE IF NOT EXISTS string_data(data_name TEXT, data_value TEXT)" function setSQLData(data, value) assert(type(data) == "string", "Bad Argument @setStringData #1 [string expect, got "..type(data).."]") assert(type(value) == "string", "Bad Argument @setStringData #2 [string expect, got "..type(value).."]") local query = sql("SELECT * FROM string_data WHERE data_name=?", data) if query and type(query) == "table" and #query == 1 then sql("UPDATE string_data SET data_value=? WHERE data_name=?", value, data) else sql("INSERT INTO string_data(data_name, data_value) VALUES(?, ?)", data, value) end return true end function getSQLData(data) assert(type(data) == "string", "Bad Argument @getStringData #1 [string expect, got "..type(data).."]") local query = sql("SELECT data_value FROM string_data WHERE data_name=?", data) return query and type(query) == "table" and #query == 1 and query[1]["data_value"] end function removeSQLData(data) assert(type(data) == "string", "Bad Argument @removeSQLData #1 [string expect, got "..type(data).."]") return sql("DELETE FROM string_data WHERE data_name=?", data) end Example : setSQLData("money"..getPlayerSerial(player), tostring(getPlayerMoney(player))) -- نقوم بوضع داتا على سريال الاعب وقيمتها فلوس الاعب outputChatBox(getSQLData("money"..getPlayerSerial(player)) or "none") -- كتابة بالشات قيمة الداتا removeSQLData("money"..getPlayerSerial(player)) -- حذف الداتا Link to comment
AHMED MOSTAFA Posted June 7, 2016 Author Share Posted June 7, 2016 (edited) خلنا في الاصعب الحين button_Register = guiCreateButton(10, 194, 186, 29, "Register", false, window_register) username_register = guiCreateEdit(10, 54, 186, 29, "user name", false, window_register) Password_register_1 = guiCreateEdit(10, 115, 186, 29, "password", false, window_register) Password_register_2 = guiCreateEdit(10, 155, 186, 29, "rewrite password", false, window_register) الحفظ مب يسوي مشكلة كبيرة متل ذا ابي اسوي حسابات من هنا تسجيل الدخول ما به اي مشاكل لكن ابي اسوي الحساب من هدول الاكواد Edited June 7, 2016 by Guest Link to comment
AHMED MOSTAFA Posted June 7, 2016 Author Share Posted June 7, 2016 وضح الطلب اكتر ^ انا مسوي لوحة تسجيل دخول تسجيل الدخول بها ما فيه مشاكل لكن ابي اسوي زر يخليني اسجل حساب جديد button_Register = guiCreateButton(10, 194, 186, 29, "Register", false, window_register) username_register = guiCreateEdit(10, 54, 186, 29, "user name", false, window_register) Password_register_1 = guiCreateEdit(10, 115, 186, 29, "password", false, window_register) Password_register_2 = guiCreateEdit(10, 155, 186, 29, "rewrite password", false, window_register) button_Register = زر تسجيل حساب جديد username_register = اسم الحساب الجديد Password_register_1 = كلمة السر الخاصة بالحساب Password_register_2 = اعادة كتابة كلمة السر الخاصة بالحساب Link to comment
iMr.WiFi..! Posted June 7, 2016 Share Posted June 7, 2016 'onClientGUIClick' guiGetText -- x4 triggerServerEvent addAccount Link to comment
AHMED MOSTAFA Posted June 7, 2016 Author Share Posted June 7, 2016 بموت و اعرف وش الخطأ ابي مساعدة تكفون -- client if source == button_Register then local user_name = guiGetText(username_register) local pass_word_1 = guiGetText(Password_register_1) if user_name ~= "" and pass_word_1 ~= "" then if #pass_word_1 < 4 then outputChatBox("The Password should be at least 4 characters long.", 255, 100, 0) else triggerServerEvent("only_Register_", localPlayer, "Register", user_name, pass_word) end end end -- server addEvent("only_Register_", true) addEventHandler("only_Register_", root, function(action, user_name, pass_word_1) if (action == "Register") then if not getAccount(user_name) then local accountAdded = addAccount(user_name, pass_word_1) if accountAdded then outputChatBox("* You have successfully registered!",source) else outputChatBox("* Error creating account",source) end else outputChatBox("* Account with this name already exists!",source) end end end) Link to comment
iMr.WiFi..! Posted June 7, 2016 Share Posted June 7, 2016 -- client addEventHandler("onClientGUIClick",root, function () if source == button_Register then local user_name = guiGetText(username_register) local pass_word_1 = guiGetText(Password_register_1) local pass_word_2 = guiGetText(Password_register_2) if pass_word_1 ~= pass_word_2 then return outputChatBox("الرقم السري غير مطابق",source,255,0,0,true) end if user_name ~= "" and pass_word_1 ~= "" then if #pass_word_1 < 4 then outputChatBox("The Password should be at least 4 characters long.", source, 255, 100, 0, true) else triggerServerEvent("only_Register_", localPlayer, "Register", user_name, pass_word) end end end end ) -- server addEvent("only_Register_", true) addEventHandler("only_Register_", root, function(action, user_name, pass_word_1) if (action == "Register") then if not getAccount(user_name,pass_word_1) then local accountAdded = addAccount(user_name, pass_word_1) if accountAdded then outputChatBox("* You have successfully registered!",source, 255, 100, 0, true) else outputChatBox("* Error creating account",source, 255, 100, 0, true) end else outputChatBox("* Account with this name already exists!",source ,255, 100, 0, true) end end end) Link to comment
AHMED MOSTAFA Posted June 8, 2016 Author Share Posted June 8, 2016 WARNING:GM\server.lua:21 Access denied @'addAccount' -- هي جننتني انا غيرت اشياء بسيطة ما اعتقد انها تأثر بالمود لكن شوف الاكواد يمكن فيه خطأ -- server ------------------------ addEvent("only_Register_", true) addEventHandler("only_Register_", root, function(action, user_name, pass_word_1) if (action == "Register") then if not getAccount(user_name,pass_word_1) then local accountAdded = addAccount(user_name, pass_word_1) if accountAdded then outputChatBox("* You have successfully registered!",source, 255, 100, 0, true) end else outputChatBox("* Account with this name already exists!",source ,255, 100, 0, true) end end end) -- client ------------------------ addEventHandler("onClientGUIClick",root, function () if source == button_Register then local user_name = guiGetText(username_register) local pass_word_1 = guiGetText(Password_register_1) local pass_word_2 = guiGetText(Password_register_2) if user_name ~= "" and pass_word_1 ~= "" then if #pass_word_1 < 4 then outputChatBox("* The Password should be at least 4 characters long.", source, 255, 100, 0, true) elseif pass_word_1 ~= pass_word_2 then outputChatBox("* The password does not match.", 255, 0, 0) else triggerServerEvent("only_Register_", localPlayer, "Register", user_name, pass_word) guiSetEnabled(button_Register, false) setTimer(function() guiSetEnabled(button_Register, true) end, 3000, 1) end end end end ) Link to comment
iMr.WiFi..! Posted June 8, 2016 Share Posted June 8, 2016 ضيف المود في قروب الادمن و ضيف هذا في قروب الزائر function.addAccount Link to comment
AHMED MOSTAFA Posted June 8, 2016 Author Share Posted June 8, 2016 ضيف المود في قروب الادمن و ضيف هذا في قروب الزائرfunction.addAccount جروب الزائر اللي هو افري ون ؟ اول رتبة يعني صح ؟ Link to comment
AHMED MOSTAFA Posted June 8, 2016 Author Share Posted June 8, 2016 WARNING:GM\server.lua:21 Access denied @'addAccount'[Expected string at agrument 2,got nil] اضفت لجروب ادمن لكن طلع ذا شوف ابيك تجربها تكفى -- client R,G,P = math.random( 0, 255 ), math.random( 0, 255 ), math.random( 0, 255 ) GUIEditor = { checkbox = {}, edit = {}, button = {}, window = {}, label = {} } addEventHandler("onClientResourceStart", resourceRoot, function() local screenW, screenH = guiGetScreenSize() window_register = guiCreateWindow((screenW - 459) / 2, (screenH - 274) / 2, 459, 274, "register system ( Gta 4u )", false) guiWindowSetSizable(window_register, false) guiSetVisible(window_register, true) button_Register = guiCreateButton(10, 194, 186, 29, "Register", false, window_register) username_register = guiCreateEdit(10, 54, 186, 29, "write username", false, window_register) Password_register_1 = guiCreateEdit(10, 115, 186, 29, "write password", false, window_register) Password_register_2 = guiCreateEdit(10, 155, 186, 29, "rewrite password", false, window_register) label_User_r = guiCreateLabel(10, 28, 186, 26, "user name", false, window_register) guiLabelSetHorizontalAlign(label_User_r, "center", false) guiLabelSetVerticalAlign(label_User_r, "center") guiLabelSetColor( label_User_r, R,G,P ) label_Pass_r = guiCreateLabel(10, 89, 186, 26, "password", false, window_register) guiLabelSetHorizontalAlign(label_Pass_r, "center", false) guiLabelSetVerticalAlign(label_Pass_r, "center") guiLabelSetColor( label_Pass_r, R,G,P ) end ) addEventHandler("onClientGUIClick", root, function() if source == button_Register then local user_name = guiGetText(username_register) local pass_word_1 = guiGetText(Password_register_1) local pass_word_2 = guiGetText(Password_register_2) if user_name ~= "" and pass_word_1 ~= "" then if #pass_word_1 < 5 then outputChatBox("* The Password should be at least 5 characters long.", source, 255, 100, 0, true) elseif pass_word_1 ~= pass_word_2 then outputChatBox("* The password does not match.", 255, 0, 0) else triggerServerEvent("only_Register_", localPlayer, "Register", user_name, pass_word) guiSetEnabled(button_Register, false) setTimer(function() guiSetEnabled(button_Register, true) end, 3000, 1) end end end end) -- server addEvent("only_Register_", true) addEventHandler("only_Register_", root, function(action, user_name, pass_word_1) if (action == "Register") then if not getAccount(user_name,pass_word_1) then local accountAdded = addAccount(user_name, pass_word_1) if accountAdded then outputChatBox("* You have successfully registered!",source, 255, 100, 0, true) outputChatBox("* the user is ( "..user_name.." ) the password is ( "..pass_word_1.." )",source, 255, 100, 0, true) outputChatBox("* you can now login with your username and password.",source, 255, 100, 0, true) else outputChatBox("* Error creating account",source, 255, 100, 0, true) end else outputChatBox("* Account with this name already exists!",source ,255, 100, 0, true) outputChatBox("* please write new user",source ,255, 100, 0, true) end end end) ابي اعرف المشاكل كلها يعني اذا بده ينضاف لجروب ادمن وما الى غير Link to comment
iMr.WiFi..! Posted June 8, 2016 Share Posted June 8, 2016 عند سطر 58 عدل على كلمة pass_word_1 وحطها tostring(pass_word_1) Link to comment
AHMED MOSTAFA Posted June 8, 2016 Author Share Posted June 8, 2016 عند سطر 58عدل على كلمة pass_word_1 وحطها tostring(pass_word_1) شكراً واي فاي اقسم بالله انت كفو شكراً مرة ثانية ادري اني تعبتك والله لكن فيه شي غريب بالمود اذا سويت حساب من اللوحة ما اقدر اسجل به واذا سويت حساب من اف 8 بنفس حساب اللي سويته في اللوحة ما يسجل يقول الحساب موجود واذا سويت حساب من اف 8 اقدر اسجل من اللوحة وش تعتقد Link to comment
AHMED MOSTAFA Posted June 8, 2016 Author Share Posted June 8, 2016 اعتقد انك لحست مخي هههههههه آسف حليت المشكلة كان في اديت ما كنت كاتب اسمه صح المهم شكراً - والله تعبتك معي Link to comment
iMr.WiFi..! Posted June 8, 2016 Share Posted June 8, 2016 اعتقد انك لحست مخي هههههههه آسف حليت المشكلة كان في اديت ما كنت كاتب اسمه صح المهم شكراً - والله تعبتك معي عفواً , حياك الله انا واحد ذيب ما يتعب امزح امزح 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