Jump to content

حفظ كلمة السر في لوحة تسجيل دخول


Recommended Posts

السلام عليكم ورحمة الله وبركاته
طبعاً انا بفضل الله ثم بفضلكم صرت ( مب منوب في البرمجة ) بس بضل تلميذكم
انا ابي اعرف وش الداتا اللي استخدمها ميشان احفظ ( كلمة ) في لوحة
يعني مثلاً اذا كنت مظلل الشك بوكس الـ ( كلمة ) تنحفظ والعكس اذا ما كان الشك بوكس مظلل
اتمنى فهوتوني

ملاحظة اتمنى عدم الاجابة بـ
SQL
لأني ما اعرف به اي شي

Link to comment
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
12 hours ago, Default said:

ب السيرفر انت حاط onResourceStart

ولو تلاحظ ان source الحدث هاذا المود الي اشتغل

ف لازم تسوي لوب ..

 

1 hour ago, 3NAD said:

تقدر تستفيد من هذا الموضوع

 

ما ابي استخدم الـ
SQLite
في الوقت الحالي

ابي اعرف بس وش الخطأ اللي عندي وكيف اصلحه

Link to comment
 

ك قراءة للكود يبدو ان ملف الحفظ بيكون ف جانب السيرفر والكل راح تجيه نفس البيانات

بالضبط .. ملفات الحفظ
PlayerUser.xml
مسويه عن طريقة ملف سيرفر
وابي اجيب بياناته عن طريقة ملف السيرفر

وجبتها ونجحت لكن ابي انقلها من ملف سيرفر لملف كلينت بالترايجر مب عارف كيف

هذا اللي اقصده من كل الموضوع

Link to comment
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 by 3NAD
  • Like 1
Link to comment
 

ملف السيرفر

onStart إيفنت 

العنصر حقه خطأ

source اللي هو

-------

ملف الكلنت

ايضاً العنصر حقه خطأ

المفروض يكون 

localPlayer

 

ووش المفروض اسوي العنصر حق سيرفر ؟؟
ملاحظة انا مسويه على اساس افينت
"onPlayerJoin"
لكن اجرب بالافينت حق التشغيل ميشان الوقت

Link to comment

وقت التجارب خله كذا

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)

+ حط سيريالك

 

و اطرح لي ملف الأكس ام ال

  • Like 1
Link to comment
 

وقت التجارب خله كذا


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
2 minutes ago, Developer Ahmed said:

وش وضع السريال ؟
هذي لوحة تسجيل دخول وش رح اسوي بالسريال الخاص بي انا

جرب الطريقة حقتك طلع لي ذا بالدي بق
ERROR: Server triggered clientside event setLocalPlayerUserName, but event is not added clientside

الاكس ام إل ما فيه مشاكل
لأنه شغال عادي في ملف سيرفر وقت يخرج رسالة في الشات

قلت لك وقت التجارب !

 

بالنسبة للإيرور ; فيه مشكلة بملف الكلنت

  • Like 1
Link to comment
 

قلت لك وقت التجارب !

آسف ما شفت الكلمة في البداية
هذا الكلينت

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
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 )

 

  • Like 1
Link to comment
 

قبل كنت ماشي صح 


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
 

اطرح ملف الكلنت 

        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

فعلا لايوجد اخطاء بالكلنت

onStart والمشكلة تكمن في الايفنت 

الإيفنت ذا راح ينفذ الاوامر عند تشغيل المود مباشرة

setLocalPlayerUserName أي ان الكلنت لازال تحت التحميل ولم يجد الإيفنت

 

 

  • Like 1
Link to comment
 

فعلا لايوجد اخطاء بالكلنت

onStart والمشكلة تكمن في الايفنت 

الإيفنت ذا راح ينفذ الاوامر عند تشغيل المود مباشرة

setLocalPlayerUserName أي ان الكلنت لازال تحت التحميل ولم يجد الإيفنت

تقصد اذا خرجت من السيرفر ودخلت
بإفينت "onPlayerJoin"
رح يشتغل ؟
-
تمام المود اشتغل عندما خرجت ودخلت
شكراً لك عناد تعبتك معي ..

Edited by Developer Ahmed
شكراً عناد
Link to comment

جرب بدون الإيفنت 

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)

أي اخرج وادخل

  • Like 1
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...