Moin,
bin gerade dabei die Medicfraktion ins Extendedscript einzufügen was auch ganz gut klappt bis auf dass auf der map nicht angezeigt wird wo der tote sich befindet. Kann mir wer den Fehler nennen?
Lua
local m_pick = {}
local m_mark = {}
local m_blip = {}
function medicdeleteBlip_func()
local thePlayer = source
setElementVisibleTo ( m_blip[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_mark[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_pick[thePlayer], getRootElement(), false )
destroyElement(m_pick[thePlayer])
destroyElement(m_mark[thePlayer])
destroyElement(m_blip[thePlayer])
end
local deathReasons = {
[19] = "Rakete",
[37] = "Verbrannt",
[49] = "Gerammt",
[50] = "Rotorblätter",
[51] = "Explosion",
[52] = "Driveby",
[53] = "Ertrunken",
[54] = "Gestürzt",
[55] = "Unbekannt",
[56] = "Faust",
[57] = "Waffe",
[59] = "Panzer-Granate",
[63] = "Fahrzeugexplosion"
}
local revivetimer = {}
function playerdeath ( ammo, killer, weapon, part )
local player = source
vioGetElementData ( player, "alcoholFlushPoints", 0 )
vioGetElementData ( player, "weedFlushPoints", 0 )
vioGetElementData ( player, "koksFlushPoints", 0 )
vioGetElementData ( player, "cigarettFlushPoints", 0 )
if part then
if part == 9 then
setPedHeadless ( player, true )
end
end
if getElementData ( player, "In_DMArena" ) == 1 then
else
if isKeyBound ( player, "enter_exit", "down", heliCoSeat ) then
heliCoSeat ( player )
end
if not vioGetElementData ( player, "isInHighNoon" ) and ( not getElementData ( player, "In_DMArena" ) or getElementData ( player, "In_DMArena" ) == 0 ) then
vioGetElementData ( player, "hunger", 40 )
--hideTruckMarkers ( player )
if vioGetElementData ( player, "callswith" ) then
if vioGetElementData ( player, "callswith" ) ~= "none" then
local caller = getPlayerFromName ( vioGetElementData ( player, "callswith" ) )
if caller then
vioGetElementData ( caller, "callswith", "none" )
vioGetElementData ( caller, "call", false )
vioGetElementData ( caller, "calls", "none" )
vioGetElementData ( caller, "callswith", "none" )
vioGetElementData ( caller, "calledby", "none" )
outputChatBox ( "*Knack* - Die Leitung ist tod!", caller, 125, 0, 0 )
end
vioGetElementData ( player, "callswith", "none" )
vioGetElementData ( player, "call", false )
vioGetElementData ( player, "calls", "none" )
vioGetElementData ( player, "callswith", "none" )
vioGetElementData ( player, "calledby", "none" )
end
end
if vioGetElementData ( player, "isInDrivingSchool" ) then
cancelDrivingSchoolPlayer ( player )
end
if getPedOccupiedVehicle ( player ) then
removePedFromVehicle ( player )
end
if isElement ( killer ) and killer ~= player and getPlayerName ( killer ) and weapon and not isOnStateDuty ( killer ) then
outputLog ( "[KILL]: "..getPlayerName ( killer ).." hat "..getPlayerName(player).." mit Waffe "..weapon.." erledigt!", "death" )
if fraktion == 0 or isMedic(player) or isReporter(player) or isStateFaction(player) then
local x, y, z = getElementPosition ( player )
local killShape = createColSphere ( x, y, z, 10 )
local elementsInKillSphere = getElementsWithinColShape ( killShape, "player" )
destroyElement ( killShape )
local x1, y1, z1 = getElementPosition ( player )
local x2, y2, z2 = getElementPosition ( killer )
local location = getZoneName ( x1, y1, z1 )
local city = getZoneName ( x1, y1, z1, true )
--[[for key, ShapePlayer in ipairs ( elementsInKillSphere ) do
if vioGetElementData ( ShapePlayer, "handsuped" ) or getElementData ( ShapePlayer, "tiedsecur") or isPedDead ( ShapePlayer) then
elseif killer == ShapePlayer then
else
outputChatBox ( "In deiner Nähe ist ein Mord geschehen! Du kannst ihn mit /mord melden!", ShapePlayer, 225, 225, 0 )
vioGetElementData (ShapePlayer, "killedPlayer", getPlayerName(player))
vioGetElementData (ShapePlayer, "killerPlayer", attacker)
vioGetElementData (ShapePlayer, "killedLocation", location)
vioGetElementData (ShapePlayer, "killedCity", location)
vioGetElementData (ShapePlayer, "SawMord", true)
mordablauftimer = setTimer (mordnichtgemeldet, 300000, 1, ShapePlayer)
if vioGetElementData (killer, "Mordgesehen") == true then
else
vioGetElementData (killer, "Mordgesehen", true)
end
if isOnStateDuty(ShapePlayer) then
vioGetElementData (killer, "lastcrime", "mord" )
moerdtimer = setTimer (moerdzuruck, 300000, 1, killer)
end
end
end]]
end
elseif killer == false and weapon then
local grund = deathReasons[weapon]
outputLog ( "[TOD]: "..getPlayerName(player).." ist gestorben. Grund: "..grund..".", "death" )
end
vioGetElementData ( player, "isinairportmission", false )
vioGetElementData ( player, "readyequip", false )
setPlayerNametagColor ( player, 200, 200, 200 )
vioGetElementData ( player, "isInRace", false )
unbindKey ( player, "mouse_wheel_up", "down", weaponsup )
unbindKey ( player, "mouse_wheel_down", "down", weaponsdown )
unbindKey ( player , "g", "down", rein )
unbindKey ( player, "enter", "down", eject )
unbindKey ( player, "rshift", "down", helidriveby )
unbindKey ( player, "1", "down", tazer_func )
vioGetElementData ( player, "heaventime", 60 )
setTimer ( endfade, 5000, 1, player )
local hitmanbonustime = 0
vioGetElementData ( player, "hitmandeath", false )
if isHitman ( killer ) then
local contract = vioGetElementData ( player, "contract" )
if contract > 0 then
vioGetElementData ( player, "hitmandeath", true )
local hitmanbonustime = 30000
vioGetElementData ( player, "contract", 0 )
local HitmanFamkasse = tonumber(MySQL_GetString("fraktionen", "DepotGeld", "Name LIKE 'Mafia'"))
local HitmanFamkasseNew = HitmanFamkasse + contract
MySQL_SetString("fraktionen", "DepotGeld", CamorraFamkasseNew, "Name LIKE 'Mafia'")
--vioGetElementData ( killer, "money", tonumber ( vioGetElementData ( killer, "money" ) ) + contract )
-- givePlayerMoney ( killer, contract )
triggerClientEvent ( killer, "HudEinblendenMoney", getRootElement() )
playSoundFrontEnd ( killer, 40 )
outputChatBox ( "Du wurdest Opfer eines Auftragmordes! Es waren "..contract.."$ Kopfgeld ausgesetzt!", player, 200, 0, 0 )
outputChatBox ( "Ziel erledigt. Belohnung: "..contract.."$.", killer, 0, 200, 0 )
outputLog ( "[HITMAN]: "..getPlayerName ( killer ).." hat "..getPlayerName(player).." erledigt! Belohnung: "..contract.."$", "bad" )
end
end
revivetimer[player] = setTimer ( revive, 65000+hitmanbonustime, 1, player )
if vioGetElementData ( source, "isInArea51Mission" ) then
setPlayerOutOfArea51 ( source )
outputChatBox ( "Mission gescheitert!", source, 125, 0, 0 )
end
if killer and killer ~= player and getElementType ( killer ) == "player" then
local kills = tonumber ( vioGetElementData ( killer, "kills" ) )
vioGetElementData ( killer, "kills", kills + 1 )
blackListKillCheck ( player, killer, weapon )
--whiteListKillCheck ( player, killer )
if isOnDuty ( killer ) or isArmy ( killer ) then
if vioGetElementData ( player, "wanteds" ) == 0 then
vioSetElementData ( killer, "boni", vioGetElementData ( killer, "boni" )-wantedprice*3 )
outputChatBox ( "Du hast einen Zivilisten erledigt - dir werden "..(wantedprice*3).." $ bei der naechsten Abrechnung abgezogen!", killer, 125, 0, 0 )
else
local strafe = vioGetElementData ( player, "wanteds" ) * wantedprice
local wanteds = vioGetElementData ( player, "wanteds" )
local time = vioGetElementData ( player, "wanteds" ) * jailtimeperwanted * 1.2
vioSetElementData ( player, "wanteds", 0 )
setPlayerWantedLevel ( player, 0 )
if tonumber(strafe) > vioGetElementData ( player, "money" ) then
takePlayerMoney ( player, vioGetElementData ( player, "money" ) )
triggerClientEvent ( player, "HudEinblendenMoney", getRootElement() )
vioSetElementData ( player, "money", 0 )
else
vioSetElementData ( player, "money", tonumber(vioGetElementData ( player, "money" )) - tonumber(strafe) )
takePlayerMoney ( player, tonumber(strafe) )
triggerClientEvent ( player, "HudEinblendenMoney", getRootElement() )
end
vioSetElementData ( player, "jailtime", time )
vioSetElementData ( player, "bail", 0 )
local grammafix = " ohne Kaution "
outputChatBox ( "Du wurdest von Polizist "..getPlayerName(killer).." erledigt und"..grammafix.."fuer "..strafe.." $ und "..time.." Minuten eingesperrt!", player, 0, 125, 0 )
vioSetElementData ( killer, "boni", vioGetElementData ( killer, "boni" )+wanteds*(wantedprice/3) )
outputChatBox ( "Du hast "..getPlayerName ( player ).." erledigt und erhaelst bei der naechsten Abrechnung "..wanteds*(wantedprice/3).." $ Bonus!", killer, 0, 125, 0 )
end
end
end
if isKeyBound ( player, "mouse3", "up", explodeTerror, player ) then
explodeTerror ( player )
end
vioGetElementData ( player, "isinRob", false )
vioGetElementData ( player, "deaths", vioGetElementData ( player, "deaths" ) + 1 )
setPlayerNametagShowing ( player, true )
if not vioGetElementData ( player, "isInHighNoon" ) then
local curdrogen = vioGetElementData ( player, "drugs" )
local amount = getDropAmount ( curdrogen )
if amount > 0 then
vioSetElementData ( player, "drugs", curdrogen - amount )
local x, y, z = getElementPosition ( player )
pickup = createPickup ( 0, 0, 0, 3, 1210, 1 )
setElementPosition ( pickup, x, y, z )
vioSetElementData ( pickup, "amount", amount )
setElementDimension ( pickup, getElementDimension ( player ) )
setElementInterior ( pickup, getElementInterior ( player ) )
addEventHandler ( "onPickupHit", pickup, drugDropHit )
end
--[[local curmats = vioGetElementData ( player, "mats" )
if curmats > 0 then
local amount = getDropAmount ( curmats, player )
vioGetElementData ( player, "mats", curmats - amount )
local x, y, z = getElementPosition ( player )
pickup = createPickup ( 0, 0, 0, 3, 2358, 1 )
setElementPosition ( pickup, x + 0.5, y, z )
vioGetElementData ( pickup, "amount", amount )
setElementDimension ( pickup, getElementDimension ( player ) )
setElementInterior ( pickup, getElementInterior ( player ) )
addEventHandler ( "onPickupHit", pickup, matDropHit )
end]]
--[[local money = vioGetElementData ( player, "money" )
loss = 5
if money > 0 then
vioGetElementData ( player, "money", math.abs(math.floor(money/100*(100-loss))) )
takePlayerMoney ( player, math.floor(money/100*loss) )
local x, y, z = getElementPosition ( player )
pickup = createPickup ( 0, 0, 0, 3, 1212, 1 )
setElementPosition ( pickup, x, y + 0.5, z )
vioGetElementData ( pickup, "money", math.floor(money/100*loss) )
setElementDimension ( pickup, getElementDimension ( player ) )
setElementInterior ( pickup, getElementInterior ( player ) )
addEventHandler ( "onPickupHit", pickup, moneyDropHit )
end]]
end
setElementDimension ( player, 0 )
setElementInterior ( player, 0 )
else
vioGetElementData ( player, "isInHighNoon", false )
setTimer ( savespawn, 5000, 1, player, -2617.2189941406, 212, 4.4970808029175, 0, 0, 0, true )
end
end
showChat ( player, true )
showPlayerHudComponent ( player, "radar", true )
setElementData( player, "gotMerchandise", false )
setElementData( player, "merchandiseAmmount", 0 )
vioGetElementData (player, "wasted", true)
--triggerClientEvent ( player, "showProgressBar", player )
setTimer(function()
if(isElement(m_pick[player])) then
setElementVisibleTo ( m_blip[player], getRootElement(), false )
setElementVisibleTo ( m_mark[player], getRootElement(), false )
setElementVisibleTo ( m_pick[player], getRootElement(), false )
destroyElement(m_pick[player])
destroyElement(m_mark[player])
destroyElement(m_blip[player])
end
end, 60000, 1)
-- MEDIC --
local thePlayer = player
if(isElement(m_pick[thePlayer])) then
setElementVisibleTo ( m_blip[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_mark[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_pick[thePlayer], getRootElement(), false )
destroyElement(m_pick[thePlayer])
destroyElement(m_mark[thePlayer])
destroyElement(m_blip[thePlayer])
end
local x, y, z = getElementPosition(thePlayer)
m_pick[thePlayer] = createPickup(x, y, z, 3, 1254, 1000)
m_mark[thePlayer] = createMarker(x, y, z, "corona", 1.0, 0, 0, 0, 0)
m_blip[thePlayer] = createBlip (x, y, z, 0, 2, 255, 0, 0, getRootElement() )
setElementVisibleTo ( m_blip[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_mark[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_pick[thePlayer], getRootElement(), false )
setElementData(m_mark[thePlayer], "player", thePlayer)
for index, medic in pairs(getElementsByType("player")) do
if(isMedic(medic)) and (isMedicDuty(medic)) then
setElementVisibleTo ( m_blip[thePlayer], medic, true )
setElementVisibleTo ( m_mark[thePlayer], medic, true )
setElementVisibleTo ( m_pick[thePlayer], medic, true )
outputChatBox("FUNKSPRUCH: Toter in "..getZoneName(x, y, z, false)..", "..getZoneName(x, y, z, true).." gemeldet.", medic, 0, 255, 150)
--triggerClientEvent(thePlayer, "onLAMedicToterMeld", thePlayer, thePlayer)
--addEventHandler ( "onPlayerSpawn", thePlayer, medicdeleteBlip_func )
--addEventHandler ( "onPlayerQuit", thePlayer, medicdeleteBlip_func )
end
end
addEventHandler("onMarkerHit", m_mark[thePlayer], function(hitElement)
if(thePlayer == hitElement) or (isPedDead(hitElement)) then return end
if(getElementType(hitElement) == "player") and (isMedic(hitElement) == true) and (isMedicDuty(hitElement)) then
local thePlayer = getElementData(source, "player")
if(isElement(thePlayer)) then
toggleAllControls(hitElement, false)
setPedAnimation(hitElement, "MEDIC", "CPR", -1, true, false, false)
setTimer(function()
wiederbelebe_player(hitElement, thePlayer)
toggleAllControls(hitElement, true)
setPedAnimation(hitElement)
end, 7500, 1)
end
setElementVisibleTo ( m_blip[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_mark[thePlayer], getRootElement(), false )
setElementVisibleTo ( m_pick[thePlayer], getRootElement(), false )
destroyElement(m_pick[thePlayer])
destroyElement(m_mark[thePlayer])
destroyElement(m_blip[thePlayer])
end
end)
end
addEventHandler ( "onPlayerWasted", getRootElement(), playerdeath )
Alles anzeigen