Server Side
OutMessage , aValue_ , aVehicles_ , aRandom = outputChatBox , false , { } , { { x , y , z } , { x , y , z } , { x , y , z } }
aTable_ , aMarker , aMarkerWin = { } , createMarker ( x , y , z , 'corona' , 1 , 255 , 255 , 255 ) , createMarker ( x , y , z , 'corona' , 1 , 255 , 255 , 255 )
setElementDimension ( aMarkerWin , 10 )
function isPlayerInMission ( aPlayer )
for _ , Index in ipairs ( aTable_ ) do
if ( Index == aPlayer ) then
return true
else
return false
end
end
end
function RemovePlayer_ ( aPlayer )
for aValue1 , aValue2 in ipairs ( aTable_ ) do
if ( aValue2 == aPlayer ) then
table.remove ( aTable_ , aValue1 )
end
end
end
function OpenMission_ ( )
aValue_ = true
OutMessage ( 'True' )
end
function StartMission_ ( )
aValue_ = false
if ( #aTable_ > 0 ) then
for _ , aIndex in ipairs ( aTable_ ) do
triggerClientEvent ( aIndex , 'Trigger:CollidableWith' , aIndex )
end
OutMessage ( 'False' )
else
OutMessage ( 'Failed' )
end
end
addEventHandler ( 'onMarkerHit' , aMarker ,
function ( aPlayer )
aState , aOccupant = ( aValue_ == true ) , ( isPedInVehicle ( aPlayer ) )
if ( getElementType ( aPlayer ) == 'player' and not aOccupant and aState ) then
setElementInterior ( aPlayer , 0 )
setElementDimension ( aPlayer , 10 )
fadeCamera ( aPlayer , false )
setElementFrozen ( aPlayer , true )
aVehicles_[aPlayer] = createVehicle ( 411 , unpack ( aRandom [ math.random ( #aRandom ) ] ) )
table.insert ( aTable_ , aPlayer )
setTimer ( function ( aPlayer )
fadeCamera ( aPlayer , true )
warpPedIntoVehicle ( aPlayer , aVehicles_[aPlayer] )
setElementFrozen ( aVehicles_[aPlayer] , true )
toggleControl( aPlayer, 'enter_exit', false )
setElementFrozen ( aPlayer , false )
end , 2500 , 1 , aPlayer )
else
OutMessage ( '[Race] : '..( not aState and 'Donot Open' or aOccupant and 'Exit' )..'' , aPlayer )
end
end )
addEventHandler ( 'onMarkerHit' , aMarkerWin ,
function ( aPlayer )
if ( getElementType ( aPlayer ) == 'player' and isPedInVehicle ( aPlayer ) ) then
for _ , Players in ipairs ( getElementsByType ( 'player' ) ) do
if ( isPlayerInMission ( Players ) ) then
fadeCamera ( Players , false )
setElementFrozen ( getPedOccupiedVehicle ( Players ) , true )
RemovePlayer_ ( Players )
setTimer ( function ( Players )
if ( isPedInVehicle ( Players ) ) then destroyElement ( getPedOccupiedVehicle ( Players ) ) end
setElementPosition ( Players , x , y , z + math.random ( 5 ) )
setElementDimension ( Players , 0 )
fadeCamera ( Players , true )
end , 2000 , 1 , Players )
OutMessage ( '[Race] : '..getPlayerName ( aPlayer )..' Has Won ' , root )
givePlayerMoney ( aPlayer , 100000 )
end
end
end
end )
addEventHandler ( 'onPlayerWasted' , getRootElement ( ) ,
function ( )
if ( isPlayerInMission ( source ) ) then
RemovePlayer_ ( source )
OutMessage ( '[Race] : '..getPlayerName ( source )..' Killed in a Mission ( '..#aTable_..' in Mission )' , root )
if ( #aTable_ == 0 ) then
OutMessage ( '[Race] : a Mission Has Failed' , root )
end
end
end )
addEventHandler ( 'onPlayerQuit' , getRootElement ( ) ,
function ( )
if ( isPlayerInMission ( source ) ) then
RemovePlayer_ ( source )
OutMessage ( '[Race] : '..getPlayerName ( source )..' Quit ( '..#aTable_..' in Mission )' , root )
if ( #aTable_ == 0 ) then
OutMessage ( '[Race] : a Mission Has Failed' , root )
end
end
end )
Client Side
addEvent ( 'Trigger:CollidableWith' , true )
addEventHandler ( 'Trigger:CollidableWith' , getRootElement ( ) ,
function ( )
for _,Vehicles in ipairs ( getElementsByType ( 'vehicle' , resourceRoot ) ) do
setElementCollidableWith ( Vehicles , getPedOccupiedVehicle ( localPlayer ) , false )
setElementFrozen ( Vehicles , false )
end
end )
فنكشن
StartMission_ ( )
يبدء المهمه
و
OpenMission_ ( )
لفتح المهمه و شكرا ههاي
بانتظار الانتقادات ض2