1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Di: 20 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Hilfeforum

    Medic-System funktioniert nicht!

    • john.kirby
    • 21. September 2016 um 10:40
    • Geschlossen
    • Erledigt
    • john.kirby
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      6
      • 21. September 2016 um 10:40
      • #1

      Hallo NN Community,

      Ich habe ein Problem mit dem Medic-System zu dem nichts in irgendeinem Log steht und welches mich total verwirrt.
      Wenn jemand stirbt kommt er in den ganz normalen todesbildschirm und wenn er requested bekommt der Medic aber kein Marker, keine Meldung kein gar nix.
      Und wenn ich ihn versuch zu reviven dann klappt es manchmal und manchmal nicht. Ich habe überhaupt keine Regelmäßigkeiten erkannt wann es klappt und wann nicht.
      Vielleicht hat jemand von euch ja auch schonmal sowas in der Art gehabt. Ich habe die original medical dateien der 4.4R3 drin und habe auch nichts dran geändert.

      Danke schonmal im vorraus. ?(

    • Roy Hawk
      Anfänger
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      80
      • 6. Oktober 2016 um 21:02
      • #2

      geht erst nach dem 2. mal Requesten! schlimmer ist das sich das ganze inventar doppelt sobald einer was rausnimmt requestest du mit dem ganzen Gear nochmal!

    • Roy Hawk
      Anfänger
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      80
      • 6. Oktober 2016 um 22:21
      • #3

      Weiss da einer Rat ?

    • FrozenIce94
      Anfänger
      Reaktionen
      67
      Trophäen
      11
      Beiträge
      56
      • 6. Oktober 2016 um 23:15
      • #4

      Guten Abend,

      bitte mal Server sowie Client Rpt Logs (am besten unmittelbar nach dem drücken des Request Buttons) anhängen.

      Dann schauen wir mal drüber.

      Liebe Grüße
      FrozenIce94

    • Roy Hawk
      Anfänger
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      80
      • 7. Oktober 2016 um 06:27
      • #5

      werde ich heute Abend liefern ! ;)

    • Roy Hawk
      Anfänger
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      80
      • 7. Oktober 2016 um 16:28
      • #6

      So endlich Weekend!!!
      Hier das Log direkt nach Revive!

      Code
      16:11:38 Duplicate weapon Throw detected for C_man_1
      16:11:38 Duplicate weapon Put detected for C_man_1

      Dateien

      arma3log weapon Bug.txt 233,77 kB – 187 Downloads
    • FrozenIce94
      Anfänger
      Reaktionen
      67
      Trophäen
      11
      Beiträge
      56
      • 7. Oktober 2016 um 18:06
      • #7

      Also, ich finde direkt keinen Fehler bei den Aufrufen aber die Log ist zu gespamt mit einem fehlenden Stringtable Eintrag.

      1. Schritt "String STR_MAR_HQ _Sofia not found"
      - Wenn benötigt eintragen, ansonsten da wo der dies setzt entfernen. Damit ist die Log bestimmt 2500 Zeilen kürzer ;))

      2. es könnte sein, das das Script irgendwo früher raus springt als gewollt. Das heißt er kann alles soweit aufrufen, aber an irgendeinem Punkt geht er raus ohne etwas zu machen. (Evtl)

      Das heißt im Klartext verfolgt den Prozess von dem Button Klick bis hin zu der Markererstellung. Wenn ihr nicht weiter kommt einfach mal eine PN und wir schauen gemeinsam mal :)

      Bis dahin Viel Glück

      FrozenIce94

    • Roy Hawk
      Anfänger
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      80
      • 7. Oktober 2016 um 18:11
      • #8

      ok danke das mit dem mark hab ich auch erst jetzt gemerkt werde ich gleich ma fixen !

    • GenApophis
      Fortgeschrittener
      Reaktionen
      49
      Trophäen
      10
      Beiträge
      303
      • 24. Oktober 2016 um 09:36
      • #9

      Hi, wir haben auf unserem Server genau das selbe Problem mit dem Medic System, konnten es aber bisher auch nicht fixn...
      Wir sind schon der Funktion gefolgt so gut wir konnten, den Medic Request konnten wir fixen, das liegt an der fn_requestMedic.sqf an der Abfrage ob Medics online sind, da der Server aus irgend einem grund beim ersten mal klicken diese abfrage falsch zu machen scheint, hier haben wir einfach bei den Cops die Nachricht an die Medics mit eingefügt und jetzt geht es perfect.
      Bei uns sieht die Datei jetzt folgendermaßen aus:

      der Fehler ist in dem Zeilenblock Zeile 13 bis Zeile 20, eingefügt haben wir die Zeile 19 bei uns.

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_requestMedic.sqf
          Author: Bryan "Tonic" Boardwine
      
      
      
      
          Description:
          N/A
      */
      private "_medicsOnline";
      _medicsOnline = {_x != player && {side _x isEqualTo independent} && {alive _x}} count playableUnits > 0; //Check if medics (indep) are in the room.
      
      
      
      
      life_corpse setVariable ["Revive",false,true]; //Set the corpse to a revivable state.
      if (_medicsOnline) then {
          //There is medics let's send them the request.
          [life_corpse,profileName] remoteExecCall ["life_fnc_medicRequest",independent];
      } else {
          //No medics were online, send it to the police.
          [life_corpse,profileName] remoteExecCall ["life_fnc_medicRequest",independent];
      	[life_corpse,profileName] remoteExecCall ["life_fnc_medicRequest",west];
      };
      
      
      
      
      //Create a thread to monitor duration since last request (prevent spammage).
      [] spawn  {
          ((findDisplay 7300) displayCtrl 7303) ctrlEnable false;
          sleep (2 * 60);
          ((findDisplay 7300) displayCtrl 7303) ctrlEnable true;
      };
      Alles anzeigen

      Allerdings haben wir immernoch das Problem mit dem unbeabsichtigten "Dupen" des Inventars, wobei ich da noch auf der suche bin und das die Medics keine Nachrichten bekommen, wenn man über das Telefon eine Nachricht sendet....

      GA Gaming Community

      TS3.GA-Gaming.de

    • GenApophis
      Fortgeschrittener
      Reaktionen
      49
      Trophäen
      10
      Beiträge
      303
      • 24. Oktober 2016 um 09:56
      • #10

      #Update

      Ich gleube ich habe das Problem mit dem Dupen auch gelöst, konnte es aber bisher nicht Testen,
      zu machen in folgenden Dateien:

      fn_onPlayerKilled:
      Hier habe ich die Zeile 100 ausgegraut, da hier direkt nach dem Tod des spielers das Equip gespeichert wird, diese funktion schiebe ich in die fn_revived siehe unten

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_onPlayerKilled.sqf
          Author: Bryan "Tonic" Boardwine
          Description:
          When the player dies collect various information about that player
          and pull up the death dialog / camera functionality.
      */
      params [
          ["_unit",objNull,[objNull]],
          ["_killer",objNull,[objNull]]
      ];
      disableSerialization;
      if ((vehicle _unit) != _unit) then {
          UnAssignVehicle _unit;
          _unit action ["getOut", vehicle _unit];
          _unit setPosATL [(getPosATL _unit select 0) + 3, (getPosATL _unit select 1) + 1, 0];
      };
      //Set some vars
      _unit setVariable ["Revive",true,true];
      _unit setVariable ["name",profileName,true]; //Set my name so they can say my name.
      _unit setVariable ["restrained",false,true];
      _unit setVariable ["Escorting",false,true];
      _unit setVariable ["transporting",false,true];
      _unit setVariable ["playerSurrender",false,true];
      _unit setVariable ["steam64id",(getPlayerUID player),true]; //Set the UID.
      //Setup our camera view
      life_deathCamera  = "CAMERA" camCreate (getPosATL _unit);
      showCinemaBorder TRUE;
      life_deathCamera cameraEffect ["Internal","Back"];
      createDialog "DeathScreen";
      life_deathCamera camSetTarget _unit;
      life_deathCamera camSetRelPos [0,3.5,4.5];
      life_deathCamera camSetFOV .5;
      life_deathCamera camSetFocus [50,0];
      life_deathCamera camCommit 0;
      (findDisplay 7300) displaySetEventHandler ["KeyDown","if ((_this select 1) isEqualTo 1) then {true}"]; //Block the ESC menu
      //Create a thread for something?
      _unit spawn {
          private["_maxTime","_RespawnBtn","_Timer"];
          disableSerialization;
          _RespawnBtn = ((findDisplay 7300) displayCtrl 7302);
          _Timer = ((findDisplay 7300) displayCtrl 7301);
              if (LIFE_SETTINGS(getNumber,"respawn_timer") < 5) then {
                  _maxTime = time + 5;
              } else {
                  _maxTime = time + LIFE_SETTINGS(getNumber,"respawn_timer");
              };
          _RespawnBtn ctrlEnable false;
          waitUntil {_Timer ctrlSetText format[localize "STR_Medic_Respawn",[(_maxTime - time),"MM:SS"] call BIS_fnc_secondsToString];
          round(_maxTime - time) <= 0 || isNull _this};
          _RespawnBtn ctrlEnable true;
          _Timer ctrlSetText localize "STR_Medic_Respawn_2";
      };
      [] spawn life_fnc_deathScreen;
      //Create a thread to follow with some what precision view of the corpse.
      [_unit] spawn {
          private["_unit"];
          _unit = _this select 0;
          waitUntil {if (speed _unit isEqualTo 0) exitWith {true}; life_deathCamera camSetTarget _unit; life_deathCamera camSetRelPos [0,3.5,4.5]; life_deathCamera camCommit 0;};
      };
      //Make the killer wanted
      if (!isNull _killer && {_killer != _unit} && {side _killer != west} && {alive _killer}) then {
          if (vehicle _killer isKindOf "LandVehicle") then {
              if (life_HC_isActive) then {
                  [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187V"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life];
              } else {
                  [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187V"] remoteExecCall ["life_fnc_wantedAdd",RSERV];
              };
              //Get rid of this if you don't want automatic vehicle license removal.
              if (!local _killer) then {
                  [2] remoteExecCall ["life_fnc_removeLicenses",_killer];
              };
          } else {
              if (life_HC_isActive) then {
                  [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life];
              } else {
                  [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187"] remoteExecCall ["life_fnc_wantedAdd",RSERV];
              };
              if (!local _killer) then {
                  [3] remoteExecCall ["life_fnc_removeLicenses",_killer];
              };
          };
      };
      //life_save_gear = [player] call life_fnc_fetchDeadGear;
      _containers = nearestObjects[getPosATL player,["WeaponHolderSimulated"],5];
      {deleteVehicle _x;} forEach _containers;
      //Killed by cop stuff...
      if (side _killer isEqualTo west && playerSide != west) then {
          life_copRecieve = _killer;
          //Did I rob the federal reserve?
          if (!life_use_atm && {CASH > 0}) then {
              [format[localize "STR_Cop_RobberDead",[CASH] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",RCLIENT];
              CASH = 0;
          };
      };
      if (!isNull _killer && {_killer != _unit}) then {
          life_removeWanted = true;
      };
      _handle = [_unit] spawn life_fnc_dropItems;
      waitUntil {scriptDone _handle};
      life_hunger = 100;
      life_thirst = 100;
      life_carryWeight = 0;
      CASH = 0;
      life_is_alive = false;
      [] call life_fnc_hudUpdate; //Get our HUD updated.
      [player,life_settings_enableSidechannel,playerSide] remoteExecCall ["TON_fnc_managesc",RSERV];
      [0] call SOCK_fnc_updatePartial;
      [3] call SOCK_fnc_updatePartial;
      [4] call SOCK_fnc_updatePartial;
      Alles anzeigen


      und in der fn_revived folgendes:

      Hier kamm die Zeile 14 hinzu


      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_revived.sqf
          Author: Bryan "Tonic" Boardwine
      
      
      
      
          Description:
          THANK YOU JESUS I WAS SAVED!
      */
      private["_medic","_dir","_reviveCost"];
      _medic = param [0,"Unknown Medic",[""]];
      _reviveCost = LIFE_SETTINGS(getNumber,"revive_fee");
      
      
      
      
      life_save_gear = [player] call life_fnc_fetchDeadGear;
      [life_save_gear] spawn life_fnc_loadDeadGear;
      life_corpse setVariable ["realname",nil,true]; //Should correct the double name sinking into the ground.
      [life_corpse] remoteExecCall ["life_fnc_corpse",RANY];
      
      
      
      
      _dir = getDir life_corpse;
      hint format[localize "STR_Medic_RevivePay",_medic,[_reviveCost] call life_fnc_numberText];
      
      
      
      
      closeDialog 0;
      life_deathCamera cameraEffect ["TERMINATE","BACK"];
      camDestroy life_deathCamera;
      
      
      
      
      //Take fee for services.
      if (BANK > _reviveCost) then {
          BANK = BANK - _reviveCost;
      } else {
          BANK = 0;
      };
      
      
      
      
      //Bring me back to life.
      player setDir _dir;
      player setPosASL (visiblePositionASL life_corpse);
      life_corpse setVariable ["Revive",nil,TRUE];
      life_corpse setVariable ["name",nil,TRUE];
      [life_corpse] remoteExecCall ["life_fnc_corpse",RANY];
      deleteVehicle life_corpse;
      
      
      
      
      life_is_alive = true;
      
      
      
      
      player setVariable ["Revive",nil,TRUE];
      player setVariable ["name",nil,TRUE];
      player setVariable ["Reviving",nil,TRUE];
      [] call life_fnc_playerSkins;
      [] call life_fnc_hudUpdate; //Request update of hud.
      [] call SOCK_fnc_updateRequest;
      Alles anzeigen


      Das alles ist aktuell noch ungetestet, ich werde das heute abend mal Testen und nochmal ein Update schreiben

      GA Gaming Community

      TS3.GA-Gaming.de

    • Roy Hawk
      Anfänger
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      80
      • 24. Oktober 2016 um 17:39
      • #11

      habs getestet ! Es geht zum teil.
      Problem nun wenn man revived wird ist alles weg Rucksack usw..

    • YouDi
      Schüler
      Reaktionen
      10
      Trophäen
      9
      Beiträge
      129
      • 1. November 2016 um 18:36
      • #12
      Zitat von Roy Hawk

      habs getestet ! Es geht zum teil.
      Problem nun wenn man revived wird ist alles weg Rucksack usw..

      Ich glaube,dass der liebe GenApophis halt eigentlich verhindern wollte,dass wenn man gelootet wurde die Sachen net zurück bekommt.

      Könnte man nicht einen Check einbauen,welcher sagt,dass der Server das Equip speichern soll Ca 5 Sekunden bevor der spieler fertig revived wurde? ^^ ||

      Einmal editiert, zuletzt von YouDi (1. November 2016 um 20:52)

    • GenApophis
      Fortgeschrittener
      Reaktionen
      49
      Trophäen
      10
      Beiträge
      303
      • 28. November 2016 um 06:20
      • #13

      Guten Morgen @YouDi,
      ja das ist richtig, das war meine intention, aber wie das genau umzusetzen ist weiß ich (noch) nicht.

      Sollte hierfür jemand einen Fix haben dann wäre das echt super wenn derjenige ihn vll mal bekannt geben würde ;)

      GA Gaming Community

      TS3.GA-Gaming.de

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Ähnliche Themen

    • Altis Life 5.0 und ACE 3 installation

      • Hatler
      • 13. April 2017 um 01:54
      • Hilfeforum

    Tags

    • Medic
    • altis life 4.4 r3
    • System

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™