Jump to content

طلب فنكشنات


Recommended Posts

Posted

السلام عليكم

سويت لوحة تسجيل

سويت التسجيل والريجستري وكل شيء

الحين الي ابغاه هو :

auto login ابي فنكشنات حق حفظ الاكاونت وال

واذا يحط صح على حفظ الحساب يوم يرجع الحساب يكون محفوظ والباس check boxيعني يكون

والسلام عليكم

Posted

ياكثر المواضيع الي نزلت على هالشي دور ويتلقا مايحتاج تفك موضوع جديد

بالكثير بتلقا بالصفحه الخامسه مابتطول

Posted
onClientGUIClick -- Event 
xmlLoadFile 
xmlCreateFile 
xmlNodeSetValue 
xmlCreateChild 
xmlNodeSetAttribute 
xmlSaveFile 
xmlUnloadFile 
  
onClientResourceStart -- Event 
xmlLoadFile 
xmlFindChild 
xmlNodeGetValue 
  

جبت الموضوع

هذي الفنكشنات

لكن ممكن شرح

xml لأني صرآحة ماعندي خبرة نهائياً بموضوع الـ

Posted

في حفظ بيانات الاعب السرية SQL أفضل استخدام

غير آمن xml

استطيع اخذ كلمة مرور الاعب عن طريق سكربت ملغم فقط

لا تسئلني كيف

Posted

loginكود السيرفر حق ال

addEvent("onlogin",true) 
addEventHandler("onlogin",getRootElement(), 
    function (user,pass) 
        local account = getAccount(user,pass) 
        if ( account ) then 
        logIn(source,account,pass) 
    triggerClientEvent(source,"hide",source) 
            else 
            outputChatBox("* Worng Username Or Password",source,255,0,0) 
        end 
    end 
) 

Posted
في حفظ بيانات الاعب السرية SQL أفضل استخدام

غير آمن xml

استطيع اخذ كلمة مرور الاعب عن طريق سكربت ملغم فقط

لا تسئلني كيف

XML افضل لك لحفظ الاسم والباسورد واذا عن صاحب السيرفر يقدر يشوف باسورد اللاعب

XML او SQL بيقدر يشوفه

Posted
في حفظ بيانات الاعب السرية SQL أفضل استخدام

غير آمن xml

استطيع اخذ كلمة مرور الاعب عن طريق سكربت ملغم فقط

لا تسئلني كيف

XML افضل لك لحفظ الاسم والباسورد واذا عن صاحب السيرفر يقدر يشوف باسورد اللاعب

XML او SQL بيقدر يشوفه

SQL أفضل

قواعدها محمية وبياناتها مشفرة

وأنا ما أرضى واحد يشوف باسورد الاعبين

+

اذ كنت مصر على استخدام xml

فهو رأيك وانا مالي شغل فيك :)

Posted

SQl انا بستخدم

لكن كيف بالله تساعدني

ماعندي خبرة بتاتاً وياليت تساعدني

SQL والله صعب ال

Posted

آصنع جدول .

وسو تحقق اذا ظغط زر لوقن ان هو محدد على الشيك بوكس ولا لا

اذا كان محدد

تسوي ترايقر وتضيف الي بـ edit box لـ قاعدة البيانات

واذا مو كان محدد سوي ترآيقر يسجل دخول بدون م يضيف لـ قاعدة البيانات

وفيه كم شيء ناقص م آعرفه آتوقع تسوي يوم يخلص تحميلة تسوي ترايقر يجيب الي بـ قاعدة البيانات تسوي triggerClientEvent

وتسوي

guiSetText

هاذا الي آقدر آقوله <3

Posted
loginكود السيرفر حق ال
addEvent("onlogin",true) 
addEventHandler("onlogin",getRootElement(), 
    function (user,pass) 
        local account = getAccount(user,pass) 
        if ( account ) then 
        logIn(source,account,pass) 
    triggerClientEvent(source,"hide",source) 
            else 
            outputChatBox("* Worng Username Or Password",source,255,0,0) 
        end 
    end 
) 

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

