Liebe Community,
ich möchte auf meinem Server einstellen, dass man bestimmt Marker erst sieht, wenn man eine bestimmte Lizenz besitzt. Kann mir jemand dabei helfen?
Mit freundlichen Grüßen Malte
Liebe Community,
ich möchte auf meinem Server einstellen, dass man bestimmt Marker erst sieht, wenn man eine bestimmte Lizenz besitzt. Kann mir jemand dabei helfen?
Mit freundlichen Grüßen Malte
Schau mal, hier war mal ein Beitrag, wie man bestimmte Marker für Fraktionen ausblendet. So hatte ich damals alle illegalen Marker für medic und Cops ausgeblendet. Das geht sicher auch mit ner Lizenz-Abfrage. Finde aber grad den Link nicht mehr zu dem Thema.
Kann mich auch erinnern, dieses Thema mal gelesen zu haben. Finde es jedoch auch nicht wieder :/. Hat sonst jemand eine Idee?
Grundsätzlich ist das kein Problem ich habe nur leider gerade meine Sachen nicht hier. Wir haben auch gewisse Marker für Cops ausgeblendet und das kann man dann auch sicher mit Lizenzen machen. Wenn ich mich richtig erinnere setzt man dann die Marker nicht im Editor sondern per Script und halt nur, wenn die Lizenz vorhanden ist wird der Marker angezeigt.
Schau Dir mal die CopMarker an . Ansonsten muss ich heute abend mal bei mir reinschauen.
Was soll bei den Cop Markern besonders sein?^^ Kann sein dass da was bei dir wegen der Version anders ist, nur bei mir sind diese auch Standart für alle sichtbar und im EdenEditor platziert. Es wäre aber super, wenn du nochmal nachschauen könntest :).
Also, ich habe das bei uns wie folgt gelöst, ich setze random die Drogendealer und füge die einem Array hinzu. Wenn wenn jetzt Zivs die Karte öffnen werden die Dealer angezeigt. Du müsstest halt bei Dir ein Array anlegen wo alle Informationen zum Marker drin stehen.
zum Beispiel:
life_dealerMarkers pushback ["mil_dot","drogendealer_b_1", [14337.6,13045.003,0],"Drogendealer Sagonisi","ColorEAST"];
//Markertyp, Variable, Koordinaten Name Farbe
Anschliessend legst du eine Funktion an.
#include "..\..\script_macros.hpp"
/*
File: fn_dealerMarkers.sqf
Author: moeck (Lost on Paradise
Description:
Marks random drug dealers on the map when it's open.
*/
private _dealers = [];
uisleep 0.25;
if((visibleMap) && license_civ_XXX) then {
//Loop through and create markers.
{
_dealer = createMarkerLocal [(_x select 1), (_x select 2)];
_dealer setMarkerColorLocal (_x select 4);
_dealer setMarkerTypeLocal "mil_dot";
_dealer setMarkerTextLocal (_x select 3);
_dealers pushBack _dealer;
} foreach life_dealerMarkers;
waitUntil {!visibleMap};
{deleteMarkerLocal _x;} foreach _dealers;
};
Alles anzeigen
license_civ_XXX ersetzt du dann mit deiner eigenen Lizenz. Bzw. kannst Du das auch direkt in der Datei definiern ohne das globale Array, da es sich ja um statische Marker handelt.
Gruß,
moeck
ich baue dann mal noch schnell was, das aktuelle ist zu aufwendig .
dann kannst du auch verschiedene marker mit verschiedenen lizenzen verwenden
so hier mal ein kleines Script was Du dann entsprechend ausbauen kannst.
#include "..\..\script_macros.hpp"
/*
File: fn_mapMarkers.sqf
Author: moeck (Lost on Paradise
Description:
Set Map marker with licenses when it's open.
*/
private _markers = [];
//public marker
_markers pushBack [
["mil_dot","drogendealer_b_1", [14337.6,13045.003,0],"Drogendealer Sagonisi","ColorEAST"]
,["mil_flag","kavala_market", [11018.642,9054.988,0],"Kavala","ColorWEST"]
];
if (license_civ_rebel) then {
_markers pushBack [["mil_box","rebel_camp", [11018.642,9054.988,0],"Rebellenlager","ColorBlack"]];
};
if (license_civ_kupfer) then {
_markers pushBack [["mil_triangle","copper_mine", [11018.642,9054.988,0],"Kupfermine","ColorOrange"]];
};
uisleep 0.25;
if(visibleMap) then {
//Loop through and create markers.
{
_marker = createMarkerLocal [(_x select 1), (_x select 2)];
_marker setMarkerColorLocal (_x select 4);
_marker setMarkerTypeLocal (_x select 0);
_marker setMarkerTextLocal (_x select 3);
} foreach _markers;
waitUntil {!visibleMap};
{deleteMarkerLocal _x;} foreach _markers;
};
Alles anzeigen
so damit hast du sogar schon ein fertiges script. Das fügst du dann im keyhandler bei der Taste für die Karte ein und bist fast fertig. Es muss natürlich noch in den Functions definiert werden . Innerhalb musst Du noch die Lizenzen und natürlich die Positionen festlegen aber das wirst du schon schaffen.
Gruß,
moeck
Okay danke!