Jump to content

AboShanab

Members
  • Posts

    1,348
  • Joined

  • Last visited

Everything posted by AboShanab

  1. https://forum.multitheftauto.com/viewtopic.php?f=108&t=98414
  2. هل لديه صلاحية فك الميؤت ؟ تأكد من الأسل .. إن لم يتم الإصلاح الرجاء طرح الأسل
  3. @#Soking : لا داعي لزيادة المشاركات بدون فائدة مرجوة فمن الواضح أن تم إفادته عن طريق الاخ الذي قام بالرد قبلكـ
  4. لا داعي لإستعمال الداتا فالداتا يتم تخزينها بقواعد البيانات مما يجعل حجم القواعد كبير مع كثرة الإستعمال, لذلك الافضلية تأتي لهذه الفكرة .
  5. @#Soking : لا داعي للعصبية اخي الكريم, إن لم يُعجبك كلامي بإمكانك تجاهله غير ذلك بخصوص الكود الخاص بك, انت راح تجعل منه يحرك البيد وهو على قيد الانشاء بحيث احياناً يجعل المشاكل تظهر, لذلك انا قلت الكود لن يعمل معك .. فالأفضلية بإنك تقوم بإنشاءه ومن ثم تقوم بتحريكه @saitama : جميع الخلق يقومون بالخطا فلا احد مُنزهـ عن ذلك .. لو كنت فعلاً خطأت فأنا اُسعد دائماً بملاحظاتك شكراً لك @Default : البعض لا يتقبل الصواب ولا يُريد الإعتراف بالخطا .. أنا لا اجبر الجميع على الأخذ بكلامي, الذي يعجبه كلامي بإمكانه الإنصات له همسة : عذراً على الخروج عن مسار الموضوع
  6. الشغلة بسيطة جداً, كل مافي الموضوع قم بتعديل الاسل بحيث تجعل رتبه معينه للعاجل ثم قم بعمل السكربت بحيث عندما تقوم بضغط زر إضافة يقوم بإعطاءه الرتبه وعندما تقوم بضغط زر حذف يقوم بحذف الرتبة
  7. اهلاً بك عزيزي, قمت بالتعديل على السكربت الاصلي لكي يقوم بحفظ الساعات وتفادي مشكلة فقدان الساعات نهائياً Server : --[[ ------------------------------------------------- original script credits to Yakuza.Real and solidsnake and kenix viewtopic.php?f=91&t=40132 ------------------------------------------------- booo just fix it ]] exports.scoreboard:addScoreboardColumn('Time') local t = { } function checkValues( source,arg1,arg2) if (arg2 >= 60) then t[ source ][ 'min' ] = tonumber( t[ source ][ 'min' ] or 0 ) + 1 t[ source ][ 'sec' ] = 0 end if (arg1 >= 60) then t[ source ][ 'min' ] = 0 t[ source ][ 'hour' ] = tonumber( t[ source ][ 'hour' ] or 0 ) + 1 end return arg1, arg2 end setTimer( function( ) for _, v in pairs( getElementsByType( "player" ) ) do if (not t[ v ]) then t[ v ] = { ["hour"] = 0, ["min"] = 0, ["sec"] = 0 } end t[ v ][ 'sec' ] = tonumber( t[ v ][ 'sec' ] or 0 ) + 1 local min,sec = checkValues ( v, t[ v ][ 'min' ] or 0, t[ v ][ 'sec' ] or 0 ) local hour = tonumber( t[ v ][ 'hour' ] or 0 ) setElementData( v, "Time", tostring( hour )..':'..tostring( min )..':'..tostring( sec ) ) end end, 1000, 0 ) function onPlayerQuit ( ) local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) and not isGuestAccount ( playeraccount ) then local sValue = getElementData( source,'Time' ) local hour = tonumber( t[ source ][ 'hour' ] or 0 ) local min = tonumber( t[ source ][ 'min' ] or 0 ) local sec = tonumber( t[ source ][ 'sec' ] or 0 ) setAccountData ( playeraccount, "Time-hour", tostring(hour) ) setAccountData ( playeraccount, "Time-min", tostring(min) ) setAccountData ( playeraccount, "Time-sec", tostring(sec) ) setAccountData ( playeraccount, "Time", tostring(sValue) ) end t[ source ] = nil end function onPlayerLogin (_, playeraccount ) if ( playeraccount ) then local time = getAccountData ( playeraccount, "Time" ) local hou = getAccountData ( playeraccount, "Time-hour") local min = getAccountData ( playeraccount, "Time-min") local sec = getAccountData ( playeraccount, "Time-sec") if ( time ) then setElementData ( source, "Time", time ) t[ source ]["hour"] = tonumber(hou) t[ source ]["min"] = tonumber(min) t[ source ]["sec"] = tonumber(sec) else setElementData ( source, "Time",0 ) setAccountData ( playeraccount, "Time",0 ) t[ source ]["hour"] = 0 t[ source ]["min"] = 0 t[ source ]["sec"] = 0 end end end addEventHandler ( "onPlayerQuit", root, onPlayerQuit ) addEventHandler ( "onPlayerLogin", root, onPlayerLogin ) addEventHandler ( "onPlayerLogout", root, function ( acc ) local sValue = getElementData( source,'Time' ) local hour = tonumber( t[ source ][ 'hour' ] or 0 ) local min = tonumber( t[ source ][ 'min' ] or 0 ) local sec = tonumber( t[ source ][ 'sec' ] or 0 ) setAccountData ( acc, "Time-hour", tostring(hour) ) setAccountData ( acc, "Time-min", tostring(min) ) setAccountData ( acc, "Time-sec", tostring(sec) ) setAccountData ( acc, "Time", tostring(sValue) ) t[ source ]["hour"] = 0 t[ source ]["min"] = 0 t[ source ]["sec"] = 0 end ) addEventHandler("onResourceStart", resourceRoot, function () for k,v in ipairs ( getElementsByType ( "player" ) ) do if not ( isGuestAccount ( getPlayerAccount ( v ) ) ) then if ( getAccountData ( getPlayerAccount ( v ), "Time" ) ) then local hou = getAccountData ( getPlayerAccount ( v ), "Time-hour") local min = getAccountData ( getPlayerAccount ( v ), "Time-min") local sec = getAccountData ( getPlayerAccount ( v ), "Time-sec") if not ( t [ v ] ) then t[ v ] = { ["hour"] = 0, ["min"] = 0, ["sec"] = 0 } end t[ v ]["hour"] = tonumber(hou) t[ v ]["min"] = tonumber(min) t[ v ]["sec"] = tonumber(sec) end end end end) addEventHandler("onResourceStop", resourceRoot, function () for k,v in ipairs ( getElementsByType ( "player" ) ) do if not ( isGuestAccount ( getPlayerAccount ( v ) ) ) then local sValue = getElementData( v,'Time' ) local hour = tonumber( t[ v ][ 'hour' ] or 0 ) local min = tonumber( t[ v ][ 'min' ] or 0 ) local sec = tonumber( t[ v ][ 'sec' ] or 0 ) setAccountData ( getPlayerAccount ( v ), "Time-hour", tostring(hour) ) setAccountData ( getPlayerAccount ( v ), "Time-min", tostring(min) ) setAccountData ( getPlayerAccount ( v ), "Time-sec", tostring(sec) ) setAccountData ( getPlayerAccount ( v ), "Time", tostring(sValue) ) end end end)
  8. أنا قمت بعمل الكود الذي قمت بطرحه لكي يتناسق مع هذه الفكرة, ربما لو كنت تريد إستعمال نفس الكود الخاص بك الخاطئ ستكون الفكرة هكذا اخي الغالي .. قم بإستعمال الكود الخاص بي وتطبيق الفكرة التي ذكرتها بالموضوع وإن لم يعمل معك اخبرني ما الخطا الذي يظهر لك
  9. اخي الغالي .. خذ ردي بكل بساطة وكذلك بإمكانك تجاهله إن اردت, وبالنسبة للمستوى فالاكواد هي الشاهد على فرق المستوى بيني وبينك الجميع بإمكانه المحاولة ولكن ليس في نفس الموضوع وتخريب اكواد الآخرين .. إذا لم تكن لديك الخبرة الكافية بإمكانك التجربة بداخل جهازك الشخصي ومعالجة فكرة الكود ومن ثم نشرها بالموضوع اعتذر لك إن كنت جرحتك بالكلام بالتوفيق لكـ وللجميع .
  10. @mhmd.z : محاولة جيدة من طرفكـ ولكن الكود بدائي جداً والفكرة مبتدئة .. ربما لو تابعت الاكواد خاصتي لفهمت الافكار التي قمت بعملها مما سيجعل مستواك يتطور @x1AhMeD,-09 : اخوي الغالي .. الرجاء منكـ عدم إقتباس الردود الطويلة لكي لا تكون قراءة الموضوع مملة
  11. اخوي الغالي .. لا داعي لتعريف التايمر الآن فمن إصدار 1.5.2 بإمكانك استعمال sourceTimer لكي تقوم بحذفه .. على سبيل المثال : local count = 1 setTimer ( function ( ) if ( count >= 5 ) then killTimer ( sourceTimer ) end count = count + 1 end, 1000, 0 )
  12. @x1AhMeD,-09 : الرجاء منك عدم تكرار وضع المشاركات والتعديل على نفس المشاركة الاولى الخاصة بك @صاحب الموضوع : Client : addEvent ( "close_jetpack", true ) addEventHandler ( "close_jetpack", root, function ( ) guiSetEnabled ( GUIEditor.button[5], false ) setTimer( guiSetEnabled, 1800000, 1, GUIEditor.button[5], true ) end ) قم بالتعديل على نفس الكود بإستبداله بهذا الكود وقم بحذف الافينت open_jetpack لا داعي لوجوده عندما تقوم بإستعمال الكود الخاص بي هل تظهر لك مشكلة في الدي بق ( debugscript 3 ) ?
  13. السلام عليكم .. اشكرك على مثل هذه المواضيع التي لو اهتم بها البعض لكان القسم العربي من افضل الاقسام اولاً يوجد عدة اشياء غير تغيير اسم العنوان البعض يقوم بحذف الاكواد التي قام بطرحها بحيث انها حصرية للسيرفر وهذا سبب الدمار الاول ثانياً البعض يقوم بالترحيب بشخص لم يقم المشاركة منذ فترة ويخرج عن صلب الموضوع ثالثاً اغلب الاشخاص يطلب من صاحب الموضوع إضافته على السكايب الخاص به مما يجعل الموضوع خارج عن البرمجة واصبح شات للتعارف رابعاً اغلب الاشخاص يقوم بإقتباس الردود الطويلة مما سيجعل الموضوع طويل وقراءته مملة إذا كنت حقاً تريد الإقتباس بإمكانك إستعمال خاصية spoiler البعض اعتقد السبب الحقيقي لدخوله إلى الموقع هو تخريب الاقسام والموقع تحياتي وبالتوفيق للجميع .
  14. @ #Soking : الكود الخاص بك خاطئ ولن يعمل @ صاحب الموضوع : قم بتوضيح الفكرة هل تريد ان يكون البيد في السيارة او يكون البيد يتحرك معك اينما تذهب بالسيارة ؟
  15. لا شكر على واجب .. بخصوص الكود الذي قمت بوضعه هو لملف كلنت فقط ولكن بإمكانك عمل الفكرة لكي تكون في ملف كلنت + سيرفر ( لكي يظهر مسح الشات للجميع ) و أشكرك اخي الكريم على الترحيب .
  16. هذه آخر مرة اقوم بطلب منك الكود اخي العزيز .. الرجاء قم بوضع الكود الخاص بالزر لكي اقوم بإصلاحه
  17. Client : local BLOCK = { "[Console]", "[Head Admin]" } function isBLOCK ( TAG ) for _,v in ipairs ( BLOCK ) do if ( TAG == v ) then return true end end end function dxDrawTextOnElement ( TheElement, text, height, distance, R, G, B, alpha, size, font, checkBuildings, checkVehicles, checkPeds, checkDummies, seeThroughStuff, ignoreSomeObjectsForCamera, ignoredElement ) local x, y, z = getElementPosition ( TheElement ) local x2, y2, z2 = getElementPosition ( localPlayer ) local distance = distance or 20 local height = height or 1 local checkBuildings = checkBuildings or true local checkVehicles = checkVehicles or false local checkPeds = checkPeds or false local checkObjects = checkObjects or true local checkDummies = checkDummies or true local seeThroughStuff = seeThroughStuff or false local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false local ignoredElement = ignoredElement or nil if ( isLineOfSightClear ( x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds, checkObjects, checkDummies, seeThroughStuff, ignoreSomeObjectsForCamera, ignoredElement ) ) then local sx, sy = getScreenFromWorldPosition ( x, y, z + height ) if ( ( sx ) and ( sy ) ) then local distanceBetweenPoints = getDistanceBetweenPoints3D ( x, y, z, x2, y2, z2 ) if ( distanceBetweenPoints < distance ) then dxDrawText ( text, sx+2, sy+2, sx, sy, tocolor (R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center", true ) end end end end addEventHandler ( "onClientRender", root, function ( ) for _,k in ipairs (getElementsByType("player")) do if ( ( k ~= localPlayer ) and not ( isBLOCK ( getElementData ( k,"TAG" ) ) ) ) then dxDrawTextOnElement ( k,getElementData (k,"TAG") or 'none',1,20,math.random(0, 255), math.random(0, 255), math.random(0, 255),255,1 ) end end end ) اولاً عدم إحترامك والتلفظ في كلمات صغار العقول سيجعل الجميع يتجاهل مواضيعك ثانياً لم افهم الفكرة وماهي طريقة عمل السكربت ولكن تم إصلاح ملف الكلنت لذلك الرجاء التوضيح كيف ستكون فكرة وضع التاج للاعب وفكرة السكربت لكي اقوم بعمل باقي الاكواد بالتوفيق لكـ .
  18. لا داعي لإستعمال اكواد حساب وقت .. مجرد قم بتعديل المود الخاص بحساب الوقت في التاب لكي يتناسب مع فكرتك بإمكانك طرح المود الخاص بحساب الوقت في التاب لكي أقوم بتعليمك الفكرة
  19. اخوي الغالي .. لا داعي لإستعمال قواعد البيانات فهو لا يريد حفظه إذا عمل إعادة تشغيل للمود
  20. عطني الكود الخاص بملف الكلنت المربوط بنفس زر الشراء
  21. Client : addEventHandler ( "onClientRender", root, function ( ) local data = getElementData ( resourceRoot, "3ajel" ) if ( data ) then dxDrawText ( "* Admin : ".. data, 14, 571, 766, 605, tocolor ( 255, 255, 255, 255 ), 1.00, "default-bold", "left", "top", false, false, false, false, true ) end end ) bindKey ( "u", "down", "chatbox", "AM" ) Server : local AMGROUPS = { "Head.Admin", "Console" } function isCAN ( plr ) local accName = getAccountName ( getPlayerAccount ( plr ) ) for _,v in ipairs( AMGROUPS ) do if ( isObjectInACLGroup ( "user." .. accName, aclGetGroup ( v ) ) ) then return true end end end function check ( thePlayer, commandName, ... ) if ( isCAN ( thePlayer ) ) then local Msg = { ... } local message = table.concat ( Msg, " " ) setElementData ( resourceRoot, "3ajel", message ) end end addCommandHandler ( "AM", check ) function clear ( thePlayer, commandName ) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Console" ) ) then setElementData ( resourceRoot, "3ajel", false ) end end addCommandHandler("Clear", clear) ملاحظات بسيطة : - العاجل لن يعمل معك في نفس المكان على جميع الشاشات - في الجدول بملف سيرفر بإمكانك إضافة الرتب التي يمكنها وضع الكلام في العاجل بالتوفيق لكـ .
  22. @Default : أسلوبك خاطئ في عمل الفكرة, والسبب هو عدم حساب عدد اسطر الشات المتواجدة بحيث ان البعض يقوم بتغيير نوع الشات لكي يكون حجمه اكبر @ صاحب الموضوع : يُمكنك مشاهدة هذه الفكرة بحيث انها ستكون مُحافظة على قوة الاداء وسهولة الكود local count = getChatboxLayout ( )["chat_lines"] for i=1,count do outputChatBox ( " " ) end بالتوفيق لكـ .
  23. addEvent ( "JetPack", true ) addEventHandler ( "JetPack", resourceRoot, function ( ) if ( getElementData ( client, "Money" ) >= 20000 ) then setElementData ( client, "Money", ( getElementData ( client, "Money" ) or 0 ) - 20000 ) givePedJetPack ( client ) playSoundFrontEnd ( client, 3 ) triggerClientEvent ( client, "close_jetpack", client ) setTimer ( function ( client ) if ( doesPedHaveJetPack ( client ) ) then removePedJetPack ( client ) end end, 5 * 60000, 1, client ) exports["guimessages"]:outputServer ( client, "#FF0000*#FFFF00[VIP System] #00FF00You have bought a jetpack for (20,000$).", 255, 0, 0, true ) exports["guimessages"]:outputServer ( client, "#FF0000*#FFFF00[VIP System] #00FF00Your jetpack will be remove after 5 minutes.", 255, 0, 0, true ) exports["guimessages"]:outputServer ( client, "#FF0000*#FFFF00[VIP System] #FF0000The button will be locked, You can buy more jetpack after 30 minutes.", 255, 0, 0, true ) else exports["guimessages"]:outputServer ( client, "#FF0000*#FFFF00[VIP System] #FF0000You don't have enough money (20,000$).", 255, 0, 0, true ) end end ) ملاحظة بسيطة : - لا داعي لعمل إفينت "open_jetpack" في ناحية ملف الـ Client - السبب : بالاساس هو لم يتم قفل الزر لعدم شراء النفاثة سابقاً
  24. شرح ممتاز, يعطيك العافية .. ولكن يُوجد لوحة تُدعى Virtualizor بها خصائص كثيرة جداً وتتنصب على اغلب انظمة التشغيل والاداء افضل من هذه اللوحة ( مع سهولة التنصيب ) اللوحة بإشتراك 9$ شهرياً شاهدها هنا : http://www.virtualizor.com/ بالتوفيق للجميع .
  25. لا يوجد احد يمكنه مساعدتك هنا, رأيت موضوع لك في القسم الخاص بالدعم الفني للعبة ( باللغة الإنجليزية ولكنه غير مفهوم بشكل واضح ) ويعتبر اثبات بإنك كنت تغش مما سيجعل المدة طويلة, السؤال الآن .. اشرح ماقمت بعمله في السيرفر وسأقوم بمساعدتك, ربما صاحب السيرفر قام بالتواصل مع إدارة اللعبة والتبليغ بإنك تستعمل هاك إطلاق الرصاص بشكل سريع جداً, مما تم إعتبارك بإنك تستعمل هاكات ( تقوم بالغش ) مما ادى إلى إعطائك باند باللعبة تحياتي لك AboShanab .
×
×
  • Create New...