Posted
addEventHandler("onClientGUIClick",getRootElement(), 
    function () 
        local user = guiGetText(lName) 
        local pass = guiGetText(lPass) 
        local ruser = guiGetText(rName) 
        local rpass = guiGetText(rPass) 
        if ( source == login ) then 
            triggerServerEvent("onlogin",getLocalPlayer(),user,pass) 
        elseif ( source == register ) then 
            triggerServerEvent("onre",getLocalPlayer(),ruser,rpass) 
        end 
    end 
) 

عند الضغط . .

Posted

اظهار النافذه

addEventHandler("onClientResourceStart", resourceRoot, 
    function() 
    showChat(false) 
guiSetVisible (wnd, true ) 
guiSetVisible (register, true ) 
guiSetVisible ( login, true ) 
    setTimer ( move, 1000, 1 ) 
    end 
) 

وش تقصد بالثانية وش اطرح

Posted

في هذا الكود

-- Client 
    addEventHandler("onClientGUIClick",getRootElement(), 
        function () 
            local user = guiGetText(lName) 
            local pass = guiGetText(lPass) 
            local ruser = guiGetText(rName) 
            local rpass = guiGetText(rPass) 
            if ( source == login ) then 
                triggerServerEvent("onlogin",getLocalPlayer(),user,pass, guiCheckBoxGetSelected ( ........ ) ) 
            elseif ( source == register ) then 
                triggerServerEvent("onre",getLocalPlayer(),ruser,rpass) 
            end 
        end 
    ) 
  

شفت محل النقاط ^

حط بداله تعريف التشيك بوكس حق الدخول التلقائي

يعني مثلاً

checkedBox = guiCreateCheckBox(20,30,150,20,"Checked checkbox",true,false,guiWindow) 

checkedBox خذ

---

-- Client  
addEventHandler ( "onClientResourceStart", resourceRoot, 
    function ( ) 
        triggerServerEvent ( "onCheckAutoLogin", localPlayer ) 
    end 
) 
  
addEvent ( "onOpenLoginWindow", true ) 
addEventHandler ( "onOpenLoginWindow", root, 
    function ( )  
        showChat(false) 
        guiSetVisible (wnd, true ) 
        guiSetVisible (register, true ) 
        guiSetVisible ( login, true ) 
        setTimer ( move, 1000, 1 )   
    end 
) 

-- Server 
local AutoLogin_DB = dbConnect ( "sqlite", "AutoLogin.db" ) 
dbExec ( AutoLogin_DB, "CREATE TABLE IF NOT EXISTS `AutoLogin` (`UserName`, `PassWord`, `Serial`)") 
  
addEvent ( "onCheckAutoLogin", true ) 
addEventHandler ( "onCheckAutoLogin", root, 
    function ( ) 
        local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( source )) ), -1 ) 
        if #DB > 0 then  
            local user, pass = tostring(DB[1].UserName), tostring(DB[1].PassWord) 
            local account = getAccount ( user, pass ) 
            if account then          
                logIn ( source, account, pass ) 
                triggerClientEvent ( source, "hide", resourceRoot )              
            else 
                triggerClientEvent ( source, "onOpenLoginWindow", resourceRoot )     
            end 
        else 
            triggerClientEvent ( source, "onOpenLoginWindow", resourceRoot )     
        end 
    end 
) 
  
addEvent ( "onlogin", true ) 
addEventHandler ( "onlogin", root, 
    function ( user, pass, auto ) 
        local account = getAccount ( user, pass ) 
        if account then 
            if logIn ( source, account, pass ) then 
                triggerClientEvent ( source, "hide", resourceRoot ) 
                if auto then 
                    local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( source )) ), -1 ) 
                    if #DB > 0 then 
                        dbExec ( AutoLogin_DB, "UPDATE `AutoLogin` SET `UserName`=?,`PassWord`=? WHERE `Serial`=?", tostring(user), tostring(pass), tostring(getPlayerSerial (source)) ) 
                    else 
                        dbExec ( AutoLogin_DB, "INSERT INTO `AutoLogin` VALUES(?,?,?)", tostring(user), tostring(pass), tostring(getPlayerSerial (source)) ) 
                    end 
                else 
                    local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( source )) ), -1 ) 
                    if #DB > 0 then                  
                        dbExec ( AutoLogin_DB, "DELETE FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial(source)) ) 
                    end 
                end 
            else 
                outputChatBox ( "* Account already in use.", source, 255, 0, 0 ) 
            end 
        else 
            outputChatBox ( "* Worng Username Or Password.", source, 255, 0, 0 ) 
        end 
    end 
) 
  
