From 311fa02747f364a710c70457f3a7b54949eff8b6 Mon Sep 17 00:00:00 2001 From: EVO Date: Sat, 7 Jun 2025 09:56:06 +0200 Subject: [PATCH] test --- .../plugin_npcheal_client.lua | 159 ------------------ .../plugin_npcheal_server.lua | 55 ------ 2 files changed, 214 deletions(-) delete mode 100644 resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_client.lua delete mode 100644 resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_server.lua diff --git a/resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_client.lua b/resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_client.lua deleted file mode 100644 index 76b2a15e2..000000000 --- a/resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_client.lua +++ /dev/null @@ -1,159 +0,0 @@ -local pluginData = { - name = "test_plugin", - description = "NPC Heal", - author = "test", - version = "1.2" -} - -RegisterClientPlugin(pluginData, function(print) - print("plugin_npcheal_client.lua loaded") -end) - -local QBCore = exports['qb-core']:GetCoreObject() - -local NPCPosition = {x = 349.18676, y = -577.2429, z = 28.822866, rot = 250.00} - -local isNearPed = false -local isAtPed = false -local isPedLoaded = false -local pedModel = GetHashKey("s_m_m_doctor_01") -local npc -local reviveTime = 15000 -local doctor = 0 -local price = 5000 -local isBusy = false -local isBeingTreated = false - - - -Citizen.CreateThread(function() - while true do - local playerPed = PlayerPedId() - local playerCoords = GetEntityCoords(playerPed) - local distance = Vdist(playerCoords, NPCPosition.x, NPCPosition.y, NPCPosition.z) - - isNearPed = distance < 20.0 - isAtPed = distance < 2.0 - - if isNearPed and 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 - elseif not isNearPed and isPedLoaded then - DeleteEntity(npc) - isPedLoaded = false - end - - Citizen.Wait(500) - end -end) - -Citizen.CreateThread(function() - while true do - if isNearPed and 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 - isBeingTreated = true - TriggerEvent("disableMovementControls", true) - - local playerHealth = GetEntityHealth(PlayerPedId()) - if playerHealth < 200 then - QBCore.Functions.TriggerCallback('visn_are:docOnline', function(medicOn, hasEnoughMoney) - if medicOn <= doctor and hasEnoughMoney then - QBCore.Functions.Progressbar("Notarzt", "Der Notarzt behandelt dich", reviveTime, false, true, { - disableMovement = true, - disableCarMovement = true, - disableMouse = true, - disableCombat = true, - }, {}, {}, {}, function() -- Progress Callback - TriggerServerEvent('visn_are:charge') - TriggerEvent("visn_are:resetHealthBuffer") - SetEntityHealth(PlayerPedId(), 200) - ShowNotification('Du bezahlst ' .. price ..' $ für die Behandlung') - ShowNotification("Du bist gesund") - isBusy = false - isBeingTreated = false - TriggerEvent("disableMovementControls", false) - end, function() -- Cancel Callback - ShowNotification("Behandlung abgebrochen") - isBusy = false - isBeingTreated = false - TriggerEvent("disableMovementControls", false) - end) - elseif medicOn > doctor then - ShowNotification("Zuviele Medics im Dienst, rufe einen!") - isBusy = false - isBeingTreated = false - TriggerEvent("disableMovementControls", false) - elseif not hasEnoughMoney then - ShowNotification("Du hast nicht genug Geld für die Behandlung") - isBusy = false - isBeingTreated = false - TriggerEvent("disableMovementControls", false) - end - end) - else - ShowNotification("Du bist bereits gesund") - isBusy = false - isBeingTreated = false - TriggerEvent("disableMovementControls", false) - 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) - SetTextComponentFormat('STRING') - AddTextComponentString(msg) - DisplayHelpTextFromStringLabel(0, 0, 1, -1) -end - -RegisterNetEvent("disableMovementControls") -AddEventHandler("disableMovementControls", function(disable) - local playerPed = PlayerPedId() - if disable then - SetPedCurrentWeaponVisible(playerPed, false, true, true, true) - SetPlayerControl(playerPed, false, 0) - else - SetPedCurrentWeaponVisible(playerPed, true, true, true, true) - SetPlayerControl(playerPed, true, 0) - end -end) - - - - - - - - - - - - - - - - diff --git a/resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_server.lua b/resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_server.lua deleted file mode 100644 index 3bdabbc38..000000000 --- a/resources/[Developer]/[Mark]/plugin_npchealbyAnna/plugin_npcheal_server.lua +++ /dev/null @@ -1,55 +0,0 @@ -local pluginData = { - name = "test_plugin", - description = "test plugin", - author = "test", - version = "1.1" -} - -RegisterServerPlugin(pluginData, function(print) - print("NPC Heal Server lua Loaded") -end) - -local QBCore = exports['qb-core']:GetCoreObject() -local price = 5000 --Preis zum Healen muss gleich sein wie Preis in plugin_npcheal_client.lua Zeile 30 - -QBCore.Functions.CreateCallback('visn_are:docOnline', function(source, cb) - local Ply = QBCore.Functions.GetPlayer(source) - local doctor = 0 - local canpay = false - if Ply.PlayerData.money["cash"] >= price then - canpay = true - elseif Ply.PlayerData.money["bank"] >= price then - canpay = true - end - - local doctor = GetMedicsOnDutyCount() - - print("Server callback: doctor = " .. doctor .. ", canpay = " .. tostring(canpay)) - cb(doctor, canpay) -end) - -RegisterNetEvent('visn_are:charge') -AddEventHandler('visn_are:charge', function() - local src = source - local xPlayer = QBCore.Functions.GetPlayer(src) - if xPlayer.PlayerData.money["cash"] >= price then - xPlayer.Functions.RemoveMoney('cash', price) - else - xPlayer.Functions.RemoveMoney('bank', price) - end - TriggerEvent('qb-bossmenu:server:addAccountMoney', 'ambulance', price) -end) - -function GetMedicsOnDutyCount() - -- Beispiel: Zähle die Anzahl der Medics im Dienst - local count = 0 - -- Durchlaufe alle Spieler und zähle die Medics - for _, player in pairs(QBCore.Functions.GetPlayers()) do - local xPlayer = QBCore.Functions.GetPlayer(player) - if xPlayer.PlayerData.job.name == 'ambulance' and xPlayer.PlayerData.job.onduty then - count = count + 1 - end - end - return count -end -