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
Do: 15 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

    Scripthilfe (Daten aus einem Array löschen)

    • Nexarion
    • 21. August 2016 um 12:40
    • Geschlossen
    • Erledigt
    • Nexarion
      Frischling
      Trophäen
      9
      Beiträge
      12
      • 21. August 2016 um 12:40
      • #1

      Guten morgen werte Community,

      ich ziemlich neu hier bei euch, hoffe aber das ihr mir weiterhelfen könnt. Ich habe jetzt längere Zeit nichts mehr mit Arma zu tun gehabt, habe aber vor ein paar Wochen wieder angefangen Unterstützung für den Server eines Freundes zu leisten. Bisher hat auch alles gut geklappt, aber gerade stosse ich leider an ein Problem, welches ich selbst nicht sehe. Vielleicht bin ich zu eingerostet oder ich versuche es mal wieder zu kompliziert.

      Ich habe einen Taxi-Job implementiert, für welchen man sich an einem Terminal registriert und Geld bekommt, solange man ein bestimmtes Fahrzeug fährt. Solange es einen angemeldeten Taxifahrer gibt können alle anderen Spieler über einen Button ein Taxi rufen und es wird ein Marker auf der Map erstellt. Dieser Marker wird dann nur den Taxifahrern angezeigt. Mein Problem ist jetzt, dass ich den Marker gerne löschen würde, sobald derjenige, der das Taxi gerufen hat in ein Fahrzeug einsteigt.

      Hier mal die wichtigsten Dateien:

      Taxi rufen:

      Spoiler anzeigen


      C
      private["_taxiOnline"];
      
      
      
      
          if(player getVariable "taxi_driver") exitwith {["Du bist selber Taxifahrer!", false] spawn domsg;};
          if(checked_taxi) exitWith {["Du kannst nur alle 5 Minuten ein Taxi rufen.", false] spawn domsg;};
          _taxiOnline = {_x != player && {side _x == civilian} && {alive _x} && {_x getVariable "taxi_driver"}} count playableUnits > 0; //Check if medics (indep) are in the room.
          if(!_taxiOnline) exitWith {["Es ist kein Taxi verfügbar.", false] spawn domsg;};
          [player, name player] remoteExec ["life_fnc_taxiRequest",civilian];
          ["Du hast ein Taxi gerufen!", false] spawn domsg;
          [] spawn
          {
          checked_taxi = true;
          sleep (5 * 60);
          checked_taxi = false;
          };
      Alles anzeigen


      Weiterleitung zu den Taxi-Fahrern:

      Spoiler anzeigen
      C
      private["_caller","_callerName","_vehicle"];
          if((playerside == civilian) && (player getVariable "taxi_driver")) then {
          _caller = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
          _callerName = [_this,1,"Unknown Player",[""]] call BIS_fnc_param;
          if(isNull _caller) exitWith {}; //Bad data
          if(typeOf(vehicle player) != "cl3_suv_taxi") exitwith {["Du hast einen Funkspruch verpasst!"] spawn domsg;};
          _alreadyInList= false;
          {
          if(_x select 0 == _caller)then{
          _alreadyInList = true;
          };
          }foreach life_taxiMarker;
          if(_alreadyInList) exitWith {};
          life_taxiMarker set [count life_taxiMarker,[_caller,_callerName]];
          playSound "ringing";
          ["Jemand hat ein Taxi gerufen! Schau auf deine Karte."] spawn domsg;
          _vehicle = vehicle player;
          waitUntil{count crew _vehicle > 1};
          {
          sleep 1;
          passenger = crew _vehicle;
          life_taxiMarker deleteAt (life_taxiMarker find _x);
          } foreach passenger;
          };
      Alles anzeigen


      Marker aus dem Array werden angezeigt:

      Spoiler anzeigen
      C
      private["_markers"];
      
      
      
      
          _markers = [];
          sleep 0.25;
          if(visibleMap && (player getVariable "taxi_driver")) then {
          {
          _marker = createMarkerLocal [format["%1_taxi_marker",_x select 1],getPos (_x select 0)];
          _marker setMarkerColorLocal "ColorRed";
          _marker setMarkerTypeLocal "plp_mark_civ_taxi";
          _marker setMarkerTextLocal format["%1 ruft ein Taxi",_x select 1];
          _markers pushBack _marker;
          } foreach life_taxiMarker;
          waitUntil {!visibleMap};
          {deleteMarkerLocal _x;} foreach _markers;
          };
      Alles anzeigen

      Wie gesagt, mein Problem besteht jetzt darin, dass die Marker nicht gelöscht werden. Habe jetzt auch schon einige Wege ausprobiert, aber ich komm einfach nicht auf die Lösung. Vielleicht kann mir ja jemand einen Denkanstoss geben.

      MfG
      Nexarion

    • J3r3my
      Frischling
      Trophäen
      8
      Beiträge
      1
      • 21. August 2016 um 17:59
      • #2

      Heey,

      also erstmal ist die Variable: passenger innerhalb des forEachs deklariert worden.
      Das sollte außerhalb gemacht werden.
      Also so:

      Code
      passenger = crew _vehicle;
      {
       life_taxiMarker = life_taxiMarker - [_x, name _x];
       } foreach passenger;

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    Benutzer online in diesem Thema

    • 1 Besucher

    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. Verhaltensregeln
    3. Datenschutzerklärung
    4. Impressum
    5. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™