Hallo,
Ich habe eine Medic Fraktion für Vio Ex. erstellt.
Nun habe ich das Problem, wenn ein Spieler unter 10% Leben hat, wird nicht die gewünschte Animation ausgeführt...
Lua
MedikitIcon = createPickup ( -2695.672, 638.355, 14.455, 3, 1240, 50 )
function MedikitIconHit ( player )
outputChatBox ( "Tippe /medikit um Medikits fuer die Heilung von Spielern mitzunehmen!", player, 125, 0, 0 )
end
addEventHandler ( "onPickupHit", MedikitIcon, MedikitIconHit )
function medikit_func ( player )
if isMedic(player) then
if getDistanceBetweenPoints3D ( -2695.672, 638.355, 14.455, getElementPosition ( player ) ) < 5 then
setElementData ( player, "heilenaktiviert", 2 )
outputChatBox ( "Du hast Medikits mitgenommen!", player, 125, 0, 0 )
else
outputChatBox( "Du bist zu weit entfernt!", player, 125, 0, 0)
end
else
outputChatBox( "Du bist kein Arzt!", player, 125, 0, 0)
end
end
addCommandHandler ( "medikit", medikit_func )
function arzt_func ( player, cmd, target )
local target = getPlayerFromName(target)
if target ~= player then
if isMedic ( player ) and target then
if getElementData( player,"heilenaktiviert") == 2 then
local xx,yy,zz = getElementPosition( target )
if getDistanceBetweenPoints3D ( xx, yy, zz, getElementPosition ( player ) ) < 5 then
local armor = 70
setPedArmor ( target, armor )
setElementHealth ( target, 100 )
outputChatBox ( "Der Sanitaeter "..getPlayerName ( player ).." hat dich geheilt!", target, 255, 212, 85 )
outputChatBox ( "Du hast "..getPlayerName(target).." geheilt!", player, 255, 212, 85 )
setElementFrozen(player, true)
setElementFrozen(target, true)
setTimer ( function()
setElementFrozen(player, false)
end, 2000, 1 )
setTimer ( function()
setElementFrozen(target, false)
end, 2000, 1 )
else
outputChatBox( "Der Spieler ist zu weit entfernt!", player, 125, 0, 0)
end
else
outputChatBox( "Du hast keine Medikits!", player, 125, 0, 0)
end
else
outputChatBox( "Du bist kein Arzt oder hast keinen Spielernamen angegeben!", player, 125, 0, 0)
end
else
outputChatBox ( "Du kannst dich nicht selber heilen!", player, 125, 0, 0)
end
end
addCommandHandler ( "heilen", arzt_func )
local function wiederbelebe_player(sanitaeter, thePlayer)
if getElementHealth(thePlayer) < 12 then
local x, y, z = getElementPosition(thePlayer)
setTimer(function()
spawnPlayer(thePlayer, x, y, z, 0, getElementModel(thePlayer), getElementInterior(thePlayer), getElementDimension(thePlayer))
fadeCamera(thePlayer, true)
outputChatBox("Du wurdest von Sanitaeter "..getPlayerName(sanitaeter).." wiederbelebt!", thePlayer, 42, 170, 255 )
outputChatBox("Du hast "..getPlayerName(thePlayer).." wiederbelebt! Er hat dir dafuer 500€ gegeben!", sanitaeter, 42, 170, 255 )
toggleAllControls ( thePlayer, true )
setElementHealth ( thePlayer, 20 )
showChat ( thePlayer, true )
setCameraTarget( thePlayer )
if(getPlayerMoney(thePlayer) > 500) then
takePlayerSaveMoney ( thePlayer, 500 )
takePlayerSaveMoney ( sanitaeter, +500 )
else
outputChatBox(""..getPlayerName(thePlayer).." konnte dich leider nicht bezahlen!", sanitaeter, 42, 170, 255 )
end
end
else
end
end
local m_mark = {}
function wennunter10prozenthat()
local thePlayer = source
if getElementHealth(thePlayer) < 12 then
local x, y, z = getElementPosition(thePlayer)
m_mark[thePlayer] = createMarker(x, y, z, "corona", 1.0, 0, 0, 0, 0)
setElementData(m_mark[thePlayer], "player", thePlayer)
setPedAnimation(thePlayer, "WUZI", "CS_Dead_Guy", -1, true, false, false)
setElementFrozen(thePlayer, true)
for index, player in pairs(getElementsByType("player")) do
if isMedic ( player ) or isStateFaction(player) ( player ) then
outputChatBox ( "Notruf: Uns wurde ein schwer Verletzter in "..getZoneName ( x, y, z ).." gemeldet!", player, 42, 170, 255 )
xa, ya, za = getElementPosition (source)
local zahl = math.random(1,1000)
numbers[zahl] = createBlip (xa, ya, za, 41)
end
end
addEventHandler("onMarkerHit", m_mark[thePlayer], function(hitElement)
if(thePlayer == hitElement) or getElementHealth(thePlayer) < 10 then return end
local jailtime = vioGetElementData ( thePlayer, "jailtime" )
if( isMedic(hitElement) == true) then
local thePlayer = getElementData(source, "player")
if(isElement(thePlayer)) then
toggleAllControls(hitElement, false)
setPedAnimation(hitElement, "MEDIC", "CPR", -1, true, false, false)
setCameraTarget( thePlayer )
setTimer(function()
wiederbelebe_player(hitElement, thePlayer)
toggleAllControls(hitElement, true)
setPedAnimation(hitElement)
setPedAnimation(thePlayer)
end, 5000, 1)
end
destroyElement(m_mark[thePlayer])
destroyElement (numbers[zahl])
else
outputChatBox("Der Spieler "..getPlayerName(thePlayer).." braucht unbedingt Hilfe!", hitElement, 42, 170, 255 ) --wen z.b. nen zivi über seine leiche geht
end
end)
end)
addEventHandler ( "onPlayerDamage", getRootElement (), wennunter10prozenthat) --wenn der ein spieler was an leben verliert, wird überprüft wieviel er noch hat!
setTimer ( wennunter10prozenthat, 100, 1 )
Alles anzeigen