Heute gibt es einmal einen kleinen Tipp von mir. Sicher hat sich der ein oder andere schon einmal gefragt wie man alle schon standardmäßig vorhandene Geldautomaten auf der Map automatisch mit einem Marker auf der Map markiert. Hier ist die Lösung als Codeschnipsel:
/*
File: fn_atmMarkers.sqf
Author: B4v4r!4n_Str!k3r ([email protected])
Licence: THIS FILE AND EXTRACTS OF IT IS THE MINDSET OF CATIONSTUDIO
AND ONLY AUTHORIZED PEOPLE/SERVERS ARE ALLOWED TO USE IT.
Description:
Marks all ATMs on the Map
*/
if (!isServer) exitWith {};
// default atms on map
_atms = [];
{
if(["atm_",str(_x)] call BIS_fnc_inString) then {
_atms pushBack _x;
};
} foreach nearestTerrainObjects [[0,0,0],["HIDE"],30000];
{
_marker = createMarker [format["%1_marker",_x],visiblePosition _x];
_marker setMarkerColor "ColorGreen";
_marker setMarkerType "loc_Tourism";
} foreach _atms;
Alles anzeigen
Es ist sicher nicht die performancefreundlichste Funktion, aber ein besseres Mittel habe ich nicht gefunden. Und wenn man die Funktion nur einmal bei Serverstart nur auf dem Server ausführt, sollte das auch kein Problem darstellen.
Wie ausführen? Entweder packt man diese Funktion in den Server und lässt sie via execVM in der init.sqf aufrufen, oder man installiert, falls noch nicht vorhanden, das cationGrundsystem.zip und downloaded folgenden Ordner atmmarkers.zip, kopiert dann den Ordner atm in <mission>/cation/ und fügt
in die cation_functions.cpp
#include "atm\functions.cpp"
in die cation_master.cpp
#include "atm\config.cpp"
und in die cation_remoteExec.cpp
#include "atm\remoteExec.cpp"
ein - fertig!
Auf Wunsch kann in der config.cpp noch eingestellt werden, ob auch selbst gesetzte Geldautomaten markiert werden sollen.