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

    Lottery System

      • Altis Life
    • AmaZiinG
    • 11. Dezember 2016 um 14:41
    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 11. Dezember 2016 um 14:41
      • #1

      Autor: KBW

      NICHT GETESTET!!!!

      Bitte beachtet, dass Schwierigkeitsgrad 5 Nichts für Anfänger ist. Codeteile können unvollständig sein und ihr müsst diese ergänzen. Ihr findet Fehler selbstständig und behebt diese. Globale,Lokale Variablen sowie SQL abfragen und Schleifen sollte euch ebenso vertraut sein.

      MPMISSON:
      1. Erstellt eine SQF und nennt sie fn_buyTicket fügt sie in den action Ordner ein.

      Code
      #include "..\..\script_macros.hpp"
      /*
      fn_buyTicket.sqf
      Authors: Kevin Webb & Mike McCrow
      Description: Client portion of lottery system
      */
      [] spawn {
      If (life_cash  < 50000) exitWith {Hint format["Du hast nicht genügend Geld dir fehlen noch %1 € .",[(50000 - life_cash )] call life_fnc_numberText]};
      _Entry = [];
      
      
      
      
      createDialog "STS_KBW_price_diag";
      waitUntil{!isNull (findDisplay 13371)};
      ctrlSetText[2651,"Wähle deine Zahl! Ticketkosten: 50000 € pro Zahl"];
      waitUntil{isNull (findDisplay 13371) || life_charged};
      if(!(life_charged)) exitWith {};
      life_charged = false;
      _amount = ctrlText 7331;
      
      
      
      
      
      
      
      
      
      
      if (!([_amount] call TON_fnc_isnumber)) exitWith {hint "Du hast keine richtige Zahl eingegeben"; closeDialog 0;};
      _amount = parseNumber(_amount);
      if(_amount <= 0) exitWith { hint "Du hast keine richtige Zahl eingegeben"; closeDialog 0; };
      _price = 50000;
      if(life_cash  < _price) exitWith { hint "Du hast nicht genügend Geld um ein Lottoschein auszufüllen!"; closeDialog 0;};
      CASH = CASH - _price;
      _uid = getPlayerUID player;
      _Entry = [_uid,_amount];
      Hint format["Deine Glückszahl lautet %1.Du hast %2 € Gezahlt dafür, viel Glück!",_amount,[_price] call life_fnc_numberText];
      [_Entry] remoteExec ["TON_fnc_manageLottery",2];
      closeDialog 0;
      };
      Alles anzeigen


      2. Erstellt eine eine .hpp namens priceDiag und kopiert das rein:

      Code
      class STS_KBW_price_diag
      {
      	idd = 13371;
      	name = "price_diag";
      	movingEnabled = false;
      	enableSimulation = true;
      	class controlsBackground {
      		class Life_RscTitleBackground:Life_RscText {
      			colorBackground[] = {0,0.3294117647058824,0.5411764705882353,1};
      			idc = -1;
      			x = 0.3;
      			y = 0.2;
      			w = 0.47;
      			h = (1 / 25);
      		};
      		class MainBackground:Life_RscText {
      			colorBackground[] = {0.1058823529411765,0.1058823529411765,0.1058823529411765,0.93};
      			idc = -1;
      			x = 0.3;
      			y = 0.2 + (11 / 250);
      			w = 0.47;
      			h = 0.3 - (22 / 250);
      		};
      	};
      	class controls 
      	{
      		class Title : Life_RscTitle {
      			colorBackground[] = {0, 0, 0, 0};
      			idc = 2651;
      			text = "Type offer price";
      			x = 0.3;
      			y = 0.2;
      			w = 0.6;
      			h = (1 / 25);
      		};
      		class DefaultText : Life_RscEdit 
      		{
      			idc = 7331;
      			text = "";
      			sizeEx = 0.030;
      			x = 0.40; y = 0.30;
      			w = 0.25; h = 0.03;
      		};
      		class MoneyEdit: Life_RscButtonMenu {
      			idc = -1;
      			text = "Confirm";
      			colorBackground[] = {0,0.2235294117647059,0.3725490196078431,1};
      			onButtonClick = "life_charged = true";
      			x = 0.45;
      			y = 0.39;
      			w = (6.25 / 40);
      			h = (1 / 25);
      		};
      	};
      };
      Alles anzeigen

      Schreibt in die MasterHandler.hpp folgendes rein:


      Code
      #include "priceDiag.hpp"

      LIVE_SERVER:



      1. Geht in die Init.sqf und sucht nach:

      Code
      diag_log "----------------------------------------------------------------------------------------------------";
      diag_log format["               End of Altis Life Server Init :: Total Execution Time %1 seconds ",(diag_tickTime) - _timeStamp];
      diag_log "----------------------------------------------------------------------------------------------------";

      schreibt direkt darüber das rein:


      Code
      life_lottery_entries = [];
      [] spawn TON_fnc_runLottery;

      2. Geht jetzt in die config.cpp und sucht nach:


      Code
      class TON_System {
              tag = "TON";
              class Systems {
                  file = "\life_server\Functions\Systems";

      und schreibt direkt darunter das rein:


      Code
      class runLottery {}; 
      class lotteryPick {}; 
      class manageLottery {};
      class compUID {};

      3. Ladet euch im Dateianhang den Lottery Ordner herunter und fügt die SQFs alle in den System Ordner ein.

      DATENBANK:

      Code
      SET FOREIGN_KEY_CHECKS=0;
      
      
      
      
      -- ----------------------------
      -- Table structure for `lottery`
      -- ----------------------------
      DROP TABLE IF EXISTS `lottery`;
      CREATE TABLE `lottery` (
        `id` tinyint(1) NOT NULL DEFAULT '1',
        `jackpot` int(11) NOT NULL DEFAULT '0',
        PRIMARY KEY (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
      
      
      
      
      -- ----------------------------
      -- Records of lottery
      -- ----------------------------
      INSERT INTO `lottery` VALUES ('1', '0');
      Alles anzeigen

      Fertig !

      Dateien

      Lottery.zip 2,22 kB – 323 Downloads

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

      2 Mal editiert, zuletzt von AmaZiinG (24. Januar 2017 um 19:30) aus folgendem Grund: Datenbank code

    • RealGameRPG
      Anfänger
      Reaktionen
      2
      Trophäen
      9
      Beiträge
      64
      • 19. Dezember 2016 um 19:21
      • #2

      wo kann man dann jz die Tickets kaufen?

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 19. Dezember 2016 um 19:38
      • #3
      Zitat von AmaZiinG

      Bitte beachtet, dass Schwierigkeitsgrad 5 Nichts für Anfänger ist. Codeteile können unvollständig sein

      nimm dir das zu Herzen, das ganze System ist nicht 100% vollständig und nicht als Tut als solches zum blinden Nachahmen geeignet

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

      ______________________

    • Delfin777
      Frischling
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      5
      • 3. Januar 2017 um 13:28
      • #4

      Ich kann nicht verstehen, wo auf dem Server in der Lotterie zu nehmen, Dank im Voraus!

    • AustrianNoob
      Kenner
      Reaktionen
      501
      Trophäen
      10
      Beiträge
      563
      • 3. Januar 2017 um 13:47
      • #5

      Dieses Tutorial ist nicht vollständig und auch nicht getestet! Das wird wohl heißen, dass du z.B.: die addAction selbst machen musst...

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 3. Januar 2017 um 15:04
      • #6
      Zitat von Delfin777

      Ich kann nicht verstehen, wo auf dem Server in der Lotterie zu nehmen, Dank im Voraus!

      Kleiner Tipp du musst die ganze fn_buyTicket.sqf umschreiben.

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

    • snoks_one
      Frischling
      Reaktionen
      2
      Trophäen
      9
      Beiträge
      10
      • 4. Januar 2017 um 17:40
      • #7

      Könntest du mir wenn möglich den Part von deiner *life_fnc_handlePaper" schicken wo die aussendung des geldes statt findet :)

      Edit:
      Habs schon hingekriegt :)

      Code
      [_Split] remoteExec ["life_fnc_handlePaper",_x,false];

      und in der handlePaper


      Code
      #include "..\..\script_macros.hpp"
      private["_type"];
      _type = [_this,0,0,[[],0]] call BIS_fnc_param;
      BANK = BANK + _type;
      [1] call SOCK_fnc_updatePartial;
    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 4. Januar 2017 um 18:08
      • #8

      Hättest auch life_fnc_handlePaper zu life_cash umschreiben können ^^
      Aber so geht es auch.

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

    • heyy519
      Anfänger
      Trophäen
      9
      Beiträge
      76
      • 5. März 2017 um 15:12
      • #9

      Does it happen 1 time after restart?

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    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™