[suche] LottoSystem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hier:


    Code
    forward UpdateJP();forward Draw();

    Code
    #define LOTTO_JACKPOT 1000 #define LOTTO_START  	100000 #define LOTTO_DRAW  	30    	#define TICKET_COST  	1000	new Jackpot = LOTTO_START;                            	new Numbers[100];

    Spoiler anzeigen
    Unter public OnGameModeInit():

    Code
    SetTimer("UpdateJP", 30000, true);	SetTimer("Draw", LOTTO_DRAW*1000*60, true);

    Spoiler anzeigen
    Unter public OnPlayerCommandText(playerid, cmdtext[]):

    Code
    dcmd(lotto, 5, cmdtext);

    Spoiler anzeigen
    Der Befehl:

    Code
    dcmd_lotto(playerid, params[]){	if(!strlen(params)) 	{    	SendClientMessage(playerid, 0x62FF32FF, "***Lotto Information***");     	SendClientMessage(playerid, 0x62FF32FF, "Wähle eine Zahl zwischen 1 und 100, indem du /lotto [1-100] benutzt.");     	new str[128];     	format(str, sizeof(str), "Es sind momentan $%d im Jackpot!", Jackpot);     	SendClientMessage(playerid, 0x62FF32FF, str); 	}	new Num = strval(params);	if(Num<1 || Num>100) 	{    	SendClientMessage(playerid, 0xE21F1FFF, "Du musst eine Zahl zwischen 1 und 100 wählen.");    	return 1;	}	if(Numbers[Num] == 1) 	{    	new str[75];     	format(str, sizeof(str), "Die Lotto Zahl %d wurde schon gewählt.", Num);     	SendClientMessage(playerid, 0xE21F1FFF, str);     	return 1;	}	if(GetPVarInt(playerid, "LottoNumber") != 0) return SendClientMessage(playerid, 0xE21F1FFF, "Du besitzt bereits eine Lotto Zahl.");	SetPVarInt(playerid, "LottoNumber", Num); //Sets the players number	Numbers[Num] = 1; //Number is used	GivePlayerMoney(playerid, -TICKET_COST); 	new str[75];	format(str, sizeof(str), "Lotto Zahl erhalten. Du hast nun die Zahl %d bei der nächsten Ziehung.", Num);	SendClientMessage(playerid, 0x62FF32FF, str); 	format(str, sizeof(str), " Ziehungen gibt es alle %d Minuten und die Gewinner werden angekündigt. Es sind momentan $%d im Jackpot.", LOTTO_DRAW, Jackpot);	Jackpot = Jackpot + LOTTO_JACKPOT; 	SendClientMessage(playerid, 0x62FF32FF, str); 	return 1;}

    Spoiler anzeigen
    Ganz unten in dein Script:

    Code
    public UpdateJP(){	Jackpot = Jackpot + LOTTO_JACKPOT; 	return 1;}public Draw(){	new Lnum = random(100) + 1; 	new winner = -1; 	for(new i; i<MAX_PLAYERS; i++)	{    	if(!IsPlayerConnected(i)) continue;     	if(GetPVarInt(i, "LottoNumber") == Lnum) winner = i;     	SetPVarInt(i, "LottoNumber", 0); 	}	if(winner != -1) 	{    	new Pname[24];    	GetPlayerName(winner, Pname, 24);    	new str[100];    	SendClientMessageToAll(0x62FF32FF, "***Lotto Information***");     	format(str, sizeof(str), "Wir haben einen Gewinner! %s(%d) hat $%d gewonnen!", Pname, winner, Jackpot);    	SendClientMessageToAll(0x62FF32FF, str);     	SendClientMessageToAll(0x62FF32FF, "Hol dir ein Ticket für die nächste Ziehung /lotto [1-100]!");     	GivePlayerMoney(winner, Jackpot);     	Jackpot = LOTTO_START; 	}	if(winner == -1) 	{		new str[100];    	SendClientMessageToAll(0x62FF32FF, "***Lotto Information***");     	format(str, sizeof(str), "Bei dieser Ziehung gab es keinen Gewinner. Es sind nun $%d im Jackpot!", Jackpot);    	SendClientMessageToAll(0x62FF32FF, str);     	SendClientMessageToAll(0x62FF32FF, "Hol dir ein Ticket für die nächste Ziehung /lotto [1-100]!");	}	for(new s; s<100; s++)	{    	Numbers[s] = 0; 	}	return 1;}


    mfG [CGR]BlackJack