MR.S3D Posted May 26, 2013 Share Posted May 26, 2013 اخوي كودي يختلف الوظايف والخ ..يوم خليت التايمر مايتشغل الكود addEventHandler('onVehicleDamage',root, function ( ) setTimer ( function ( ) setVehicleHandling ( source,'maxVelocity',60 ); end, 5000, 0 ) end ); addEventHandler('onVehicleDamage',root, function ( ) setTimer ( function ( source ) setVehicleHandling ( source,'maxVelocity',60 ); end, 5000, 0 ) end ); لازم تكون معرف source في التايمر ويكون في شروط في المود عشان لايحصل اخطاء في سكربتك وماله داعي يكون تايمر متكرر timer = {} addEventHandler('onVehicleDamage',root, function ( ) if timer[source] and not isTimer(timer[source]) then timer[source] = nil end if not timer[source] then timer[source] = setTimer ( function ( source ) if isElement(source) then setVehicleHandling ( source,'maxVelocity',60 ) end end, 5000, 1, source) end end ) Link to comment
mr.ekoo Posted May 27, 2013 Author Share Posted May 27, 2013 مافهمتك اخوي يعني وش مايكون تايمر متكرر انا ابغيه كل 5 ثواني يخلي السرعة 60 مو بس مرة وحدة كودك يخلي مرة وحدة ولا كل مرة ؟؟ وياليت تشوف الى وضحته صح او لا timer = {} -- ليش عرفت التايمر هنا وشنو معنى القوسين {} addEventHandler('onVehicleDamage',root, -- حدث عند اصتدام السيارة function ( ) -- فنكشن #1 if timer[source] and not isTimer(timer[source]) then -- الى فهمته ان يتاكد اذا كان المتغير timer يحتوي على source وكمان يتاكد انه مو وقت timer[source] -- #2 timer[source] = nil -- وهذي يخلي القيمة timer[source] فاضية end -- إغلاق if #2 if not timer[source] then -- يتاكد انه مو وقت timer[source] timer[source] = setTimer ( function ( source ) -- يخلي المتغير timer[source] = فنكشن كل 5 ثوان if isElement(source) then -- اذا كان في ايلمنت او سيارة setVehicleHandling ( source,'maxVelocity',60 ) -- وضع سرعة السيارة الى 60 end -- إغلاق if التحقق من وجوده في ايلمينت end, 5000, 1, source) -- إغلاق فنكشن التايمر end -- إغلاق if التاكد انه مو وقت timer[source] end -- إغلاق الفنكش #1 ) -- إغلاق الحدث Link to comment
MR.S3D Posted May 27, 2013 Share Posted May 27, 2013 timer = {} -- ذا يصنع يجدول جديد وبالنسبة لكودي يسوي التايمر وكل ماتصدم يتأكد اذا التايمر مو موجود يسوي تايمر جديد Link to comment
mr.ekoo Posted May 27, 2013 Author Share Posted May 27, 2013 مو شغال !! يعني ليه يوم احط تايمر يخرب بكودك الى عطيتني اياه والكود الى خليته انا Link to comment
mr.ekoo Posted May 27, 2013 Author Share Posted May 27, 2013 طيب سيرفر هو جربت كود مستر سعد بالتايمر وكودي بالتايمر والاثنين مو شغالين كودي يوم اشيل التايمر يشتغل Link to comment
MR.S3D Posted May 27, 2013 Share Posted May 27, 2013 local timer = {} addEventHandler('onVehicleDamage',root, function ( ) checkTimer(source) end ) function checkTimer(Car) if not isElement(Car) then return end if not timer[Car] then timer[Car] = {} timer[Car]['timers'] = 0 end if not isTimer(timer[Car]['timers']) then timer[Car]['timers'] = setTimer ( function ( Vehicle ) if isElement(Vehicle) then setVehicleHandling ( Vehicle,'maxVelocity',60 ) end end, 5000, 1, Car) end end Link to comment
MR.S3D Posted May 27, 2013 Share Posted May 27, 2013 أخوي على فكرة الكود شغال ويحط اخر حد للسرعة 60 يعني مايحط سرعتك 60 يحط اخر حد سرعة تقدر تمشيه 60 ولو شغلت عداد راح تلاحظ Link to comment
mr.ekoo Posted May 27, 2013 Author Share Posted May 27, 2013 ادري اخوي انه يخلي حد للسرعة .. بس مو شغال عندي بجرب اخر كود خليته انت واشوف Link to comment
mr.ekoo Posted May 27, 2013 Author Share Posted May 27, 2013 اخوي نفس المشكلةة اركب الموود واشغله وكل شيئ ونفس الشيئ اقدر امشي بسرعة اكبر من 60 Link to comment
MR.S3D Posted May 27, 2013 Share Posted May 27, 2013 اخوي نفس المشكلةةاركب الموود واشغله وكل شيئ ونفس الشيئ اقدر امشي بسرعة اكبر من 60 أخوي انا مجرب المود وشغال معي لازم تصدم عشان تصير السرعة 60 + الكود ملف سيرفر Link to comment
mr.ekoo Posted May 28, 2013 Author Share Posted May 28, 2013 طيب انا مركبه سيرفر وكل شيئ صح واصدم بالسيارة وسويت ريفيش وريستارت للمود وفوق هذا سويت ريستارت للسيرفر ملاحظة سيرفري نسخة 1.3.2 له علاقة ؟ Link to comment
jafar Posted May 28, 2013 Share Posted May 28, 2013 طيب انا مركبه سيرفروكل شيئ صح واصدم بالسيارة وسويت ريفيش وريستارت للمود وفوق هذا سويت ريستارت للسيرفر ملاحظة سيرفري نسخة 1.3.2 له علاقة ؟ لا ماله علاقة .. Link to comment
iMr.Dawix~# Posted May 28, 2013 Share Posted May 28, 2013 طيب انا مركبه سيرفروكل شيئ صح واصدم بالسيارة وسويت ريفيش وريستارت للمود وفوق هذا سويت ريستارت للسيرفر ملاحظة سيرفري نسخة 1.3.2 له علاقة ؟ شوف اول ما نشغل المود اركب سياره واصدم فيها وبعدين حاول تتعدى سرعة 60 Link to comment
mr.ekoo Posted May 28, 2013 Author Share Posted May 28, 2013 نفس الحالة اخوي ؟؟ وش الحل Link to comment
iMr.Dawix~# Posted May 28, 2013 Share Posted May 28, 2013 طيب جرب كود سعد حطيت له حدث اول ما يشتغل المود والصدم local timer = {} ---MR.S3D<3 function maxspeed() checkTimer(source) end) function checkTimer(Car) if not isElement(Car) then return end if not timer[Car] then timer[Car] = {} timer[Car]['timers'] = 0 end if not isTimer(timer[Car]['timers']) then timer[Car]['timers'] = setTimer ( function ( Vehicle ) if isElement(Vehicle) then setVehicleHandling ( Vehicle,'maxVelocity',60 ) end end, 5000, 1, Car) end end addEventHandler('onVehicleDamage',root,maxspeed) addEventHandler('onResourceStart',root,maxspeed) Link to comment
mr.ekoo Posted May 28, 2013 Author Share Posted May 28, 2013 بس اخوي كذا مثل ماشفت بالكود اول مايشتغل المود بتصير السرعة 60 ولا ؟ جاري التجربة Link to comment
iMr.Dawix~# Posted May 28, 2013 Share Posted May 28, 2013 بس اخوي كذا مثل ماشفت بالكود اول مايشتغل المود بتصير السرعة 60ولا ؟ جاري التجربة 60الكود سطر 18 يحط حد للسرعه انها ما تتعدى الـ Link to comment
Blaawee Posted May 29, 2013 Share Posted May 29, 2013 (edited) مو مجرب# function getVehicleSpeed( Vehicle ) local x, y, z = getElementVelocity( Vehicle ); return ( x ^ 2 + y ^ 2 + z ^ 2 ) ^ 1 * 100; end function setVehicleSpeed( Vehicle ) local x, y, z = getElementVelocity( Vehicle ); return setElementVelocity ( Vehicle, x, y, z ); end addEventHandler ( 'onClientRender', root, function( ) for _, player in ipairs( getElementsByType( 'player' ) ) do while true do if not isPedInVehicle( player ) then break end if getVehicleSpeed( getPedOccupiedVehicle( player ) ) == 80 then setVehicleSpeed( getPedOccupiedVehicle( player ) ); end break end end end ); Edited May 29, 2013 by Guest Link to comment
iPrestege Posted May 29, 2013 Share Posted May 29, 2013 مو مجرب# function getVehicleSpeed( Vehicle ) local x, y, z = getElementVelocity( Vehicle ); return ( x ^ 2 + y ^ 2 + z ^ 2 ) ^ 1 * 100; end function setVehicleSpeed( Vehicle ) local x, y, z = getElementVelocity( Vehicle ); return setElementVelocity ( Vehicle x, y, z ); end addEventHandler ( 'onClientRender', root, function( ) for _, player in ipairs( getElementsByType( 'player' ) do while true do if not isPedInVehicle( player ) or isPlayerDead( player ) then break end if getVehicleSpeed( getPedOccupiedVehicle( player ) ) == 80 then setVehicleSpeed( getPedOccupiedVehicle( player ) ); end break end end end ); سطر 8 ناقصكـ فاصلة بين السيارهـ # سطر 13 ناقصكـ قوس لآغلآق اللوب # # ماظنتي يشتغل ذذ مادري لية خخ بس ننتظر ونشوف ذذ Link to comment
PaiN^ Posted May 29, 2013 Share Posted May 29, 2013 وظيفة isPlayerDead ما أتوقع تشتغل في النسخ الجدبدة على حسب كلام الويكي إستخدم هذي isThePedDead Link to comment
Blaawee Posted May 29, 2013 Share Posted May 29, 2013 local gMaxSpeed = 80; local gTargetSpeed = 60; function getElementSpeed( element, unit ) if ( unit == nil ) then unit = 0 end if ( isElement( element ) ) then local x, y, z = getElementVelocity( element ); if ( unit == 'mph' or unit == 1 or unit == '1' ) then return ( x ^ 2 + y ^ 2 + z ^ 2) ^ 0.5 * 100; else return ( x ^ 2 + y ^ 2 + z ^ 2 ) ^ 0.5 * 1.61 * 100; end else outputDebugString( 'Not an element. Cant get speed' ); return false end end function setElementSpeed( element, unit, speed ) if ( unit == nil ) then unit = 0; end if ( speed == nil ) then speed = 0; end speed = tonumber( speed ); local acSpeed = getElementSpeed(element, unit); if ( acSpeed ~= false ) then local diff = speed / acSpeed; local x, y, z = getElementVelocity( element ); setElementVelocity( element, x * diff, y * diff, z * diff ); return true else return false end end addEventHandler ( 'onClientRender', root, function( ) for _, player in ipairs( getElementsByType( 'player' ) ) do while true do if not isPedInVehicle( player ) then break end if getElementSpeed( getPedOccupiedVehicle( player ) ) >= gMaxSpeed then setElementSpeed( getPedOccupiedVehicle( player ), nil, gTargetSpeed ); end break end end end ); Link to comment
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