Hallo
Und zwar habe ich wieder ein neues Problem
Ich habe eine Medic Fraktion eingefügt. In den ganzen datein alles eingefügt.
Alles geht, keine fehler in der Console.
Wenn man in den marker geht kommt steht im Chat folgenes
Externer Inhalt
s1.directupload.net
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Dann gebe ich /mduty ein aber nichts passiert.
Hier der Quellcode
Quelltext
Lua
-- VARIABLEN --
local debugmodus = true
local wasted_spawnpos = { -- Die Position wo man spawnt wenn man Tot ist, bzw sollte(An den betten)
{429.7522277832, 266.53988647461, 996.81188964844, 180},
{425.37951660156, 267.01010131836, 996.81188964844, 180},
{421.30526733398, 266.46600341797, 996.81188964844, 180},
{417.05532836914, 266.48602294922, 996.81188964844, 180},
{412.98022460938, 266.76217651367, 996.81188964844, 180},
{408.82968139648, 266.78668212891, 996.81188964844, 180},
{450.75161743164, 260.63830566406, 996.81188964844, 90},
{450.458984375, 263.92669677734, 996.81188964844, 90},
{450.48785400391, 257.06845092773, 996.81188964844, 90},
{450.69598388672, 253.56640625, 996.81188964844, 90},
{450.66326904297, 248.30767822266, 996.81188964844, 90},
}
-- 2103
local wasted_spawnint = 3
local wasted_spawndim = 0
--[[
Hier ein Beispiel:
local spawnpunkt = math.random(1, #wasted_spawnpos)
local x, y, z = wasted_spawnpos[spawnpunkt][1], wasted_spawnpos[spawnpunkt][2], wasted_spawnpos[spawnpunkt][3]
local rot = wasted_spawnpos[spawnpunkt][4]
setElementPosition(thePlayer, x, y, z)
setElementInterior(thePlayer, wasted_spawnint)
setElementDimension(thePlayer, wasted_spawndim)
setPedRotation(thePlayer, rot)
]]
-- DUTY --
addCommandHandler("medic", function(thePlayer, cmd)
if(debugmodus == true) then
local f = getElementData(thePlayer, "fraktion")
if(f == "medic") then
setElementData(thePlayer, "fraktion", nil)
outputChatBox("Du bist nun kein Sanitaeter mehr!", thePlayer, 255, 0, 0)
else
setElementData(thePlayer, "fraktion", "medic")
outputChatBox("Du bist nun Sanitaeter!", thePlayer, 0, 255, 255)
end
end
end)
-- INTERIOR OBJECT --
local radio = createObject(2103, 409.51727294922, 262.29370117188, 997.16198730469, 0, 0, 130)
setElementInterior(radio, 3)
local innenraum = createObject(14594, 242.4009552002, 995.79626464844, 0, 0, 179.99450683594)
setElementInterior(innenraum, 3)
-- INT MARKER --
local marker1 = createMarker(437.60995483398, 230.7248840332, 995.91188964844, "cylinder", 1.0, 0, 255, 0, 150)
setElementInterior(marker1, 3)
-- Davor: 436.72830200195, 230.53344726563, 996.81188964844
local marker2 = createMarker(-2655.1066894531, 640.07641601563, 13.554549789429, "cylinder", 1.0, 0, 255, 0, 150)
-- DAvor: -2655.2829589844, 638.32342529297, 14.453125
addEventHandler("onMarkerHit", marker2, function(hitElement)
if(getElementType(hitElement) == "player") and (isPedInVehicle(hitElement) == false) then
setElementPosition(hitElement, 435.42782592773, 230.65969848633, 996.81188964844)
setElementInterior(hitElement, 3)
end
end)
addEventHandler("onMarkerHit", marker1, function(hitElement)
if(getElementType(hitElement) == "player") and (isPedInVehicle(hitElement) == false) then
setElementPosition(hitElement, -2655.2829589844, 638.32342529297, 14.453125)
setElementInterior(hitElement, 0)
end
end)
-- STERBE EVENT --
local function wiederbelebe_player(sanitaeter, thePlayer)
if(isPedDead(thePlayer)) then
fadeCamera(thePlayer, false, -1, 255, 255, 255)
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).." wieder ins Leben gerufen!", thePlayer, 0, 255, 255)
-- SICHERHEITSHINWEIS --
if(getPlayerMoney(thePlayer) > 249) then
givePlayerMoney(thePlayer, -250)
end
givePlayerMoney(sanitaeter, 250)
outputChatBox("Du hast "..getPlayerName(thePlayer).." wiederbelebt!", sanitaeter, 0, 255, 255)
end, 1000, 1)
end
end
local m_pick = {}
local m_mark = {}
addEventHandler("onPlayerWasted", getRootElement(), function()
local thePlayer = source
if(isElement(m_pick[thePlayer])) then
destroyElement(m_pick[thePlayer])
destroyElement(m_mark[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)
setElementData(m_mark[thePlayer], "player", thePlayer)
for index, player in pairs(getElementsByType("player")) do
if(isMedic(player)) and (isMedicDuty(player)) then
outputChatBox("INFO: Toter in "..getZoneName(x, y, z, false)..", "..getZoneName(x, y, z, true).." gemeldet.", player, 0, 255, 150)
triggerClientEvent(player, "onLAMedicToterMeld", player, thePlayer)
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, 7000, 1)
end
destroyElement(m_pick[thePlayer])
destroyElement(m_mark[thePlayer])
end
end)
end)
addEventHandler("onPlayerSpawn", getRootElement(), function()
if(debugmodus == true) then
if(isMedic(source)) then
local thePlayer = source
setTimer(function()
source = thePlayer
setElementPosition(source, 436.10525512695, 261.09127807617, 996.81188964844)
setPedRotation(source, 90)
setElementModel(source, math.random(274, 276))
setElementInterior(source, 3)
end, 50, 1)
end
end
end)
-- MEDIPACK AUFLADEN --
local marker_medipack = createMarker(398.35266113281, 258.39260864258, 996.01188964844, "cylinder", 2.0, 0, 255, 0, 50)
setElementInterior(marker_medipack, 3)
addEventHandler("onMarkerHit", marker_medipack, function(hitElement)
if(isMedic(hitElement)) then
outputChatBox("Nutze /loadmedikits um deine Medipacks wieder aufzuladen!", hitElement, 0, 200, 0)
else
outputChatBox("Nur fuer Mitarbeiter des San Fierro Medical Departments!", hitElement, 200, 0, 0)
end
end)
addCommandHandler("loadmedikits", function(thePlayer)
if(isMedic(thePlayer)) and (isElementWithinMarker(thePlayer, marker_medipack)) then
setElementData(thePlayer, "medic:medikits", 10)
outputChatBox("Du hast deine Medikits erfolgreich aufgeladen! Du hast nun 10 Stueck. Nutze /usekit um jemanden zu Heilen!", thePlayer, 0, 255, 0)
else
outputChatBox("Du bist kein Mitarbeiter/Nicht nahe genug am Marker!", thePlayer, 200, 0, 0)
end
end)
addCommandHandler("usekit", function(thePlayer, cmd, target)
if(target) and (getPlayerFromName(target)) and (getPlayerName(thePlayer) ~= target) then
if(isMedic(thePlayer)) and (isMedicDuty(thePlayer)) then
target = getPlayerFromName(target)
local carheal = false
if(isPedInVehicle(thePlayer)) and (isPedInVehicle(target)) and (getElementModel(getPedOccupiedVehicle(thePlayer) == 416)) and (getElementModel(getPedOccupiedVehicle(target) == 416)) then
carheal = true
end
local x, y, z = getElementPosition(thePlayer)
local x2, y2, z2 = getElementPosition(target)
if(getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) > 20) then
outputChatBox("Du bist nahe genug am Ziel!", thePlayer, 200, 0, 0)
return
end
local kits = tonumber(getElementData(thePlayer, "medic:medikits"))
if not(kits) or (kits < 1) and (carheal == false) then
outputChatBox("Du hast keine Medikits bei dir! Lade in dem Krankenhaus in SF welche auf.", thePlayer, 200, 0, 0)
return
end
if(carheal == false) then
setElementData(thePlayer, "medic:medikits", kits-1)
local x1, y1, z1 = getElementPosition(target)
local x2, y2, z2 = getElementPosition(thePlayer)
local rot = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi
rot = rot-90
setPedRotation(target, rot)
x1, y1, z1 = getElementPosition(thePlayer)
x2, y2, z2 = getElementPosition(target)
rot = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi
rot = rot-90
setPedRotation(thePlayer, rot)
end
toggleAllControls(target, false)
toggleAllControls(thePlayer, false)
setPedAnimation(thePlayer, "INT_SHOP", "shop_self", -1, true, false, false)
outputChatBox("Heile Spieler...", thePlayer, 0, 255, 255)
setTimer(function()
toggleAllControls(target, true)
toggleAllControls(thePlayer, true)
setPedAnimation(thePlayer)
outputChatBox("Du wurdest von Sanitaeter "..getPlayerName(thePlayer).." geheilt!", target, 0, 255, 255)
if(carheal == false) then
outputChatBox("Du hast "..getPlayerName(target).." geheilt! Verbleibene Kits: "..(kits-1), thePlayer, 0, 255, 255)
setElementData(thePlayer, "medic:medickits", kits-1)
else
outputChatBox("Du hast "..getPlayerName(target).." geheilt! Da du in einem Krankenwagen sitzt, hast du kein Kit verbraucht.", thePlayer, 0, 255, 255)
end
setElementHealth(target, 100)
if(getPedArmor(target) < 75) then
setPedArmor(target, 75)
end
end, 2000, 1)
else
outputChatBox("Du bist kein Sanitaeter/Nicht im Dienst!", thePlayer, 200, 0, 0)
end
else
outputChatBox("Spieler ist nicht Online/Ungueltig!", thePlayer, 200, 0, 0)
end
end)
-- DUTY FUNC --
local duty_marker = createMarker(413.16009521484, 257.68475341797, 996.01188964844, "cylinder", 1.0, 0, 255, 0, 50)
setElementInterior(duty_marker, 3)
addEventHandler("onMarkerHit", duty_marker, function(hitElement)
if(isMedic(hitElement)) then
outputChatBox("Nur fuer Mitarbeiter des San Fierro Medical Departments!", hitElement, 200, 0, 0)
else
outputChatBox("Nutze /mduty um in Dienst zu gehen/den dienst zu verlassen!", hitElement, 200, 0, 0)
end
end)
addCommandHandler("mduty", function(thePlayer)
if(isMedic(thePlayer)) and (isElementWithinMarker(thePlayer, duty_marker)) then
local duty = getElementData(thePlayer, "medic:duty")
if(duty == true) then
setElementData(thePlayer, "medic:duty", false)
outputChatBox("Du bist nun nicht mehr als Sanitaeter im Dienst!", thePlayer, 0, 255, 255)
takeWeapon(thePlayer, 41)
takeWeapon(thePlayer, 24)
takeWeapon(thePlayer, 25)
takeWeapon(thePlayer, 3)
takeWeapon(thePlayer, 46)
else
setElementData(thePlayer, "medic:duty", true)
outputChatBox("Du bist nun als Sanitaeter im Dienst!", thePlayer, 0, 255, 255)
for i = 1, 5, 1 do
giveWeapon(thePlayer, 41, 999999, true)
giveWeapon(thePlayer, 24, 999999, true)
giveWeapon(thePlayer, 25, 999999, true)
giveWeapon(thePlayer, 3, 999999, true)
giveWeapon(thePlayer, 46, 999999, true)
end
end
end
end)
-- SICHERHEITSHINWEIS --
function isMedic(thePlayer)
if(getElementData(thePlayer, "fraktion") == "medic") then
return true;
else
return false;
end
end
-- Sollte so bleiben --
function isMedicDuty(thePlayer)
if(getElementData(thePlayer, "medic:duty") == true) then
return true;
else
return false;
end
end
Alles anzeigen