Hallo, ich habe nun noch ein Problem also ich möchte es so ahben das meine function ausgeführt wird wenn der Spieler der Survivor ist.
Lua
addEvent("onPlayerDestructionDerbyWin",true)
addEventHandler("onPlayerDestructionDerbyWin",getRootElement(),
function ddplayerwin (winner)
--if #activePlayers >= minPlayers then
activePlayers = getElementsByType("player")
--Win as last survivor (saver than old method)
local account = getPlayerAccount(winner)
if not (isGuestAccount(account)) then
local pointsHave = getAccountData(account, "points")
local cashHave = getAccountData(account, "cash")
local ddswon = getAccountData(account, "ddswon")
local ddsplayed = getAccountData(account, "ddsplayed")
local points = round(calcPoints(1))
local cash = calcCash(1)
outputChatBox("* #FFFFFF"..getPlayerName(winner).."#FFB200 won as last player alive! Total DDs won: "..tostring(ddswon+1).." of "..tostring(ddsplayed+1).." ["..tostring(calcRatio(ddswon+1, ddsplayed+1)).."%]",getRootElement(),unpack(scriptcol[1]))
outputChatBox("* Earned points: "..tostring(points).." Total: "..tostring(round(pointsHave+points)).." Cash earned: "..tostring(cash).."$ Total: "..tostring(cashHave+cash).."$",getRootElement(),unpack(scriptcol[1]))
addStat(account,"ddsplayed",1)
addStat(account,"ddswon",1)
addStat(account,"points",points)
addStat(account,"cash",cash)
else
outputChatBox("* #FFFFFF"..getPlayerName(winner).."#FFB200 won as last player alive!",getRootElement(),unpack(scriptcol[1]))
end
--end
end)
Alles anzeigen
Da hab ich es versucht mit call, aber in der console steht dann
Console : [2011-07-17 16:25:04] ERROR: race/modes/destructionderby.lua:70: call: failed to call 'LTstats:ddplayerwin'
Script:
Lua
function DestructionDerby:handleFinishActivePlayer(player)
-- Update ranking board for player being removed
if not self.rankingBoard then
self.rankingBoard = RankingBoard:create()
self.rankingBoard:setDirection( 'up', getActivePlayerCount() )
end
local timePassed = self:getTimePassed()
self.rankingBoard:add(player, timePassed)
-- Do remove
finishActivePlayer(player)
-- Update ranking board if one player left
local activePlayers = getActivePlayers()
if #activePlayers == 1 then
self.rankingBoard:add(activePlayers[1], timePassed)
showMessage(getPlayerName(activePlayers[1]) .. ' is the final survivor and won!', 0, 204, 255)
call(getResourceFromName("LTstats"), "ddplayerwin")
end
end
Alles anzeigen
In der Meta.xml hab ich es so Angegeben
Meta : <export function="ddplayerwin" type="server"/>
Oder kann man das i wie mitTriggerEvent amchen ?
Wie kann ich es so amcehn das wenn die meldung ...is the final survivor kommt das dann die function aus dem anderen Script ausgeführt wird.
Über hilfe würde ich mich Freuen.