Ok Niquel j'ai su tout régler , tout fonctionne parfaitement sauf 1 détails , Le dernier survivant ne gagne pas d'argent voici le code
--------------
-- Race winner
--------------
addEvent("onPlayerDestructionDerbyWin",true)
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(),
function (winner)
if getPlayerCount() >= 3 then
local cashToWin = moneyEarnPart*getPlayerCount()
if (tonumber(loadPlayerData(winner,"level")) >= 26) then
cashToWin = cashToWin*1.1
end
local playerCash = loadPlayerData(winner,"cash")
savePlayerData(winner,"cash",playerCash +cashToWin)
local playerCash = loadPlayerData(winner,"cash")
outputChatBox ("#0000ff* #FFFFFF" .. getPlayerName(winner) .." #FFFFFFhas won! He/She gets $" .. tostring(cashToWin) .."#0000ff!",getRootElement(),255,255,255,true)
return
else
outputChatBox("#0000ff* #FFFFFFNot enough players to earn money - #ABCDEF3 #FFFFFFrequired.",winner,255,255,255,true)
end
callClientFunction(winner,"deathReset")
callClientFunction(winner,"playWinSound")
local thePlayer = winner
local newAmount = cashToWin
totalMoneyEarnedAdd(thePlayer,cashToWin)
scoreboardRefresh(thePlayer)
refreshStats(thePlayer)
progressBarUpdate(thePlayer)
totalMoneyAchievements(thePlayer)
end)
-------------------
-- Other race ranks
-------------------
function earnMoney(thePlayer)
local position = getAliveRacePlayers()
if not (position <= 0) then
if getPlayerCount() >= 2 then
local pAlive = getAliveRacePlayers()
local pDead = getDeadRacePlayers()
local maxCash = 150*(pAlive+pDead) -- Total cash available to earn.
local portion = 1
local finalCash = 1
if not (position == 0) then
portion = math.ceil(maxCash/(pAlive+pDead-3)) -- The amount to multiply by the number of dead players to later return the money value.
finalCash = math.ceil(portion*(pDead)) -- Calculate the final money value.
else
finalCash = maxCash
end
local playerCash = loadPlayerData(thePlayer,"cash")
outputChatBox("#0000ff* #FFFFFFTu as gagner $" .. finalCash .. "!",thePlayer,255,255,255,true)
savePlayerData(thePlayer,"cash",playerCash +finalCash)
outputDebugString("Final cash for player "..getPlayerName(thePlayer)..": "..finalCash)
totalMoneyEarnedAdd(thePlayer,finalCash,finalCash)
else
outputChatBox("#0000ff* #FFFFFFPas assez de joueur pour gagner de l'argent - #ABCDEF2 #FFFFFFrequis.",thePlayer,255,255,255,true)
return
end
scoreboardRefresh(thePlayer)
refreshStats(thePlayer)
progressBarUpdate(thePlayer)
totalMoneyAchievements(thePlayer)
end
end
function checkKBA()
callClientFunction(source,"getKBA")
end
addEventHandler ("onPlayerWasted",getRootElement(),checkKBA)
function resetKBA()
callClientFunction(source,"resetKBA")
end
addEventHandler("onNotifyPlayerReady",getRootElement(),resetKBA)