SA-MP Forums Archive
LOTTERY Script | Help - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: LOTTERY Script | Help (/showthread.php?tid=490621)



LOTTERY Script | Help - Proxysteve - 27.01.2014

I use this script for the lottery, but I would pay the winner is carried out every hour, and if no one has won the output is "He did not win any! Jackpot was $ <jackpot>" and on the other hand, if someone wins written User_Name won $ <jackpot>.
Even if I write on the keyboard / ticket will get a screen where you can enter the lot number you want to play, I hope that this screen does not appear, but the writing / tickets <number> bait a written thus: You played the number wait extraction. Please help me!


Код HTML:
#include <a_samp>
//===================================DEFINE
#define DIALOGLOTTERIA 10004
#define COMANDOBIGLIETTO "/biglietto"
#define VINCITABASE 1000
#define VINCITAEXTRA 100
#define MINUTIESTRAZIONE 5
#define COSTOBIGLIETTO 75
//==================================VERIABILI
new Biglietto[MAX_PLAYERS]=0;
new stringa[256];
new nome[20];
new numerofortunato;
new vincita;
//============================================================ONFILTERSCRIPTINIT
//===============================================================ONPLAYERCONNECT
public OnPlayerConnect(playerid)
{
	format(stringa,sizeof(stringa),"LOTTERIA: {FFFFFF}Se vuoi comprare un biglietto digita {C14124}%s{FFFFFF}.",COMANDOBIGLIETTO);
	SendClientMessage(playerid,0x338CD9FF,stringa);
	return 1;
}
//============================================================ONPLAYERDISCONNECT
public OnPlayerDisconnect(playerid, reason)
{
	Biglietto[playerid]=0;
	return 1;
}
//===========================================================ONPLAYERCOMMANDTEXT
public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp(COMANDOBIGLIETTO, cmdtext, true, 10) == 0)
	{
		ShowPlayerDialog(playerid,DIALOGLOTTERIA,DIALOG_STYLE_INPUT,"Acquista biglietto","{FFFFFF}Inserisci il {C14124}numero{FFFFFF} del biglietto che vuoi acquistare.\nInserisci un numero nell'intervallo {C14124}1-90{FFFFFF}.","Compra","Esci");
		return 1;
	}
	return 0;
}
//==============================================================ONDIALOGRESPONSE
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOGLOTTERIA)
	{
	if(Biglietto[playerid]!=0) return SendClientMessage(playerid,0xF5432EFF,"ERRORE: {FFFFFF}Possiedi giа un biglietto. Attendi la prossima estrazione.");
	if(!isNumeric(inputtext)) return ShowPlayerDialog(playerid,DIALOGLOTTERIA,DIALOG_STYLE_INPUT,"Acquista biglietto","{C14124}ERRORE: Inserire caratteri numerici.\n{FFFFFF}Inserisci il {C14124}numero{FFFFFF} del biglietto che vuoi acquistare.\nInserisci un numero nell'intervallo {C14124}1-90{FFFFFF}.","Compra","Esci");
	if(strval(inputtext)<1 || strval(inputtext)>90) return ShowPlayerDialog(playerid,DIALOGLOTTERIA,DIALOG_STYLE_INPUT,"Acquista biglietto","{C14124}ERRORE: Inserire il numero del biglietto nell'intervallo 1-90.\n{FFFFFF}Inserisci il {C14124}numero{FFFFFF} del biglietto che vuoi acquistare.\nInserisci un numero nell'intervallo {C14124}1-90{FFFFFF}.","Compra","Esci");
	for(new i=0;i<MAX_PLAYERS;i++)
	if(strval(inputtext)==Biglietto[i]) return ShowPlayerDialog(i,DIALOGLOTTERIA,DIALOG_STYLE_INPUT,"Acquista biglietto","{C14124}ERRORE: Questo biglietto и giа stato acquistato.\n{FFFFFF}Inserisci il {C14124}numero{FFFFFF} del biglietto che vuoi acquistare.\nInserisci un numero nell'intervallo {C14124}1-90{FFFFFF}.","Compra","Esci");
	format(stringa,sizeof(stringa),"LOTTERIA: {FFFFFF}Hai acquistato il {8CE46C}%d{FFFFFF}. Buona fortuna per l'estrazione.",strval(inputtext));
	SendClientMessage(playerid,0x338CD9FF,stringa);
	Biglietto[playerid]=strval(inputtext);
	GivePlayerMoney(playerid,-COSTOBIGLIETTO);
	}
	return 1;
}
//====================================================================ESTRAZIONE
forward Estrazione();
public Estrazione()
{
 numerofortunato=random(90);
 new a=0;
 for(new i=0;i<MAX_PLAYERS;i++)
 {
  if(Biglietto[i]==numerofortunato)
  {
  GetPlayerName(i,nome,sizeof(nome));
  vincita=VINCITABASE+random(VINCITAEXTRA);
  GivePlayerMoney(i,vincita);
  a=1;
  }
  Biglietto[i]=0;
 }
 if(a==1)
 {
 format(stringa,sizeof(stringa),"LOTTERIA: {8CE46C}%s{FFFFFF} vince {C14124}%d{FFFFFF}$ con l'estrazione del numero {C14124}%d{FFFFFF}.",nome,vincita,numerofortunato);
 SendClientMessageToAll(0x338CD9FF,stringa);
 return 1;
 }
 else
 {
 format(stringa,sizeof(stringa),"LOTTERIA: il numero estratto и {C14124}%d{FFFFFF}, ma nessuno ha vinto.",numerofortunato);
 SendClientMessageToAll(0x338CD9FF,stringa);
 }
 return 1;
}
//=====================================================================ISNUMERIC
stock isNumeric(const string[])
{
	new length=strlen(string);
	if (length==0) return false;
	for (new i = 0; i < length; i++)
	{
	if
	((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') || (string[i]=='-' && i!=0)|| (string[i]=='+' && i!=0))
    return false;
	}
	if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
	return true;
}