Mr.R Posted July 13, 2015 Posted July 13, 2015 isEventHandlerAdded function isEventHandlerAdded( sEventName, pElementAttachedTo, func ) if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo ) if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then for i, v in ipairs( aAttachedFunctions ) do if v == func then return true end end end end return false end هذا الفنكشن لقيته يستخدمه كثير ناس لكن فيه عرب ما يدرون عنه وهو مهم جدا ومهو موجود في https://wiki.multitheftauto.com/wiki/Useful_Functions حطيته هنا بـ رد بس عشان اللي يبيه ياخذه طيب قل فايدته الله لا يهينك ووش يسوي , م فهمت شيء : )
iMr.Dawix~# Posted July 13, 2015 Posted July 13, 2015 طيب قل فايدته الله لا يهينك ووش يسوي , م فهمت شيء : ) فائدته انه يتأكد اذا كان الحدث هذا مضاف او لا وتبيه اذا ضغط الزر يجي واذا راح مكان ثاني يروح منه dxDrawText مثلاً انت عندك اوقات تصير اخطاء او بق من اللاق ويروح يدخل مره ثانيه كل شوي بالدي بق يجي خطأ انه الأفنت اساساً موجود او تسوي زر تضغط مره يضيف ومره ثانيه يشيل الأفنت عشان يخفي التكست مره ويظهره مره
Jupi Posted July 13, 2015 Posted July 13, 2015 طيب قل فايدته الله لا يهينك ووش يسوي , م فهمت شيء : ) فائدته انه يتأكد اذا كان الحدث هذا مضاف او لا وتبيه اذا ضغط الزر يجي واذا راح مكان ثاني يروح منه dxDrawText مثلاً انت عندك اوقات تصير اخطاء او بق من اللاق ويروح يدخل مره ثانيه كل شوي بالدي بق يجي خطأ انه الأفنت اساساً موجود او تسوي زر تضغط مره يضيف ومره ثانيه يشيل الأفنت عشان يخفي التكست مره ويظهره مره سؤال بسييط انت من ويين جبت ذا الفنكشن
Mr.R Posted July 13, 2015 Posted July 13, 2015 isPlayerInThisGroups By : Mr.R وظيفة هذا الفنكشن يعلمك اذا الاعب في القروب الاسل الفلاني او لا , وتقدر تحط اكثر من قروب Without-101 صاحب فكرة الفنكشن وشكر خاص لـ ذا كيلر ساعدني Function : local GroupsTable = { { "Console" }, } isPlayerInThisGroups = function ( player, groups ) if ( getPlayerAccount ( player ) and not isGuestAccount ( getPlayerAccount ( player ) ) ) then if ( isObjectInACLGroup ( "user."..getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( groups ) ) ) then return true else return false end end end Example : addCommandHandler ( "IamAdmin?", function ( player ) for _,v in ipairs ( GroupsTable ) do if ( isPlayerInThisGroups ( player, v[1] ) ) then outputChatBox ( "Yes !", player, 255, 255, 255, true ) else outputChatBox ( "No !", player, 255, 255, 255, true ) end end end )
Simple. Posted July 14, 2015 Posted July 14, 2015 isPlayerInThisGroups By : Mr.R وظيفة هذا الفنكشن يعلمك اذا الاعب في القروب الاسل الفلاني او لا , وتقدر تحط اكثر من قروب Without-101 صاحب فكرة الفنكشن وشكر خاص لـ ذا كيلر ساعدني Function : local GroupsTable = { { "Console" }, } isPlayerInThisGroups = function ( player, groups ) if ( getPlayerAccount ( player ) and not isGuestAccount ( getPlayerAccount ( player ) ) ) then if ( isObjectInACLGroup ( "user."..getAccountName ( getPlayerAccount ( player ) ), aclGetGroup ( groups ) ) ) then return true else return false end end end Example : addCommandHandler ( "IamAdmin?", function ( player ) for _,v in ipairs ( GroupsTable ) do if ( isPlayerInThisGroups ( player, v[1] ) ) then outputChatBox ( "Yes !", player, 255, 255, 255, true ) else outputChatBox ( "No !", player, 255, 255, 255, true ) end end end ) ماشوف فيه فايده من الفنكشن صراحه لو انك مسويه يتحقق بالكلنت يكون افضل وله فايده كبيره
iMr.Dawix~# Posted July 14, 2015 Posted July 14, 2015 سؤال بسييط انت من ويين جبت ذا الفنكشن لا تحط ردود كثير مالها داعي هذا موضوع للفنكشنات لازم تغيرون مسار المواضيع انتوا >< .. الفنكشن لقيت اجانب يستخدمونه وقلت اخذه من عندهم واحطه لكم هنا
EXTRA_) Posted July 31, 2015 Posted July 31, 2015 (edited) بسم الله الرحمن الرحيم Events: onPlayerDownload and onPlayerFinishedDownload and onClientPlayerFinishedDownload Code: Server: stats = {} addEventHandler("onPlayerJoin",root, function() stats[source] = true if stats[source] ~= true then return end triggerEvent("onPlayerDownload",source) end ) addEvent("onPlayerFinishedDownload",true) addEventHandler("onPlayerFinishedDownload",root, function() stats[source] = false end ) addEventHandler("onPlayerQuit",root, function() stats[source] = false end ) Client: started = true addEventHandler("onClientResourceStart",root, function() if started ~= true then return end triggerServerEvent("onPlayerFinishedDownload",localPlayer) triggerEvent("onClientPlayerFinishedDownload",localPlayer) started = false end ) Example: Server: addEvent("onPlayerDownload",true) addEventHandler("onPlayerDownload",root, function() outputChatBox("Download = true.",source,0,255,0) end ) addEvent("onPlayerFinishedDownload",true) addEventHandler("onPlayerFinishedDownload",root, function() outputChatBox("Download = false.",source,0,255,0) end ) Client: addEvent("onClientPlayerFinishedDownload",true) addEventHandler("onClientPlayerFinishedDownload",root, function() outputChatBox("Download = false.",0,255,0) end ) Author: EXTRA Edited July 31, 2015 by Guest
justboy Posted July 31, 2015 Posted July 31, 2015 طيب في السيرفر لما المود يشتغل ؟ لنفترض سيرفر ريس والمابات كل شوي تحمل لكود بيرجع يشتغل ؟
#DRAGON!FIRE Posted July 31, 2015 Posted July 31, 2015 تقصد بمعنى ماهو واضح او وش بالضبط انت مسوي يوم يشتغل السكربت مو بالضروري يوم يشتغل يعني التحميل انتهى هذا اولا وليه كل هذا انت مطولها للسالفة وهي ما تحتاج الا كم شي .
EXTRA_) Posted August 1, 2015 Posted August 1, 2015 طيب في السيرفر لما المود يشتغل ؟ لنفترض سيرفر ريس والمابات كل شوي تحمل لكود بيرجع يشتغل ؟ لا ماراح يرجع يشتغل لاني مسويه عند دخول اللاعب وليس عندما يشتغل المود تقصد بمعنى ماهو واضح او وش بالضبط انت مسوي يوم يشتغل السكربت مو بالضروري يوم يشتغل يعني التحميل انتهى هذا اولا وليه كل هذا انت مطولها للسالفة وهي ما تحتاج الا كم شي . ماجت في بالي فكرة غير اذا اشتغل السكربت خلص التحميل ولاكن اذا عندك فكرة غيرها افضل واحسن تقدر تطرحها
#Wizard Posted August 8, 2015 Posted August 8, 2015 (edited) اسم الفانشكن / / getPlayerFromAccountName الفائدة / / يقوم بجلب اللاعب من اسم حسابه نواتج-يقوم بأرجاع/ / اللاعب الي ملك اسم الحساب المحدد الارقمنت / / سترينق - اسم الحساب الكود / / function getPlayerFromAccountName(n) for i,v in ipairs(getElementsByType("player")) do local ac = getPlayerAccount(v) local acn = getAccountName(ac) if (acn == n) then return v end end return false end الحقوق / / من صنعي مثال / / addCommandHandler("acc-serial",function(p, command, acc) -- اضافة امر if (getPlayerFromAccountName(acc)) then -- نتأكد اذا يوجد لاعب يملك الحساب outputChatBox( getPlayerSerial (getPlayerFromAccountName(acc)) ,p) -- يكتب له السريال else-- اذا مايملك الحساب outputChatBox("يرجى التحقق من أسم الحساب",p,255,0,0) -- يظهر ان اسم الحساب غلط end -- نهاية التحقق end -- اغلاق الامر ) سيرفر سايد ! Edited August 10, 2015 by Guest
TAPL Posted August 8, 2015 Posted August 8, 2015 ^ ما جبت شي جديد، موجود فنكشن يجيب اللاعب من الحساب getAccountPlayer
#Wizard Posted August 8, 2015 Posted August 8, 2015 بس انا سويته من اسم الحساب على طول , واسهل من getAccountPlayer
TAPL Posted August 8, 2015 Posted August 8, 2015 ما اضن اللوب و الخبصه الي مسويها حتى المتغيرات مو حاطها لوكل رح تكون افضل من الفنكشين ذول getAccount getAccountPlayer
#Wizard Posted August 8, 2015 Posted August 8, 2015 اول شيء معليش على خطأ اللوكل، اظن اللوب والخبصة الي تقول عليها اسهل من getAccount+getPlayerAccount ثاني شيء الموضوع useful يعني اشياء مساعدة ^ افضل من getAccount و getPlayerAccount ماشوف اي خطأ بـ الكود حقي وجربته !
3NAD Posted August 9, 2015 Posted August 9, 2015 function getPlayerFromAccountName(n) for i,v in ipairs(getElementsByType("player")) do local ac = getPlayerAccount(v) local acn = getAccountName(ac) if (acn == n) then return v else return false end end end عمل جميل, ولكن عندي ملاحظة أتوقع ان الفنكشن ح يوقف من اول مرة ليه ؟ لو عندك 3 لاعبين else اللاعب الأول اسم حسابه ماتحقق مع الشرط بينتقل ل return false و انت حاط فيها
The Killer Posted August 9, 2015 Posted August 9, 2015 اول شيء معليش على خطأ اللوكل، اظن اللوب والخبصة الي تقول عليها اسهل من getAccount+getPlayerAccountثاني شيء الموضوع useful يعني اشياء مساعدة ^ افضل من getAccount و getPlayerAccount ماشوف اي خطأ بـ الكود حقي وجربته ! مفيد في حالة انه شغال تمام ومافيه اخطاء لاكن في حالتك انت اتفق مع : عمل جميل, ولكن عندي ملاحظة أتوقع ان الفنكشن ح يوقف من اول مرة ليه ؟ لو عندك 3 لاعبين else اللاعب الأول اسم حسابه ماتحقق مع الشرط بينتقل ل + ما اضن اللوب و الخبصه الي مسويها حتى المتغيرات مو حاطها لوكل رح تكون افضل من الفنكشين ذول getAccount getAccountPlayer
#Wizard Posted August 10, 2015 Posted August 10, 2015 function getPlayerFromAccountName(n) for i,v in ipairs(getElementsByType("player")) do local ac = getPlayerAccount(v) local acn = getAccountName(ac) if (acn == n) then return v end end return false end عمل جميل, ولكن عندي ملاحظة أتوقع ان الفنكشن ح يوقف من اول مرة ليه ؟ لو عندك 3 لاعبين else اللاعب الأول اسم حسابه ماتحقق مع الشرط بينتقل ل return false و انت حاط فيها تم أصلاح المشكلة ! وشكراً لعناد !
</Mr.Tn6eL> Posted August 10, 2015 Posted August 10, 2015 removeAllOccupantsInVehicle Syntax : bool removeAllOccupantsInVehicle(vehicle theVehicle) Required Arguments : theVehicle : The vehicle you want to remove the occupants Returns : Returns true if the vehicle was removed all occupants, false if invalid arguments were passed to the function. Code : function removeAllOccupantsInVehicle(vehicle) if isElement(vehicle) and getElementType(vehicle) == "vehicle" then for k,v in pairs(getVehicleOccupants(vehicle)) do if isElement(v) then return removePedFromVehicle(v) end end end return false end Example : addCommandHandler("removeAllOccupantsInVehicle", function(plr) local vehicle = getPedOccupiedVehicle(plr) if vehicle and getVehicleController(vehicle) == plr then removeAllOccupantsInVehicle(vehicle) end end)
EXTRA_) Posted August 14, 2015 Posted August 14, 2015 getColorsByRandom وظيفة تقوم بالحصول على الوان عشوائيه بشكل مميز لشتغيل الوظيفة بشكل مستمر onClientRender تحتاج الوظيفة الى حدث Syntax: int, int, int getColorsByRandom ( ) Code: started = true addEventHandler("onClientResourceStart",root, function() if started == true then start = getTickCount() addEventHandler("onClientRender",root,red) end started = nil end ) function getColorsByRandom() return r,g,b end function red() now = getTickCount() endTime = start + 2000 elapsedTime = now - start duration = endTime - start progress = elapsedTime / duration r,g,b = interpolateBetween(255,0,0,0,255,0,progress,"Linear") r,g,b = r,g,b if now > endTime then removeEventHandler("onClientRender",root,red) start = getTickCount() endTime = start + 2000 addEventHandler("onClientRender",root,green) end end function green() now = getTickCount() endTime = start + 2000 elapsedTime = now - start duration = endTime - start progress = elapsedTime / duration r,g,b = interpolateBetween(0,255,0,0,0,255,progress,"Linear") r,g,b = r,g,b if now > endTime then removeEventHandler("onClientRender",root,green) start = getTickCount() endTime = start + 2000 addEventHandler("onClientRender",root,blue) end end function blue() now = getTickCount() endTime = start + 2000 elapsedTime = now - start duration = endTime - start progress = elapsedTime / duration r,g,b = interpolateBetween(0,0,255,255,0,0,progress,"Linear") r,g,b = r,g,b if now > endTime then removeEventHandler("onClientRender",root,blue) start = getTickCount() endTime = start + 2000 addEventHandler("onClientRender",root,red) end end Example: addEventHandler("onClientRender",root, function() r,g,b = getColorsByRandom() dxDrawText("Hello Word!",500,500,0,0,tocolor(r,g,b,255),1,"default-bold","center","center") end ) Author: EXTRA
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