local pluginData = { name = "test_plugin", description = "NPC Heal", author = "test", version = "1.2" } RegisterClientPlugin(pluginData, function(print) print("plugin_npcheal_client.lua loaded") end) ESX = nil Citizen.CreateThread(function() while ESX == nil do TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) Citizen.Wait(0) end end) local NPCPosition = {x = 307.19, y = -584.26, z= 43.28 , rot = 88.88 } local isNearPed = false local isAtPed = false local isPedLoaded = false local pedModel = GetHashKey("s_m_m_doctor_01") local npc local reviveTime = 15000 --in MS Wie lange braucht der NPC zum Wiederbeleben (für Progressbar) local doctor = 0 --Wieviele Medics Dürfen maximal online sein um NPC Doctor zu benutzen local price = 2000 --muss gleich sein wie in plugin_npcheal_server.lua Zeile 14 Citizen.CreateThread(function() while true do local playerPed = PlayerPedId() local playerCoords = GetEntityCoords(playerPed) local distance = Vdist(playerCoords,NPCPosition.x,NPCPosition.y,NPCPosition.z) isNearPed = false isAtPed = false if distance < 20.0 then isNearPed = true if not isPedLoaded then RequestModel(pedModel) while not HasModelLoaded(pedModel) do Wait(10) end npc = CreatePed(4, pedModel, NPCPosition.x, NPCPosition.y, NPCPosition.z - 1.0, NPCPosition.rot, false, false) FreezeEntityPosition(npc, true) SetEntityHeading(npc, NPCPosition.rot) SetEntityInvincible(npc, true) SetBlockingOfNonTemporaryEvents(npc, true) isPedLoaded = true end end if distance < 2.0 then isAtPed = true end Citizen.Wait(500) end end) Citizen.CreateThread(function() while true do if isAtPed then showInfobar('Drücke ~g~E~s~, um für ' .. price ..' $ eine Behandlung zu Erhalten') if IsControlJustReleased(0, 38) then if not isBusy then isBusy = true ESX.TriggerServerCallback('visn_are:docOnline', function(medicOn, hasEnoughMoney) if medicOn <= doctor and hasEnoughMoney then exports['progressBars']:startUI(reviveTime, "Der Notarzt behandelt dich") --Lösche oder ändere auf deine Progressbar Wait(reviveTime) --Für Progressbar, falls kein Progressbar erwünscht lösche auch diese zeile TriggerServerEvent('visn_are:charge') TriggerEvent("visn_are:resetHealthBuffer") SetEntityHealth(GetPlayerPed(-1), 200) ShowNotification('Du Bezahlst ' .. price ..' $ für die behandlung') isBusy = false elseif medicOn > doctor then ShowNotification("Zuviele Medics im Dienst, rufe einen!") isBusy = false elseif not hasEnoughMoney then ShowNotification("Du hast nicht genug Geld für die Behandlung") isBusy = false end end) else ShowNotification("Du wirst schon behandelt") end end end Citizen.Wait(1) end end) function ShowNotification(text) SetNotificationTextEntry('STRING') AddTextComponentString(text) DrawNotification(false, true) end function showInfobar(msg) CurrentActionMsg = msg SetTextComponentFormat('STRING') AddTextComponentString(CurrentActionMsg) DisplayHelpTextFromStringLabel(0, 0, 1, -1) end