^iiEcoo'x_) Posted February 22, 2017 Share Posted February 22, 2017 السلام عليكم , فنكشنات مهمة الحرب بين الآعبين , كل 5 دقايق تبدا , اخر واحد يضل يفوز وتنتهي المهمة , وبعد 5 دقايق تبدا من جديد اذا بدات المهمة وبيها 1 م تبدا , ابي فنكشنات وانا احاول ، ما ابي جاهز Link to comment
#BrosS Posted February 22, 2017 Share Posted February 22, 2017 (edited) table = {}; setTimer -- نوع 0 ، كل 5 دقائق تبدا OnMarkerHit table.insert setTimer -- نوع 1 ، الوقت حتى تبدا المهمة onPedWasted table.remove بالنسبة لطلبك الثاني players = 0 -- لما يدخلو المهمة players = players +1 -- الحين لو فيه ١ نكنسل المهمة if players <= 1 then return Edited February 22, 2017 by #BrosS 1 Link to comment
Popular Post Abdul KariM Posted February 23, 2017 Popular Post Share Posted February 23, 2017 عليكم السلام راح اعطيك الطريقة بالتفصيل والي عليك تطبق راح تحتاج لتيبل وتايمر , التيبل لها فوائد كثيرة ومن اهمها تجيب الاعبين الي داخل المهمة والتايمر عشان وقت المهمة table = { } setTimer وبعدين راح تحتاج لمتغير عشان تفعل المهمة يقدر يدخل او لا وراح تكون قيمته البدائية فولس local MissionJoin = false بعدين تسوي فنكشن للتايمر واذا خلص وقت التايمر تغير قيمة المتغير ل ترو واضحه مايحتاج اقولك مثال واول مايخش الاعب الماركر اول شي تتحقق ان المتغير حق المهمة يساوي ترو وتحقق ثاني انه موب بالتيبل "onMarkerHit" getPlayerTable -- by TAPL واذا تخطى كل الشروط هذي تحطه بالتيبل وتدخله المهمة في عندك طريقتين اما فنكشنات تابل او تيبل انسرت او ريموف addPlayer or table.inset RemovePlayer or table.remove واذا بدأت المهمة ترجع قيمة المتغير لـ فولس عشان مايمديه يدخل تقدر تحذف المتغير وتخليه عن طريق التايمر isTimer لكن الافضل لك المتغير وبعدين راح تستخدم الحدثين "onPlayerQuit" "onPlayerWasted" getPlayerTable اول مايطلع الاعب او يموت تتحقق انه بالتيبل عن طريق فنكشن وتحذفه من التيبل بعدين وتقفل التحقق وتستخدم الفنكشن الي سويته لك هذا function getTheLastPlayerInTable ( aTable ) assert ( aTable and type ( aTable ) == "table" , "getTheLastPlayerInTable - invalid Table" ) if ( #aTable == 1 ) then return aTable [ 1 ] end return false end عشان تجيب اخر لاعب بالمهمة زي ماقلنا نفتح تحقق ونتحقق من الاعب الي فوق local aLastPlayer = getTheLastPlayerInTable ( myTable ) if ( aLastPlayer ) then givePlayerMoney ( aLastPlayer , 1 ) end وتعطيه فلوس وتسوي تايمر من جديد للمهمة والى اخره هذا كل شي واذا تبي مساعدة وماتبي اكوادك تنزرف ارسلي محاولتك بالخاص بس مع الشروط الي قلتها لك فوق , وبالاخير الفائدة لك بالتوفيق 5 Link to comment
#BrosS Posted February 23, 2017 Share Posted February 23, 2017 @Abdul KariM انشهد أنك مبدع صراحة Link to comment
^iiEcoo'x_) Posted February 23, 2017 Author Share Posted February 23, 2017 local Table = { }; local MissionJoin = false local TimeStart = 300000 function getTheLastPlayerInTable ( aTable ) assert ( aTable and type ( aTable ) == "table" , "getTheLastPlayerInTable - invalid Table" ) if ( #aTable == 1 ) then return aTable [ 1 ] end return false end function Mission () Mission = setTimer(function () outputChatBox (" mission open " , root ) MissionJoin = true end end , TimeStart , 1 ) -- كل 5 دقايق تبدي Mission () addEventHandler ("onMarkerHit",root function (player) if getElementType(player) == "player" and not isPedInVehicle(player) and isTimer ( Mission ) then if MissionJoin == false return end if source == Marker then table.insert (player,Table) ; toggleAllControls ( player,false ) setTimer(function() toggleAllControls ( true , player ) killTimer ( Mission ) MissionJoin == false end , 60000 , 1 ) end end end end ) addEventHandler ("onPlayerWasted",root, function () if getPlayerTable (source , Table ) table.remove ( source , Table ); local TheLastPlayer = getTheLastPlayerInTable ( Table ) if ( TheLastPlayer ) then givePlayerMoney ( TheLastPlayer , 1 ) table.remove ( TheLastPlayer , Table ); setTimer (function() Mission () end , TimeStart , 1 ) end end end ) onPlayerQuit -- بعدين اسويه 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