مدري صح او غلط
بس جربء
setElementData(resourceRoot,"map","no")
setElementData(resourceRoot,"winMoney","0")
addEventHandler("onPlayerChat",getRootElement(),function(message)
if tostring(message) == "ديربي" and checkDuel(source) == "prestart" and ( not checkExistPlrOnDuel(source) ) then
if getAccountData(getPlayerAccount(source),'forzaban') then
if string.find(text,"ديربي") then
return end
end
online = countPlayersOnDerby()
if tonumber(online)+1 < 15 then
setData(source,"onCrossMap","yes")
setD(source)
spawnOnMap(source)
else
outputChatBox("#ff0000-[ #ffffffForzaMission #ff0000]-:#FF0000 لم يتبق مكان في الفورزا الرجاء الانتظار",source,0,255,0,true)
end
end end)
function checkDuel(p)
if tostring(getElementData(resourceRoot,"map")) == "yes" then
--outputChatBox("#ff0000-[ #ffffffForzaMission #ff0000]-:#FF0000 ",p,255,255,0,true)
elseif tostring(getElementData(resourceRoot,"map")) == "no" then
outputChatBox("#ff0000-[ #ffffffForzaMission #ff0000]-:#FF0000 الرجاء الانتظار حتى يبدأ الفورزا",p,255,255,0,true)
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,40)
end
function spawnOnMap(p)
count = countPlayersOnDerby()
spawned = "no"
spawned = "yes"
setElementDimension(source,40)
setElementFrozen(source,true)
setElementData(source,"creatorForza","yes")
break
if spawned == "no" then
randomS = math.random("1","32")
setElementDimension( source, 40 )
setElementFrozen( source, true )
setElementData( source, "creatorForza", "yes" )
break
end
toggleControl(p,"enter_exit", false )
setCameraTarget(p,p)
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(),eventCheck)
addEventHandler("onPlayerJoin",getRootElement(),function()
exports.killmessages:outputMessage("",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(resourceRoot,"winMoney")))
n = string.gsub(getPlayerName(winner), "#%x%x%x%x%x%x", "")
exports.guimessages:outputServer( root,"#ff0000****************************************************",255,255,0,true)
exports.guimessages:outputServer( root," ",255,255,0,true)
exports.guimessages:outputServer( root,"#ff0000-[ #ffffffForzaMission #ff0000]-:#FF0000 في مهمة الفورزا" .. n .. "لقد فاز اللاعب ",root,255,255,0,true)
exports.guimessages:outputServer( root," ",255,255,0,true)
exports.guimessages:outputServer( root,"#ff0000****************************************************",root,255,255,0,true)
setElementData(resourceRoot,"map","no")
endDerby()
setTimer(newDuel,1000,1)
end
end
function newDuel()
for i,p in pairs(getElementsByType("player"))do
setData(p,"onCrossMap","no")
end
setElementData(resourceRoot,"map","prestart")
exports.guimessages:outputServer( root,"#ff0000****************************************************",255,255,0,true)
exports.guimessages:outputServer( root," ",255,255,0,true)
exports.guimessages:outputServer( root,"#ff0000-[ #ffffffForzaMission #ff0000]-:#FF0000 لدخول الفورزا اكتب في الشات دخول",255,255,0,true)
exports.guimessages:outputServer( root," ",255,255,0,true)
exports.guimessages:outputServer( root,"#ff0000****************************************************",255,255,0,true)
RMoney = math.random("50000","300000")
setElementData(resourceRoot,"winMoney",tonumber(RMoney))
setTimer(checkPlrs,60000,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("#ff0000-[ #ffffffForzaMission #ff0000]-:#FF0000 لقد بدأ الفورزا يمكنكم الانطلاق",p,0,255,0,true)
setElementFrozen(getPedOccupiedVehicle(p),false)
end end
else
endDerby()
setElementData(resourceRoot,"map","no")
exports.guimessages:outputServer( root,"#ff0000-[ #ffffffForzaMission #ff0000]-:#FF0000 لم يبدأ الفورزا لعدم توفر لاعبين",255,255,0,true)
setTimer(newDuel,60000,1)
end
end
setTimer(newDuel,60000,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
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"),xmlNodeGetAttribute(data,"posX"),xmlNodeGetAttribute(data,"posY"),xmlNodeGetAttribute(data,"posZ"),xmlNodeGetAttribute(data,"rotX"),xmlNodeGetAttribute(data,"rotY"),xmlNodeGetAttribute(data,"rotZ")
object = createObject(m,xx,yy,zz,rxx,ryy,rzz)
setElementDimension(object,40)
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)) == 40) 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))) ~= 502 then
killPed(p)
end end
end