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
Sa: 17 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. Tutorials & Releases

    [TUTORIAL][Altis Life 4.0+] AAN News Rundnachrichten

      • Altis Life
    • blackfisch
    • 8. Juli 2016 um 13:34
    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 13:34
      • #1

      Ich habe mich gestern aus eigenem Interesse mal ran gesetzt und das "News Broadcast" Script aus der Altis Life v4.4r3 ein wenig umgeschrieben, um den Cops die Möglichkeit zu bieten ebenfalls Nachrichten über dieses Tool zu senden. Und dieses kleine aber feine Script möchte ich nun mit euch teilen.


      Script: AAN News Rundnachrichten (Auch bekannt als '7 News Script')
      Version: Altis Life 4.0+ (getestet in 4.4 & 4.4r3)
      Schiwerigkeitsgrad: Fortgeschrittener (mittel) - ein gewisses Scriptverständnis wird zum Bearbeiten vorausgesetzt!
      Funktionen:
      ~ Möglichkeit für Zivilisten, eine Nachricht im "Fernsehen" zu senden (gegen eine Gebühr)
      ~ Möglichkeit für Cops, eine Nachricht im "Fernsehen" zu senden (Button im Z-Menü)
      Erweiterungen:
      HIER geht es zur Erweiterung "Erpresste Rundnachrichten" die es ermöglicht, den Reporter zu "bedrohen" (für Rebellen interessant ^^)

      Rechtliche Hinweise (Copyright):
      Dieses Script/Tutorial basiert auf Code aus dem offiziellen Arma Life RPG Framework - ich habe diesen lediglich abgeändert!

      Ich untersage dennoch die Verbreitung dieser Daten und die des von mir verfassten Tutorials in anderen Foren ohne vorher mein Einverständnis dazu einzuholen.


      Nun zum eigentlichen Teil dieses Posts...

      Anleitung:

      Hinweis:
      In der Version 4.4r3 ist dieses Script bereits eingebaut! Falls ihr diese Version nutzt, sind nur die mit * markierten Punkte notwendig! Außerdem müssen in dieser Version die Dateien nur abgeändert und nicht erstellt werden! (Inhalt kann 1:1 übernommen werden)

      • * Öffnet eure Config_Master.hpp und fügt dort folgendes ein
        C
        /* Channel 7 News Station Configurations */
            news_broadcast_cost = 150000; //Preis für eine Nachricht im Fernsehen
            news_broadcast_cooldown = 20; //Abklingzeit zwischen zwei Nachrichten. (Default = 20 minutes)
            news_broadcast_header_length = 60; //Maximallänge der Überschrift. Alles darüber wird abgeschnitten. Hängt von der Schriftart, -größe und anderen Faktoren ab. Vorsicht beim Abändern!
        	cop_news_broadcast_cooldown = 5; //Abklingzeit zwischen zwei Nachrichten der Polizei
        	cop_news_broadcast_minimum_Rank = 5; //Benötigter Rang für Polizisten, um Nachricht zu senden
      • Öffnet eure CfgRemoteExec.hpp und fügt unter den Client only Functions folgendes ein
        C
        F(life_fnc_AAN,CLIENT)
      • Öffnet eure Functions.hpp und fügt folgende Einträge ein:
        unter class Actions

        C
        class newsBroadcast {};

        unter class Functions

        C
        class AAN {};
        class postNewsBroadcast {};
      • * Erstellt eine neue Datei fn_newsBroadcast.sqf im Ordner core\actions mit folgendem Inhalt
        C
        #include "..\..\script_macros.hpp"
        /*
            File: fn_newsBroadcast.sqf
            Author: Jesse "tkcjesse" Schultz
            edited by: blackfisch
            Description:
            Creates the dialog and handles the data in the Channel 7 News Dialog.
        */
        #define Confirm 100104
        private ["_msgCost","_msgRank","_rank","_copCooldown","_display","_confirmBtn","_msgCooldown","_broadcastDelay"];
        createDialog "life_news_broadcast";
        disableSerialization;
        _display = findDisplay 100100;
        _confirmBtn = _display displayCtrl Confirm;
        _confirmBtn ctrlEnable false;
        _msgCooldown = (60 * LIFE_SETTINGS(getNumber,"news_broadcast_cooldown"));
        _msgCost = LIFE_SETTINGS(getNumber,"news_broadcast_cost");
        _copCooldown = (60 * LIFE_SETTINGS(getNumber,"cop_news_broadcast_cooldown"));
        _msgRank = LIFE_SETTINGS(getNumber,"cop_news_broadcast_minimum_Rank");
        _rank = call life_coplevel;
        switch (playerside) do {
        	case west: {
        		if (_rank < _msgRank) then {
        			hint format["Du besitzt nicht den benötigten Rang! (benötigter Rang: %1)", _msgRank];
        			closeDialog 0;
        		} else {
        			_confirmBtn ctrlEnable true;
        			_confirmBtn buttonSetAction "[ctrlText 100101,ctrlText 100102,profilename,""cop""] call life_fnc_postNewsBroadcast; closeDialog 0;";
        		};
        		if (isNil "life_copBroadcastTimer" || {(time - life_copBroadcastTimer) > _copCooldown}) then {
        			_broadcastDelay = localize "STR_News_Now";
        		} else {
        			_broadcastDelay = [(_msgCooldown - (time - life_copBroadcastTimer))] call BIS_fnc_secondsToString;
        			_confirmBtn ctrlEnable false;
        		};
        		CONTROL(100100,100103) ctrlSetStructuredText parseText format["Benötigter Rang: %1<br/>Nächste Übertragung verfügbar: %2",[_msgRank] call life_fnc_numberText,_broadcastDelay];
        	};
        	case civilian: {
        		if (CASH < _msgCost) then {
        			hint format[localize "STR_News_NotEnough",[_msgCost] call life_fnc_numberText];
        		} else {
        			_confirmBtn ctrlEnable true;
        			_confirmBtn buttonSetAction "[ctrlText 100101,ctrlText 100102,profilename,""civ""] call life_fnc_postNewsBroadcast; closeDialog 0;";
        		};
        		if (isNil "life_broadcastTimer" || {(time - life_broadcastTimer) > _msgCooldown}) then {
        			_broadcastDelay = localize "STR_News_Now";
        		} else {
        			_broadcastDelay = [(_msgCooldown - (time - life_broadcastTimer))] call BIS_fnc_secondsToString;
        			_confirmBtn ctrlEnable false;
        		};
        		CONTROL(100100,100103) ctrlSetStructuredText parseText format[ localize "STR_News_StructuredText",[_msgCost] call life_fnc_numberText,_broadcastDelay];
        	};
        	default {};
        };
        Alles anzeigen
      • * Erstellt eine Datei fn_postNewsBroadcast.sqf im Ordner core\functions mit folgendem Inhalt
        C
        #include "..\..\script_macros.hpp"
        /*
            File: fn_postNewsBroadcast.sqf
            Author: Jesse "tkcjesse" Schultz
            edited by: blackfisch
            Description:
            Handles actions after the broadcast button is clicked.
        */
        private ["_broadcastHeader","_broadcastMessage","_length","_badCharacter","_characterByte","_allowed","_allowedLength"];
        disableSerialization;
        _broadcastHeader = ctrlText (CONTROL(100100,100101));
        _broadcastMessage = ctrlText (CONTROL(100100,100102));
        _length = count (toArray (_broadcastHeader));
        _characterByte = toArray (_broadcastHeader);
        _allowed = toArray("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.,:/()[]\ÄÖÜäöüß?!=&%$§ '#`´{}<>|-+*@^°");
        _allowedLength = LIFE_SETTINGS(getNumber,"news_broadcast_header_length");
        _badCharacter = false;
        _side = _this select 3;
        if (_length > _allowedLength) exitWith {hint format[localize "STR_News_HeaderLength",_allowedLength];};
        {
            if (!(_x in _allowed)) exitWith {_badCharacter = true;};
        } forEach _characterByte;
        if (_badCharacter) exitWith {hint localize "STR_News_UnsupportedCharacter"};
        switch (_side) do {
        	case "cop": {
        		_sender = format["Altis Police Department - Officer %1", profileName]; /* Hinweis: "Altis Police Department - Officer" kann entfernt oder abgeändert werden nach Belieben! '%1' repräsentiert den Namen des Spielers */
        		[_broadcastHeader,_broadcastMessage,_sender] remoteExec ['life_fnc_AAN',-2];
        		[0] call SOCK_fnc_updatePartial;
        		life_copBroadcastTimer = time;
        		publicVariable "life_copBroadcastTimer";
        	};
        	case "civ": {
        		[_broadcastHeader,_broadcastMessage,profileName] remoteExec ['life_fnc_AAN',-2];
        		CASH = CASH - LIFE_SETTINGS(getNumber,"news_broadcast_cost");
        		[0] call SOCK_fnc_updatePartial;
        		life_broadcastTimer = time;
        		publicVariable "life_broadcastTimer";
        	};
        	default {};
        };
        Alles anzeigen
      • Ladet euch die fn_AAN.sqf herunter und fügt sie in den core\functions Ordner ein fn_AAN.sqf
      • Öffnet eure configuration.sqf (zu finden im core Ordner) und fügt dort unter den Backend Variable folgendes ein:
      • C
        life_settings_enableNewsBroadcast = profileNamespace getVariable ["life_enableNewsBroadcast",true];
      • Erstellt eine neue Datei newsStation.hpp im Ordner dialog mit folgendem Inhalt
        CSS
        class life_news_broadcast {
            idd = 100100;
            name= "life_news_broadcast";
            movingEnable = 0;
            enableSimulation = 1;
            class controlsBackground {
                class Life_RscTitleBackground: Life_RscText {
                    colorBackground[] = {"(profileNamespace getVariable ['GUI_BCG_RGB_R',0.3843])", "(profileNamespace getVariable ['GUI_BCG_RGB_G',0.7019])", "(profileNamespace getVariable ['GUI_BCG_RGB_B',0.8862])", "(profileNamespace getVariable ['GUI_BCG_RGB_A',0.7])"};
                    idc = -1;
                    x = 0.1;
                    y = 0.2;
                    w = 0.64;
                    h = (1 / 25);
                };
                class MainBackground: Life_RscText {
                    colorBackground[] = {0, 0, 0, 0.7};
                    idc = -1;
                    x = 0.1;
                    y = 0.2 + (11 / 250);
                    w = 0.64;
                    h = 0.3 - (5 / 250);
                };
            };
            class controls {
                class Title: Life_RscTitle {
                    colorBackground[] = {0, 0, 0, 0};
                    idc = -1;
                    text = "$STR_News_DialogTitle";
                    x = 0.1;
                    y = 0.2;
                    w = 0.6;
                    h = (1 / 25);
                };
                class MsgHeader: Life_RscTitle {
                    colorBackground[] = {0, 0, 0, 0};
                    idc = -1;
                    text = "$STR_News_MsgHeader";
                    x = 0.1;
                    y = 0.25;
                    w = 0.6;
                    h = (1 / 25);
                };
                class MsgHeaderEdit: Life_RscEdit {
                    idc = 100101;
                    text = "";
                    sizeEx = 0.035;
                    x = 0.11;
                    y = 0.3;
                    w = 0.62;
                    h = 0.03;
                };
                class MsgText: Life_RscTitle {
                    colorBackground[] = {0, 0, 0, 0};
                    idc = -1;
                    text = "$STR_News_MsgContent";
                    x = 0.1;
                    y = 0.33;
                    w = 0.6;
                    h = (1 /25);
                };
                class MsgContentEdit: Life_RscEdit {
                    idc = 100102;
                    text = "";
                    sizeEx = 0.035;
                    x = 0.11;
                    y = 0.38;
                    w = 0.62;
                    h = 0.03;
                };
                class MessageInfo: Life_RscStructuredText {
                    colorBackground[] = {0, 0, 0, 0};
                    idc = 100103;
                    text = "";
                    x = 0.1;
                    y = 0.43;
                    w = 0.6;
                    h = .275;
                };
                class ConfirmButtonKey: Life_RscButtonMenu {
                    idc = 100104;
                    text = "$STR_News_Broadcast";
                    x = (6.25 / 40) + (4.2 / 40) + (1 / 250 / (safezoneW / safezoneH));
                    y = 0.51 + (1 / 50);
                    w = (10.5 / 40);
                    h = (1 / 25);
                };
                class CloseButtonKey: Life_RscButtonMenu {
                    idc = -1;
                    text = "$STR_Global_Close";
                    onButtonClick = "closeDialog 0;";
                    x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
                    y = 0.51 + (1 / 50);
                    w = (6.25 / 40);
                    h = (1 / 25);
                };
            };
        };
        Alles anzeigen
      • Öffnet eure MasterHandler.hpp (zu finden im dialog Ordner) und fügt folgenden Eintrag ein
        C
        #include "newsStation.hpp"
      • * Öffnet eure player_inv.hpp (zu finden im dialog Ordner) und fügt unter class ButtonAdminMenu folgendes ein
        CSS
        class PoliceNewsBroadcast : life_RscButtonMenu {
        	idc = 3024;
        	text = "AAN News Nachricht";
        	onButtonClick = "closeDialog 0; [] call life_fnc_newsBroadcast;";
        	x = 0.42 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
        	y = 0.805; 
        	w = (6.25 / 40);
        	h = (1 / 25);			
        };
      • Öffnet eure settings.hpp und fügt folgendes ein:
        unter class RevealNearestHeader
        CSS
        class BroacastHeader : PlayerTagsHeader {
            idc = -1;
            text = "$STR_SM_BCSW";
            y = 0.58;
        };

        unter class RevealONOFF

        CSS
        class BroadcastONOFF : PlayerTagsONOFF {
            idc = 2973;
            tooltip = "$STR_GUI_BroadcastSwitch";
            onCheckedChanged = "['broadcast',_this select 1] call life_fnc_s_onCheckedChange;";
            y = 0.58;
        };
      • * Öffnet eure fn_p_openMenu.sqf (zu finden im Ordner core\pmenu) und fügt sowohl bei case civilian als auch bei case independent folgendes ein (falls nicht vorhanden, cases neu erstellen!)
        C
        ctrlShow[3024,false];
      • Öffnet eure stringtable.xml und fügt folgendes Package ein (wichtig: es muss über oder unter einem anderen Package sein, abber dennoch im Project "Altis Life RPG" - am besten vo das erste Package packen) 4.4 Stringtable Download mit Einträgen: stringtable4.4.txt
        XML
        <Package name="News_Strings">
        	<Key ID="STR_News_AddAction">
        		<Original>News Station Broadcast</Original>
        	</Key>
        	<Key ID="STR_News_DialogTitle">
        		<Original>Channel 7 News Station</Original>
        	</Key>
        	<Key ID="STR_News_MsgHeader">
        		<Original>Message Heading:</Original>
        	</Key>
        	<Key ID="STR_News_MsgContent">
        		<Original>Message Content:</Original>
        	</Key>
        	<Key ID="STR_News_Broadcast">
        		<Original>Broadcast Message</Original>
        	</Key>
        	<Key ID="STR_News_StructuredText">
        		<Original>Broadcast Cost: %1<br />Next Broadcast Available: %2</Original>
        	</Key>
        	<Key ID="STR_News_HeaderLength">
        		<Original>The header cannot be over %1 characters</Original>
        	</Key>
        	<Key ID="STR_News_UnsupportedCharacter">
        		<Original>You've entered an unsupported character!</Original>
        	</Key>
        	<Key ID="STR_News_Now">
        		<Original>Now</Original>
        	</Key>
        	<Key ID="STR_News_NotEnough">
        		<Original>You need $%1 to send a broadcast!</Original>
        	</Key>
        	<Key ID="STR_News_BroadcastedBy">
        		<Original><t size='2'>%1</t><br />Broadcasted by: %2</Original>
        	</Key>
        		<Key ID="STR_News_BroadcastRebel">
        		<Original>Force Broadcast</Original>
        	</Key>
        		<Key ID="STR_News_Forced">
        		<Original>Ein Studio von AAN News wird von bewaffneten Räubern überfallen!</Original>
        	</Key>
        </Package>
        Alles anzeigen
      • Setzt im Editor einen neuen NPC (z.B. einen Reporter) mit folgender init
        C
        this enableSimulation false; this allowDamage false; this addAction[localize"STR_News_AddAction",life_fnc_newsBroadcast,"",1.5,false,false,"",'isNull objectParent player && player distance _target < 4']; this addAction[localize"STR_NOTF_ATM",life_fnc_atmMenu,"",0,false,false,"",' isNull objectParent player && player distance _target < 4 '];
      • Sofern ihr Altis Life 4.0 nutzt nun noch eine Datei script_macros.hpp im Hauptverzeichnis der Mission erstellen mit folgendem Inhalt
        CSS
        /* System Wide Stuff */
        #define SYSTEM_TAG "life"
        #define ITEM_TAG format["%1%2",SYSTEM_TAG,"item_"]
        #define CASH life_cash
        #define BANK life_atmbank
        #define GANG_FUNDS group player getVariable ["gang_bank",0];
        
        
        
        
        //RemoteExec Macros
        #define RSERV 2 //Only server
        #define RCLIENT -2 //Except server
        #define RANY 0 //Global
        
        
        
        
        //Scripting Macros
        #define CONST(var1,var2) var1 = compileFinal (if (var2 isEqualType "") then {var2} else {str(var2)})
        #define CONSTVAR(var) var = compileFinal (if (var isEqualType "") then {var} else {str(var)})
        #define FETCH_CONST(var) (call var)
        
        
        
        
        //Display Macros
        #define CONTROL(disp,ctrl) ((findDisplay ##disp) displayCtrl ##ctrl)
        #define CONTROL_DATA(ctrl) (lbData[ctrl,lbCurSel ctrl])
        #define CONTROL_DATAI(ctrl,index) ctrl lbData index
        
        
        
        
        //System Macros
        #define LICENSE_VARNAME(varName,flag) format["license_%1_%2",flag,M_CONFIG(getText,"Licenses",varName,"variable")]
        #define LICENSE_VALUE(varName,flag) missionNamespace getVariable [LICENSE_VARNAME(varName,flag),false]
        #define ITEM_VARNAME(varName) format["life_inv_%1",M_CONFIG(getText,"VirtualItems",varName,"variable")]
        #define ITEM_VALUE(varName) missionNamespace getVariable [ITEM_VARNAME(varName),0]
        #define ITEM_ILLEGAL(varName) M_CONFIG(getNumber,"VirtualItems",varName,"illegal")
        #define ITEM_SELLPRICE(varName) M_CONFIG(getNumber,"VirtualItems",varName,"sellPrice")
        #define ITEM_BUYPRICE(varName) M_CONFIG(getNumber,"VirtualItems",varName,"buyPrice")
        #define ITEM_NAME(varName) M_CONFIG(getText,"VirtualItems",varName,"displayName")
        
        
        
        
        //Condition Macros
        #define KINDOF_ARRAY(a,b) [##a,##b] call {_veh = _this select 0;_types = _this select 1;_res = false; {if (_veh isKindOf _x) exitWith { _res = true };} forEach _types;_res}
        
        
        
        
        //Config Macros
        #define FETCH_CONFIG(TYPE,CFG,SECTION,CLASS,ENTRY) TYPE(configFile >> CFG >> SECTION >> CLASS >> ENTRY)
        #define FETCH_CONFIG2(TYPE,CFG,CLASS,ENTRY) TYPE(configFile >> CFG >> CLASS >> ENTRY)
        #define FETCH_CONFIG3(TYPE,CFG,SECTION,CLASS,ENTRY,SUB) TYPE(configFile >> CFG >> SECTION >> CLASS >> ENTRY >> SUB)
        #define FETCH_CONFIG4(TYPE,CFG,SECTION,CLASS,ENTRY,SUB,SUB2) TYPE(configFile >> CFG >> SECTION >> CLASS >> ENTRY >> SUB >> SUB2)
        #define M_CONFIG(TYPE,CFG,CLASS,ENTRY) TYPE(missionConfigFile >> CFG >> CLASS >> ENTRY)
        #define BASE_CONFIG(CFG,CLASS) inheritsFrom(configFile >> CFG >> CLASS)
        #define LIFE_SETTINGS(TYPE,SETTING) TYPE(missionConfigFile >> "Life_Settings" >> SETTING)
        
        
        
        
        //UI Macros
        #define LIFEdisplay (uiNamespace getVariable ["playerHUD",displayNull])
        #define LIFEctrl(ctrl) ((uiNamespace getVariable ["playerHUD",displayNull]) displayCtrl ctrl)
        
        
        
        
        //SpyGlass Macros
        #define SPYGLASS_END \
            vehicle player setVelocity[1e10,1e14,1e18]; \
            sleep 3; \
            preProcessFile "SpyGlass\endoftheline.sqf"; \
            sleep 2.5; \
            failMission "SpyGlass";
        Alles anzeigen


      Sieht Ingame dann etwa so aus:

      Der Dialog

      Spoiler anzeigen

      Die Nachricht

      Spoiler anzeigen

      Fertig!
      Das war's schon!
      Solltet ihr Wünsche, Anregungen oder Verbesserungsvorschläge haben, lasst es mich gerne wissen!

      Ich wünsche euch Viel Spaß mit dem Tutorial :thumbup:

      #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!

      ______________________

      9 Mal editiert, zuletzt von blackfisch (3. Oktober 2016 um 18:48)

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 8. Juli 2016 um 14:14
      • #2

      Danke @blackfisch! ab schon lange nach sowas gesucht.

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 14:29
      • #3

      Kein Ding :D Dafür gibt's ja mich ^^ Macht gefühlt auch weniger Probleme als dieses '7 News Script' wo jeder in irgendeiner Form Probleme hat ^^

      #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!

      ______________________

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 8. Juli 2016 um 21:27
      • #4

      Benutze die 4.4 und es funktioniert leider nicht. Logs sind angefügt.

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 21:33
      • #5

      Das ist leider kein Log, sondern deine newsStation.hpp @STG_SilentF0x xD

      #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!

      ______________________

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 8. Juli 2016 um 21:36
      • #6

      Moment :D Mega Fail :D

      Dateien

      arma3server_2016-07-08_21-22-54.txt 34,3 kB – 360 Downloads

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 21:54
      • #7

      Einer von uns hat die newsStation.hpp falsch kopiert ;) Setz mal ganz ans Ende noch ein }; und das wars ^^

      #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!

      ______________________

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 8. Juli 2016 um 22:00
      • #8
      Code
      class life_news_broadcast {
      	idd = 100100;
      	name= "life_news_broadcast";
      	movingEnable = 0;
      	enableSimulation = 1;
      	class controlsBackground {
      		class Life_RscTitleBackground: Life_RscText {
      			colorBackground[] = {"(profileNamespace getVariable ['GUI_BCG_RGB_R',0.3843])", "(profileNamespace getVariable ['GUI_BCG_RGB_G',0.7019])", "(profileNamespace getVariable ['GUI_BCG_RGB_B',0.8862])", "(profileNamespace getVariable ['GUI_BCG_RGB_A',0.7])"};
      			idc = -1;
      			x = 0.1;
      			y = 0.2;
      			w = 0.64;
      			h = (1 / 25);
      		};
      		class MainBackground: Life_RscText {
      			colorBackground[] = {0, 0, 0, 0.7};
      			idc = -1;
      			x = 0.1;
      			y = 0.2 + (11 / 250);
      			w = 0.64;
      			h = 0.3 - (5 / 250);
      		};
      	};
      	class controls {
      		class Title: Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = -1;
      			text = "$STR_News_DialogTitle";
      			x = 0.1;
      			y = 0.2;
      			w = 0.6;
      			h = (1 / 25);
      		};
      		class MsgHeader: Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = -1;
      			text = "$STR_News_MsgHeader";
      			x = 0.1;
      			y = 0.25;
      			w = 0.6;
      			= (1 / 25);
      		};
      		class MsgHeaderEdit: Life_RscEdit {
      			idc = 100101;
      			text = "";
      			sizeEx = 0.035;
      			x = 0.11;
      			y = 0.3;
      			w = 0.62;
      			h = 0.03;
      		};
      		class MsgText: Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = -1;
      			text = "$STR_News_MsgContent";
      			x = 0.1;
      			y = 0.33;
      			w = 0.6;
      			h = (1 /25);
      		};
      		class MsgContentEdit: Life_RscEdit {
      			idc = 100102;
      			text = "";
      			sizeEx = 0.035;
      			x = 0.11;
      			y = 0.38;
      			w = 0.62;
      			h = 0.03;
      		};
      		class MessageInfo: Life_RscStructuredText {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = 100103;
      			text = "";
      			x = 0.1;
      			y = 0.43;
      			w = 0.6;
      			h = .275;
      		};
      		class ConfirmButtonKey: Life_RscButtonMenu {
      			idc = 100104;
      			text = "$STR_News_Broadcast";
      			x = (6.25 / 40) + (4.2 / 40) + (1 / 250 / (safezoneW / safezoneH));
      			y = 0.51 + (1 / 50);
      			w = (10.5 / 40);
      			h = (1 / 25);
      		};
      		class CloseButtonKey: Life_RscButtonMenu {
      			idc = -1;
      			text = "$STR_Global_Close";
      			onButtonClick = "closeDialog 0;";
      			x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
      			y = 0.51 + (1 / 50);
      			w = (6.25 / 40);
      			h = (1 / 25);
      		};
      	};
      };
      Alles anzeigen

      So müsste es richtig sein.

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 22:05
      • #9

      Jop, so ist richtig. Bei dir hat halt eine Klammer gefehlt am Ende (in der 1. Datei war das zu sehen ^^)

      #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!

      ______________________

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 8. Juli 2016 um 22:07
      • #10

      Problem war halt, dass ich die Abstände falsch hatte. Deswegen ist die eine Klammer entfernt worden. Danke trotzdem!

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 23:03
      • #11

      Ich habe mich nun auch rangesetzt und die Funktionalitäten für Rebellen eingefügt: Das "Überfallen" der AAN News! Bewaffnete Spieler können nun den Reporter bedrohen und haben je nach Waffentyp verschiedene Chancen erfolgreich zu sein (50% Pistole, 70% SMG, 95% Langwaffe - konfigurierbar!) - oder auch garantierter Erfolg (kann in Master Config eingestellt werden)


      Script: Erpresste Rundnachrichten [AddOn für AAN News Script]
      Version: Altis Life 4.0+ (getestet in 4.4r3)
      Schiwerigkeitsgrad: Fortgeschrittener (mittel) - ein gewisses Scriptverständnis wird zum Bearbeiten vorausgesetzt!
      Funktionen:
      ~ Möglichkeit für bewaffnete Personen, den Reporter zu "bedrohen" (-> kein Geld zum Senden erforderlich)
      besondere Features:
      ~ anpassbarer Cooldown für Überfälle
      ~ NPC ergibt sich nach Überfall (Hände hinter den Kopf) bis der Cooldown vorbei ist
      ~ Je nach Waffentyp (Pistole/SMG/Gewehr) verschiedene anpassbare Erfolgschancen
      ~ Zufallssystem über Einstellung in der Config_Master deaktivierbar


      Rechtliche Hinweise (Copyright):
      Dieses Script/Tutorial basiert auf Code aus dem offiziellen Arma Life RPG Framework. Dennoch habe ich meinen geistigen Beitrag dazu geleistet und erhebe darauf auch den mir zustehenden Anspruch gemäß der APL-SA von Bohemia Interactive. Die Nutzung und Bearbeitung des Codes ist jederzeit erlaubt, dabei darf mein Name allerdings nicht entfernt werden!

      Ich untersage hiermit die Verbreitung dieser Daten und die des von mir verfassten Tutorials in anderen Foren ohne vorher mein Einverständnis dazu einzuholen.


      Nun zum eigentlichen Teil dieses Posts...

      Anleitung:

      Hinweis:
      Es wird vorausgesetzt, dass ihr bereits alle Schritte aus dem Hauptthread abgearbeitet habt! Falls nicht, holt das bitte nach! Zum Hauptthread gelangt ihr HIER

      • Öffnet eure Config_Master.hpp und fügt dort folgendes (bei den anderen Channel 7 News Einstellungen) ein
        C
        reb_news_broadcast_cooldown = 15; //Cooldown für das Bedrohen
        reb_news_enablePercentage = true; //Zufallssystem je nach Waffentyp deaktivieren (Default = true [Activated])
      • Öffnet eure newsStation.hpp (zu finden im dialog Ordner) und fügt unter class ConfirmButtonKey folgendes ein
        CSS
        class RebConfirmButtonKey: Life_RscButtonMenu {
            idc = 100105;
            text = "$STR_News_BroadcastRebel";
            x = (6.25 / 40) + (4.2 / 40) + (1 / 250 / (safezoneW / safezoneH));
            y = 0.52 + (1 / 50) + (1 / 25);
            w = (10.5 / 40);
            h = (1 / 25);
            ColorBackground[] = {0.470588,0.019607,0.019607,0.741176};
            colorFocused[] = {0.568627,0.027450,0.027450,0.901960};
        };
      • Öffnet eure Functions.hpp und fügt folgenden Eintrag unter class Functions ein

        C
        class rebelNewsBroadcast {}; //handles rebel broadcast
      • Erstellt eine neue Datei fn_rebelNewsBroadcast.sqf im Ordner core\functions mit folgendem Inhalt
        C
        #include "..\..\script_macros.hpp"
        /*
            File: fn_rebelNewsBroadcast.sqf
            Author: blackfisch
            Description:
            Let's Check if he is a good or a bad boy
        */
        private["_npc","_broadcastHeader","_broadcastMessage","_curWep","_rebCooldown","_pistol","_smg","_luck","_val"];
        _npc = cursorObject;	//the NPC itself, passed by Script
        _broadcastHeader = ctrlText (CONTROL(100100,100101));
        _broadcastMessage = ctrlText (CONTROL(100100,100102));
        _curWep = currentWeapon player; //checks the weapon of the player
        _rebCooldown = (60 * LIFE_SETTINGS(getNumber,"reb_news_broadcast_cooldown")); //cooldown, read from Mission Config
        if (!alive player) exitWith {}; //C'mon... You're f*cking dead, mate
        if (vehicle player != player) exitWith {hint "Komm erstmal aus deiner Karre raus, du Wicht..."}; //Dafuq?! Get out of that vehicle...
        if (_curWep in ["","Weapon_hgun_Pistol_Signal_F"]) exitWith {hint "Denkst du ernsthaft, du kannst mich bedrohen?"}; //No weapon or Starter Pistol - no broadcast!
        _pistol = ["hgun_ACPC2_F","hgun_P07_F","hgun_P07_snds_F","hgun_P07_khk_F","hgun_Pistol_heavy_01_F","hgun_Pistol_heavy_02_F","hgun_Rook40_F"]; //Array of pistols
        _smg = ["hgun_PDW2000_F","SMG_01_F","SMG_02_F","SMG_05_F"]; //Array of SMGs
        if (LIFE_SETTINGS(getNumber,"reb_news_enablePercentage") isEqualTo 1) then {
        	if (_curWep in _pistol) then { //is it a pistol?
        		_luck = 0.5; //so it is a pistol - chance 50%
        	} else { //it's no pistol, so what is it?
        		if (_curWep in _smg) then { //is it a smg?
        			_luck = 0.7; //it'an smg - chance 70%
        		} else { //no smg? so another kind of rifle
        			_luck = 0.95; //it's a rifle - chance 95%
        		};
        	};
        	_val = round(random 100) / 100; //create a random number from 0-1 (for the percentages)
        	if (_val > _luck) exitWith { //Someone isn't really lucky there...
        		hint "Glaubst du ernsthaft ich lasse mich von dir einschüchtern? Ich rufe die Cops!";
        		[[0,1,2],"STR_News_Forced"] remoteExecCall ["life_fnc_broadcast",west]; //Notify the cops
        	};
        	if (_npc isKindOf "Man") then { //Just debug...
        		_npc switchMove "AmovPercMstpSsurWnonDnon"; //let the NPC surrender
        	};
        	closeDialog 0;
        	[ctrlText 100101,ctrlText 100102,profilename,"reb"] call life_fnc_postNewsBroadcast; //send the message
        	waitUntil {(time - life_rebBroadcastTimer) > _rebCooldown};
        	_npc switchMove "";
        } else {
        	closeDialog 0;
        	[ctrlText 100101,ctrlText 100102,profilename,"reb"] call life_fnc_postNewsBroadcast; //send the message
        };
        Alles anzeigen
      • Öffnet eure fn_newsBroadcast.sqf (zu finden im Ordner core\actions) und ersetzt diese mit folgendem Inhalt
        C
        #include "..\..\script_macros.hpp"
        /*
            File: fn_newsBroadcast.sqf
            Author: Jesse "tkcjesse" Schultz
        
        
        
        
            Description:
            Creates the dialog and handles the data in the Channel 7 News Dialog.
        */
        #define Confirm 100104
        #define ConfirmReb 100105
        
        
        
        
        private ["_npc","_msgCost","_msgRank","_rank","_display","_confirmBtn","_confirmBtnReb","_msgCooldown","_broadcastDelay"];
        _npc = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
        
        
        
        
        createDialog "life_news_broadcast";
        disableSerialization;
        _display = findDisplay 100100;
        _confirmBtn = _display displayCtrl Confirm;
        _confirmBtn ctrlEnable false;
        _confirmBtnReb = _display displayCtrl ConfirmReb;
        _confirmBtnReb ctrlEnable false;
        
        
        
        
        
        
        
        _msgCooldown = (60 * LIFE_SETTINGS(getNumber,"news_broadcast_cooldown"));
        _msgCost = LIFE_SETTINGS(getNumber,"news_broadcast_cost");
        _copCooldown = (60 * LIFE_SETTINGS(getNumber,"cop_news_broadcast_cooldown"));
        _msgRank = LIFE_SETTINGS(getNumber,"cop_news_broadcast_minimum_Rank");
        _rank = FETCH_CONST(life_coplevel);
        _rebCooldown = (60 * LIFE_SETTINGS(getNumber,"reb_news_broadcast_cooldown"));
        
        
        
        
        switch (playerside) do {
        	case west: {
        		ConfirmReb ctrlShow false;
        		if (_rank < _msgRank) then {
        			hint format["Du besitzt nicht den benötigten Rang! (benötigter Rang: %1)", _msgRank];
        			closeDialog 0;
        		} else {
        			_confirmBtn ctrlEnable true;
        			_confirmBtn buttonSetAction "[ctrlText 100101,ctrlText 100102,profilename,""cop""] call life_fnc_postNewsBroadcast; closeDialog 0;";
        		};
        		if (isNil "life_copBroadcastTimer" || {(time - life_copBroadcastTimer) > _msgCooldown}) then {
        			_broadcastDelay = localize "STR_News_Now";
        		} else {
        			_broadcastDelay = [(_msgCooldown - (time - life_copBroadcastTimer))] call BIS_fnc_secondsToString;
        			_confirmBtn ctrlEnable false;
        		};
        		CONTROL(100100,100103) ctrlSetStructuredText parseText format["Benötigter Rang: %1<br/>Nächste Übertragung verfügbar: %2",[_msgRank] call life_fnc_numberText,_broadcastDelay];
        	};
        	case civilian: {
        		if (CASH < _msgCost) then {
        			hint format[localize "STR_News_NotEnough",[_msgCost] call life_fnc_numberText];
        		} else {
        			_confirmBtn ctrlEnable true;
        			_confirmBtn buttonSetAction "[ctrlText 100101,ctrlText 100102,profilename,""civ""] call life_fnc_postNewsBroadcast; closeDialog 0;";
        		};
        		if (isNil "life_broadcastTimer" || {(time - life_broadcastTimer) > _msgCooldown}) then {
        			_broadcastDelay = localize "STR_News_Now";
        		} else {
        			_broadcastDelay = [(_msgCooldown - (time - life_broadcastTimer))] call BIS_fnc_secondsToString;
        			_confirmBtn ctrlEnable false;
        		};
        		_confirmBtnReb buttonSetAction "[ctrlText 100101,ctrlText 100102] spawn life_fnc_rebelNewsBroadcast; closeDialog 0;";
        		if (isNil "life_rebBroadcastTimer" || {(time - life_rebBroadcastTimer) > _rebCooldown}) then {
        			_confirmBtnReb ctrlEnable true;
        			_npc switchMove "";
        		} else {
        			_confirmBtnReb ctrlEnable false;
        		};
        		CONTROL(100100,100103) ctrlSetStructuredText parseText format[ localize "STR_News_StructuredText",[_msgCost] call life_fnc_numberText,_broadcastDelay];
        	};
        	default {};
        };
        Alles anzeigen
      • Öffnet eure fn_postNewsBroadcast.sqf (zu finden im Ordner core\functions) und fügt unter case "civ" folgendes ein
        C
        case "reb": {
        	[_broadcastHeader,_broadcastMessage,"Unbekannte bewaffnete Person"] remoteExec ['life_fnc_AAN',-2];
        	[0] call SOCK_fnc_updatePartial;
        	life_rebBroadcastTimer = time;
        	publicVariable "life_rebBroadcastTimer";
        };
      • Öffnet eure stringtable.xml und fügt dort unter STR_News_BroadcastedBy folgendes ein (Dieser Schritt ist NICHT NÖTIG, wenn ihr die bereits im 1. Tutorial die angehängte Stringtable nutzt! Fertige Stringtable Download 4.4: stringtable4.4.txt)
        C
        <Key ID="STR_News_BroadcastRebel">
            <Original>Force Broadcast</Original>
        </Key>
        <Key ID="STR_News_Forced">
            <Original>Ein Studio von AAN News wird von bewaffneten Räubern überfallen!</Original>
        </Key>

      Sieht Ingame dann etwa so aus:


      Der Dialog

      Spoiler anzeigen

      Die Nachricht

      Spoiler anzeigen

      Wenn es schief geht...

      Spoiler anzeigen

      ...und die Cops bekommen eine Nachricht!

      Fertig!
      Das war's schon!
      Solltet ihr Wünsche, Anregungen oder Verbesserungsvorschläge haben, lasst es mich gerne wissen! Bei Fehlern helfe ich gerne!

      Ich wünsche euch Viel Spaß mit dem Tutorial :thumbup:

      #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!

      ______________________

      Einmal editiert, zuletzt von blackfisch (9. Juli 2016 um 12:45) aus folgendem Grund: #EDIT: "Force Broadcast" Button für Cops entfernt

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 8. Juli 2016 um 23:14
      • #12

      Bei mir im Menü steht quasi nichts. Bei mir steht nur Verfügbar ab Rank 5. Nächte Übertragung in BLAH.

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • trischi
      Anfänger
      Reaktionen
      2
      Trophäen
      9
      Beiträge
      45
      • 8. Juli 2016 um 23:19
      • #13
      Zitat von STG_SilentF0x

      Bei mir im Menü steht quasi nichts. Bei mir steht nur Verfügbar ab Rank 5. Nächte Übertragung in BLAH.

      Habe genau das gleiche probelm. :/

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 23:23
      • #14

      Ich häng dir hier das ganze Stringtable-Package und eine komplette 4.4 Stringtable mal an, vielleicht klappts ja dann

      Dateien

      stringtablePackage.txt 3,67 kB – 192 Downloads stringtable4.4.txt 308,26 kB – 210 Downloads

      #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!

      ______________________

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 8. Juli 2016 um 23:26
      • #15

      Ich füge mal meine an.

      Dateien

      stringtable.txt 307,53 kB – 232 Downloads

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • trischi
      Anfänger
      Reaktionen
      2
      Trophäen
      9
      Beiträge
      45
      • 8. Juli 2016 um 23:30
      • #16

      Ich schaue mal ob es jetzt geht mit seiner stringtable.xml.

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Juli 2016 um 23:31
      • #17

      Probier mal die... liegt glaub ich dran, dass die Übersetzungen fehlen 8| Fixe ich sofort im Tut!

      Dateien

      stringtable.txt 305,68 kB – 359 Downloads

      #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!

      ______________________

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 8. Juli 2016 um 23:55
      • #18

      Funktioniert! Danke. Jetzt versuche ich ein Logoscript für 4.4 zu machen. Hier im Forum diese gehen bei mir nicht.

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • SirFluffyVonKitten
      Nerd
      Reaktionen
      407
      Trophäen
      11
      Beiträge
      798
      Bilder
      3
      • 9. Juli 2016 um 09:37
      • #19

      Lade die Bilder mal bitte direkt im Forum hoch, bei mir werden die nicht angezeigt :(

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 9. Juli 2016 um 12:42
      • #20

      Mach ich sofort @sebi1106 ;)

      EDIT: #fertig ;)

      #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!

      ______________________

    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

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