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
Fr: 18 Juli 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. Tutorials & Releases

    [Erklärung] Spawnmarker

      • Altis Life
    • Exodoos
    • 12. Juni 2016 um 22:25
    • Exodoos
      Fortgeschrittener
      Reaktionen
      164
      Trophäen
      10
      Beiträge
      332
      • 12. Juni 2016 um 22:25
      • #1

      Hallo Leute und Willkommen auf meinem HOWTO bzw. Tutorial!

      Achja, jetzt fangen die ganzen Entwickler an, Custom Maps für Altis Life zu benutzen, doch da gibt es einen hacken, DER SPAWNPUNKT.

      Viele von euch müssten wissen, das Altis Life so aufgebaut ist, das man im Editor nur einen Marker platzieren muss, wie z.B. civ_spawn_1 für Kavala.
      Diese definiert man dann im \Dialog\Functions\fn_spawnPointCfg.sqf jeweils mit Namen, Markernamen und Icon.
      Ihr habt euch doch sicher gewundert, wieso man immer wenn man auf die Insel spawnt, jedesmal in verschiedene Häuser erscheint.
      Das hat einen Grund, die Entwickler von Altis Life haben Classnames von den Gebäuden entnommen und diese in der Config \Core\fn_initCiv.sqf mit den Spawnmarkern "Verknüpft".
      So sollte man in den verschiedenen Häusern spawnen, damit verhindert man auch, das zu viele Idle Spieler auf einem Fleck sitzen.

      Welche Configs schauen wir uns an heute?

      fn_spawnPointCfg.sqf
      fn_initCiv.sqf

      So dann fangen wir mal mit der fn_spawnPointCfg.sqf an:

      SQL
      //Spawn Marker, Spawn Name, PathToImage
      switch (_side) do
      {
      	case west:
      	{
      		_return = [
      			["cop_spawn_1","Sydney PS","\a3\ui_f\data\map\MapControl\watertower_ca.paa"],
      			["cop_spawn_2","Melbourne PS","\a3\ui_f\data\map\MapControl\fuelstation_ca.paa"],
      			["cop_spawn_3","Perth PS","\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa"],
      			["cop_spawn_4","Darwin PS","\a3\ui_f\data\map\Markers\NATO\b_air.paa"],
      			["cop_spawn_5","HW Patrol","\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa"]
      		];
      	};
      	case civilian:
      	{
      		_return = [
      			["civ_spawn_1","Sydney","\a3\ui_f\data\map\MapControl\watertower_ca.paa"],
      			["civ_spawn_2","Melbourne","\a3\ui_f\data\map\MapControl\watertower_ca.paa"],
      			["civ_spawn_3","Perth","\a3\ui_f\data\map\MapControl\watertower_ca.paa"],
      			["civ_spawn_4","Darwin","\a3\ui_f\data\map\MapControl\watertower_ca.paa"]
      		];
      		if(count life_houses > 0) then {
      			{
      				_pos = call compile format["%1",_x select 0];
      				_house = nearestBuilding _pos;
      				_houseName = getText(configFile >> "CfgVehicles" >> (typeOf _house) >> "displayName");
      				_return pushBack [format["house_%1",_house getVariable "uid"],_houseName,"\a3\ui_f\data\map\MapControl\lighthouse_ca.paa"];
      			} foreach life_houses;
      		};	
      	};
      	case independent: {
      		_return = [
      			["medic_spawn_1","Sydney Hospital","\a3\ui_f\data\map\MapControl\hospital_ca.paa"],
      			["medic_spawn_2","Melbourne Hospital","\a3\ui_f\data\map\MapControl\hospital_ca.paa"],
      			["medic_spawn_3","Perth Hospital","\a3\ui_f\data\map\MapControl\hospital_ca.paa"],
      			["medic_spawn_4","Darwin Hospital","\a3\ui_f\data\map\MapControl\hospital_ca.paa"]
      		];
      	};
      };
      
      
      
      
      _return;
      Alles anzeigen

      So schaut die komplette Config aus, hier wird halt definiert, welche Marker auf der Map aktiv sind bzw. wie sie im Spawn Menü heissen und ausschauen. Hier könnt ihr auch die Icons verändern.

      Diese werden auch in 3 Standart Fraktionen unterteilt. Ihr könnt beliebig viele Markers setzen, nur vergisst nicht diese auch zu definieren.Verstanden? Ok gut dann ab zur nächsten Config.Jetzt zeige ich euch mal die fn_initCiv.cfg:

      SQL
      /*
      	File: fn_initCiv.sqf
      	Author: Bryan "Tonic" Boardwine
      
      
      
      
      	Description:
      	Initializes the civilian.
      */
      private["_spawnPos"];
      civ_spawn_1 = nearestObjects[getMarkerPos  "civ_spawn_1", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_2 = nearestObjects[getMarkerPos  "civ_spawn_2", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_3 = nearestObjects[getMarkerPos  "civ_spawn_3", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_4 = nearestObjects[getMarkerPos  "civ_spawn_4", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      waitUntil {!(isNull (findDisplay 46))};
      
      
      
      
      if(life_is_arrested) then {
      	life_is_arrested = false;
      	[player,true] spawn life_fnc_jail;
      } else {
      	[] call life_fnc_spawnMenu;
      	waitUntil{!isNull (findDisplay 38500)}; //Wait for the spawn selection to be open.
      	waitUntil{isNull (findDisplay 38500)}; //Wait for the spawn selection to be done.
      };
      player addRating 9999999;
      Alles anzeigen

      Verwirrend? Garnicht! Da habe ich gerademal 10 Minuten gebraucht, um es zu begreifen.

      civ_spawn_1 = nearestObjects[getMarkerPos "civ_spawn_1", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];

      Zuerst sieht man den Markername, dann fängt er mit nearestObjects an, die in der nähe verfügbaren Classnames bzw. Gebäuden als Spawnpunkte zu setzen. Z.B. Land_i_Shop_01_V1_F wäre ein Haus mit einem Shop im Erdgeschoss.

      GANZ WICHTIG. Wenn ihr eine Custom Map benutzt, müsst ihr entweder diese Classnames durch die Gebäuden ersetzen, die ihr verfügbar habt. Oder ihr löscht alle Zeilen, die mit der Markernamen anfangen raus. So spawnen die Spieler sonst nur auf euren gesetzten Marker.

      -----------------------------------------------------------------

      So ich hoffe ich konnte euch weiterhelfen, falls meine Rechtschreibung scheisse sein soll, das ist mir egal ;)
      Wenn ich kompletten Müll gelabert haben soll bzw. was vergessen habe zu erwähnen, korrigert mich bitte und ich passe diese Erklärung auch demtentsprechend ab! pleasantry

      Liebe Grüße, Exodoos!

      Mit freundlichen Grüßen,

      Exodoos
      ________________________________

      Macht euch doch ein Bild!

      Ohne Logs & entsprechende Dateien kein Support!

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 14:15
      • #2

      kann ich das erste von die direkt so in meine ersetzten?
      weil ich nutze die 4.5 version

    • Exodoos
      Fortgeschrittener
      Reaktionen
      164
      Trophäen
      10
      Beiträge
      332
      • 9. November 2016 um 15:19
      • #3

      Dürfte eigentlich kein Problem sein, achja dieses 4.5 und 5.0 gedöns ist nichts anderes als die version 4.4R4.

      Mit freundlichen Grüßen,

      Exodoos
      ________________________________

      Macht euch doch ein Bild!

      Ohne Logs & entsprechende Dateien kein Support!

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 15:35
      • #4
      Zitat von Exodoos

      Dürfte eigentlich kein Problem sein, achja dieses 4.5 und 5.0 gedöns ist nichts anderes als die version 4.4R4.

      muss ich dann noch in der Config_SpawnPoints was eintragen?

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 15:43
      • #5

      Also ich hab eine Costum map auf meinem server

      aber hab die Live_server und mission datei von [lexicon]Tanoa[/lexicon] genommen jetzt muss ich die spawns neu machen...

      hab es jetzt so gemacht wie bei dir beschrieben aber wenn man auf den server kommt wird in der spawn auswahl garnix angezeigt

      man spawnt nurnoch bei den markern auf der Sawpn Insel

    • Exodoos
      Fortgeschrittener
      Reaktionen
      164
      Trophäen
      10
      Beiträge
      332
      • 9. November 2016 um 16:00
      • #6

      Nein, du musst zuerst die Markern verschieben, die civ_spawn1 usw.

      Bei der zweiten Datei musst du die Classnames ändern auf die Gebäude, die du auf der Map hast, sonst kannst du diesen Block einfach löschen:

      C
      private["_spawnPos"];
      civ_spawn_1 = nearestObjects[getMarkerPos "civ_spawn_1", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_2 = nearestObjects[getMarkerPos "civ_spawn_2", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_3 = nearestObjects[getMarkerPos "civ_spawn_3", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_4 = nearestObjects[getMarkerPos "civ_spawn_4", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      waitUntil {!(isNull (findDisplay 46))};

      Mit freundlichen Grüßen,

      Exodoos
      ________________________________

      Macht euch doch ein Bild!

      Ohne Logs & entsprechende Dateien kein Support!

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 16:04
      • #7
      Zitat von Exodoos

      Nein, du musst zuerst die Markern verschieben, die civ_spawn1 usw.

      Bei der zweiten Datei musst du die Classnames ändern auf die Gebäude, die du auf der Map hast, sonst kannst du diesen Block einfach löschen:

      C
      private["_spawnPos"];
      civ_spawn_1 = nearestObjects[getMarkerPos "civ_spawn_1", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_2 = nearestObjects[getMarkerPos "civ_spawn_2", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_3 = nearestObjects[getMarkerPos "civ_spawn_3", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      civ_spawn_4 = nearestObjects[getMarkerPos "civ_spawn_4", ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"],250];
      waitUntil {!(isNull (findDisplay 46))};

      ich hab die civ spawn1 ja schon auf der map angepasst
      hab zum testen alle gebäude rausgenommen damit er bei civ_spawn_1 spawnt

      Code
      private["_spawnPos"];
      civ_spawn_1 = nearestObjects[getMarkerPos "civ_spawn_1", [],250];

      so wäre mein erster test

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 16:20
      • #8

      Spawne weiterhin auf der Spawn insel

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 16:23
      • #9

    • Exodoos
      Fortgeschrittener
      Reaktionen
      164
      Trophäen
      10
      Beiträge
      332
      • 9. November 2016 um 16:23
      • #10
      Zitat von Reen36

      ich hab die civ spawn1 ja schon auf der map angepassthab zum testen alle gebäude rausgenommen damit er bei civ_spawn_1 spawnt

      Code
      private["_spawnPos"];
      civ_spawn_1 = nearestObjects[getMarkerPos "civ_spawn_1", [],250];

      so wäre mein erster test

      Du musst den KOMPLETTEN block löschen und NUR in der fn_spawnPointCfg.sqf bzw. in der Config_SpawnPoint.hpp umändern.

      Mit freundlichen Grüßen,

      Exodoos
      ________________________________

      Macht euch doch ein Bild!

      Ohne Logs & entsprechende Dateien kein Support!

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 16:36
      • #11

      ich hab den kompletten block gelöscht in der initCiv

      Code
      /*
       File: fn_initCiv.sqf
       Author: Bryan "Tonic" Boardwine
       Description:
       Initializes the civilian.
      */
      if(life_is_arrested) then {
       life_is_arrested = false;
       [player,true] spawn life_fnc_jail;
      } else {
       [] call life_fnc_spawnMenu;
       waitUntil{!isNull (findDisplay 38500)}; //Wait for the spawn selection to be open.
       waitUntil{isNull (findDisplay 38500)}; //Wait for the spawn selection to be done.
      };
      player addRating 9999999;
      Alles anzeigen

      so sieht die jetzt aus

      dann meine

      Code
      case civilian:
       {
      	_return = [
      	["civ_spawn_6","Lakeside","\a3\ui_f\data\map\MapControl\watertower_ca.paa"],
      	["civ_spawn_2","Melbourne","\a3\ui_f\data\map\MapControl\watertower_ca.paa"],
      	["civ_spawn_3","Perth","\a3\ui_f\data\map\MapControl\watertower_ca.paa"],
      	["civ_spawn_4","Darwin","\a3\ui_f\data\map\MapControl\watertower_ca.paa"]
      	];
      	if(count life_houses > 0) then {

      und meine configspawn

      Code
      class Tanoa {
      
      
      
      
              class Civilian {
                  class Lakeside {
                      displayName = "Lakeside";
                      spawnMarker = "civ_spawn_6";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      licenses[] = { { "", false } };
                      level[] = { "", "", -1 };
                  };
      Alles anzeigen
    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 9. November 2016 um 17:04
      • #12

      ich misch mich hier mal ein wenig ein :)


      Zitat von Reen36

      kann ich das erste von die direkt so in meine ersetzten?
      weil ich nutze die 4.5 version

      nein kannst du nicht.

      Deine Dateien schauen standardmäßig folgend aus:

      Code: fn_spawnPointCfg.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_spawnPointCfg.sqf
          Author: Bryan "Tonic" Boardwine
      
      
      
      
          Description:
          Master configuration for available spawn points depending on the units side.
      
      
      
      
          Return:
          [Spawn Marker,Spawn Name,Image Path]
      */
      
      
      
      
      params [["_side",civilian,[civilian]]];
      
      
      
      
      _side = switch (_side) do {
          case west: {"Cop"};
          case independent: {"Medic"};
          default {"Civilian"};
      };
      
      
      
      
      private _return = [];
      
      
      
      
      private _spawnCfg = missionConfigFile >> "CfgSpawnPoints" >> worldName >> _side;
      
      
      
      
      for "_i" from 0 to count(_spawnCfg)-1 do {
      
      
      
      
          private _tempConfig = [];
          private _curConfig = (_spawnCfg select _i);
          private _conditions = getText(_curConfig >> "conditions");
      
      
      
      
          private _flag = [_conditions] call life_fnc_levelCheck;
      
      
      
      
          if (_flag) then {
              _tempConfig pushBack getText(_curConfig >> "spawnMarker");
              _tempConfig pushBack getText(_curConfig >> "displayName");
              _tempConfig pushBack getText(_curConfig >> "icon");
              _return pushBack _tempConfig;
          };
      };
      
      
      
      
      if (playerSide isEqualTo civilian) then {
        if (count life_houses > 0) then {
          {
            _pos = call compile format ["%1",(_x select 0)];
            _house = nearestObject [_pos, "House"];
            _houseName = getText(configFile >> "CfgVehicles" >> (typeOf _house) >> "displayName");
            _return pushBack [format ["house_%1",_house getVariable "uid"],_houseName,"\a3\ui_f\data\map\MapControl\lighthouse_ca.paa"];
            true
          } count life_houses;
        };
      };
      
      
      
      
      _return;
      Alles anzeigen


      Code: fn_initCiv.sqf
      #include "..\script_macros.hpp"
      /*
          File: fn_initCiv.sqf
          Author: Bryan "Tonic" Boardwine
      
      
      
      
          Description:
          Initializes the civilian.
      */
      private _altisArray = ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"];
      private _tanoaArray = ["Land_House_Small_01_F"];
      private _spawnBuildings = [[["Altis", _altisArray], ["Tanoa", _tanoaArray]]] call TON_fnc_terrainSort;
      
      
      
      
      civ_spawn_1 = nearestObjects[getMarkerPos  "civ_spawn_1", _spawnBuildings,350];
      civ_spawn_2 = nearestObjects[getMarkerPos  "civ_spawn_2", _spawnBuildings,350];
      civ_spawn_3 = nearestObjects[getMarkerPos  "civ_spawn_3", _spawnBuildings,350];
      civ_spawn_4 = nearestObjects[getMarkerPos  "civ_spawn_4", _spawnBuildings,350];
      
      
      
      
      waitUntil {!(isNull (findDisplay 46))};
      if (life_is_alive && !life_is_arrested) then {
          /* Spawn at our last position */
          player setVehiclePosition [life_civ_position, [], 0, "CAN_COLLIDE"];
      } else {
          if (!life_is_alive && !life_is_arrested) then {
              if (LIFE_SETTINGS(getNumber,"save_civilian_positionStrict") isEqualTo 1) then {
                  _handle = [] spawn life_fnc_civLoadout;
                  waitUntil {scriptDone _handle};
                  CASH = 0;
                  [0] call SOCK_fnc_updatePartial;
              };
              [] call life_fnc_spawnMenu;
              waitUntil{!isNull (findDisplay 38500)}; //Wait for the spawn selection to be open.
              waitUntil{isNull (findDisplay 38500)}; //Wait for the spawn selection to be done.
          } else {
              if (life_is_arrested) then {
                  life_is_arrested = false;
                  [player,true] spawn life_fnc_jail;
              };
          };
      };
      life_is_alive = true;
      player addRating 9999999;
      Alles anzeigen
      Code: Config_SpawnPoints.hpp
      /*
      *    Format:
      *        3: STRING (Conditions) - Must return boolean :
      *            String can contain any amount of conditions, aslong as the entire
      *            string returns a boolean. This allows you to check any levels, licenses etc,
      *            in any combination. For example:
      *                "call life_coplevel && license_civ_someLicense"
      *            This will also let you call any other function.
      *
      */
      class CfgSpawnPoints {
      
      
      
      
          class Altis {
              class Civilian {
                  class Kavala {
                      displayName = "Kavala";
                      spawnMarker = "civ_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "!license_civ_rebel";
                  };
      
      
      
      
                  class Athira {
                      displayName = "Athira";
                      spawnMarker = "civ_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Pyrgos {
                      displayName = "Pyrgos";
                      spawnMarker = "civ_spawn_2";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Sofia {
                      displayName = "Sofia";
                      spawnMarker = "civ_spawn_4";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class RebelN {
                      displayName = "Northern Rebel Base";
                      spawnMarker = "Rebelop";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
      
      
      
      
                  class RebelS {
                      displayName = "Southern Rebel Base";
                      spawnMarker = "Rebelop_1";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
      
      
      
      
                  class RebelE {
                      displayName = "Eastern Rebel Base";
                      spawnMarker = "Rebelop_2";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
              };
      
      
      
      
              class Cop {
                  class Kavala {
                      displayName = "Kavala HQ";
                      spawnMarker = "cop_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Athira {
                      displayName = "Athira HQ";
                      spawnMarker = "cop_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\fuelstation_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Pyrgos {
                      displayName = "Pyrgos HQ";
                      spawnMarker = "cop_spawn_2";
                      icon = "\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Air {
                      displayName = "Air HQ";
                      spawnMarker = "cop_spawn_4";
                      icon = "\a3\ui_f\data\map\Markers\NATO\b_air.paa";
                      conditions = "call life_coplevel >= 2 && {license_cop_cAir}";
                  };
      
      
      
      
                  class HW {
                      displayName = "HW Patrol";
                      spawnMarker = "cop_spawn_5";
                      icon = "\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa";
                      conditions = "call life_coplevel >= 3";
                  };
              };
      
      
      
      
              class Medic {
                  class Kavala {
                      displayName = "Kavala Hospital";
                      spawnMarker = "medic_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Athira {
                      displayName = "Athira Regional";
                      spawnMarker = "medic_spawn_2";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Pyrgos {
                      displayName = "Pyrgos Hospital";
                      spawnMarker = "medic_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
              };
          };
      
      
      
      
          class Tanoa {
      
      
      
      
              class Civilian {
                  class Georgetown {
                      displayName = "Georgetown";
                      spawnMarker = "civ_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "!license_civ_rebel";
                  };
      
      
      
      
                  class Balavu {
                      displayName = "Balavu";
                      spawnMarker = "civ_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Tuvanaka {
                      displayName = "Tuvanaka";
                      spawnMarker = "civ_spawn_2";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Lijnhaven {
                      displayName = "Lijnhaven";
                      spawnMarker = "civ_spawn_4";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class RebelNW {
                      displayName = "North Western Rebel Base";
                      spawnMarker = "Rebelop";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
      
      
      
      
                  class RebelS {
                      displayName = "Southern Rebel Base";
                      spawnMarker = "Rebelop_1";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
      
      
      
      
                  class RebelNE {
                      displayName = "North Eastern Rebel Base";
                      spawnMarker = "Rebelop_2";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
              };
      
      
      
      
              class Cop {
                  class NAirport {
                      displayName = "North Airport HQ";
                      spawnMarker = "cop_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class SWAirport {
                      displayName = "South Western Airport HQ";
                      spawnMarker = "cop_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\fuelstation_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class GeorgetownHQ {
                      displayName = "Georgetown HQ";
                      spawnMarker = "cop_spawn_2";
                      icon = "\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Air {
                      displayName = "Air HQ";
                      spawnMarker = "cop_spawn_4";
                      icon = "\a3\ui_f\data\map\Markers\NATO\b_air.paa";
                      conditions = "call life_coplevel >= 2 && {license_cop_cAir}";
                  };
      
      
      
      
                  class HW {
                      displayName = "HW Patrol";
                      spawnMarker = "cop_spawn_5";
                      icon = "\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa";
                      conditions = "call life_coplevel >= 3";
                  };
              };
      
      
      
      
              class Medic {
      
      
      
      
                  class SEHospital {
                      displayName = "South East Hospital";
                      spawnMarker = "medic_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class TanoukaHospital {
                      displayName = "Tanouka Regional";
                      spawnMarker = "medic_spawn_2";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class NEAirportHospital {
                      displayName = "North East Airport Hospital";
                      spawnMarker = "medic_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
              };
      
      
      
      
          };
      
      
      
      
      };
      Alles anzeigen


      in der aktuellsten Version, hast du die Möglichkeit eine Mission für mehrere Maps zu verwenden, indem je nach aktueller Map (worldName) andere Spawnpoints verwendet werden.

      Um eine neue Map(hier: Lakeside) einzutragen, muss die initCiv.sqf folgend ergänzt werden:

      Code: fn_initCiv.sqf
      private _lakesideArray = ["DEINE_HAUSCLASSES"];
      private _spawnBuildings = [[["Altis", _altisArray], ["Tanoa", _tanoaArray], ["Lakeside", _lakesideArray]]] call TON_fnc_terrainSort;

      oder wenn man direkt am Marker Spawnen soll und nicht in einem Haus, den Teil hier löschen:

      Code: fn_initCiv.sqf
      private _altisArray = ["Land_i_Shop_01_V1_F","Land_i_Shop_01_V2_F","Land_i_Shop_01_V3_F","Land_i_Shop_02_V1_F","Land_i_Shop_02_V2_F","Land_i_Shop_02_V3_F"];
      private _tanoaArray = ["Land_House_Small_01_F"];
      private _spawnBuildings = [[["Altis", _altisArray], ["Tanoa", _tanoaArray]]] call TON_fnc_terrainSort;
      
      
      
      
      civ_spawn_1 = nearestObjects[getMarkerPos  "civ_spawn_1", _spawnBuildings,350];
      civ_spawn_2 = nearestObjects[getMarkerPos  "civ_spawn_2", _spawnBuildings,350];
      civ_spawn_3 = nearestObjects[getMarkerPos  "civ_spawn_3", _spawnBuildings,350];
      civ_spawn_4 = nearestObjects[getMarkerPos  "civ_spawn_4", _spawnBuildings,350];
      Alles anzeigen

      in der Config_Spawnpoints.hpp eine neue class für Lakeside erstellen:

      Code: Config_Spawnpoints.hpp
      class Lakeside {
      
      
      
      
              class Civilian {
                  class Georgetown {
                      displayName = "Georgetown";
                      spawnMarker = "civ_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "!license_civ_rebel";
                  };
      
      
      
      
                  class Balavu {
                      displayName = "Balavu";
                      spawnMarker = "civ_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Tuvanaka {
                      displayName = "Tuvanaka";
                      spawnMarker = "civ_spawn_2";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Lijnhaven {
                      displayName = "Lijnhaven";
                      spawnMarker = "civ_spawn_4";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class RebelNW {
                      displayName = "North Western Rebel Base";
                      spawnMarker = "Rebelop";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
      
      
      
      
                  class RebelS {
                      displayName = "Southern Rebel Base";
                      spawnMarker = "Rebelop_1";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
      
      
      
      
                  class RebelNE {
                      displayName = "North Eastern Rebel Base";
                      spawnMarker = "Rebelop_2";
                      icon = "\a3\ui_f\data\map\MapControl\bunker_ca.paa";
                      conditions = "license_civ_rebel";
                  };
              };
      
      
      
      
              class Cop {
                  class NAirport {
                      displayName = "North Airport HQ";
                      spawnMarker = "cop_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\watertower_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class SWAirport {
                      displayName = "South Western Airport HQ";
                      spawnMarker = "cop_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\fuelstation_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class GeorgetownHQ {
                      displayName = "Georgetown HQ";
                      spawnMarker = "cop_spawn_2";
                      icon = "\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa";
                      conditions = "";
                  };
      
      
      
      
                  class Air {
                      displayName = "Air HQ";
                      spawnMarker = "cop_spawn_4";
                      icon = "\a3\ui_f\data\map\Markers\NATO\b_air.paa";
                      conditions = "call life_coplevel >= 2 && {license_cop_cAir}";
                  };
      
      
      
      
                  class HW {
                      displayName = "HW Patrol";
                      spawnMarker = "cop_spawn_5";
                      icon = "\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa";
                      conditions = "call life_coplevel >= 3";
                  };
              };
      
      
      
      
              class Medic {
      
      
      
      
                  class SEHospital {
                      displayName = "South East Hospital";
                      spawnMarker = "medic_spawn_1";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class TanoukaHospital {
                      displayName = "Tanouka Regional";
                      spawnMarker = "medic_spawn_2";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
                  class NEAirportHospital {
                      displayName = "North East Airport Hospital";
                      spawnMarker = "medic_spawn_3";
                      icon = "\a3\ui_f\data\map\MapControl\hospital_ca.paa";
                      conditions = "";
                  };
      
      
      
      
              };
      
      
      
      
          };
      Alles anzeigen


      Das ganze ist jetzt alles noch Theorie und muss getestet werden, denn ich weiß nicht wie die Variable "worldName" für Lakeside heißt. Das müsste man testen. Und je nachdem dort wo ich hier Lakeside eingetragen habe, durch meinetwegen Jackson_Country ersetzen.

      23106-logo-schrift-dunkel-390-70-png class=

      Services rund um ArmA RPG Life

      ArmA Bibel: https://community.bistudio.com/wiki/

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 9. November 2016 um 17:08
      • #13

      noch ne Ergänzung:

      die Variable worldName der jeweiligen Map könnte man wahrscheinlich einfach durch ausführen dieses Befehls im Editor herausfinden:

      copyToClipboard str worldName;

      23106-logo-schrift-dunkel-390-70-png class=

      Services rund um ArmA RPG Life

      ArmA Bibel: https://community.bistudio.com/wiki/

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 20:54
      • #14
      Zitat von B4v4r!4n_Str!k3r

      noch ne Ergänzung:

      die Variable worldName der jeweiligen Map könnte man wahrscheinlich einfach durch ausführen dieses Befehls im Editor herausfinden:

      copyToClipboard str worldName;

      das ist der worldName
      LakesideValley

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 9. November 2016 um 20:57
      • #15

      ja hat alles geklappt ich danke euch

    • Landry
      Anfänger
      Trophäen
      10
      Beiträge
      29
      • 22. Juni 2017 um 03:44
      • #16

      Also bei mir Altis Life 5.0.0 klappt das nicht. Wenn ich die zeilen lösche wird man vom server geworfen sobald man die mission file fertig runter geladen hat. mach ich das rückgängig gehts wieder ganz normal.

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      10
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 22. Juni 2017 um 06:27
      • #17

      Lösch mal deinen MPMissionCache (arma 3 mission cache is @ C:\Users\<username>\AppData\Local\Arma 3)

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • Landry
      Anfänger
      Trophäen
      10
      Beiträge
      29
      • 22. Juni 2017 um 14:08
      • #18

      Danke. Kommt davon wenn man die ganze nacht wach ist dann denkt man nicht mehr an den Cache.

    Registrieren oder Einloggen

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

    Registrieren

    Ähnliche Themen

    • Fehler beheben

      • XniXco
      • 19. Juni 2017 um 20:17
      • Hilfeforum
    • Spawn fehler Einrichten des Cilent bitte warten.

      • SirTim
      • 21. März 2017 um 16:37
      • Hilfeforum
    • Nach Mapwechsel von Altis nach Australien spawn im Wasser

      • warsteiner
      • 28. Februar 2017 um 00:09
      • Hilfeforum

    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™