Jump to content

root , resourceRoot , etc.


Recommended Posts

السلام عليكم ورحمة الله وبركاته

عندي استفسار بسيط

متى استخدم الاشياء هذي

  
root 
resourceRoot 
source 
localPlayer 
client 
player 
etc. 

هل client هي player ?

وهل اقدر اغيرها

يعني احط اللي ابيه ؟

Link to comment
root --- مثل ال ElementRoot وهي اختصار ل getElementRoot تستخدمها في ال مثال ايفنت اول ما لاعب يدخل اول ما لاعب يخرج الخ 
source -----  تستعملها فقط لسيرفر  بدال ما تحط LocalPlayer اخترعو شيئ اسمه source 
localPlayer --- تستعملها في الكلينت مثال في ترايقر وقت ترسل ل سيرفر هذه نستعملها  انه للاعب 
client --- ملف كلينت 
player --- تستعملها لما تبي تعرف الاعب في الكود 
مثال 
function(player) 

Link to comment

مافهمت وضح اكثر ضض لاتشرح جنبها اشرح تحتها :(

+ شوف ذا اللي اقصده بكلاينت

addEvent("TEP",true) 
addEventHandler("TEP",root, function ( ) 
if ( getPlayerMoney(client) =< 1000 ) then 
-- أكمل 
takePlayerMoney(client,1000) 
else 
-- أكمل 
end 
 end) 

انا مو قصدي وين مكانها

قصدي متى استخدمهم ؟

Link to comment

root تستخدمها للربط بين الاشياء

Example for Client :

Button[1] = guiCreateButton ( ... ) 
Button[2] = guiCreateButton ( ... ) 
  
function Example ( ) 
    if source == Button[1] then 
        -- Code 
    elseif source == Button[2] then 
        -- Code 
    end 
end 
  
addEventHandler ( 'onClientGUIClick', root, Example ) 

resourceRoot تستخدمها للربط بحدث خاص بـ سكربت إو المود حقك

Example for Client :

Window[1] = guiCreateWindow ( ..... ) 
Window[2] = guiCreateWindow ( ..... ) 
  
function Example ( ) 
    guiSetVisible ( Window[1], true ) 
    guiSetVisible ( Window[2], false ) 
    outputChatBox ( 'Started Script Example Done.', 255, 255, 255, false ) 
end 
  
function Example1 ( ) 
    guiSetVisible ( Window[1], false ) 
    guiSetVisible ( Window[2], false ) 
    outputChatBox ( 'Stoped Script Example Done.', 255, 255, 255, false ) 
end 
  
addEventHandler ( 'onClientResourceStart', resourceRoot, Example ) 
addEventHandler ( 'onClientResourceStop', resourceRoot, Example1 ) 

etc تستخدمها لجلب حدث إو فنكشن للشيء معين

etc = 'player' !

Example for Server :

Examples Down :

addEventHandler ( 'onPlayerJoin', root, 
    function ( plr ) -- يجب وضعها 
        outputChatBox ( 'New Player His Join Done.', 255, 255, 255, true ) 
        giveWeapon ( plr, 5, 30 ) 
    end 
end 
  
addEventHandler ( 'onPlayerJoin', root, 
    function ( client ) -- يجب وضعها 
        outputChatBox ( 'New Player His Join Done.', 255, 255, 255, true ) 
        giveWeapon ( client, 5, 30 ) 
    end 
end 
  
addEventHandler ( 'onPlayerJoin', root, 
    function ( thePlayer ) -- يجب وضعها 
        outputChatBox ( 'New Player His Join Done.', 255, 255, 255, true ) 
        giveWeapon ( thePlayer, 5, 30 ) 
    end 
end 
  
addEventHandler ( 'onPlayerJoin', root, 
    function ( player ) -- يجب وضعها 
        outputChatBox ( 'New Player His Join Done.', 255, 255, 255, true ) 
        giveWeapon ( player, 5, 30 ) 
    end 
end 
  
addEventHandler ( 'onPlayerJoin', root, 
    function ( ) -- لاتضع بين القوسين source / ولا سوف يكون السورس مخفي 
        outputChatBox ( 'New Player His Join Done.', 255, 255, 255, true ) 
        giveWeapon ( source, 5, 30 ) 
    end 
end 

! إي شيء لم تفهم ضعه برد التالي

Link to comment
  
      
    root = getRootElement ( ) -- وهذا الفنكشن راح يجيب كل شيء من مودات, سيارات, لاعبين, شخصيات, .. إلخ 
    resourceRoot = getResourceRootElement ( ) -- وهذا الفنكشن راح يجيب كل شيء من مود محدد 
    source = -- هذا تابع للإيفنت راح اشرحه تحت 
    localPlayer = getLocalPlayer ( ) -- هذا الفنكشن يجيب لك اللاعب اللي شغال على المود / كلنت فقط 
    client = -- مو متأكد منها بس اتوقع نفس وظيفة اللي فوقها 
    player = -- ماظن لها فنكشن او تعريف محدد 
  
  

هذا لو تبي تختصر مثلاً تحذف كل السيارات من الماب تستخدمه root اولاً بخصوص الـ

for i, v in ipairs ( getElementsByType ( "vehicle", root ) do 
    destroyElement ( v )  
end 

وممكن تكون بهالشكل

for i, v in ipairs ( getElementsByType ( "vehicle" ) do 
    destroyElement ( v )  
end 

root لأنها إفتراضياً راح يعتبرها

--

resourceRoot ثانياً لو تبي تحذف سيارات من المود الحالي اللي بتحط فيه الكود, تستخدم

for i, v in ipairs ( getElementsByType ( "vehicle", resourceRoot ) do 
    destroyElement ( v )  
end 

او مود محدد من عندك تسوي كذا

for i, v in ipairs ( getElementsByType ( "vehicle", getResourceRootElement ( getResourceFromName ( "admin" ) ) do 
    destroyElement ( v )  
end 

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

--

source ثالثاً الـ ::

هو العنصر source ال

ولكل إيفنت عنصر خاص به

فـ مثلاً :

"onPlayerWasted"

source == player -- يعني ان العنصر هو اللاعب

"onResourceStart"

source == root -- يعني ان العنصر هو الروت

"onMarkerHit"

source == marker -- يعني ان العنصر هو الماركر اللي لمسته

؟؟ ( source ) كيف نعرف العنصر

تعرفه عن طريق صفحة الإيفنت بالويكي

بالخط الكبير source تشوف كلمة

وتحته التوضيح

ولو خذينا تطبيق على التريقر

addEventHandler ( "onPlayerJoin", root, 
    function ( ) 
        triggerClientEvent ( source, "SS", source ) 
    end 
) 

^ onPlayerJoin لأنه يدل على اللاعب بالنسبة للإيفنت source استخدمت

تطبيق آخر

addCommandHandler ( "tesst", 
    function ( player ) 
        triggerClientEvent ( player, "SS", player ) 
    end 
) 

هنا ؟؟ player ليش حطيت

مالها عنصر addCommandHandler لأن الـ

بدال العنصر ؟؟ player و على اي اساس حطيت

لأن في صفحة الويكي قال البارامترز للفنكشن , هي كالتالي

playerSource, commandName, arg1, arg2  

كان كتبت كلمة ثانية ؟؟ player طيب ليش كتبت

في البارامترز مايضر اي كلمة تكتبها , المود بيقراها بالترتيب , يعني اول شيء بلاير بعدين كوماند نيم

طيب شنو البارامتز ؟؟

البارامترز هي اللي بين الأقواس بعد الفنكشن

مثل :

function ( player, cmd ) 
    ---- 
end 

player, cmd هذول عبارة عن بارامترز

--

رابعاً في ملفات الكلنت مسوين لك فنكشن جاهز ومختصرينه بكلمة ,

تقدر من خلاله تعرف اللاعب اللي شغال على المود

localPlayer اللي هو

--

إن شاء الله واضح :(

Link to comment

resourceRoot 
root 
  

مثلاً حنا سوينا فنكشن وربطنآه بذآ الحدث

addEventHandler ("onClientResourceStart",root, 

لو حطينآ روت هنا فـ الفنكشن الي ربطته بالحدث راح يشتغل كل ما شغلت سكربت

اما اذا حطينآ

resourceRoot 

فـ الفنكشن الي ربطته بالحدث رآح يشتغل لمآ تشغل السكربت نفسه

Link to comment

-- هذي الاختصارات 
root = getRootElement (    ) 
resourceRoot = getResourceRootElement (    ) 
localPlayer = getLocalPlayer (    ) 
source = -- هذي معرفه داخل الايفنت كيف تعرف ؟ من صفحة الويكي طبعاً اتوقع بس الافنات الي لـ سيرفر سايد 
player = -- تحطها على حسب كودك احيانا كودك مايكون فيه عنصر معرف داخل الايفنت او اي شيء ثاني 
-- من عناد player مثال على 
addCommandHandler ( "Test", 
    function ( player ) 
        triggerClientEvent ( player, "Anything", player ) 
    end 
) 
-- player هنا حطينا بلاير عشان فنكشن الكوماند مافيه عنصر معرف فيه واذا بتقولي لازم هذي الكلمه ؟ لا اي كلمه عادي 

ميحتاج اشرح اتوقع واضحه والشباب ماقصروا :*

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