Advertisement
Guest User

Sistema Lotteria by Phanto

a guest
Jan 17th, 2011
357
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. ================================================================================
  3.                                Phanto's Script
  4. ________________________________________________________________________________
  5. •Script: Phanto admin system •Scripter: Phanto90
  6. •Tipo: FS                    •Dimesione: 6 Kb
  7. •Righe: 142                  •Versione: 1.0v
  8. ________________________________________________________________________________
  9.                               * Descrizione *
  10. Gentili utenti, qui troverete un piccolo sistema lotteria che potrete mettere
  11. sul vostro server. Pre comprare un biglietto basterà digitare "/biglietto"
  12. Il sistema estrae ogni 5 minuti un numero da 1 a 90. Il vincitore vincerà un
  13. premio base(1000$) più una vincita extra random(100$).
  14. Quasi tutto il sistema è modificabile attraverso i define.
  15. ________________________________________________________________________________
  16.  
  17. Vi preghiamo di non rimuovere i crediti.
  18.  
  19. ================================================================================
  20.  
  21. */
  22.  
  23. #include <a_samp>
  24. //===================================DEFINE
  25. #define DIALOGLOTTERIA 10004
  26. #define COMANDOBIGLIETTO "/biglietto"
  27. #define VINCITABASE 1000
  28. #define VINCITAEXTRA 100
  29. #define MINUTIESTRAZIONE 5
  30. #define COSTOBIGLIETTO 10
  31. //==================================VERIABILI
  32. new Biglietto[MAX_PLAYERS]=0;
  33. new stringa[256];
  34. new nome[20];
  35. new numerofortunato;
  36. new vincita;
  37. //============================================================ONFILTERSCRIPTINIT
  38. public OnFilterScriptInit()
  39. {
  40.     print("\n______________________________________");
  41.     print(" Sistema Lotteria caricato.");
  42.     print(" http://pawnoscripter.forumfree.it");
  43.     print("______________________________________\n");
  44.     SetTimer("Estrazione",60000*MINUTIESTRAZIONE,true);
  45.     return 1;
  46. }
  47. //============================================================ONFILTERSCRIPTEXIT
  48. public OnFilterScriptExit()
  49. {
  50.     print("\n______________________________________");
  51.     print(" Sistema Lotteria unloadato.");
  52.     print(" http://pawnoscripter.forumfree.it");
  53.     print("______________________________________\n");
  54.     return 1;
  55. }
  56. //===============================================================ONPLAYERCONNECT
  57. public OnPlayerConnect(playerid)
  58. {
  59.     format(stringa,sizeof(stringa),"LOTTERIA: {FFFFFF}Se vuoi comprare un biglietto digita {C14124}%s{FFFFFF}.",COMANDOBIGLIETTO);
  60.     SendClientMessage(playerid,0x338CD9FF,stringa);
  61.     return 1;
  62. }
  63. //============================================================ONPLAYERDISCONNECT
  64. public OnPlayerDisconnect(playerid, reason)
  65. {
  66.     Biglietto[playerid]=0;
  67.     return 1;
  68. }
  69. //===========================================================ONPLAYERCOMMANDTEXT
  70. public OnPlayerCommandText(playerid, cmdtext[])
  71. {
  72.     if (strcmp(COMANDOBIGLIETTO, cmdtext, true, 10) == 0)
  73.     {
  74.         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");
  75.         return 1;
  76.     }
  77.     return 0;
  78. }
  79. //==============================================================ONDIALOGRESPONSE
  80. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  81. {
  82.     if(dialogid == DIALOGLOTTERIA)
  83.     {
  84.     if(Biglietto[playerid]!=0) return SendClientMessage(playerid,0xF5432EFF,"ERRORE: {FFFFFF}Possiedi già un biglietto. Attendi la prossima estrazione.");
  85.     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");
  86.     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");
  87.     for(new i=0;i<MAX_PLAYERS;i++)
  88.     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");
  89.     format(stringa,sizeof(stringa),"LOTTERIA: {FFFFFF}Hai acquistato il {8CE46C}%d{FFFFFF}. Buona fortuna per l'estrazione.",strval(inputtext));
  90.     SendClientMessage(playerid,0x338CD9FF,stringa);
  91.     Biglietto[playerid]=strval(inputtext);
  92.     GivePlayerMoney(playerid,-COSTOBIGLIETTO);
  93.     }
  94.     return 1;
  95. }
  96. //====================================================================ESTRAZIONE
  97. forward Estrazione();
  98. public Estrazione()
  99. {
  100.  numerofortunato=random(90);
  101.  new a=0;
  102.  for(new i=0;i<MAX_PLAYERS;i++)
  103.  {
  104.   if(Biglietto[i]==numerofortunato)
  105.   {
  106.   GetPlayerName(i,nome,sizeof(nome));
  107.   vincita=VINCITABASE+random(VINCITAEXTRA);
  108.   GivePlayerMoney(i,vincita);
  109.   a=1;
  110.   }
  111.   Biglietto[i]=0;
  112.  }
  113.  if(a==1)
  114.  {
  115.  format(stringa,sizeof(stringa),"LOTTERIA: {8CE46C}%s{FFFFFF} vince {C14124}%d{FFFFFF}$ con l'estrazione del numero {C14124}%d{FFFFFF}.",nome,vincita,numerofortunato);
  116.  SendClientMessageToAll(0x338CD9FF,stringa);
  117.  return 1;
  118.  }
  119.  else
  120.  {
  121.  format(stringa,sizeof(stringa),"LOTTERIA: il numero estratto è {C14124}%d{FFFFFF}, ma nessuno ha vinto.",numerofortunato);
  122.  SendClientMessageToAll(0x338CD9FF,stringa);
  123.  }
  124.  return 1;
  125. }
  126. //=====================================================================ISNUMERIC
  127. stock isNumeric(const string[])
  128. {
  129.     new length=strlen(string);
  130.     if (length==0) return false;
  131.     for (new i = 0; i < length; i++)
  132.     {
  133.     if
  134.     ((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') || (string[i]=='-' && i!=0)|| (string[i]=='+' && i!=0))
  135.     return false;
  136.     }
  137.     if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
  138.     return true;
  139. }
Advertisement
RAW Paste Data Copied
Advertisement