Jump to content

x [ فنكشن ] x مهمة


Recommended Posts

السلام عليكم

المهمة

عبارة عن لما العب يلمس ماركر يروح

لعالم وهمي و يقف ما يتحرك الا ما يبدأ المهمة

يقدر يتحرك

هي عبارة عن مهمة ركد

الكل يركد لحين ما يوصل ل ماركر معين اول واحد يلمسه يفوز بمبلغ

المهمة تتعاد كل 15د

تعطبر مثل مهمة الديربي :)

Link to comment

createMarker -- تسوي ماركر 
addEventHandler = "onMarkerHit" -- تسوي لما اللاعب يلمس الماركر ينقلو للمهمة 
setElementPosition -- يحط احداثيات اللاعب لما يلمس الماركر 
setElementInterior -- يحطو في عالم وهمي 
setElementFrozen -- يجمدو 
isTimer -- يتحقق لو التايمر موجود 
killTimer -- يقتل التايمر لو موجود 
setTimer -- يسوي تايمر جديد بعدها يفك الفريز من اللاعبين 
setElementData -- يعطي اول واحد يلمس الماركر داتا 
getElementData -- يتحقق من الداتا  لو معه يديه فلوس و ينقل الكل برا المهمة 
-- من هنا اول ما اللاعب يلمس الماركر 
for i,v in ipairs (getElementsByType("player")) do 
setElementPosition -- ينقل اللكل برا المهمة 
givePlayerMoney -- يعطي اللاعب الي لمس الماركر الأول فلوس 
  
Link to comment
createMarker -- تسوي ماركر 
addEventHandler = "onMarkerHit" -- تسوي لما اللاعب يلمس الماركر ينقلو للمهمة 
setElementPosition -- يحط احداثيات اللاعب لما يلمس الماركر 
setElementInterior -- يحطو في عالم وهمي 
setElementFrozen -- يجمدو 
isTimer -- يتحقق لو التايمر موجود 
killTimer -- يقتل التايمر لو موجود 
setTimer -- يسوي تايمر جديد بعدها يفك الفريز من اللاعبين 
setElementData -- يعطي اول واحد يلمس الماركر داتا 
getElementData -- يتحقق من الداتا  لو معه يديه فلوس و ينقل الكل برا المهمة 
-- من هنا اول ما اللاعب يلمس الماركر 
for i,v in ipairs (getElementsByType("player")) do 
setElementPosition -- ينقل اللكل برا المهمة 
givePlayerMoney -- يعطي اللاعب الي لمس الماركر الأول فلوس 
  

not setElementInterior

to :

setElementDimension 

Link to comment

كده تمام ؟

spawns = {} 
setElementData(resourceRoot,"map1","no") 
setElementData(resourceRoot,"winMoney","0") 
  
  
SaedAmer1 = createMarker(z, y, x, "arrow", 1.1, 255, 0, 0, 170 ) 
SaedAmer2 = createMarker(z, y, x, "arrow", 1.1, 255, 0, 0, 170 ) 
SaedAmer3 = createMarker(z, y, x, "arrow", 1.1, 255, 0, 0, 170 ) 
  
  
addEventHandler('onMarkerHit', resourceRoot, function(element) 
    if source == SaedAmer1 or source == SaedAmer2 or source == SaedAmer3 then 
    if getElementType(element) == 'player' and checkDuel(element) == "prestart" and ( not checkExistPlrOnDuel(element) ) then 
            online = countPlayersOnRun() 
            if tonumber(online) +1 < 32 then 
               setData(element,"onCrossMap","yes") 
                   exports.killmessages:outputMessage('* [ Run Mission ] : الرجاء الانتظار ..',element,255,255,0,true) 
                     spawnOnMap(element) 
            else 
                     exports.killmessages:outputMessage('* [ Run Mission ] : لم يبق مكان بمهمة الركض الرجآء, الانتظآر القيم القآدم',element,0,255,0,true) 
            end 
        end 
    end 
end) 
  
function checkDuel(p) 
if tostring(getElementData(resourceRoot,"map1")) == "yes" then 
exports.killmessages:outputMessage('* [ Run Mission ] : لقد بدأت مهمة الركض',p,255,255,0,true) 
elseif tostring(getElementData(resourceRoot,"map1")) == "no" then 
exports.killmessages:outputMessage('* [ Run Mission ] : الرجآء الانتظآر,حتى تبدء مهمة الركض',p,255,255,0,true) 
if _mytimer and isTimer(_mytimer) then 
local _r,_e,_t = getTimerDetails(_mytimer) 
        if _r and _e and _t then 
            total = _r / 60 / 1000 
             ss = math.floor( _r / 1000 ) 
              seconds = tostring( math.fmod( ss, 60 ) ) 
               exports.killmessages:outputMessage("* [ Run Mission ]  تبقـى: "..math.ceil(total)..":"..seconds.."",p,255,255,0,true) 
        end 
    end 
