AHMED MOSTAFA Posted November 14, 2016 Share Posted November 14, 2016 السلام عليكم ورحمة الله وبركاته طبعاً انا بفضل الله ثم بفضلكم صرت ( مب منوب في البرمجة ) بس بضل تلميذكم انا ابي اعرف وش الداتا اللي استخدمها ميشان احفظ ( كلمة ) في لوحة يعني مثلاً اذا كنت مظلل الشك بوكس الـ ( كلمة ) تنحفظ والعكس اذا ما كان الشك بوكس مظلل اتمنى فهوتوني ملاحظة اتمنى عدم الاجابة بـ SQL لأني ما اعرف به اي شي Link to comment
</Mr.Tn6eL> Posted November 14, 2016 Share Posted November 14, 2016 (edited) او انك تحفظ في ملف xml او sql راح تستخدم قواعد بيانات سواء كانت طبعا الامن يقل من اليمين لليسار والسهولة تزيد من اليسار لليمين Edited November 14, 2016 by </Mr.Tn6eL> 2 Link to comment
Abdul KariM Posted November 14, 2016 Share Posted November 14, 2016 تقدر تستفيد من هذا الموضوع 2 Link to comment
AHMED MOSTAFA Posted November 15, 2016 Author Share Posted November 15, 2016 15 hours ago, Abdul KariM said: تقدر تستفيد من هذا الموضوع سويته بال xml لكن واجهتني مشكلة في الترايجر من ملف السيرفر لملف الكلينت ما عرفت ارسل الكود الموجود في ملف ال xml من ملف السيرفر الى ملف الكلينت عن طريق الترايجر تجربتي : هذا xml <PlayerAccount> <username>x1</username> <password>x2</password> </PlayerAccount> السيرفر function onJoin () local xmlFile = xmlLoadFile ( "PlayerUser.xml" ) if xmlFile then local FindUserName = xmlFindChild( xmlFile, "username", 0 ) local FindPassWord = xmlFindChild( xmlFile, "password", 0 ) local localPlayerUserName = xmlNodeGetValue ( FindUserName ) local localPlayerPassWord = xmlNodeGetValue ( FindPassWord ) if localPlayerUserName then --outputChatBox ( tostring ( localPlayerUserName ) ) triggerClientEvent(source, "setLocalPlayerUserName", source,tostring(localPlayerUserName) ) end if localPlayerPassWord then --outputChatBox ( tostring ( localPlayerPassWord ) ) triggerClientEvent(source, "setLocalPlayerPassWord", source,tostring(localPlayerPassWord) ) end --exports["guimessages"]:outputServer(root,tostring ( success ),0,255,0) end end addEventHandler ( "onResourceStart", getRootElement(), onJoin) addEventHandler ( "onPlayerJoin", getRootElement(), onJoin) هذا الكلينت addEvent("setLocalPlayerUserName", true) addEventHandler ("setLocalPlayerUserName", root, function ( localPlayerUserName ) guiSetText (panelEditUserName,tostring(localPlayerUserName)) exports["guimessages"]:outputClient(tostring(localPlayerUserName), 255, 0, 0,source) end ) ----------------------------------------------------------------------------- addEvent("setLocalPlayerPassWord", true) addEventHandler ("setLocalPlayerPassWord", root, function ( localPlayerPassWord ) guiSetText (panelEditPassWord,tostring(localPlayerPassWord)) exports["guimessages"]:outputClient(tostring(localPlayerPassWord), 255, 0, 0,source) end ) Link to comment
' A F . Posted November 16, 2016 Share Posted November 16, 2016 ب السيرفر انت حاط onResourceStart ولو تلاحظ ان source الحدث هاذا المود الي اشتغل ف لازم تسوي لوب .. Link to comment
3NAD Posted November 16, 2016 Share Posted November 16, 2016 تقدر تستفيد من هذا الموضوع Link to comment
AHMED MOSTAFA Posted November 16, 2016 Author Share Posted November 16, 2016 12 hours ago, Default said: ب السيرفر انت حاط onResourceStart ولو تلاحظ ان source الحدث هاذا المود الي اشتغل ف لازم تسوي لوب .. 1 hour ago, 3NAD said: تقدر تستفيد من هذا الموضوع ما ابي استخدم الـ SQLite في الوقت الحالي ابي اعرف بس وش الخطأ اللي عندي وكيف اصلحه Link to comment
AHMED MOSTAFA Posted November 16, 2016 Author Share Posted November 16, 2016 So.. ?!! Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 ك قراءة للكود يبدو ان ملف الحفظ بيكون ف جانب السيرفر والكل راح تجيه نفس البيانات Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 ك قراءة للكود يبدو ان ملف الحفظ بيكون ف جانب السيرفر والكل راح تجيه نفس البيانات بالضبط .. ملفات الحفظ PlayerUser.xml مسويه عن طريقة ملف سيرفر وابي اجيب بياناته عن طريقة ملف السيرفر وجبتها ونجحت لكن ابي انقلها من ملف سيرفر لملف كلينت بالترايجر مب عارف كيف هذا اللي اقصده من كل الموضوع Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 (edited) On 11/15/2016 at 4:16 PM, Developer Ahmed said: سويته بال xml لكن واجهتني مشكلة في الترايجر من ملف السيرفر لملف الكلينت ما عرفت ارسل الكود الموجود في ملف ال xml من ملف السيرفر الى ملف الكلينت عن طريق الترايجر تجربتي : هذا xml <PlayerAccount> <username>x1</username> <password>x2</password> </PlayerAccount> السيرفر function onJoin () local xmlFile = xmlLoadFile ( "PlayerUser.xml" ) if xmlFile then local FindUserName = xmlFindChild( xmlFile, "username", 0 ) local FindPassWord = xmlFindChild( xmlFile, "password", 0 ) local localPlayerUserName = xmlNodeGetValue ( FindUserName ) local localPlayerPassWord = xmlNodeGetValue ( FindPassWord ) if localPlayerUserName then --outputChatBox ( tostring ( localPlayerUserName ) ) triggerClientEvent(source, "setLocalPlayerUserName", source,tostring(localPlayerUserName) ) end if localPlayerPassWord then --outputChatBox ( tostring ( localPlayerPassWord ) ) triggerClientEvent(source, "setLocalPlayerPassWord", source,tostring(localPlayerPassWord) ) end --exports["guimessages"]:outputServer(root,tostring ( success ),0,255,0) end end addEventHandler ( "onResourceStart", getRootElement(), onJoin) addEventHandler ( "onPlayerJoin", getRootElement(), onJoin) هذا الكلينت addEvent("setLocalPlayerUserName", true) addEventHandler ("setLocalPlayerUserName", root, function ( localPlayerUserName ) guiSetText (panelEditUserName,tostring(localPlayerUserName)) exports["guimessages"]:outputClient(tostring(localPlayerUserName), 255, 0, 0,source) end ) ----------------------------------------------------------------------------- addEvent("setLocalPlayerPassWord", true) addEventHandler ("setLocalPlayerPassWord", root, function ( localPlayerPassWord ) guiSetText (panelEditPassWord,tostring(localPlayerPassWord)) exports["guimessages"]:outputClient(tostring(localPlayerPassWord), 255, 0, 0,source) end ) ملف السيرفر onStart إيفنت العنصر حقه خطأ source اللي هو ------- ملف الكلنت ايضاً العنصر حقه خطأ المفروض يكون localPlayer Edited November 17, 2016 by 3NAD 1 Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 ملف السيرفر onStart إيفنت العنصر حقه خطأ source اللي هو ------- ملف الكلنت ايضاً العنصر حقه خطأ المفروض يكون localPlayer ووش المفروض اسوي العنصر حق سيرفر ؟؟ ملاحظة انا مسويه على اساس افينت "onPlayerJoin" لكن اجرب بالافينت حق التشغيل ميشان الوقت Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 وقت التجارب خله كذا function getPlayerFromSerial ( serial ) for i, v in ipairs ( getElementsByType ( "player" ) ) do if getPlayerSerial ( v ) == serial then return v end end return false end function onJoin () local player = getPlayerFromSerial ( "Your Serial" ) if player then local xmlFile = xmlLoadFile ( "PlayerUser.xml" ) if xmlFile then local FindUserName = xmlFindChild( xmlFile, "username", 0 ) local FindPassWord = xmlFindChild( xmlFile, "password", 0 ) local localPlayerUserName = xmlNodeGetValue ( FindUserName ) local localPlayerPassWord = xmlNodeGetValue ( FindPassWord ) if localPlayerUserName then --outputChatBox ( tostring ( localPlayerUserName ) ) triggerClientEvent(player, "setLocalPlayerUserName", resourceRoot,tostring(localPlayerUserName) ) end if localPlayerPassWord then --outputChatBox ( tostring ( localPlayerPassWord ) ) triggerClientEvent(player, "setLocalPlayerPassWord", resourceRoot,tostring(localPlayerPassWord) ) end --exports["guimessages"]:outputServer(root,tostring ( success ),0,255,0) end end end addEventHandler ( "onResourceStart", root, onJoin) --addEventHandler ( "onPlayerJoin", root, onJoin) + حط سيريالك و اطرح لي ملف الأكس ام ال 1 Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 وقت التجارب خله كذا function getPlayerFromSerial ( serial ) for i, v in ipairs ( getElementsByType ( "player" ) ) do if getPlayerSerial ( v ) == serial then return v end end return false end function onJoin () local player = getPlayerFromSerial ( "Your Serial" ) if player then local xmlFile = xmlLoadFile ( "PlayerUser.xml" ) if xmlFile then local FindUserName = xmlFindChild( xmlFile, "username", 0 ) local FindPassWord = xmlFindChild( xmlFile, "password", 0 ) local localPlayerUserName = xmlNodeGetValue ( FindUserName ) local localPlayerPassWord = xmlNodeGetValue ( FindPassWord ) if localPlayerUserName then --outputChatBox ( tostring ( localPlayerUserName ) ) triggerClientEvent(player, "setLocalPlayerUserName", resourceRoot,tostring(localPlayerUserName) ) end if localPlayerPassWord then --outputChatBox ( tostring ( localPlayerPassWord ) ) triggerClientEvent(player, "setLocalPlayerPassWord", resourceRoot,tostring(localPlayerPassWord) ) end --exports["guimessages"]:outputServer(root,tostring ( success ),0,255,0) end end end addEventHandler ( "onResourceStart", root, onJoin) --addEventHandler ( "onPlayerJoin", root, onJoin) + حط سيريالك و اطرح لي ملف الأكس ام ال وش وضع السريال ؟ هذي لوحة تسجيل دخول وش رح اسوي بالسريال الخاص بي انا جرب الطريقة حقتك طلع لي ذا بالدي بق ERROR: Server triggered clientside event setLocalPlayerUserName, but event is not added clientside الاكس ام إل ما فيه مشاكل لأنه شغال عادي في ملف سيرفر وقت يخرج رسالة في الشات Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 2 minutes ago, Developer Ahmed said: وش وضع السريال ؟ هذي لوحة تسجيل دخول وش رح اسوي بالسريال الخاص بي انا جرب الطريقة حقتك طلع لي ذا بالدي بق ERROR: Server triggered clientside event setLocalPlayerUserName, but event is not added clientside الاكس ام إل ما فيه مشاكل لأنه شغال عادي في ملف سيرفر وقت يخرج رسالة في الشات قلت لك وقت التجارب ! بالنسبة للإيرور ; فيه مشكلة بملف الكلنت 1 Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 قلت لك وقت التجارب ! آسف ما شفت الكلمة في البداية هذا الكلينت addEvent("setLocalPlayerUserName", true) addEventHandler ("setLocalPlayerUserName", localPlayer, function ( localPlayerUserName ) guiSetText (panelEditUserName, localPlayerUserName ) end ) ----------------------------------------------------------------------------- addEvent("setLocalPlayerPassWord", true) addEventHandler ("setLocalPlayerPassWord", localPlayer, function ( localPlayerPassWord ) guiSetText (panelEditPassWord, localPlayerPassWord ) end ) Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 1 minute ago, Developer Ahmed said: آسف ما شفت الكلمة في البداية هذا الكلينت addEvent("setLocalPlayerUserName", true)addEventHandler ("setLocalPlayerUserName", localPlayer,function ( localPlayerUserName )guiSetText (panelEditUserName, localPlayerUserName )end )-----------------------------------------------------------------------------addEvent("setLocalPlayerPassWord", true)addEventHandler ("setLocalPlayerPassWord", localPlayer,function ( localPlayerPassWord )guiSetText (panelEditPassWord, localPlayerPassWord )end ) قبل كنت ماشي صح addEvent("setLocalPlayerUserName", true) addEventHandler ("setLocalPlayerUserName", root, function ( localPlayerUserName ) guiSetText (panelEditUserName, localPlayerUserName ) end ) ----------------------------------------------------------------------------- addEvent("setLocalPlayerPassWord", true) addEventHandler ("setLocalPlayerPassWord", root, function ( localPlayerPassWord ) guiSetText (panelEditPassWord, localPlayerPassWord ) end ) 1 Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 قبل كنت ماشي صح addEvent("setLocalPlayerUserName", true) addEventHandler ("setLocalPlayerUserName", root, function ( localPlayerUserName ) guiSetText (panelEditUserName, localPlayerUserName ) end ) ----------------------------------------------------------------------------- addEvent("setLocalPlayerPassWord", true) addEventHandler ("setLocalPlayerPassWord", root, function ( localPlayerPassWord ) guiSetText (panelEditPassWord, localPlayerPassWord ) end ) ملاحظة نفس المشكلة .. نفس الدي بق Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 يمكن خطأ بأحد الأكواد في الكلنت أو الملف بالميتا مو معرف ك كلنت 1 Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 يمكن خطأ بأحد الأكواد في الكلنت أو الملف بالميتا مو معرف ك كلنت <script src="server.lua" type="server"/> <script src="client.lua" type="client"/>كل شي معرف وتمام وملف الكلينت ما فيه اخطاء Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 اطرح ملف الكلنت ServerName = "Developer Ahmed" local screenW, screenH = guiGetScreenSize() thePanel = guiCreateWindow((screenW - 500) / 2, (screenH - 500) / 2, 500, 500, "( Login / Register Panel ) 4u "..getPlayerName(localPlayer), false) guiWindowSetSizable(thePanel, false) local TrueOrFalse = guiGetVisible (thePanel) showCursor(TrueOrFalse) panelRegisterButton = guiCreateButton(20, 460, 460, 30, "Click to register", false, thePanel) panelEditPassWord = guiCreateEdit(140, 380, 340, 30, "edit", false, thePanel) panelEditUserName = guiCreateEdit(140, 320, 340, 30, "edit", false, thePanel) panelLabelUserName = guiCreateLabel(400, 320, 80, 30, "user name", false, thePanel) panelLabelPassWord = guiCreateLabel(400, 380, 80, 30, "pass word", false, thePanel) panelButtonRefresh = guiCreateButton(140, 355, 340, 20, "( Refresh to save username and password )", false, thePanel) labelnews = guiCreateLabel(20, 275, 460, 45, getPlayerName(localPlayer).." welcome to "..ServerName.." server.", false, thePanel) addEventHandler("onClientGUIClick", getRootElement(), function ( ) if source == panelButtonRefresh then local userName = guiGetText (panelEditUserName) local passWord = guiGetText (panelEditPassWord) triggerServerEvent ("setTextData", localPlayer, userName, passWord) end if source == panelLoginButton then local usernameLogin = guiGetText(panelEditUserName) local passwordLogin = guiGetText(panelEditPassWord) if usernameLogin ~= "" and passwordLogin ~= "" then triggerServerEvent ("whenelocalPlayerLogin", localPlayer, "onlocalPlayerLoginTrigger", usernameLogin, passwordLogin) end end if source == panelRegisterButton then local usernameRegister = guiGetText(panelEditUserName) local passwordRegister = guiGetText(panelEditPassWord) if usernameRegister ~= "" and passwordRegister ~= "" then if #passwordRegister < 5 then exports["guimessages"]:outputClient("The Password should be at least ( 5 ) characters long.", 255, 255, 0,source) playSound ("Error.wav") else triggerServerEvent ("whenelocalPlayerRegister", localPlayer, "onlocalPlayerRegisterTrigger", usernameRegister, passwordRegister) end end end end ) addEvent("setLocalPlayerUserName", true) addEventHandler ("setLocalPlayerUserName", root, function ( localPlayerUserName ) guiSetText (panelEditUserName, localPlayerUserName ) exports["guimessages"]:outputClient(localPlayerUserName, 255, 255, 0,root) end ) ----------------------------------------------------------------------------- addEvent("setLocalPlayerPassWord", true) addEventHandler ("setLocalPlayerPassWord", root, function ( localPlayerPassWord ) guiSetText (panelEditPassWord, localPlayerPassWord ) exports["guimessages"]:outputClient(localPlayerPassWord, 255, 255, 0,root) end ) ----------------------------------------------------------------------------- ... Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 فعلا لايوجد اخطاء بالكلنت onStart والمشكلة تكمن في الايفنت الإيفنت ذا راح ينفذ الاوامر عند تشغيل المود مباشرة setLocalPlayerUserName أي ان الكلنت لازال تحت التحميل ولم يجد الإيفنت 1 Link to comment
AHMED MOSTAFA Posted November 17, 2016 Author Share Posted November 17, 2016 (edited) فعلا لايوجد اخطاء بالكلنت onStart والمشكلة تكمن في الايفنت الإيفنت ذا راح ينفذ الاوامر عند تشغيل المود مباشرة setLocalPlayerUserName أي ان الكلنت لازال تحت التحميل ولم يجد الإيفنت تقصد اذا خرجت من السيرفر ودخلت بإفينت "onPlayerJoin" رح يشتغل ؟ - تمام المود اشتغل عندما خرجت ودخلت شكراً لك عناد تعبتك معي .. Edited November 17, 2016 by Developer Ahmed شكراً عناد Link to comment
3NAD Posted November 17, 2016 Share Posted November 17, 2016 جرب بدون الإيفنت onStart function onJoin () local xmlFile = xmlLoadFile ( "PlayerUser.xml" ) if xmlFile then local FindUserName = xmlFindChild( xmlFile, "username", 0 ) local FindPassWord = xmlFindChild( xmlFile, "password", 0 ) local localPlayerUserName = xmlNodeGetValue ( FindUserName ) local localPlayerPassWord = xmlNodeGetValue ( FindPassWord ) if localPlayerUserName then --outputChatBox ( tostring ( localPlayerUserName ) ) triggerClientEvent(source, "setLocalPlayerUserName", source,tostring(localPlayerUserName) ) end if localPlayerPassWord then --outputChatBox ( tostring ( localPlayerPassWord ) ) triggerClientEvent(source, "setLocalPlayerPassWord", source,tostring(localPlayerPassWord) ) end --exports["guimessages"]:outputServer(root,tostring ( success ),0,255,0) end end --addEventHandler ( "onResourceStart", getRootElement(), onJoin) addEventHandler ( "onPlayerJoin", getRootElement(), onJoin) أي اخرج وادخل 1 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