Jump to content

Recommended Posts

  • 3 months later...

ادري ان الموضوع قديمم

بس عندددي سؤال

بهذا الكود

marker = createMarker ( .... ) 
  
addEventHandler ( "onMarkerHit", marker, function ( element ) 
    if getElementType ( element ) == 'player' then -- نتحقق إن الشي إللي دخل الماركر الي هو لاعب 
        if getElementData ( element, "ZA7F" ) == "MTA" then --- MTA اذا كانت قيمتها  ZA7F نتحقق هنا من الداتا الي هي   
            outputChatBox ( "لقد قمت بالدخول مسبقاً", element ) 
            return 
        else --- # MTA هنا نسوي لو مو مسوين الداتا الي ما ماخذاة قمية 
            setElementData ( element, "ZA7F", "MTA" ) --- # عشان ما يستخدم الماركر مرة ثانية MTA هنا نسوي الداتا قيمتها 
            givePlayerMoney ( element, 100 )  -- نعطي اللاعب 100             
        end 
    end 
end ) 

هذا يحفظ ان اللاعب يقدر يدخل الماركر مرة وحدة

طيب السؤال الان

لو طلعت ورجعت دخلت

اقدر ادخل الماركر ولا لا ؟؟

ثاني سؤال وهو الاهممم

بنفس الكود

marker = createMarker ( .... ) 
  
addEventHandler ( "onMarkerHit", marker, function ( element ) 
    if getElementType ( element ) == 'player' then -- نتحقق إن الشي إللي دخل الماركر الي هو لاعب 
        if getElementData ( element, "ZA7F" ) == "MTA" then --- MTA اذا كانت قيمتها  ZA7F نتحقق هنا من الداتا الي هي   
            outputChatBox ( "لقد قمت بالدخول مسبقاً", element ) 
            return 
        else --- # MTA هنا نسوي لو مو مسوين الداتا الي ما ماخذاة قمية 
            setElementData ( element, "ZA7F", "MTA" ) --- # عشان ما يستخدم الماركر مرة ثانية MTA هنا نسوي الداتا قيمتها 
            givePlayerMoney ( element, 100 )  -- نعطي اللاعب 100             
        end 
    end 
end ) 
  

تشوف انت حاط اول

شي

if getElementData  

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

مسويها اخر شي تحت

setElementData

كودك صح كذا ولا المفروض

اول شي تحط داتا بعدين تجيب الداتا

Link to comment

اول سؤال .. :

نعم لو خرج ودخل يمديه يرجع ياخذ الفلوس .. لانه الداتا لو اللاعب خرج من السيرفر فـ الداتا تروح

ثاني سؤال .. :

عادي ما في مشكلة هذا مجرد تحقق يعني تتحقق ان الداتا موجودة .. عسا حطيت تحقق الداتا بغير سكربت هو تحقق لو الداتا موجودة وش دخل انه فوقها ولا تحتها ذذ

لو عندك اي اسئلة ثانية تفضل .

Link to comment
  • 3 weeks later...

شـرح رائع من شخص اروع

بس عندِيْ سُؤال فِي الكود الي تحَت

لفت نظري وذكرني بأكواد كثيره في الويكي

وش يعني

function getSerialData(serial,key)

ليش بين القوسين

serial,key

يعني اقدر احط اي شيء؟

Serial Data نعم في طريقة وجاهزة .. وهو فنكشن مجنون فيكـ
getSerialData(serial , key) 

function getSerialData(serial,key) 
 if ( key and type(serial) == "string") then 
  value = getElementData(root,serial.."&"..key) 
 end 
 return value 
end 

او انها

serial,key

قيم حقيقيه موجوده في الويكي ؟

Link to comment
زاحف كيف اشيل منه

الداتا؟؟

يعني لو لمس الماركر يعطيه

داتا اسمها Test

ولما يلمس ماركر ثاني

يشيل منه الداتا

هل استخدم

nil 

لا استخدم

removeElementData 

Link to comment

بإمكانك تغيير الداتا عبر تغيير القيمة اللي انت تريدها

مثال انت تبي القيمة اذا كانت true

لو خليتها false او nil

تعتبر كانك حذفتها من الحسااب ..

اهاااااا

شكراا

والله انك افدتني انت وشاويكي

الله يعطيك العافيةةة

:):)

EDIT###

طيب شوف انا سويت اذا كتب الامر يحفظله السكن في الحساب

لو كتب الامر giveskin

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

ولو كتب Disable

ما يحفظ سكن بعد الان الا لو كتب الامر الاول

كذا صح ولا لا ؟؟

---- لو كتب Enable يحفظله السكن بالحساب
addCommandHandler("Enable",
function()
 
local Accountme = getPlayerAccount(source)
        if  isGuestAccount(Accountme) then return end
        local Model =  getElementModel(source)
            setAccountData(Accountme, "Skin", Model)
                end )
               
----------- طبعا هنا لما يكتب الامر giveskin يرجعه للسكن القديم الي انحفظ
--------------------------------------------
addCommandHandler ("giveskin",
    function ()
    local s_data = getAccountData(Accountme, "Skin")
            if s_data then
                setElementModel (source, Model )
        end
    end )
------------ لو كتب Disable ما يحفظله السكن
addCommandHandler ("Disable",
    function ()
        setAccountData (Accountme, "Skin", false ) -- هنا نخلي الداتا الي فوق معطلة
           
    end )

