السلام عليكم
وش الخطا هنا مايجي الماركر
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