addCommandHandler ( "disableAuto",  
    function ( player ) 
        local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( player )) ), -1 ) 
        if #DB > 0 then                  
            dbExec ( AutoLogin_DB, "DELETE FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial(player)) ) 
            outputChatBox ( "* Auto-Login has been disabled.", player, 0, 255, 0 ) 
        end  
    end 
) 

ضفت لك كوماند حق إلغاء الدخول التلقائي

disableAuto

* لم يتم التجربة, رد خبر

Posted

ممكن تسوي أكونت داتا بسريال اللاعب يعني

setAccountData ( getPlayerAccount ( source , "DataName" ,getPlayerSerial(source))

وتعمل حدث اول ما اللاعب يدخل

يسوي تحقق اذا كانت الداتا موجوده يسجل الدخول

وطبعا لازم تحفظ اليوزر والباس

Posted
ممكن تسوي أكونت داتا بسريال اللاعب يعني

setAccountData ( getPlayerAccount ( source , "DataName" ,getPlayerSerial(source))

وتعمل حدث اول ما اللاعب يدخل

يسوي تحقق اذا كانت الداتا موجوده يسجل الدخول

وطبعا لازم تحفظ اليوزر والباس

وش تحوس ؟؟

ممكن تقول لي هذا وش فايدتها ؟

getPlayerAccount

ووش الفايده من الداتا اصلا ؟

واكاونت داتا للحساب

يعني لما يسجل دخوله

كيف يسوي اوتو لوقين وهو مسوي لوقين من اول؟ :roll:

Posted
يانوب اقولك لما اللاعب يدخل

onPlayerJoin

+

getAccountSerial

+

انا اقدر اسويها بس مابي

وانت تقول ويش فايده ذي getPlayerAccount

ذي لما اللاعب يضغط علي الشيك بوكس يسوي ترايقر للسيرفر ويسوي الكود

Posted
يانوب اقولك لما اللاعب يدخل

onPlayerJoin

+

getAccountSerial

+

انا اقدر اسويها بس مابي

اوك ممكن تسويها ابي اتعلم

يانوب اقولك لما اللاعب يدخل

onPlayerJoin

+

getAccountSerial

+

انا اقدر اسويها بس مابي

وانت تقول ويش فايده ذي getPlayerAccount

ذي لما اللاعب يضغط علي الشيك بوكس يسوي ترايقر للسيرفر ويسوي الكود

اها توني اعرف ان هذي هي الترايقر

شكرراً :oops:

Posted
ممكن تسوي أكونت داتا بسريال اللاعب يعني

setAccountData ( getPlayerAccount ( source , "DataName" ,getPlayerSerial(source))

وتعمل حدث اول ما اللاعب يدخل

يسوي تحقق اذا كانت الداتا موجوده يسجل الدخول

وطبعا لازم تحفظ اليوزر والباس

فكرتك جميلة

---

يوم يسوي حفظ تسجيل الدخول نحط له الداتا

  
addEvent ( "onlogin", true ) 
addEventHandler ( "onlogin", root, 
    function ( user, pass ) 
        local account = getAccount ( user, pass ) 
        if account then 
            if logIn ( source, account, pass ) then 
                triggerClientEvent ( source, "hide", resourceRoot ) 
                setAccountData ( account, "DataName", getPlayerSerial ( source ) ) 
            end 
        end 
    end 
) 

بعدين يوم بيدخل السيرفر مرة ثانية نجيب الداتا عشان نسجل الدخول

  
addEventHandler ( "onPlayerJoin", root, 
    function ( ) 
        local account = getAccount ( مادري منين اجيبها ) 
        local data = getAccountData ( account, "DataName" ) 
        if data then 
            logIn ( source, account, مادري منين اجيبها ) 
        end 
    end 
) 

انا تورطت هنا ^

أتمنى منك الإفادة العاجلة :(

Posted
ممكن تسوي أكونت داتا بسريال اللاعب يعني

setAccountData ( getPlayerAccount ( source , "DataName" ,getPlayerSerial(source))

وتعمل حدث اول ما اللاعب يدخل

يسوي تحقق اذا كانت الداتا موجوده يسجل الدخول

وطبعا لازم تحفظ اليوزر والباس

فكرتك جميلة

---

يوم يسوي حفظ تسجيل الدخول نحط له الداتا

  
addEvent ( "onlogin", true ) 
addEventHandler ( "onlogin", root, 
    function ( user, pass ) 
        local account = getAccount ( user, pass ) 
        if account then 
            if logIn ( source, account, pass ) then 
                triggerClientEvent ( source, "hide", resourceRoot ) 
                setAccountData ( account, "DataName", getPlayerSerial ( source ) ) 
            end 
        end 
    end 
) 

بعدين يوم بيدخل السيرفر مرة ثانية نجيب الداتا عشان نسجل الدخول

  
addEventHandler ( "onPlayerJoin", root, 
    function ( ) 
        local account = getAccount ( مادري منين اجيبها ) 
        local data = getAccountData ( account, "DataName" ) 
        if data then 
            logIn ( source, account, مادري منين اجيبها ) 
        end 
    end 
) 

النتيجة = nil

ليش طيب ؟ شغلي صح ؟

أتمنى منك الإفادة

XXX

وانت تقول ويش فايده ذي getPlayerAccount

ذي لما اللاعب يضغط علي الشيك بوكس يسوي ترايقر للسيرفر ويسوي الكود

ماسويت ترايقر ي اخ عناد لآزم تتعلم الترايقر وبعدين سو :redhotevil:

Posted

وانت تقول ويش فايده ذي getPlayerAccount

ذي لما اللاعب يضغط علي الشيك بوكس يسوي ترايقر للسيرفر ويسوي الكود

ماسويت ترايقر ي اخ عناد لآزم تتعلم الترايقر وبعدين سو :redhotevil:

getPlayerAccount اها لازم اسوي تريقر

ThePrInCe أتمنى تصلح الكود يا

لأني أحتاج مساعدتك كثير :(

Posted

addEvent ( "onlogin", true ) 
addEventHandler ( "onlogin", root, 
    function ( user, pass ) 
        local account = getAccount ( user, pass ) 
        if account then 
            if logIn ( source, account, pass ) then 
                triggerClientEvent ( source, "hide", resourceRoot ) 
                setAccountData ( account, "autoLogin", toJSON({user, pass})) 
            end 
        end 
    end 
) 
  
addEventHandler ( "onPlayerJoin", root, 
    function ( ) 
        for k,v in ipairs(getAccountsBySerial(getPlayerSerial(source))) 
            local data = getAccountData (v, "autoLogin" ) 
            if data then 
                local json = fromJSON(data) 
                local account = getAccount (getAccountName(v), json[2]) 
                if account then 
                    logIn ( source, account, json[2]) 
                end 
            end 
        end 
    end 
) 

بس اتوقع الطريقة ماهي آمنة

  • Like 1
Posted
في هذا الكود
-- Client 
    addEventHandler("onClientGUIClick",getRootElement(), 
        function () 
            local user = guiGetText(lName) 
            local pass = guiGetText(lPass) 
            local ruser = guiGetText(rName) 
            local rpass = guiGetText(rPass) 
            if ( source == login ) then 
                triggerServerEvent("onlogin",getLocalPlayer(),user,pass, guiCheckBoxGetSelected ( ........ ) ) 
            elseif ( source == register ) then 
                triggerServerEvent("onre",getLocalPlayer(),ruser,rpass) 
            end 
        end 
    ) 
  

شفت محل النقاط ^

حط بداله تعريف التشيك بوكس حق الدخول التلقائي

يعني مثلاً

checkedBox = guiCreateCheckBox(20,30,150,20,"Checked checkbox",true,false,guiWindow) 

checkedBox خذ

---

-- Client  
addEventHandler ( "onClientResourceStart", resourceRoot, 
    function ( ) 
        triggerServerEvent ( "onCheckAutoLogin", localPlayer ) 
    end 
) 
  
addEvent ( "onOpenLoginWindow", true ) 
addEventHandler ( "onOpenLoginWindow", root, 
    function ( )  
        showChat(false) 
        guiSetVisible (wnd, true ) 
        guiSetVisible (register, true ) 
        guiSetVisible ( login, true ) 
        setTimer ( move, 1000, 1 )   
    end 
) 

-- Server 
local AutoLogin_DB = dbConnect ( "sqlite", "AutoLogin.db" ) 
dbExec ( AutoLogin_DB, "CREATE TABLE IF NOT EXISTS `AutoLogin` (`UserName`, `PassWord`, `Serial`)") 
  
addEvent ( "onCheckAutoLogin", true ) 
addEventHandler ( "onCheckAutoLogin", root, 
    function ( ) 
        local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( source )) ), -1 ) 
        if #DB > 0 then  
            local user, pass = tostring(DB[1].UserName), tostring(DB[1].PassWord) 
            local account = getAccount ( user, pass ) 
            if account then          
                logIn ( source, account, pass ) 
                triggerClientEvent ( source, "hide", resourceRoot )              
            else 
                triggerClientEvent ( source, "onOpenLoginWindow", resourceRoot )     
            end 
        else 
            triggerClientEvent ( source, "onOpenLoginWindow", resourceRoot )     
        end 
    end 
) 
  
addEvent ( "onlogin", true ) 
addEventHandler ( "onlogin", root, 
    function ( user, pass, auto ) 
        local account = getAccount ( user, pass ) 
        if account then 
            if logIn ( source, account, pass ) then 
                triggerClientEvent ( source, "hide", resourceRoot ) 
                if auto then 
                    local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( source )) ), -1 ) 
                    if #DB > 0 then 
                        dbExec ( AutoLogin_DB, "UPDATE `AutoLogin` SET `UserName`=?,`PassWord`=? WHERE `Serial`=?", tostring(user), tostring(pass), tostring(getPlayerSerial (source)) ) 
                    else 
                        dbExec ( AutoLogin_DB, "INSERT INTO `AutoLogin` VALUES(?,?,?)", tostring(user), tostring(pass), tostring(getPlayerSerial (source)) ) 
                    end 
                else 
                    local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( source )) ), -1 ) 
                    if #DB > 0 then                  
                        dbExec ( AutoLogin_DB, "DELETE FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial(source)) ) 
                    end 
                end 
            else 
                outputChatBox ( "* Account already in use.", source, 255, 0, 0 ) 
            end 
        else 
            outputChatBox ( "* Worng Username Or Password.", source, 255, 0, 0 ) 
        end 
    end 
) 
  
addCommandHandler ( "disableAuto",  
    function ( player ) 
        local DB = dbPoll ( dbQuery ( AutoLogin_DB, "SELECT * FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial ( player )) ), -1 ) 
        if #DB > 0 then                  
            dbExec ( AutoLogin_DB, "DELETE FROM `AutoLogin` WHERE `Serial`=?", tostring(getPlayerSerial(player)) ) 
            outputChatBox ( "* Auto-Login has been disabled.", player, 0, 255, 0 ) 
        end  
    end 
) 

ضفت لك كوماند حق إلغاء الدخول التلقائي

disableAuto

* لم يتم التجربة, رد خبر

respect .

صرآحة /

انسان طيب ي عناد وربي

كود مثل هذا ماي يعطيه الا فاعلين الخير :mrgreen:

تراهـ حصري لسيرفرك :]

بالتوفيق

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