واذا كان خطا وش الخطا

edit ##

كان في اند زاايدة وعدلتها

جربته لما اكتب الامر يطلعلي

بالديوق

WARNING: Command\server.lua:5: Bad argument @ 'getPlayerAccount' [Expected element at argument 1, got nil] 
[16:43:44] WARNING: Command\server.lua:6: Bad argument @ 'isGuestAccount' [Expected account at argument 1, got boolean] 
[16:43:44] WARNING: Command\server.lua:7: Bad argument @ 'getElementModel' [Expected element at argument 1, got nil] 
[16:43:44] WARNING: Command\server.lua:8: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[16:44:11] WARNING: Command\server.lua:15: Bad argument @ 'getAccountData' [Expected account at argument 1, got nil] 

edit ##

خلاص سويته شكرا لكم

Link to comment

شف تحقق من قيمة الدأتــأ بـ هذأ الشكــل .. :

if ( getElementData ( .... ) == true ) then 

يعني كودكـ بيتنفذ لو كانت قيمة الداتا ترو .

removeElementData يوم تجي تشيلها استخدم

او لو ما تبي تشيلها .. تغير قيمة الداتا .. بـ هذي الحالة لو غيرت القيمة الداتا ما بتنحذف تبقى موجودة لاكن قيمتها مختلفة

setElementData ( ..., "...", false or nil ) 

مهوب شرط فلس او نل اي قيمة مثلأ .. :

setElementData ( ..., "...", "ZA7F" ) 

وبالتحقق فوق تتحقق انها ترو يعني اي قيمة وبامكانكـ برضو تغير التحقق وتتحقق ممن اي قيمة ZA7F الحين قيمة الداتا صارت

مثال .. :

if ( getElementData ( .... ) == "ZA7F" ) then 

اتمـنى وصلت المعلومة .. واي استفسار تفضــل .

Link to comment
شف تحقق من قيمة الدأتــأ بـ هذأ الشكــل .. :

if ( getElementData ( .... ) == true ) then 

يعني كودكـ بيتنفذ لو كانت قيمة الداتا ترو .

removeElementData يوم تجي تشيلها استخدم

او لو ما تبي تشيلها .. تغير قيمة الداتا .. بـ هذي الحالة لو غيرت القيمة الداتا ما بتنحذف تبقى موجودة لاكن قيمتها مختلفة

setElementData ( ..., "...", false or nil ) 

مهوب شرط فلس او نل اي قيمة مثلأ .. :

setElementData ( ..., "...", "ZA7F" ) 

وبالتحقق فوق تتحقق انها ترو يعني اي قيمة وبامكانكـ برضو تغير التحقق وتتحقق ممن اي قيمة ZA7F الحين قيمة الداتا صارت

مثال .. :

if ( getElementData ( .... ) == "ZA7F" ) then 

اتمـنى وصلت المعلومة .. واي استفسار تفضــل .

طيب مثلا

لو انا حطيت يوم يركب السياره يحطله داتا

ويوم بنزل من السياره

استخدمت

removeElementData

لو ركبت مره ثانيه بالسياره هل رح يسوي لي داتا ولا لا لاني حذفتها ؟؟

السؤال الثاني

if ( getElementData ( .... ) == true ) then 

بعد كلمة if انت فتحت قوس

هل لازم افتح قوس ؟؟ يعني مايصير كذا

if getElementData(.....) == true then  

Link to comment

! شي طبيعي بترجع setElementData بالنسبة لحذف الداتا ما ادري وش تقصد ... بس اكيد الداتا بترجع لانه انت حذفتها فقط ولو سويت

بالنسبة للقوسين فـ هذا ماله دخل .. هذا شي بالبرمجة لو حطيت القوسين او لأ نفس الشي

Link to comment

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

إسف لو خرجت عن مسار الموضوع لكن ابي افهمك انا

مثل ها الكود

-- # Client Side ! 
local screenX, screenY = guiGetScreenSize ( ) 
local positionX, positionY = ( screenX - 390 ) / 2, ( screenY - 300 ) / 2 

بالنسبة لـ الارقام هذي انا حاطها لك كـ مثال للكود

لو تلاحظ انك لو شلت الاقواس من الكود راح تشوف الحساب يتخربط

يعني انت لو جربت شغلت المود بـ القوسين راح تشوف انه مزبوط

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

فـ بالنسبة للحسابات وهذي الشغلات إذا كان بـ شيئين او اكثر من شيء بتحسبها مع بعض لازم الاقواس

مثل

( screenX - ( screenX - 300 ) * 0.02 )

بالنسبة للارقام انا حاطها لك كـ مثال

اتمنى انك فهمت

Link to comment
  • 2 weeks later...
  • 4 months later...
  • 7 months later...

العفو .. اقصد انها تفيدكـ ف اشياء كثيرهـ .. والامثلة موجودة بالشرح

لكن بعطيكـ مثال مثلأ .. فالنفترض سويت لكـ ملتي قيم مود او اختيار القيم يعني فري روم ولا ديث ماتش وكذا

يوم يدخل الروم مثلا حق الديث ماتش

setElementData ( localPlayer, "PlayerRoom", "DeathMatch" ) 

ويوم تبي تعرف اللاعب باي روم ..

local gPlayerRoom = getElementData ( localPlayer, "PlayerRoom" ) 

وكثير اشياء ع حسب الشي اللي بتسويه انت .. هذا مثال فقط .

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