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.
#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:
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:
LIVE_SERVER:
1. Geht in die Init.sqf und sucht nach:
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:
2. Geht jetzt in die config.cpp und sucht nach:
und schreibt direkt darunter das rein:
3. Ladet euch im Dateianhang den Lottery Ordner herunter und fügt die SQFs alle in den System Ordner ein.
DATENBANK:
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 !