Jump to content

nxFairlywell

Members
  • Posts

    1,849
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by nxFairlywell

  1. exports إستخدم firstLuaFile : customFunction = function(...) -- فنكشن كمثال فقط ولايعمل إلا عند تتصل بالفنكشن -- code end -- طبعاً تقدر تستخدمه في نفس الملف وتقدر تستخدمه كإتصال من ملف ثاني عن طريق الإكسبورت -- تحت تحط الإضافة في ملف الميتا للملف الأول meta firstFile: <export function="customFunction" type="client"/> -- الإضافة للميتا secondResource : Lua client file : exports["nameOfFirstResource"]:customFunction(...) -- تتصل بالفنكشن بس تحقق بالأول ان المود الأول شغال
  2. how did you applied 4 textures on single object?
  3. أول شي انت مو حاط داتا للاعب في الكود اللي طرحته + ؟ aaxd ممكن تفهمني انت متى شغلت وظيفة
  4. أكيد فيها مشاكل لأن طريقة كتابة الشادر في ام تي اي تختلف عن بقية الشادرز الثانيه Scripting ما أدري صراحة , لكن أنصحك تحط موضوعك بالانجليزية في قسم وتسأل عن الشادر كيف تخليه يشتغل على ام تي اي
  5. أهااا فهمت عليك الحين يعني مشكلتك مع الدائره نفسها مو مع الكود المشكله اني ما اعرف للشادر وهو الشي الوحيد اللي معرقلني في اللعبه دور على كود شادر في المواقع وهذي كلمات دلاليه تساعدك في البحث HLSL, Shaders DirectX9 أدري صعب تفهمها بس مافيه شرح في الويكي للأسف وقليل تحصل ناس تفهم في الشادر
  6. ممكن تفهمني ايش التغيير اللي حصل في الكود هذا ^ الشادر اختلف عن الشادر الأول , الشادر هذا يحط دائره معبئة
  7. كيف ماتغير شي يعني انت مسويه من قبل ؟
  8. function dxDrawShaderCircle( x, y, width, height, color, angleStart, angleSweep, borderWidth ) height = height or width color = color or tocolor(255,255,255) borderWidth = borderWidth or 1e9 angleStart = angleStart or 0 angleSweep = angleSweep or 360 - angleStart if ( angleSweep < 360 ) then angleEnd = math.fmod( angleStart + angleSweep, 360 ) + 0 else angleStart = 0 angleEnd = 360 end x = x - width / 2 y = y - height / 2 if not circleShader then circleShader = dxCreateShader ( "circle.fx" ) end dxSetShaderValue ( circleShader, "sCircleWidthInPixel", width ); dxSetShaderValue ( circleShader, "sCircleHeightInPixel", height ); dxSetShaderValue ( circleShader, "sBorderWidthInPixel", borderWidth ); dxSetShaderValue ( circleShader, "sAngleStart", math.rad( angleStart ) - math.pi ); dxSetShaderValue ( circleShader, "sAngleEnd", math.rad( angleEnd ) - math.pi ); dxDrawImage( x, y, width, height, circleShader, 0, 0, 0, color ) end local sw,sh = guiGetScreenSize(); local x,y=sw/1.2,sh/1.1; local width,height=60,60; addEventHandler("onClientRender",root, function() dxDrawCircle(x,y,(width/2)-2,0,360,tocolor(33,33,33)) dxDrawText("Nitro",x-11.4,y-5.5,x+width,y+height); local vehicle = getPedOccupiedVehicle(localPlayer); if vehicle then circleCounter = (360 * (isVehicleHasNitro(vehicle) and getVehicleNitroLevel (vehicle) or 0)); if isVehicleHasNitro(vehicle) then dxDrawShaderCircle(x,y,width,height,tocolor(0,0,255),0,circleCounter,5); end end end ); function isVehicleHasNitro(vehicle) if vehicle and getElementType(vehicle)=="vehicle" then local upgrades = getVehicleUpgrades (vehicle) for _, upgrade in ipairs ( upgrades ) do if getVehicleUpgradeSlotName(upgrade) == "Nitro" then return upgrade; end end return false end return false end
  9. يب شادر أعرف السكربت ذا , راح تكون جودة الدائره شوي مو كويسه بس بضبطها واعطيك
  10. انت مسوي الدائره بالشادر
  11. function changeElementDataTableColumn(element,data,column,value) if element and isElement(element) then if data and type(data) == "string" then if column and tonumber(column) and value then if column>0 then local elementData = getElementData(element,data); if elementData and type(elementData) == "table" and #elementData>0 then local newData={}; local counter=0; while (counter<#elementData) do counter=counter+1; table.insert(newData,elementData[counter]); end newData[column]=value; setElementData(element,data,newData); return true else return false end else print("يجب أن يكون العمود المدخل أكبر من صفر"); return false end else print("خطأ في العمود أو القيمه"); return false end else print("Data : غير صحيحه"); return false end else print("لاعب أو عنصر خاطئ"); return false end return false end
  12. وبعدين بكل يسر وسهوله راح تفهم القريد لست Loop أول شيء إفهم الـ
  13. لوحة تسجيل الدخول تظهر لأنك مستخدم حدث "onClientResourceStart" إستخدم هذي الداله راح تفيدك , أنا ماجاتني مشكلتك من اول لأن كل موداتي انا مسويها isTransferBoxActive
  14. كيف يعني ما يدخل اللعبه , أصلا انت اللي مخليه يرسبن لأن فيه مودات مركبها تخلي اللاعب يرسبن قبل مايخلص التحميل عشان كذا دور عليها وعدلها
  15. أطلق واحد يرد في العالم
  16. انت تبي تضيف البرامترز على اي حدث
  17. ليس مايقبل وش يجيك في اللوق او الكونسل يوم تشغل السيرفر ؟
  18. إذا انت تبي ترسل الرساله لكل اللاعبين ليش حاطها بالكلينت SERVER : addEventHandler("onPlayerQuit", root, function (typ,reason,element) if (typ == "Kicked") then local this = source; outputChatBox(getPlayerName(this):gsub("#%x%x%x%x%x%x","").." has left the game ["..typ.." by "..getPlayerName(element):gsub("#%x%x%x%x%x%x","").."]",root); end end )
  19. الأرقمنتات تكون مرتبه في الأساس داخل الكود المصدر مثل : function printText(text) -- text = الأرقمنت print(text) end printText("test") Events أما برامترز الـ فتكون مرتبه بطريقة محدده داخل الوظيفه اللي يشغلها الحدث مثلا : addEventHandler("onClientGUIClick",root, function(button,state) -- button = "left" أو "right" -- state = "up" أو "down" end ) addEventHandler("onClientGUIClick",root, function(test1,test2) -- test1 = "left" أو "right" -- test2 = "up" أو "down" end ) addEventHandler("onClientGUIClick",root, function(more1,more2) -- more1 = "left" أو "right" -- more2 = "up" أو "down" end )
  20. لا محشوم انت ما اضحك عليك فقط اضحك على شرحي =D
  21. انت لما تسوي ترايقر لسيرفر تحتاج فقط الكلام اللي تبغى ترسله لكل اللاعبين وبعدين تسوي ترايقر من كلينت لسيرفر والترايقر ذا مهمته يشغل داله في الكلينت لكل اللاعبين اللي في الترايقر فالميمو هنا تكون بنفس المتغير اللي في الكلينت يوم تنفذ الترايقر في الكلينت لكل اللاعبين يعني مايحتاج تحط الميمو على طول حط المتغير حقها يوم تسوي ارسال اتمنى فهمت
×
×
  • Create New...