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: 19 Juli 2025
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • 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. Mitglieder
    3. Exodoos

    Beiträge von Exodoos

    • Wer hat Lust, die Szene neu zu gestalten?

      • Exodoos
      • 3. August 2016 um 22:08

      Aufjedenfall KEIN ALTIS LIFE oder sowas, einfach mal was neues überlegen, mit anderen interessenten sich zusammensetzen und darüber reden mehr aber auch nicht.

    • Wer hat Lust, die Szene neu zu gestalten?

      • Exodoos
      • 3. August 2016 um 21:25

      Hallo Leute, ist schon etwas länger her seit ich mich hier gemeldet habe, mir liegt da etwas auf dem herzen, was ich noch los werden möchte.

      Altis Life bzw. [lexicon]Tanoa[/lexicon] Life ist für mich als Projektleiter tot. Warum? Was will man da noch sagen? Ausser die selben Scripts, die schon hunderte andere Leute haben einzufügen bringt nichts mehr. Genau wie dieses GUI Self Editing. Alles schön und gut, ich wette, es gibt über 1500+ Server, mit der gleichen Scheisse wie sonst? (Sry für das wort aber es ist so). Ist dieses ständige, ich muss einen Life Server haben, wir werden es besser machen, nicht schon altmodisch und sinnlos? Nun ja, so habe ich auch vor nem Monat dieses getue gehabt, nur was es bringt es mir? NICHTS. 2014 und vielleicht noch 2015 ging das ja noch, aber jetzt ist es schon Mainstream und in Mode, die Serverliste mit dem gleichen Müll zu beschmutzen. Sealdrop, Black Lagoon und viele andere haben es geschafft, inkompetente Menschen zu einem Fertig geskripteten Serverpaket zu locken.
      Jetzt glauben die meisten, die Copyright Zeilen von Tonic, Sealdrop und alle andere löschen zu müssen nur um das sagen zu können:

      "Ey YO Junge komm auf meinem Server ich habe das mit nem Kumpel selber geskriptet und das in 2 Wochen harter Arbeit."

      Wenn man bedenkt, das die WIRKLICH guten und tauglichen Server MONATE gebraucht haben, um ihren Server auszuschmücken.
      Das beste überhaupt, wenn die ganzen Script-Paket Kiddies in den Forum posten, wie man die Statusleiste und so entfernt (Sealdrop Fall), da kriege ich einen würgereiz. ill
      Selbstverständlich darf man Skript Pakete nutzen, nur man sollte mit sowas nicht Public gehen. Man kann schauen, wie haben es Sealdrop usw. gemacht. Was könnte ich noch reinpacken?
      Sowas ist sinnvoll und mehr nicht. Natürlich kann man nicht von heute auf morgen SQF Skripten. Jeder fängt klein aber gleich mit nem fertigen Paket durchstarten ist meiner Meinung nach dreist und unfair ggü. die Leute, die WIRKLICH Skripten bzw. Feler beheben müssen, die wirklich schon über 50+ Issues haben.

      Falls ich euren Traum zerschossen haben sollte. Sorry dafür aber das ist nunmal Fakt und die bittere Wahrheit.

      So, jetzt gehe ich mal auf den nächsten Punkt über bevor ich hier während dem schreiben noch einen Herzinfarkt erleiden muss.

      Warum schliesst ihr euch nicht zusammen? Ihr könntet sovieles erreichen und lernen. Es stehen alle Türen offen. Ihr müsst nur raus gehen und es erleben.
      Schreibt hier in den Forum rein, das ihr evtl. noch andere Projekte sucht, die evtl. zusammenschliessen wollen.
      Glaubt mir Leute, so könnt ihr euch eher hocharbeiten und erfolg haben.

      Dann kommen wir zum nächsten Punkt.

      Da ich leider noch nicht sogut im Skripten bin, würde ich mich gerne mit viele anderen zusammensetzen und an einer neuen Idee bzw. Framework durchquatschen. Mal was anderes wie Life, oder Exile, oder Epoch und die ganzen anderen Framework Projekte. Es kann mit Mods sein oder auch rein auf Skriptbasis. Wer lust hat, der soll sich bei mir melden, oder um einen zusammenschluss von mehreren Multigaming Communitys.

      So, ich hoffe, ich habe hier nicht jeden beleidigt oder irgendwie angegriffen, es ist nunmal Fakt, das es wie ein Geschwürr ist.

      Dann bis zum nächsten Ragepost. Haut rein, PEACE vain

    • [TUTORIAL] SQL basiertes Smartphone

      • Exodoos
      • 2. August 2016 um 23:41
      Zitat von MWZflyer

      Jep, einzig Auffällige wären die [lexicon]extDB[/lexicon] Logs, die Anzeigen: "[22:47:16 +02:00] [Thread 27207] extDB2: No Config Option Found: "
      Was laut Lexicon auf einen falschen Prefix hinweist, dieser wurde aber nicht verändert. Nehme ich die PBOs vor der Bearbeitung, (ohne die extDB2.ini anzurühren), startet der Server ohne solche Fehler.

      Und in der Konsole natürlich: "22:47:16 "extDB2: Error with Database Connection"" als Meldung

      Da kann ich dir leider nicht helfen, kenne diesen Fehlern nicht.


      Zitat von Killarobo

      Diese Datei müsste doch eine .sqf sein oder? Jedenfalls sagt mein Server:Script/core/pmenu/fn_smartphone.sql not found


      Sowie die Datei "fn_showMsg.sqf":
      Script/core/pmenu/fn_showMsg.sql not found

      Ups hab mich da vertippt. Aber ist ja logisch oder nicht Killarobo?

    • [TUTORIAL] SQL basiertes Smartphone

      • Exodoos
      • 2. August 2016 um 22:39
      Zitat von MWZflyer

      Hab die 4.4 r3, bin strikt nach Anleitung gegangen -> extDB2 zickt rum und kann nicht mehr connecten.
      Logs zeigen keine wirkliche Fehlermeldung an. -.- Schade.

      [lexicon]extDB[/lexicon] Logs, RPT Logs alles bereits durchgeschaut?

    • [TUTORIAL] SQL basiertes Smartphone

      • Exodoos
      • 2. August 2016 um 20:10
      Zitat von Bundeswehr_Zockt

      Kannst du die vllt. Bilder hinzufügen?

      [HOWTO] SQL Based Smartphone - 3.X - Altis Life RPG

    • [TUTORIAL] Spawn Menü (Vollbild)

      • Exodoos
      • 2. August 2016 um 13:19

      [Release] New Spawn Menu - 4.4 - Altis Life RPG

      Komisch dass das von Altis Life RPG ist oder?!

      Wer lesen kann, ist klar im Vorteil.

    • Altis life 4.4 Kabelbinder für Rebellen

      • Exodoos
      • 2. August 2016 um 12:56

      Ups, da ist was dran stimmt

    • Altis life 4.4 Kabelbinder für Rebellen

      • Exodoos
      • 2. August 2016 um 08:14

      John, das ist ein Tutorial für die Rebellen xD Schsu dir restrainAction GENAU an

    • [TUTORIAL] Alarm System für das Housing System

      • Exodoos
      • 1. August 2016 um 23:39

      Ich schaue mal was sich in den Tagen machen lässt. :)

    • Arbeitsspeicher nicht auffindbar?!

      • Exodoos
      • 1. August 2016 um 23:07

      Hast du den Steam Repair funktion bereits ausprobiert?

    • [TUTORIAL] Alarm System für das Housing System

      • Exodoos
      • 1. August 2016 um 22:56

      ALARMSYSTEM FÜR HOUSING
      Tutorial von CamaroZ

      Hallo, dieses Script fügt einen Alarm System zu eurem Housing System hinzu.

      Dann fangen wir mal an.


      Öffnet eure "Functions.hpp" und fügt es unter der class "Housing" ein:

      SQL: Functions.hpp
      class alarme {};

      Geht in euren "Housing" Ordner, der befindet sich im "core" Ordner und erstellt eine neue Datei namens "fn_alarme.sqf":

      SQL: fn_alarme.sqf
      /*
      
      
      
      
      Author: CamaroZ
      File: fn_alarme.sqf
      
      
      
      
      */
      
      
      
      
      private ["_alarme","_house"];
      
      
      
      
      _house = param [0,objNull,[objNull]];
      
      
      
      
      if (isNull _house) exitWith {};
      if (!(_house isKindOf "House_F")) exitWith {};
      
      
      
      
      if (_house getVariable "alarme") then {
      
      
      
      
      playSound3D ["A3\Sounds_F\sfx\alarm_independent.wss", player, false, getPosASL player, 1, 1, 150]; //Alarme da Casa
      // No lugar de player pode ser reposto por _house, que o som ficaria no objeto. Porém não foi testado...
      
      
      
      
      } else {
      
      
      
      
          hint "Essa casa não possui, nenhum alarme.";
      
      
      
      
      };
      Alles anzeigen


      Jetzt müsst ihr die folgenden Variablen in den folgenden Dateien einfügen:

      SQL: fn_buyHouse.sqf
      _house setVariable ["uid",floor(random 99999),true];
      _house setVariable ["alarme",true,true]; // Código adicionado
      SQL: fn_sellHouse.sqf
      _house setVariable ["locked",false,true];
      _house setVariable ["alarme",false,true]; // Código adicionado
      SQL: fn_lockupHouse.sqf
      _house setVariable ["locked",true,true];
      _house setVariable ["alarme",true,true]; // Código adicionado

      Dann öffne die Datei "fn_houseMenu.sqf" und füge den gesamten Block ganz unten ein

      SQL: fn_houseMenu.sqf
      } else {
              _Btn1 ctrlSetText localize "STR_pInAct_SellHouse";
              _Btn1 buttonSetAction "[life_pInact_curTarget] spawn life_fnc_sellHouse; closeDialog 0;";
              _Btn1 ctrlShow true;
      
      
      
      
              if (((_curTarget getVariable "house_owner") select 0) != (getPlayerUID player)) then {
                  _Btn1 ctrlEnable false;
              };
      
      
      
      
              if (_curTarget getVariable ["locked",false]) then {
                  _Btn2 ctrlSetText localize "STR_pInAct_UnlockStorage";
              } else {
                  _Btn2 ctrlSetText localize "STR_pInAct_LockStorage";
              };
              _Btn2 buttonSetAction "[life_pInact_curTarget] call life_fnc_lockHouse; closeDialog 0;";
              _Btn2 ctrlShow true;
      
      
      
      
              if (isNull (_curTarget getVariable ["lightSource",objNull])) then {
                  _Btn3 ctrlSetText localize "STR_pInAct_LightsOn";
              } else {
                  _Btn3 ctrlSetText localize "STR_pInAct_LightsOff";
              };
              _Btn3 buttonSetAction "[life_pInact_curTarget] call life_fnc_lightHouseAction; closeDialog 0;";
              _Btn3 ctrlShow true;
      
      
      
      
              if (_curTarget getVariable ["alarme",true]) then { // Código adicionado
              _Btn4 ctrlSetText "Desligar Alarme";
              _Btn4 buttonSetAction "life_pInact_curTarget setVariable ['alarme',false,true]; closeDialog 0;";
              _Btn4 ctrlshow true;
              } else {
              _Btn4 ctrlSetText "Ligar Alarme";
              _Btn4 buttonSetAction "life_pInact_curTarget setVariable ['alarme',true,true]; closeDialog 0;";
              _Btn4 ctrlshow true;
              };
      Alles anzeigen

      Öffnet die Datei "fn_copBreakDoor.sqf" und fügt das folgende ein:

      SQL: fn_copBreakDoor.sqf
      _door = [_house] call life_fnc_nearestDoor;
      if (_door isEqualTo 0) exitWith {hint localize "STR_Cop_NotaDoor"};
      if ((_house getVariable [format["bis_disabled_Door_%1",_door],0]) isEqualTo 0) exitWith {hint localize "STR_House_Raid_DoorUnlocked"};
      
      
      
      
      life_action_inUse = true;
      
      
      
      
      if(_house getVariable "alarme") then { // Código adicionado
          [_house]call life_fnc_alarme;
          [2,"STR_House_Raid_NOTF",true,[(_house getVariable "house_owner") select 1]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; // Essa mensagem aparecerá para todos os players online no servidor, caso deseje desativar é opcional.
      };
      Alles anzeigen


      Geht jetzt in eure "life_server.pbo" und sucht im Ordner "house" nach "initHouses.sqf" und fügt diese Variablen ein:

      SQL: initHouses.sqf
      _house setVariable ["locked",true,true]; //Lock up all the stuff.
              _house setVariable ["alarme",true,true]; // Código adicionado


      WICHTIG: Der Alarm ist anpassbar, wenn ihr den Alarm bei der lockpick haben wollt nachdem ihr in das Haus eingebrochen habt, fügt diesen Snippet ein:

      SQL
      if(_house getVariable "alarme") then {
          [_house]call life_fnc_alarme;
      };


      Öffnet euren "fn_boltcutter.sqf" und fügt noch diesen Codeschnipsel ein:

      SQL: fn_boltcutter.sqf
      if (_door isEqualTo 0) exitWith {hint localize "STR_Cop_NotaDoor"}; //Not near a door to be broken into.
      if ((_building getVariable [format["bis_disabled_Door_%1",_door],0]) isEqualTo 0) exitWith {hint localize "STR_House_Raid_DoorUnlocked"};
      
      
      
      
      if ((nearestObject [[16019.5,16952.9,0],"Land_Dome_Big_F"]) == _building || (nearestObject [[16019.5,16952.9,0],"Land_Research_house_V1_F"]) == _building) then {
          [[1,2],"STR_ISTR_Bolt_AlertFed",true,[]] remoteExecCall ["life_fnc_broadcast",RCLIENT];
      } else {
          [0,"STR_ISTR_Bolt_AlertHouse",true,[profileName]] remoteExecCall ["life_fnc_broadcast",RCLIENT];
      };
      
      
      
      
      life_action_inUse = true;
      //Setup the progress bar
      
      
      
      
      if(_building getVariable "alarme") then { // Código adicionado
          [_building] call life_fnc_alarme;
      };
      Alles anzeigen

      So, das müsste es gewesen sein, falls was nicht passen sollte oder ich habe es falsch übersetzt, BITTE teilt es mir mit und ich ändere es selbstverständlich.
      Nicht vergessen ich gehe NUR auf kommentare ein, die dementsprechend sittengerecht verfasst worden sind, auf Flamerei gehe ich nicht ein!

      VIEL SPASS!


      PS.:

      Zitat von Dukes

      Hallo zusammen,

      ich habe mir das Script mal angeschaut und habe die Lösung für euer Problem mit der fn_houseMenu.sqf.

      Ihr dürft nicht den ganzen Code einfügen nur diesen hier:

      Code
      if (_curTarget getVariable ["alarme",true]) then { // Código adicionado
                  _Btn4 ctrlSetText "Haus-Alarm deaktivieren";
                  _Btn4 buttonSetAction "life_pInact_curTarget setVariable ['alarme',false,true]; closeDialog 0;";
                  _Btn4 ctrlshow true;
              } else {
                  _Btn4 ctrlSetText "Haus-Alarm aktivieren";
                  _Btn4 buttonSetAction "life_pInact_curTarget setVariable ['alarme',true,true]; closeDialog 0;";
                  _Btn4 ctrlshow true;
              };

      Ich werde meine fn_houseMenu.sqf unten anhängen. Dann könnt ihr euch das anschauen. Exodoos vielleicht änderst du das oben im TuT noch.


      Hoffe es hilft dem einem oder anderem weiter.

      Mit freundlichen Grüßen,

      Dukes

      Alles anzeigen
    • [TUTORIAL] Public Cop Slots entfernen

      • Exodoos
      • 1. August 2016 um 22:25

      PUBLIC COP SLOTS ENTFERNEN
      Tutorial von Exodoos

      Hallo, viele von euch kennen sicher dieses Problem.

      Dann fangen wir mal an.

      Öffnet eure "fn_initCop.sqf" und ersetzt diesen Block: 

      SQL
      if(!(str(player) in ["cop_1","cop_2","cop_3","cop_4"])) then {
      	if((FETCH_CONST(life_coplevel) == 1) && (FETCH_CONST(life_adminlevel) == 1)) then {
      		["NotWhitelisted",false,true] call BIS_fnc_endMission;
      		sleep 35;
      	};
      };

      durch diesen hier:

      SQL
      if(!(str(player) in ["cop_9001"])) then { // Over 9000?
          if((FETCH_CONST(life_coplevel) < 1) && (FETCH_CONST(life_adminlevel) == 0)) then {
              ["NotWhitelisted",false,true] call BIS_fnc_endMission;
              sleep 35;
          };
      };


      So, dann öffnet ihr eure "mission.sqm" mit Notepad++ und sucht nach diesen Einheiten:

      cop_1, cop_2, cop_3, cop_4

      und ändert sie dementsprechend um.

      Das müsste es gewesen sein, falls es nicht geklappt haben sollte, schreibt mir eine Nachricht oder postet unter diesem Thread ich schaue dann das ich es umschreibe.

      VIEL SPASS!

    • [TUTORIAL] SQL basiertes Smartphone

      • Exodoos
      • 1. August 2016 um 22:16

      Funktioniert aber auch für die 4.4 habe es getestet. :)

    • [TUTORIAL] Spawn Menü (Vollbild)

      • Exodoos
      • 1. August 2016 um 21:13

      Ok habe das irgendwie noch nie gesehen xD

    • [TUTORIAL] SQL basiertes Smartphone

      • Exodoos
      • 1. August 2016 um 18:57

      SQL BASIERTES SMARTPHONE FÜR 4.4 UND 4.4 R4
      Upgedated von Alaskavet , Basis Code von Silex

      Hallo, heute mache ich mal was ganz schmackhaftes, was viele von euch kennen und lieben gelernt haben.

      Dann fangen wir mal an.

      CLIENT PART:

      Öffnet eure "configuration.sqf" und fügt dort, wo die life_variables sind, das hier ein:

      SQL: configuration.sqf
      life_smartphoneTarget = ObjNull;



      In der "CfgRemoteExec.hpp", fügt das hier ein:

      SQL: CfgRemoteExec.hpp
      F(TON_fnc_handleMessages,SERVER)
      F(TON_fnc_msgRequest,SERVER)


      Dann geht in die "Functions.hpp" und fügt das hier unter der class "Player_Menu" ein:

      SQL: Functions.hpp
      class smartphone {};
      class newMsg {};
      class showMsg {};


      Öffnet eure "Masterhandler.hpp", diese findet ihr im "dialog" Ordner und fügt das ein:

      SQL: Masterhandler.hpp
      #include "smartphone.hpp"


      Dann geht in die "player_inv.hpp" im "dialog" Ordner, sucht nach "ButtonCell" und ersetzt diesen Event "onButtonClick" mit diesem hier:

      SQL: player_inv.hpp
      createDialog ""Life_my_smartphone"";


      Erstellt im "dialog" Ordner eine neue Datei namens "smartphone.hpp" und fügt das hier ein:

      SQL: smartphone.hpp
      class Life_my_smartphone {
      	idd = 88888;
      	name = "life_my_telephone_menu";
      	movingEnable = false;
      	enableSimulation = true;
      	onLoad = "[] spawn life_fnc_smartphone;";
      	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.95;
      			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.95;
      			h = 0.7 - (22 / 250);
      		};
      		class PlayerListTitleBackground:Life_RscText {
      			colorBackground[] = {0.588, 0.424, 0.145, 1.0};
      			idc = -1;
      			x = 0.11;
      			y = 0.25;
      			w = 0.2;
      			h = (1 / 25);
      		};
      		class MessageTitleBackground:Life_RscText {
      			colorBackground[] = {0.588, 0.424, 0.145, 1.0};
      			idc = -1;
      			x = 0.325;
      			y = 0.25;
      			w = 0.7;
      			h = (1 / 25);
      		};
      		class RandomTitleBackground:Life_RscText {
      			colorBackground[] = {0.588, 0.424, 0.145, 1.0};
      			idc = -1;
      			x = 0.325;
      			y = 0.25 + 0.3 + (1 / 25);
      			w = 0.7;
      			h = (1 / 25);
      		};
      	};
      
      
      
      
      	class controls {
      		class MessageTitle : Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = 88886;
      			text = "";
      			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.9)";
      			x = 0.325;
      			y = 0.25;
      			w = 0.7;
      			h = (1 / 25);
      		};
      		class RandomTitle : Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = 88890;
      			text = "$STR_SMARTPHONE_RANDOMTITLE";
      			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.9)";
      			x = 0.325;
      			y = 0.25 + 0.3 + (1 / 25);
      			w = 0.7;
      			h = (1 / 25);
      		};
      		class PlayerList : Life_RscListBox {
      			idc = 88881;
      			onLBSelChanged = "[2] spawn life_fnc_smartphone;";
      			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
      			x = 0.11;
      			y = 0.25 + (1 / 25);
      			w = 0.2;
      			h = 0.5;
      		};
      		class MessageList : Life_RscListNBox {
      			idc = 88882;
      			onLBSelChanged = "[(lbCurSel 88882)] call life_fnc_showMsg;";
      			//sizeEx = 0.04;
      			sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
      			colorBackground[] = {0, 0, 0, 0.0};
      			columns[] = {0,0.3};
      			x = 0.325;
      			y = 0.25 + (1 / 25);
      			w = 0.7;
      			h = 0.3;
      		};
      		class TextShow : Life_RscControlsGroup {
      			x = 0.325;
      			y =  0.25 + 0.3 + (1 / 25) + (1 / 25);
      			w =  0.7;
      			h =  0.15;
      			class HScrollbar : HScrollbar {
      			height = 0;
      			};
      			class controls {
      				class showText : Life_RscStructuredText {
      					idc = 88887;
      					text = "";
      					colorBackground[] = {0.28,0.28,0.28,0.28};
      					size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
      					shadow = 0;
      					x = 0;
      					y = 0;
      					w = 0.69;//w = 0.7;
      					h = 1;//h = 2.15;
      				};
      			};
      		};
      		class Schreiben : Life_RscButtonMenu {
      		idc = 887892;
      		text = "$STR_SMARTPHONE_SCHREIBEN";
      		onButtonClick = "[4] call life_fnc_smartphone;";
      		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])", 1.0};
      		x = 0.11;
      		y = 0.25 + (1 / 25) + 0.51;
      		w = 0.2;
      		h = (1 / 25);
      		};
      		class Title : Life_RscTitle {
      		colorBackground[] = {0, 0, 0, 0};
      		idc = -1;
      		text = "$STR_SMARTPHONE_TITLE";
      		sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
      		x = 0.1;
      		y = 0.2;
      		w = 0.95;
      		h = (1 / 25);
      		};
      		class PlayerListTitle : Life_RscTitle {
      		colorBackground[] = {0, 0, 0, 0};
      		idc = -1;
      		text = "$STR_SMARTPHONE_PLAYERLISTTITLE";
      		sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.9)";
      		x = 0.11;
      		y = 0.25;
      		w = 0.2;
      		h = (1 / 25);
      		};
      		class CloseLoadMenu : Life_RscButtonMenu {
      		idc = -1;
      		text = "$STR_Global_Close";
      		onButtonClick = "closeDialog 0;";
      		x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
      		y = 0.9 - (1 / 25);
      		w = (6.25 / 40);
      		h = (1 / 25);
      		};
      		class Notruf : Life_RscButtonMenu {
      			idc = -1;
      			text = "$STR_SMARTPHONE_NOTRUF";
      			onButtonClick = "createDialog ""Life_smartphone_notruf"";";
      			colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			x = 0.325 + 0.7 - (6.25 / 40);
      			y = 0.25 + (1 / 25) + 0.51;
      			w = (6.25 / 40);
      			h = (1 / 25);
      		};
      	};
      
      
      
      
      };
      
      
      
      
      class Life_smartphone_schreiben{
      	idd = 88883;
      	name = "life_my_smartphone_schreiben";
      	movingEnable = false;
      	enableSimulation = true;
      	onLoad = "";
      	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.6;
      			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.6;
      			h = 0.1;
      		};
      	};
      	class controls {
      		class Title : Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = 88886;
      			text = "$STR_SMARTPHONE_NACHRICHTTITLE";
      			x = 0.1;
      			y = 0.2;
      			w = 0.95;
      			h = (1 / 25);
      		};
      		class Absenden : Life_RscButtonMenu {
      			idc = 88885;
      			text = "$STR_SMARTPHONE_ABSENDEN";
      			onButtonClick = "[1,-1,(ctrlText 88884)] call life_fnc_newMsg;";
      			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])", 1.0};
      			x = 0.6 - (6.25 / 40) + 0.088;
      			y = 0.3 + (1 / 25)  - 0.048;
      			w = (6.25 / 40);
      			h = (1 / 25);
      		};
      		class AdminMsg : life_RscButtonMenu 
      		{
      			idc = 888897;
      			text = "$STR_CELL_AdminMsg";
      			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])", 1.0};
      			onButtonClick = "[5,-1,(ctrlText 88884)] call life_fnc_newMsg;";
      			x = 0.6 - (6.25 / 40) - 0.121;
      			y = 0.3 + (1 / 25)  - 0.048;
      			w = 0.2;
      			h = (1 / 25);
      		};
      		class Close : Life_RscButtonMenu {
      			idc = -1;
      			text = "$STR_Global_Close";
      			onButtonClick = "closeDialog 0;";
      			colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			x = 0.11;
      			y = 0.3 + (1 / 25)  - 0.048;
      			w = (6.25 / 40);
      			h = (1 / 25);
      		};
      		class textEdit : Life_RscEdit {
      			idc = 88884;
      			text = "";
      			sizeEx = 0.030;
      			x = 0.11; y = 0.3 - 0.048;
      			w = 0.58; h = 0.03;
      		};
      	};
      };
      
      
      
      
      class Life_smartphone_notruf {
      	idd = 887890;
      	name= "life_my_smartphone_notruf";
      	movingEnable = false;
      	enableSimulation = true;
      	onLoad = "[6] spawn life_fnc_newMsg;";
      	class controlsBackground {
      		class Life_RscTitleBackground:Life_RscText {
      			colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			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.15 - (5 / 250);
      		};
      	};
      	class controls {
      		class Title : Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = 888892;
      			text = "$STR_SMARTPHONE_Notruftitle";
      			x = 0.1;
      			y = 0.2;
      			w = 0.6;
      			h = (1 / 25);
      		};
      		class textEdit : Life_RscEdit {
      			idc = 888894;
      			text = "";
      			sizeEx = 0.030;
      			x = 0.11; y = 0.25;
      			w = 0.62; h = 0.03;
      		};
      		class TxtCopButton : life_RscButtonMenu 
      		{
      			idc = 888895;
      			text = "$STR_CELL_TextPolice";
      			colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			onButtonClick = "[2,-1,(ctrlText 888894)] call life_fnc_newMsg;";
      			x = 0.32;
      			y = 0.30;
      			w = 0.2;
      			h = (1 / 25);
      		};
      		class TxtAdminButton : life_RscButtonMenu 
      		{
      			idc = 888896;
      			text = "$STR_CELL_TextAdmins";
      			colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			onButtonClick = "[3,-1,(ctrlText 888894)] call life_fnc_newMsg;";
      			x = 0.53;
      			y = 0.30;
      			w = 0.2;
      			h = (1 / 25);
      		};
      		class AdminMsgAll : life_RscButtonMenu 
      		{
      			idc = 888898;
      			text = "$STR_CELL_AdminMSGAll";
      			colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			onButtonClick = "[7,-1,(ctrlText 888894)] call life_fnc_newMsg;";
      			x = 0.53;
      			y = 0.30;
      			w = 0.2;
      			h = (1 / 25);
      		};
      		class EMSReq : life_RscButtonMenu
      		{
      			idc = 888899;
      			text = "$STR_CELL_EMSRequest";
      			colorBackground[] = {0.584, 0.086, 0.086,1.0};
      			onButtonClick = "[4,-1,(ctrlText 888894)] call life_fnc_newMsg;";
      			x = 0.11;
      			y = 0.30;
      			w = 0.2;
      			h = (1 / 25);
      		};
      		class CloseButton : Life_RscButtonMenu {
      			idc = -1;
      			text = "$STR_Global_Close";
      			onButtonClick = "closeDialog 0;";
      			x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
      			y = 0.36 + (1 / 50);
      			w = (6.25 / 40);
      			h = (1 / 25);
      		};
      	};
      };
      Alles anzeigen


      Öffnet dann eure "stringtable.xml" und fügt eine neue Package ein:

      XML: stringtable.xml
      <Package name="Smartphone">
          <Key ID="STR_PM_Smartphone">
              <Original>Smartphone</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_TITLE">
              <Original>Smartphone Menu</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_PLAYERLISTTITLE">
              <Original>List of Players</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_MESSAGETITLE">
              <Original>New Message</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_RANDOMTITLE">
              <Original>Select a message to read</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_SCHREIBEN">
              <Original>Write</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_NOTRUF">
              <Original>Emergency call</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_Absenden">
              <Original>Send</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_NACHRICHTTITLE">
              <Original>Message:</Original>
          </Key>
          <Key ID="STR_SMARTPHONE_Notruftitle">
              <Original>CALLS EMERGENCY | Abuse leads to BAN!</Original>
          </Key>
      </Package>
      Alles anzeigen


      Geht dann in den Ordner "core\pmenu" und erstellt 3 neue Dateien:

      "fn_newMsg.sqf" , "fn_smartphone.sqf" , fn_showMsg.sqf

      1. fn_newMsg.sqf

      SQL: fn_newMessage.sqf
      #include "..\..\script_macros.hpp"
      /*
      file: fn_newMsg.sqf	
      Author: Silex	
      */
      private["_to","_type","_playerData","_msg"];
      disableSerialization;
      _type = [_this,0,-1] call BIS_fnc_param;
      _playerData = [_this,1,-1] call BIS_fnc_param;
      _msg = [_this,2,"",[""]] call BIS_fnc_param;
      _display = findDisplay 88888;
      _cPlayerList = _display displayCtrl 88881;
      _cMessageEdit = _display displayCtrl 88884;
      switch(_type) do{	
      	case 0:	{		
      		life_smartphoneTarget = call compile format["%1",_playerData];
      		ctrlSetText[88886, format["message: %1",name life_smartphoneTarget]];
      		if((FETCH_CONST(life_adminlevel) < 1)) then	{
      			ctrlShow[888897,false];
      		};
      	};
      	//normal message	
      	case 1:	{		
      	if(isNUll life_smartphoneTarget) exitWith {hint format["No person selected!"];
      };
      		ctrlShow[88885, false];
      		if(_msg == "") exitWith {hint "You must enter a message to be sent!";
      		ctrlShow[88885, true];
      };
      [life_smartphoneTarget,_msg,player,0] remoteExec ["TON_fnc_handleMessages",2];
      		hint format["You sent %1 a message: %2",name life_smartphoneTarget,_msg];
      			ctrlShow[88885, true];
      		closeDialog 88883;
      	};
      	//copmessage	
      	case 2:	{ if(({side _x == west} count playableUnits) == 0) exitWith {hint format["The police is currently inaccessible. Please try again later."];
      };
      		ctrlShow[888895,false];
      		if(_msg == "") exitWith {hint "You must enter a message to be sent!";
      		ctrlShow[888895,true];
      };
      [ObjNull,_msg,player,1] remoteExec ["TON_fnc_handleMessages",2];
      		_to = "Police";
      		hint format["You sent %1 a message: %2",_to,_msg];
      		ctrlShow[888895,true];
      		closeDialog 887890;
      	};
      	//msgadmin	
      	case 3:	{ ctrlShow[888896,false];
      		if(_msg == "") exitWith {hint "You must enter a message to be sent!";
      		ctrlShow[888896,true];
      };
      [ObjNull,_msg,player,2] remoteExec ["TON_fnc_handleMessages",2];
      		_to = "The Admins";
      		hint format["You sent %1 a message: %2",_to,_msg];
      		ctrlShow[888896,true];
      		closeDialog 887890;
      	};
      	//emsrequest	
      	case 4:	{ if(({side _x == independent} count playableUnits) == 0) exitWith {hint format["Currently there is no EMS on duty . Please try again later."];
      };
      		ctrlShow[888899,false];
      		if(_msg == "") exitWith {hint "You must enter a message to be sent!";
      		ctrlShow[888899,true];
      };
      [ObjNull,_msg,player,3] remoteExec ["TON_fnc_handleMessages",2];
      		hint format["You have sent a message to all EMS units.",_msg];
      		ctrlShow[888899,true];
      		closeDialog 887890;
      	};
      	//adminToPerson	
      	case 5:	{ if((call life_adminlevel) < 1) exitWith {hint "You are not an admin!";
      };
      		if(isNULL life_smartphoneTarget) exitWith {hint format["No person selected!"];
      		};
      		if(_msg == "") exitWith {hint "You must enter a message to be sent!";
      	};
      [life_smartphoneTarget,_msg,player,4] remoteExec ["TON_fnc_handleMessages",2];
      		hint format["Administrator Message sent: %1 - Message: %2",name life_smartphoneTarget,_msg];
      		closeDialog 88883;
      	};
      	//emergencyloading	
      	case 6:	{ if((FETCH_CONST(life_adminlevel) < 1)) then {
      	ctrlShow[888898,false];
      	ctrlShow[888896,true];
      	} else {			
      	ctrlShow[888898,true];
      	ctrlShow[888896,false];
      		};
      	};
      	//adminMsgAll	
      	case 7:	{ if((FETCH_CONST(life_adminlevel) < 1)) exitWith {hint "You are not an admin!";
      };
      		if(_msg == "") exitWith {hint "You must enter a message to be sent!";
      	};
      [ObjNull,_msg,player,5] remoteExec ["TON_fnc_handleMessages",2];
      		hint format["A message sent to all admins: %1",_msg];
      		closeDialog 887890;
      	};
      };
      Alles anzeigen


      2. fn_smartphone.sqf

      SQL: fn_smartphone.sqf
      #include "..\..\script_macros.hpp"
      /*	file: fn_smartphone.sqf	Author: Silex	*/
      private["_display","_units","_type","_data","_rowData","_msg"];
      _type = [_this,0,0] call BIS_fnc_param;
      _data = [_this,1,0,["",[],0]] call BIS_fnc_param;
      disableSerialization;
      waitUntil {!isNull findDisplay 88888};
      _display = findDisplay 88888;
      _cPlayerList = _display displayCtrl 88881;
      _cMessageList = _display displayCtrl 88882;
      _cMessageHeader = _display displayCtrl 88886;
      _cMessageHeader ctrlSetText format["Message's From:Players:"];
      ctrlEnable[887892,false];
      switch(_type) do{	
      case 0:	{ lbClear _cPlayerList;
      		{if(alive _x && _x != player) then {				
      		switch(side _x) do	
      		{					
      		case west: {_type = "Cop"};
      		case civilian: {_type = "Civ"};
      		case independent: {_type = "Med"};
      		};
      				_cPlayerList lbAdd format["%1 (%2)",_x getVariable["realname", name _x],_type];
      				_cPlayerList lbSetData [(lbSize _cPlayerList)-1,str(_x)];
      			};
      		} forEach playableUnits;
      [getPlayerUID player, player] remoteExec ["TON_fnc_msgRequest",2];
      		ctrlEnable[887892,false];
      	};
      	case 1:	{ _msg = [_data select 2,40] call KRON_StrLeft;
      		_rowData = [_data select 0, _data select 1, _data select 2, _data select 3];
      		_cMessageList lnbAddRow[_data select 3,format["%1 ...",_msg]];
      		_cMessageList lnbSetData[[((lnbSize _cMessageList) select 0)-1,0],str(_rowData)];
      	};
      	case 2:	{		ctrlEnable[887892,true];
      		_target = lbData[88881,(lbCurSel 88881)];
      		life_smartphoneTarget = call compile format["%1",_target];
      	};
      	case 4:	{
      		createDialog "Life_smartphone_schreiben";
      		ctrlSetText[88886, format["Message: %1",name life_smartphoneTarget]];
      		if((FETCH_CONST(life_adminlevel) < 1)) then	{			
      		ctrlShow[888897,false];
      		};
      	};
      };
      Alles anzeigen


      3. fn_showMsg.sqf

      SQL: fn_showMsg.sqf
      #include "..\..\script_macros.hpp"
          /*    
          file: fn_showMsg.sqf    
          Author: Silex
          */
      private["_index", "_data", "_status"];
      _index = [_this, 0, 0] call BIS_fnc_param;
      disableSerialization;
      waitUntil {
          !isNull findDisplay 88888
      };
      _display = findDisplay 88888;
      _cMessageList = _display displayCtrl 88882;
      _cMessageShow = _display displayCtrl 88887;
      _cMessageHeader = _display displayCtrl 88890;
      _data = call compile(_cMessageList lnbData[_index, 0]);
      _status = "[OFFLINE]"; {
          if (getPlayerUID _x == _data select 0) then {
              _status = "[ONLINE]";
              life_smartphoneTarget = _x;
              ctrlEnable[887892, true];
          };
      }
      forEach playableUnits;
      _cMessageHeader ctrlSetText format["%1 %2 written:", _data select 3, _status];
      _cMessageShow ctrlSetText format["%1", _data select 2];
      Alles anzeigen


      LIFE_SERVER PART:

      Öffnet eure "config.cpp" und sucht nach der class "TON_system", unter diesem class fügt eine weitere class hinzu:

      SQL: config.cpp
      class Smartphone
      {
      	file = "\life_server\Functions\Smartphone";
      	class handleMessages {};
      	class msgRequest {};
      };


      Geh in den "Functions" Ordner und erstelle einen Ordner namens "Smartphone", in diesem Ordner erstellt 2 Dateien:

      "fn_handleMessages.sqf" , "fn_msgRequest.sqf"

      1. fn_handleMessages.sqf

      SQL: fn_handleMessages.sqf
      /*	file: fn_handleMessages.sqf	Author: Silex*/
      private["_msg","_to","_target","_player","_type"];
      _target = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _msg = [_this,1,"",[""]] call BIS_fnc_param;
      _player = [_this,2,ObjNull,[ObjNull]] call BIS_fnc_param;
      _type = [_this,3,-1] call BIS_fnc_param;
      switch(_type) do{	//normal message	
      case 0:	{		if(isNULL _target)  exitWith {};
      		_to = call compile format["%1", _target];
      [_msg,name _player,0] remoteExec ["TON_fnc_clientMessage",_to];
      				private["_query","_pid","_toID"];
      		_pid = getPlayerUID _player;
      		_toID = getPlayerUID _target;
      		_msg = [_msg] call DB_fnc_mresString;
      		_fromName = name _player;
      		_toName = name _target;
      		_query = format["INSERT INTO messages (fromID, toID, message, fromName, toName) VALUES('%1', '%2', '""%3""', '%4', '%5')",_pid,_toID,_msg,_fromName,_toName];
      		diag_log format["Query: %1",_query];
      		waitUntil{!DB_Async_Active};
      		[_query,1] call DB_fnc_asyncCall;
      	};
      	//message to cops	
      	case 1:	{ 
      [_msg,name _player,1] remoteExec ["TON_fnc_clientMessage",west];
      	};
      	//to admins	
      	case 2:	{			
      [_msg,name _player,2] remoteExec ["TON_fnc_clientMessage",0];
      	};
      	//ems request	
      	case 3:	{			
      [_msg,name _player,5] remoteExec ["TON_fnc_clientMessage",independent];
      	};
      	//adminToPerson	
      	case 4:	{		_to = call compile format["%1", _target];
      		if(isNull _to) exitWith {};
      [_msg,name _player,3] remoteExec ["TON_fnc_clientMessage",_to];
      	};
      	//adminMsgAll	
      	case 5:	{[_msg,name _player,4] remoteExec ["TON_fnc_clientMessage",0];
      	};
      };
      Alles anzeigen


      2. fn_msgRequest.sqf

      SQL: fn_msgRequest.sqf
      /*	file: fn_msgRequest.sqf	
      Author: Silex		
      Fills the Messagelist
      */
      private["_query", "_queryResult", "_uid", "_player"];
      
      
      
      
      _uid = [_this, 0, "", [""]] call BIS_fnc_param;
      _player = [_this, 1, ObjNull, [ObjNull]] call BIS_fnc_param;
      _query = format["SELECT fromID, toID, message, fromName, toName FROM messages WHERE toID='%1' ORDER BY time DESC", _uid];
      
      
      
      
      waitUntil {
          !DB_Async_Active
      };
      
      
      
      
      _queryResult = [_query, 2, true] call DB_fnc_asyncCall;
      if (count _queryResult == 0) exitWith {}; {
          [1, _x] remoteExec["life_fnc_smartphone", _player];
      }
      forEach _queryResult;
      
      
      
      
      _queryResult = [_query,2,true] call DB_fnc_asyncCall;
      if(count _queryResult == 0) exitWith {};
      	{[1,_x] remoteExec ["life_fnc_smartphone",_player];
      }forEach _queryResult;
      Alles anzeigen


      Erstellt nun eine neue Datei auf dem Desktop namens "smartphone.sql" und fügt folgendes ein:

      SQL: smartphone.sql
      CREATE TABLE IF NOT EXISTS `messages` (
        `uid` int(12) NOT NULL AUTO_INCREMENT,
        `fromID` varchar(50) NOT NULL,
        `toID` varchar(50) NOT NULL,
        `message` text,
        `fromName` varchar(32) NOT NULL,
        `toName` varchar(32) NOT NULL,
        `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
        PRIMARY KEY (`uid`)
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

      Nun führt ihr diese Datei in eurer Datenbank aus und schon habt ihr die Tabelle "messages".


      FERTIG!

      Falls ihr irgendwelche Fragen habt, stellt Sie mir einfach


    • [TUTORIAL] Spawn Menü (Vollbild)

      • Exodoos
      • 1. August 2016 um 18:22

      SPAWNMENÜ SCRIPT
      Tutorial von Entity

      Hallo, ich weiß, es ist zu einfach nur ich möchte gerne hier etwas beisteuern und Tutorials von altisliferpg.com übersetzen.

      So, dann fangen wir mal an.

      Schritt 1

      Öffnet eure "spawnSelection.hpp" , diese findet ihr im Ordner "dialog" und ersetzt KOMPLETT den Script durch dieses hier:

      SQL: spawnSelection.hpp
      class life_spawn_selection
      {
      	idd = 38500;
      	movingEnabled = 0;
      	enableSimulation = 1;
          class controlsBackground
      	{
              class life_RscTitleBackground: Life_RscText
              {
      	         idc = 1000;
      	         x = 0.0101577 * safezoneW + safezoneX;
      	         y = 0.0291999 * safezoneH + safezoneY;
      	         w = 0.170156 * safezoneW;
      	         h = 0.9438 * safezoneH;
      	         colorBackground[] = {0.294,0.286,0.286,0.8};
              };
      
      
      
      
              class Title: Life_RscText
              {
      	        idc = 1001;
      	        text = "Spawnauswahl";                   
      	        x = 0.0132501 * safezoneW + safezoneX;
      	        y = 0.0402 * safezoneH + safezoneY;
      	        w = 0.164999 * safezoneW;
      	        h = 0.0242 * safezoneH;
              };
      
      
      
      
              class MapView: Life_RscMapControl
              {
      	        idc = 38502;
      	        x = 0.183407 * safezoneW + safezoneX;
      	        y = 0.0292 * safezoneH + safezoneY;
      	        w = 0.8085 * safezoneW;
      	        h = 0.9438 * safezoneH;
      	        maxSatelliteAlpha = 0.75;
                  alphaFadeStartScale = 1.15;
                  alphaFadeEndScale = 1.29;
              };
          };
      
      
      
      
          class controls {
              class spawnList: Life_RscListNbox
              {
      	        idc = 38510;
      	        x = 0.0153125 * safezoneW + safezoneX;
      	        y = 0.071 * safezoneH + safezoneY;
      	        w = 0.159844 * safezoneW;
      	        h = 0.847 * safezoneH;
                  text = "";
                  sizeEx = 0.041;
                  coloumns[] = {0,0,0.9};
                  drawSideArrows = 1;
                  idcLeft = -1;
                  idcRight = -1;
                  rowHeight = 0.050;
      	        onLBSelChanged = "_this call life_fnc_spawnPointSelected;";
              };
      
      
      
      
              class spawnButton: Life_RscButtonMenu
              {
      	        idc = -1;
      	        text = "SPAWN";
      	        x = 0.0153125 * safezoneW + safezoneX;
      	        y = 0.9246 * safezoneH + safezoneY;
      	        w = 0.159844 * safezoneW;
      	        h = 0.033 * safezoneH;
      	        style = "0x02";
      	        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])", 0.5};
      	        colorBackgroundActive[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1};
      			colorBackgroundDisabled[] = {0.95,0.95,0.95,0};
      			offsetX = 0.003;
      			offsetY = 0.003;
      			offsetPressedX = 0.002;
      			offsetPressedY = 0.002;
      			colorShadow[] = {0,0,0,1};
      			colorBorder[] = {0,0,0,0};
      			borderSize = 0.008;
                  onButtonClick = "[] call life_fnc_spawnConfirm";
              };
          };
      };
      Alles anzeigen

      So schaut es am Ende aus:

      VIEL SPASS!


    • Keine Skins

      • Exodoos
      • 1. August 2016 um 00:33

      vll mal die RPT logs und die letzten dateien, die du bearbeitet hast hier evtl. hochladen?

    • Keine Skins

      • Exodoos
      • 1. August 2016 um 00:19
      Zitat von Gamerfreak

      schick mal die Config_Vehicles.hpp

      Du weißt schon, das er die Version Sealdrop 3.1.4.8 benutzt und nicht 4.0+

    • 4.4 oder 4.4R3

      • Exodoos
      • 1. August 2016 um 00:12

      Da würde ich aber noch auf die v4.5 warten die so ungefähr ende August rauskommen müsste, wenn man sich die Issues anschaut auf Github

    • Keine Skins

      • Exodoos
      • 1. August 2016 um 00:05
      Zitat von Jason1339

      das war

      • SealDrop Altis Life v.3.1.4.8-extDB

      Kurze nebenfrage, WARUM benutzt du Sealdrop?

    Registrieren oder Einloggen

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

    Registrieren

    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™