Jump to content

x[ مساعدة ]x Derby System


Recommended Posts

السلام عليكم

وش الخطا هنا مايجي الماركر

spawns = {} 
setElementData(resourceRoot,"map","no") 
setElementData(resourceRoot,"winMoney","0") 
  
SADerbyMarker = createMarker(1310.16052, -1366.79578, 13.50644, "arrow", 1.1, 255, 0, 0, 170 ) 
  
addEventHandler('onMarkerHit', SADerbyMarker, function(element) 
if getElementType(element) == 'player' and checkDuel(element) == "prestart" and ( not checkExistPlrOnDuel(element) ) then 
online = countPlayersOnDerby() 
if tonumber(online) +1 < 32 then 
setData(element,"onCrossMap","yes") 
outputChatBox("* #00BCCD≈ - ( #555555Derby #00BCCD} :الرجاء الانتظار ..",element,255,255,0,true) 
setD(element) 
spawnOnMap(element) 
else 
outputChatBox("* #00BCCD≈ - ( #555555Derby #00BCCD) : لم يبق مكان بالديـربي الرجآء, الانتظآر الديربي القآدم,",element,0,255,0,true) 
end 
end 
end) 
  
function checkDuel(p) 
if tostring(getElementData(resourceRoot,"map")) == "yes" then 
outputChatBox("* #ff0000≈ #ffffff[#ff0000 DerbySystem #ffffff ] #00BCCD≈",p,255,255,0,true) 
elseif tostring(getElementData(resourceRoot,"map")) == "no" then 
outputChatBox("* #0000000ˆ - ( #555555Derby #000000) #ffffff: الرجآء الانتظآر,حتى يبدء الديربي",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 ) ) 
outputChatBox("تبقـى: "..math.ceil(total)..":"..seconds.."") 
end 
end 
end 
return tostring(getElementData(resourceRoot,"map")) 
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 setD(element) 
setElementDimension(element,30) 
end 
function spawnOnMap(p) 
count = countPlayersOnDerby() 
spawned = "no" 
for i,data in pairs(spawns)do 
if tonumber(data.id) == tonumber(count) then 
spawned = "yes" 
v = createVehicle(411,data.x,data.y,data.z,data.rx,dat a.ry,data.rz) 
setElementDimension(v,30) 
setElementFrozen(v,true) 
setElementData(v,"creatorDerby","yes") 
break 
end 
end 
if spawned == "no" then 
randomS = math.random("1","32") 
for i,data in pairs(spawns)do 
if tonumber(data.id) == tonumber(randomS) then 
v = createVehicle(411,data.x,data.y,data.z,data.rx,dat a.ry,data.rz) 
setElementDimension(v,30) 
setElementFrozen(v,true) 
setElementData(v,"creatorDerby","yes") 
break 
end end 
end 
toggleControl(p,"enter_exit", false ) 
warpPedIntoVehicle(p,v) 
setCameraTarget(p,p) 
outputChatBox(getPlayerName(p)..' دخل إلى الديربي', root, 255, 0 ,0, true) 
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 eventCheck () 
if checkExistPlrOnDuel(source) then 
toggleControl(source,"enter_exit",true ) 
setData(source,"onCrossMap","no") 
checkEnd() 
end 
end 
addEventHandler("onPlayerWasted",getRootElement(), eventCheck) 
addEventHandler("onPlayerQuit",getRootElement(),ev entCheck) 
addEventHandler("onPlayerJoin",getRootElement(),fu nction() 
outputChatBox("",source,255,255,0,true) 
setData(source,"onCrossMap","no") 
end) 
for i,p in pairs(getElementsByType("player"))do 
setData(p,"onCrossMap","no") 
end 
function checkEnd() 
c = 0 
for i,p in pairs(getElementsByType("player"))do 
if checkExistPlrOnDuel(p) then 
c = c+1 
winner = p 
end end 
if tonumber(c) == 1 then 
givePlayerMoney(winner,tonumber(getElementData(res ourceRoot,"winMoney"))) 
n = string.gsub(getPlayerName(winner), "#%x%x%x%x%x%x", "") 
outputChatBox("* #ff0000≈[ #ff0000 " .. n .. " #FF9700 Won the Derby and win#00FF00 " .. tonumber(getElementData(resourceRoot,"winMoney")) .. "$ ##ff0000]≈",getRootElement(),255,255,0,true) 
setElementData(resourceRoot,"map","no") 
endDerby() 
_mytimer = setTimer(newDuel,60*1000*5,1) 
end 
end 
function newDuel() 
for i,p in pairs(getElementsByType("player"))do 
setData(p,"onCrossMap","no") 
end 
setElementData(resourceRoot,"map","prestart") 
outputChatBox("* #00BCCD≈ - ( #555555Derby #00BCCD) : لدخول الديربي,اكتب في الشـآت ديربي.",getRootElement(),255,255,0,true) 
RMoney = math.random("50000","300000") 
setElementData(resourceRoot,"winMoney",tonumber(RM oney)) 
outputChatBox("* #00BCCD≈ - ( #555555Derby #00BCCD) : سيحصل الفآئز في الديربي على #00FF00|" .. RMoney .. "|$",getRootElement(),0,255,0,true) 
setTimer(checkPlrs,30000,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,"map","yes") 
for i,p in pairs(getElementsByType("player"))do 
if checkExistPlrOnDuel(p) then 
setElementCollisionsEnabled(getPedOccupiedVehicle( p),true) 
outputChatBox("* #00BCCD≈ - ( #555555Derby #00BCCD) : لقد بدآء الديربي , يمكنك الانطلاق",p,0,255,0,true) 
setElementFrozen(getPedOccupiedVehicle(p),false) 
end end 
else 
endDerby() 
setElementData(resourceRoot,"map","no") 
outputChatBox("* #00BCCD≈ - ( #555555Derby #00BCCD) : لم يبدآء الديربي, لعدم توفر الاعبين",getRootElement(),255,255,0,true) 
_mytimer = setTimer(newDuel,60*1000*5,1) 
end 
end 
_mytimer = setTimer(newDuel,3000,1) 
function onStartLoadSpawns () 
file = fileOpen("map.map") 
localFile = fileOpen("map.xml") 
fileWrite(localFile,"") 
data = fileRead(file,999999) 
fileWrite(localFile,data) 
fileClose(localFile) 
xml = xmlLoadFile("map.xml") 
c = 0 
for i,data in pairs(xmlNodeGetChildren(xml)) do 
if xmlNodeGetName(data) == "spawnpoint" then 
c = c+1 
v,xx,yy,zz,rxx,ryy,rzz = xmlNodeGetAttribute(data,"vehicle"),xmlNodeGetAttr ibute(data,"posX"),xmlNodeGetAttribute(data,"posY" ),xmlNodeGetAttribute(data,"posZ"),xmlNodeGetAttri bute(data,"rotX"),xmlNodeGetAttribute(data,"rotY") ,xmlNodeGetAttribute(data,"rotZ") 
table.insert(spawns,{id = c,model = v,x = xx,y = yy,z = zz,rx = rxx,ry = ryy,rz = rzz}) 
end 
end 
for i,data in pairs(xmlNodeGetChildren(xml)) do 
if xmlNodeGetName(data) == "object" then 
m,xx,yy,zz,rxx,ryy,rzz = xmlNodeGetAttribute(data,"model"),xmlNodeGetAttrib ute(data,"posX"),xmlNodeGetAttribute(data,"posY"), xmlNodeGetAttribute(data,"posZ"),xmlNodeGetAttribu te(data,"rotX"),xmlNodeGetAttribute(data,"rotY"),x mlNodeGetAttribute(data,"rotZ") 
object = createObject(m,xx,yy,zz,rxx,ryy,rzz) 
setElementDimension(object,30) 
end 
end 
end 
setTimer(onStartLoadSpawns,3000,1) 
function endDerby() 
for i,p in pairs(getElementsByType("player"))do 
if checkExistPlrOnDuel(p) then 
killPed(p) 
end end 
for i,v in pairs(getElementsByType("vehicle"))do 
if getElementData(v,"creatorDerby") then 
destroyElement(v) 
end end 
end 
setTimer(function() 
for i,p in pairs(getElementsByType("player"))do 
sea(p) 
resetHan(p) 
checkVeh(p) 
checkModel(p) 
end 
end,1000,0) 
outputChatBox("",getRootElement(),255,255,0,true) 
function sea(p) 
if checkExistPlrOnDuel(p) then 
x,y,z = getElementPosition(p) 
if tonumber(z) <= 0 then 
killPed(p) 
end 
end 
end 
function checkVeh(p) 
if (tonumber(getElementDimension(p)) == 30) and not (isPedInVehicle(p))then 
killPed(p) 
end 
end 
function resetHan(p) 
if checkExistPlrOnDuel(p) then 
setVehicleHandling (getPedOccupiedVehicle(p), true ) 
end 
end 
function checkModel(p) 
if checkExistPlrOnDuel(p) and isPedInVehicle(p) then 
if tonumber(getElementModel(getPedOccupiedVehicle(p)) ) ~= 411 then 
killPed(p) 
end end 
end  

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...