Jump to content

nxFairlywell

Members
  • Posts

    1,849
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by nxFairlywell

  1. انت مسوي ترايقر لسيرفر في السطر 6 عشان ايش ؟ ما اتوقع انك تحتاج ترايقر و احتمال يسبب لاق كل اللي تحتاجه زي كذا : function render_function() local vehicle = getPedOccupiedVehicle(localPlayer); local model = getElementModel(vehicle) if vehicle then if model == 520 then -- كود الدي اكس end end end addEventHandler('onClientRender', getRootElement(), render_function)
  2. الرجاء من المشرفين إغلاق الموضوع *
  3. صراحة مافهمت شي هههههه عندك خبرة في السي بلس بلس ؟
  4. أولاً لازم تعرف ان السكربت عبارة عن ( مساعد ) لك كمبرمج وهو يتيح لك تصميم الرسومات ولكن تذكر دائماً انك مستحيل تسوي مود عن طريق السكربت لأنه هو مصمم للواجهات و ليس للبرمجة اول شي لازم تسوي التصميم حقك في المود بعد ما تخلص وكل شي راح تدور مكان فارغ بالشاشة يعني ماسويت فيه شي و تضغط كلك يمين في المساحة الفارغة و تختار كلمة Output بعدها راح يعرض لك الكود انسخه كاملاً و حطه في برنامج تحرير النصوص اللي تستخدمه للبرمجه مثل نوت باد ++ أو اي برنامج اخر بعدين تبدأ في برمجة المود الخاص فيك
  5. طيب استخدم createObject getElementHealth attachElements "onPlayerDamage" destroyElement detachElements isElementAttached
  6. onClientVehicleDamage تقدر عن طريق إستخدام الحدث اللي فوق ^ بهذه الطريقة عند وقوع الحدث ( عند تدميج المركبة ) راح يعطيك 7 بارامترز اللي يهمك البرامتر السابع اللي هو الأخير function test( _,_,_,_,_,_,tireID ) يقول شرح البرامتر من الويكي : tireID: A number representing the tire which took damage, if there is one. البرامتر راح يعطيك رقم التاير اللي تدمج . فأتوقع هذا المقصد من موضوعك .. تقدر تستخدم الشرط عشان اول ما يتدمج التاير تسوي الشي اللي تبيه . مثلا كذا : function test( _,_,_,_,_,_,tireID ) for i = 1, 4 do if tireID == i then destroyElement( source ); end end end
  7. 64 GB مبروك وعقبال ماتجيب رامات Intel core i9 و معالج GeForce GTX 1080 ti و كرت شاشة بالنسبة لفورتنايت اتوقع راح تلعب على اعدادات Medium - low GeForce GTX 1050 ti لأن كرت الشاشة حقي حالياً و الرامات 8 قيقا و المعالج اي ام دي 7 1700 و العب على اعدادات High و يعطيني فريمات ما بين 60 إلى 117 فريم فأتوقع لو لعبت على الميديَم أو اللو راح تجيك فريمات من 30 - 50 فريم بناءًا على المواصفات اللي ذكرتها
  8. elementVest = {} function getArmour(hitPlayer) if isElement(hitPlayer) then local player = hitPlayer local armour = getPedArmor(player) if armour > 0 then x,y,z = getElementPosition(player) if not isElement(elementVest[player]) then exports.bone_attach:detachElementFromBone(elementVest[player]) elementVest[player] = false end elementVest[player] = createObject(1242,x,y,z) exports.bone_attach:attachElementToBone(elementVest[player],player,3,0,0.04,0.08,0,0,180) else if elementVest[player] and isElement(elementVest[player]) then exports.bone_attach:detachElementFromBone(elementVest[player]) destroyElement(elementVest[player])  elementVest[player] = false end end end end setTimer(getArmour, 1000, 1, localPlayer)
  9. سوي كذا addEventHandler("onClientResourceStart",resourceRoot,test)
  10. انت كذا سويت وظيفة function test (thePlayer) if isPedOnGround(thePlayer) then outputChatBox("yes") else outputChatBox("no") end end متى تشتغل هذي الوظيفة ؟ على حسب اللي تريده انت
  11. الجدول راح يكون فارغ بعد اعادة تشغيل السكربت ^
  12. يمكن يقصد المسافات انا استخدم المحرر نوت باد بلس بلس و احب انظم اكوادي عشان الاقي الاخطاء بسهولة هذا كل ما في الامر
  13. أي تعقيد ؟ لول اصلا ما استخدمت الا ملفين كلينت وسيرفر , عجيب !
  14. سويت زي اللي طلبت بشكل مبسط ======================================== نصيحة ما راح تحتاج تعدل في ملف الكلينت , إذا تبي تعدل اللوحة او الرسومات ممكن كل التعديلات اللي تحتاجها من تعديل على الجائزة الحالية أو إضافة جوائز أو حفظ الداتا للقاعدة البيانات كلها في السيرفر إسم الداتا الخاصة بالبكجات إذا تبغى تحفظ البكجات "packages" ترجع لك جدول داخله 3 متغيرات كما في الاسفل بالضبط {wooden=value,silver=value,gold=value} إستخدم لحفظ الداتا بحساب اللاعب لما يطلع من السيرفر : setAccountData -- لحفظ الداتا في الحساب executeSQLQuery -- لحفظ الداتا في قاعدة البيانات Client Side : admins = 'سريالك هنا' GUIEditor = { gridlist = {}, window = {}, button = {}, label = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.window[1] = guiCreateWindow(0.35, 0.35, 0.32, 0.42, "Packages", true) guiWindowSetMovable(GUIEditor.window[1], false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetAlpha(GUIEditor.window[1], 1.00) guiSetProperty(GUIEditor.window[1], "CaptionColour", "FF059140") guiSetVisible(GUIEditor.window[1], false) GUIEditor.label[1] = guiCreateLabel(0.01, 0.82, 0.36, 0.06, "Wooden package : 0", true, GUIEditor.window[1]) guiLabelSetColor(GUIEditor.label[1], 195, 91, 59) GUIEditor.label[2] = guiCreateLabel(0.01, 0.88, 0.36, 0.06, "Silver package : 0", true, GUIEditor.window[1]) guiLabelSetColor(GUIEditor.label[2], 154, 158, 156) GUIEditor.label[3] = guiCreateLabel(0.01, 0.93, 0.36, 0.06, "Golden package : 0", true, GUIEditor.window[1]) guiLabelSetColor(GUIEditor.label[3], 250, 200, 79) GUIEditor.gridlist[1] = guiCreateGridList(0.01, 0.05, 0.58, 0.75, true, GUIEditor.window[1]) guiGridListAddColumn(GUIEditor.gridlist[1], "Package", 0.9) GUIEditor.button[1] = guiCreateButton(0.61, 0.30, 0.38, 0.08, "توزيع البكجات | للأدمنية فقط", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFF5AB53") guiSetEnabled(GUIEditor.button[1], false) GUIEditor.label[4] = guiCreateLabel(0.66, 0.91, 0.31, 0.06, "Created by NX_CI & Ad[N]a[N]e", true, GUIEditor.window[1]) guiLabelSetColor(GUIEditor.label[4], 17, 48, 138) GUIEditor.button[2] = guiCreateButton(0.61, 0.18, 0.38, 0.08, "فتح البكج", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FF199A00") GUIEditor.button[3] = guiCreateButton(0.61, 0.70, 0.38, 0.08, "إغلاق", true, GUIEditor.window[1]) guiSetFont(GUIEditor.button[3], "default-bold-small") guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FF990000") --لوحة التوزيع GUIEditor.window[2] = guiCreateWindow(0.68, 0.41, 0.17, 0.33, "التوزيع", true) guiWindowSetMovable(GUIEditor.window[2], false) guiWindowSetSizable(GUIEditor.window[2], false) guiSetProperty(GUIEditor.window[2], "CaptionColour", "FF2BC901") guiSetVisible(GUIEditor.window[2], false) GUIEditor.gridlist[2] = guiCreateGridList(109, 24, 202, 315, false, GUIEditor.window[2]) guiGridListAddColumn(GUIEditor.gridlist[2], "اللاعبون", 0.9) GUIEditor.button[5] = guiCreateButton(9, 178, 90, 27, "Silver توزيع بكج", false, GUIEditor.window[2]) guiSetProperty(GUIEditor.button[5], "NormalTextColour", "FFD7D2D4") GUIEditor.button[6] = guiCreateButton(9, 211, 90, 27, "Gold توزيع بكج", false, GUIEditor.window[2]) guiSetProperty(GUIEditor.button[6], "NormalTextColour", "FFFFD647") GUIEditor.button[7] = guiCreateButton(9, 145, 94, 27, "Wooden توزيع بكج", false, GUIEditor.window[2]) guiSetProperty(GUIEditor.button[7], "NormalTextColour", "FFF76D11") GUIEditor.button[8] = guiCreateButton(12, 301, 29, 33, "X", false, GUIEditor.window[2]) guiSetProperty(GUIEditor.button[8], "NormalTextColour", "FFCB0000") end ) windowVisible=function() if guiGetVisible(GUIEditor.window[1]) then guiSetVisible( GUIEditor.window[1], false ) showCursor( false ) guiSetEnabled(GUIEditor.button[1], false) if timer and isTimer(timer) then killTimer(timer) end else guiSetVisible( GUIEditor.window[1], true ) showCursor( true ) guiGridListClear(GUIEditor.gridlist[1]) refreshPackageGridList() if getPlayerSerial(localPlayer) == admins then guiSetEnabled(GUIEditor.button[1], true) end timer = setTimer( function() setLabelPackagesCount() refreshPackageGridList() end, 5000, 0) end if guiGetVisible(GUIEditor.window[2]) then guiSetVisible(GUIEditor.window[2], false); guiGridListClear(GUIEditor.gridlist[2]) end end bindKey('F7', 'down', windowVisible) function setLabelPackagesCount() local count = getElementData(localPlayer,'packages') if count then guiSetText(GUIEditor.label[1],"Wooden package : "..tostring(count.wooden)) guiSetText(GUIEditor.label[2],"Silver package : "..tostring(count.silver)) guiSetText(GUIEditor.label[3],"Golden package : "..tostring(count.gold)) end end function getPlayerPackages( player ) if isElement(player) then if getElementType(player) == 'player' then local playerPacks = getElementData( player, 'packages') if playerPacks and type(playerPacks)=='table' then for k, v in ipairs (playerPacks) do return v end else return false end else return nil end else return nil end end function refreshPackageGridList() local clear=guiGridListClear(GUIEditor.gridlist[1]) if clear then local packs = getElementData(localPlayer, 'packages') if packs then if packs.wooden >= 1 or packs.silver >= 1 or packs.gold >= 1 then if packs then for i = 1, packs.wooden do local row = guiGridListAddRow ( GUIEditor.gridlist[1], i ) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, 'Wooden', false, false ) guiGridListSetItemColor ( GUIEditor.gridlist[1], row, 1, 232, 108, 0 ) end for i = 1, packs.silver do local row = guiGridListAddRow ( GUIEditor.gridlist[1], i ) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, 'Silver', false, false ) guiGridListSetItemColor ( GUIEditor.gridlist[1], row, 1, 155, 155, 155 ) end for i = 1, packs.gold do local row = guiGridListAddRow ( GUIEditor.gridlist[1], i ) guiGridListSetItemText ( GUIEditor.gridlist[1], row, 1, 'Gold', false, false ) guiGridListSetItemColor ( GUIEditor.gridlist[1], row, 1, 238, 238, 123 ) end end end end end end addEventHandler("onClientGUIClick", root, function() if source == GUIEditor.button[1] then local status=guiGetVisible(GUIEditor.window[2]); guiSetVisible(GUIEditor.window[2],not status); local clear = guiGridListClear(GUIEditor.gridlist[2]); if clear then guiGridListAddPlayers(); end elseif source == GUIEditor.button[8] then guiSetVisible(GUIEditor.window[2],false) guiGridListClear(GUIEditor.gridlist[2]) elseif source == GUIEditor.button[7] then row , col = guiGridListGetSelectedItem ( GUIEditor.gridlist[2] ) if row >= 0 then local playerName = guiGridListGetItemData(GUIEditor.gridlist[2], row, 1) if playerName and playerName ~= nil then local player = getPlayerFromName(playerName); triggerServerEvent( 'wooden_gives', localPlayer, player ) end else return outputChatBox('الرجاء تحديد اللاعب من القائمة', 255, 0 , 0) end elseif source == GUIEditor.button[5] then row , col = guiGridListGetSelectedItem ( GUIEditor.gridlist[2] ) if row >= 0 then local playerName = guiGridListGetItemData(GUIEditor.gridlist[2], row, 1) if playerName and playerName ~= nil then local player = getPlayerFromName(playerName); triggerServerEvent( 'silver_gives', localPlayer, player ) end else return outputChatBox('الرجاء تحديد اللاعب من القائمة', 255, 0 , 0) end elseif source == GUIEditor.button[6] then row , col = guiGridListGetSelectedItem ( GUIEditor.gridlist[2] ) if row >= 0 then local playerName = guiGridListGetItemData(GUIEditor.gridlist[2], row, 1) if playerName and playerName ~= nil then local player = getPlayerFromName(playerName); triggerServerEvent( 'gold_gives', localPlayer, player ) end else return outputChatBox('الرجاء تحديد اللاعب من القائمة', 255, 0 , 0) end elseif source == GUIEditor.button[3] then windowVisible() elseif source == GUIEditor.button[2] then guiSetEnabled(GUIEditor.button[2],false) setTimer(guiSetEnabled, 5000, 1, GUIEditor.button[2],true) local row, col = guiGridListGetSelectedItem(GUIEditor.gridlist[1]); if row >= 0 then local package = guiGridListGetItemText( GUIEditor.gridlist[1], row, 1 ); if package then if package == "Wooden" or package == "Silver" or package == "Gold" then triggerServerEvent("givePlayerGift", localPlayer, package); end end else return outputChatBox("الرجاء إختيار البكج *", 255,0,0); end end end ) function guiGridListAddPlayers() for k, v in ipairs (getElementsByType("player"))do local names = getPlayerName(v) local row = guiGridListAddRow( GUIEditor.gridlist[2] ) local text = guiGridListSetItemText( GUIEditor.gridlist[2], row, 1, string.gsub(names,'#%x%x%x%x%x%x',''), false, false ) local data = guiGridListSetItemData(GUIEditor.gridlist[2], row, 1, names) guiGridListSetItemColor(GUIEditor.gridlist[2], row, 1, 255,255,0) end end Server side : local packs_kills = { ['Wooden']=30, ['Silver']=40, ['Gold']=50, } for k, v in ipairs ( getElementsByType('player') ) do removeElementData(v,"packages") end function calcKill( _, killer ) local data = getElementData( killer , 'kills' ); if data and type(data) == "number" and data ~= 0 then if data ~= packs_kills['Gold'] and data ~= packs_kills['Silver'] and data ~= packs_kills['Wooden'] then setElementData( killer, 'kills', data+1 ) elseif data == packs_kills['Wooden'] then setElementData( killer, 'kills', data+1 ) givePlayerPackage( killer, 'Wooden' ) elseif data == packs_kills['Silver'] then setElementData( killer, 'kills', data+1 ) givePlayerPackage( killer, 'Silver' ) elseif data == packs_kills['Gold'] then setElementData( killer, 'kills', 1 ) givePlayerPackage( killer, 'Gold' ) end else setElementData( killer, 'kills', 1 ) end end addEventHandler('onPlayerWasted', root, calcKill) function givePlayerPackage( player , package ) if player and package then if isElement( player ) then if type( package ) == 'string' then if package == 'Wooden' or package == 'Silver' or package == 'Gold' then local packs = getElementData( player, 'packages' ) if type(packs) == 'table' then local Wooden=packs.wooden local Silver=packs.silver local Gold=packs.gold if Wooden and Silver and Gold then if package == 'Wooden' then setElementData(player,'packages',{wooden=Wooden+1, silver=Silver, gold=Gold}) outputChatBox("You got a Wooden package",player) elseif package == 'Silver' then setElementData(player,'packages',{wooden=Wooden, silver=Silver+1, gold=Gold}) outputChatBox("You got a Silver package",player) elseif package == 'Gold' then setElementData(player,'packages',{wooden=Wooden, silver=Silver, gold=Gold+1}) outputChatBox("You got a Golden package",player) end end else if package == 'Wooden' then setElementData(player,'packages',{wooden=1, silver=0, gold=0}) outputChatBox("You got a Wooden package",player) elseif package == 'Silver' then setElementData(player,'packages',{wooden=0, silver=1, gold=0}) outputChatBox("You got a Silver package",player) elseif package == 'Gold' then setElementData(player,'packages',{wooden=0, silver=0, gold=1}) outputChatBox("You got a Golden package",player) end end end end end end end function takePlayerPackage( player, package ) if player and package then if isElement( player ) then if type( package ) == 'string' then if package == 'Wooden' or package == 'Silver' or package == 'Gold' then local packs = getElementData( player, 'packages' ) if type(packs) == 'table' then local Wooden=packs.wooden local Silver=packs.silver local Gold=packs.gold if Wooden and Silver and Gold then if package == 'Wooden' then if Wooden > 0 then setElementData(player,'packages',{wooden=Wooden-1, silver=Silver, gold=Gold}) outputChatBox("You have lost a Wooden package",player) end elseif package == 'Silver' then if Silver > 0 then setElementData(player,'packages',{wooden=Wooden, silver=Silver-1, gold=Gold}) outputChatBox("You have lost a Silver package",player) end elseif package == 'Gold' then if Gold > 0 then setElementData(player,'packages',{wooden=Wooden, silver=Silver, gold=Gold-1}) outputChatBox("You have lost a Golden package",player) end end end else if package == 'Wooden' then setElementData(player,'packages',{wooden=0, silver=0, gold=0}) outputChatBox("You have lost a Wooden package",player) elseif package == 'Silver' then setElementData(player,'packages',{wooden=0, silver=0, gold=0}) outputChatBox("You have lost a Silver package",player) elseif package == 'Gold' then setElementData(player,'packages',{wooden=0, silver=0, gold=0}) outputChatBox("You have lost a Golden package",player) end end end end end end end function wooden_gives( player ) givePlayerPackage( player, 'Wooden' ) end addEvent("wooden_gives",true) addEventHandler("wooden_gives", root, wooden_gives) function silver_gives( player ) givePlayerPackage( player, 'Silver' ) end addEvent("silver_gives",true) addEventHandler("silver_gives", root, silver_gives) function gold_gives( player ) givePlayerPackage( player, 'Gold' ) end addEvent("gold_gives",true) addEventHandler("gold_gives", root, gold_gives) function givePlayerGift( package ) if package == "Wooden" then takePlayerPackage( source, package ) randomMoney=math.random(1000, 5000) givePlayerMoney( source, randomMoney ); -- جائزة بكج ودن outputChatBox("Open package has been succesfully and you won : $"..tostring(randomMoney), source, 204,102,0) elseif package == "Silver" then takePlayerPackage( source, package ); randomMoney=math.random(5000, 10000) givePlayerMoney( source, randomMoney ); -- جائزة بكج السلفر outputChatBox("Open package has been succesfully and you won : $"..tostring(randomMoney), source, 155,155,155) elseif package == "Gold" then takePlayerPackage( source, package ); randomMoney=math.random(10000, 30000) givePlayerMoney( source, randomMoney ); -- جائزة بكج القولد outputChatBox("Open Golden package has been succesfully and you won : $"..tostring(randomMoney), source, 255,255,0) end end addEvent("givePlayerGift",true) addEventHandler("givePlayerGift", root, givePlayerGift) * أي أخطاء تواجهك لا تتردد و حطها هنا و ورينا إيش يعطيك الدي بق بالتوفيق لك : )
  15. المشكلة ان صاحب الموضوع مش محدد ايش الجوائز بالضبط انا سويت له السكربت وكلمته عن الجوائز ايش هيا يعني البكجات ايش تطلع لك ما رد علي
  16. اخوي عدناني سبق و قلت لك في الموضوع السابق حط اللوحة حقتك هنا بدون اي تعديلات يعني سويها بالجوي ايديتور و انسخ كود اللوحة و حطه هنا و أبشر راح اسويه لك , الكود اللي انت مسويه كله متلخبط وصعب اعدل عليه , هات اللوحة فقط
  17. لول هذا ليس جيداً على الإطلاق يا صديقي هناك العديد من الاخطاء .. عطني اللوحة في الخاص و أنا أسويلك السكربت كامل بس فهمني ايش اللي تحتاجه بالضبط في المود و وظيفته وفي أي قيم مود راح تستخدمه
  18. لا ؟ يمكن اعرفهم بس ناسيهم
  19. أنا أقصد اخونا في الله ليش ما يسويه و نساعده , هذا كل مافي الأمر وبالمناسبة ترا عادي تسوي اي سكربت و اي فكرة تجيك حتى لو كان فيه سيرفر ثاني مسويها ما يضر أهم شي ما تسرقه : ) واللي يقول غير كذا اسحب عليه وسوي السكربت
  20. ليش ما تحاول تسويه انت ؟ وبالنسبة للحقوق . إذا كان السكربت نفسه فهذا يعتبر انتهاك لحقوق الآخرين ولكن إذا كان بنفس الفكرة لا يضر لأن الفكرة أصلاً مأخوذه من العاب ثانية : )
  21. بالضبط يقدر يستخدم هذي و إذا حب يتفلسف و يطولها يستخدم كودي : )
  22. --[[ من السطر 78 إلى السطر 88 إستبدلهم بهذا الكود ]] -- if fX > 0 and sX < 0 then x, y = fX-sX, y end if sX > 0 and fX < 0 then x, y = sX-fX, y end
  23. function getDifferencePosition( player1, player2 ) if player1 and player2 then if isElement(player1) and isElement(player2) then if ( getElementType(player1) == "player" or getElementType(player1) == "ped" ) and ( getElementType(player2) == "player" or getElementType(player2) == "ped" ) then local def = { }; fX, fY, fZ = getElementPosition(player1) sX, sY, sZ = getElementPosition(player2) if fX < 0 and sX < 0 then if sX > fX then x,y = sX-fX,fY end if fX > sX then x, y = fX-sX,y end end if fY < 0 and sY < 0 then if sY > fY then x, y = x, sY-fY end if fY > sY then x, y = x, fY-sY end end if fX > 0 and sX > 0 then if fX > sX then x, y = fX-sX, y end if sX > fX then x, y = sX-fX, y end end if fY > 0 and sY > 0 then if fY > sY then x, y = x, fY-sY end if sY > fY then x, y = x, sY-fY end end if fX > 0 and sX < 0 then x, y = fX-sX end if sX > 0 and fX < 0 then x, y = sX-fX end if fY > 0 and sY < 0 then x, y = x, fY - sY end if sY > 0 and fY < 0 then x, y = x, sY - fY end return math.floor(x)+math.floor(y) else return false end else return nil,nil,nil end else return error("error, player1 or player2 returned false") end end local ped = createPed( 0, -2422.25732, -608.94312, 132.56250 ) local metter=getDifferencePosition(ped, localPlayer) outputChatBox(tostring(metter)..'(m) : أنت تبعد عن الهدف مسافة')
×
×
  • Create New...