end 
return tostring(getElementData(resourceRoot,"map1")) 
end 
function checkExistPlrOnDuel(p) 
per = getElementData(p,"onCrossMap") 
if tostring(per) == "yes" then 
return true 
else 
return false 
end 
end 
function setData(element,key,vlr) 
setElementData(element,key,vlr) 
end 
function spawnOnMap(p) 
count = countPlayersOnDerby() 
spawned = "no" 
for i,data in pairs(spawns)do 
if tonumber(data.id) == tonumber(count) then 
spawned = "yes" 
s = setElementPosition (411,data.x,data.y,data.z,data.rx,data.ry,data.rz) 
setElementDimension(s,30) 
setElementFrozen(s,true) 
setElementData(s,"creatorDerby","yes") 
break 
end 
end 
toggleControl(p,"enter_exit", false ) 
setCameraTarget(p,p) 
exports.killmessages:outputMessage(getPlayerName(p):gsub("#%x%x%x%x%x%x", "")..' دخل لمهمة الركض!', root, 255, 0, 0) 
local ss = countPlayersOnDerby() 
exports.killmessages:outputMessage('المتـواجـدون فـي مهمة الركض '..tostring(ss + 1)..' / 32', root, 255, 0, 0) 
end 
function countPlayersOnDerby() 
c = -1 
for i,p in pairs(getElementsByType("player"))do 
if checkExistPlrOnDuel(p) then 
c = c+1 
end 
end 
return tonumber(c) 
end 
function newDuel() 
for i,p in pairs(getElementsByType("player"))do 
setData(p,"onCrossMap","no") 
end 
setElementData(resourceRoot,"map1","prestart") 
exports.killmessages:outputMessage('* [ Run Mission ] :  لدخول مهمة الركض توجه (  اف6 مهمة الركض  ) ء', root, 255, 0, 0, true) 
RMoney = math.random("10000","100000") 
setElementData(resourceRoot,"winMoney",tonumber(RMoney)) 
setTimer(checkPlrs,30000,1) 
end 
  
if tonumber(c) == 1 then 
givePlayerMoney(winner,tonumber(getElementData(resourceRoot,"winMoney"))) 
n = string.gsub(getPlayerName(winner), "#%x%x%x%x%x%x", "") 
exports.killmessages:outputMessage("*[  " .. n .. "  Won the Run Mission and win " .. tonumber(getElementData(resourceRoot,"winMoney")) .. "$ ]",getRootElement(),255,255,0,true) 
setElementData(resourceRoot,"map1","no") 
endRun() 
_mytimer = setTimer(newDuel,60*1000*15,1) 
end 
  
function checkPlrs () 
c = 0 
for i,p in pairs(getElementsByType("player"))do 
if checkExistPlrOnDuel(p) then 
c = c+1 
end end 
if tonumber(c) > 1 then 
setElementData(resourceRoot,"map1","yes") 
for i,p in pairs(getElementsByType("player"))do 
if checkExistPlrOnDuel(p) then 
exports.killmessages:outputMessage('* [ Run Mission ] : لقد بدآءت مهمة الركض , يمكنك الانطلاق',p,0,255,0,true) 
exports.killmessages:outputMessage('* [ Run Mission ] : لقد بدآءت مهمة الركض ', root, 255, 0, 0, true) 
setElementFrozen(thePlayer,false) 
end end 
else 
endRun() 
setElementData(resourceRoot,"map1","no") 
exports.killmessages:outputMessage('* [ Run Mission ] : لم تبدآء مهمة الركض , لعدم توفر الاعبين',getRootElement(),255,255,0,true) 
_mytimer = setTimer(newDuel,60*1000*15,1) 
end 
end 
  
  
  
  
addCommandHandler('Run', function(SaedAmer) 
local acc = getPlayerAccount(SaedAmer) 
    if acc and not isGuestAccount(acc) and isObjectInACLGroup("user." .. getAccountName(acc),aclGetGroup('Console')) then 
        if _mytimer and isTimer(_mytimer) then 
            killTimer(_mytimer) 
            newDuel() 
    end 
end 
end ) 
  
  
for i,v in ipairs (getElementsByType("player")) do 
sa = setElementPosition ( x, y, z  ) 
end  

Link to comment
سوألين

الاول :

هل انت من سوا الكود ؟

في اشياء غير معرفه

,

ثانياً :

تقدر تجربة بنفسك مو احنا الي نجربه لك

يا اخ واي فاي

ما قلت لك تجربه

انا اقول

فين الخطأ في الكود

+

ايه الغير معرف

+

الكود صح ولالا؟

+

هات فنكشن محدش بقدر بطلع نفاثه بالمهمة فقط

Link to comment

شوف اخوي سعيد انا ممكن اصمملك المهمه كامله لكن المشكله عندي في فنكشن التايمر لان ما اعرف فيه شي الصراحه يعني خبرتي

بسيطه جدا بيه

اما الباقي فسهل

Link to comment
شوف اخوي سعيد انا ممكن اصمملك المهمه كامله لكن المشكله عندي في فنكشن التايمر لان ما اعرف فيه شي الصراحه يعني خبرتي

بسيطه جدا بيه

اما الباقي فسهل

طيب سويه ياعم السهل

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...