Jump to content

Stickhead

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by Stickhead

  1. //===== Hercules Script ======================================
    //= Lottery
    //===== By: ==================================================
    //= acky
    //===== Current Version: =====================================
    //= 1.2.1a
    //===== Description: =========================================
    //= Daily lottery draw
    //===== Additional Comments: =================================
    //= Numbers drawn daily (Time is configured line 29)
    //= *Added GM-Riggability
    //= *Ability to renew ticket
    //= *Improved interface
    //= *Fixed minor bug where first load didn't work.
    //= 1.2.1a fix due to new script engine
    //============================================================

    -    script    lotterygenerator    -1,{
    OnInit:
        set $L_TicketPrice,4750; // TICKET COST
        set $L_Prize_Money,5000000; // JACKPOT AMOUNT
        set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE
        if ($LID == 0) goto L_GenID;
        end;

        //Modify for own time
    OnClock2045:
        // CHECKS IF LOTTERY IS RIGGED
        if ($L_Rigged == 1) goto L_Rigged_Draw;
        // GENERATES RANDOM NUMBERS 1-40
    Pick1:
        set $LW1,rand (1,40);

    Pick2:
        set $LW2,rand (1,40);
        if ($LW2 == $LW1) goto Pick2;

    Pick3:
        set $LW3,rand (1,40);
        if ($LW3 == $LW2) goto Pick3;
        if ($LW3 == $LW1) goto Pick3;

    Pick4:
        set $LW4,rand (1,40);
        if ($LW4 == $LW2) goto Pick4;
        if ($LW4 == $LW1) goto Pick4;
        if ($LW4 == $LW3) goto Pick4;

    Pick5:
        set $LW5,rand (1,40);
        if ($LW5 == $LW1) goto Pick5;
        if ($LW5 == $LW2) goto Pick5;
        if ($LW5 == $LW3) goto Pick5;
        if ($LW5 == $LW4) goto Pick5;

    Pick6:
        set $LW6,rand (1,40);
        if ($LW6 == $LW1) goto Pick6;
        if ($LW6 == $LW2) goto Pick6;
        if ($LW6 == $LW3) goto Pick6;
        if ($LW6 == $LW4) goto Pick6;
        if ($LW6 == $LW5) goto Pick6;

        // BROADCASTS DRAW
    L_Broadcast:
        announce "Lottery: Welcome to tonight's lotto draw!",8;
        announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
        announce "Congratulations to the winners of tonight!",8;

        // GENERATES DRAW ID CODE
    L_GenID:
        set $LID2,$LID;
        // SETS TOMORROW'S ID NUMBER
        set $LID,rand (100000,999999);
        end;

        // SETS DRAW TO RIGGED NUMBERS
    L_Rigged_Draw:
        set $LW1,$LR1;
        set $LW2,$LR2;
        set $LW3,$LR3;
        set $LW4,$LR4;
        set $LW5,$LR5;
        set $LW6,$LR6;
        set $L_Rigged,0;
        goto L_Broadcast;
    }

    prontera,141,182,5    script    Lottery    1_F_ORIENT_02,{
    L_Begin:
        mes "[Lottery]";
        mes "Winning Lotto Numbers ("+$LID2+"):";
        mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000";
        if ($LID > 99999) mes "Your Ticket ("+#LID+"):";
        if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000";
        mes "Next Draw-ID: ^FF0000" + $LID + "^000000.";
        next;
        if (getgmlevel() > 90) goto L_GM;
        menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel;

    // PURCHASE TICKET
    L_Buy:
        if (#LID == $LID && #L1 != 0) goto L_DoubleTicket;
        mes "[Lottery]";
        mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000.";
        mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000.";
        next;
        menu "Buy Ticket",-,"Cancel",L_Cancel;
        if (Zeny < $L_TicketPrice) goto L_NoZeny;
        Zeny -= $L_TicketPrice;
        mes "[Lottery]";
        mes "Would you like your numbers hand picked or computer generated?";
        next;
        menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew;

    // RENEW LAST TICKET
    L_Renew:
        if ($LID < 99999) goto L_Invalid;
        set #LID,$LID;
        goto L_Confirm2;

    L_ComputerGen:
    // SELECTS RANDOM NUMBERS
        set @L1,0;
        set @L2,0;
        set @L3,0;
        set @L4,0;
        set @L5,0;
        set @L6,0;
    Pick1:
        set @L1,rand (1,40);
    Pick2:
        set @L2,rand (1,40);
        if (@L2 == @L1) goto Pick2;
    Pick3:
        set @L3,rand (1,40);
        if (@L3 == @L2) goto Pick3;
        if (@L3 == @L1) goto Pick3;
    Pick4:
        set @L4,rand (1,40);
        if (@L4 == @L2) goto Pick4;
        if (@L4 == @L1) goto Pick4;
        if (@L4 == @L3) goto Pick4;
    Pick5:
        set @L5,rand (1,40);
        if (@L5 == @L1) goto Pick5;
        if (@L5 == @L2) goto Pick5;
        if (@L5 == @L3) goto Pick5;
        if (@L5 == @L4) goto Pick5;
    Pick6:
        set @L6,rand (1,40);
        if (@L6 == @L1) goto Pick6;
        if (@L6 == @L2) goto Pick6;
        if (@L6 == @L3) goto Pick6;
        if (@L6 == @L4) goto Pick6;
        if (@L6 == @L5) goto Pick6;
        mes "[Lottery]";
        mes "The computer has selected the following numbers:";
        mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
        next;
        menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen;

    // HAND PICK LOTTERY NUMBERS
    L_HandPick:
        mes "[Lottery]";
        mes "Please pick your numbers (1-40):";
        set @L1,0;
        set @L2,0;
        set @L3,0;
        set @L4,0;
        set @L5,0;
        set @L6,0;
    Input1:
        input @L1;
        if (@L1 < 1 || @L1 > 40) goto Input1;
        mes @L1;
    Input2:
        input @L2;
        if (@L2 < 1 || @L2 > 40) goto Input2;
        if (@L2 == @L1) goto Input2;
        mes @L2;
    Input3:
        input @L3;
        if (@L3 < 1 || @L3 > 40) goto Input3;
        if (@L3 == @L1) goto Input3;
        if (@L3 == @L2) goto Input3;
        mes @L3;
    Input4:
        input @L4;
        if (@L4 < 1 || @L4 > 40) goto Input4;
        if (@L4 == @L1) goto Input4;
        if (@L4 == @L2) goto Input4;
        if (@L4 == @L3) goto Input4;
        mes @L4;
    Input5:
        input @L5;
        if (@L5 < 1 || @L5 > 40) goto Input5;
        if (@L5 == @L1) goto Input5;
        if (@L5 == @L2) goto Input5;
        if (@L5 == @L3) goto Input5;
        if (@L5 == @L4) goto Input5;
        mes @L5;
    Input6:
        input @L6;
        if (@L6 < 1 || @L6 > 40) goto Input6;
        if (@L6 == @L1) goto Input6;
        if (@L6 == @L2) goto Input6;
        if (@L6 == @L3) goto Input6;
        if (@L6 == @L4) goto Input6;
        if (@L6 == @L5) goto Input6;
        mes @L6;
        next;
        mes "[Lottery]";
        mes "Your numbers are:";
        mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
        next;
        menu "Confirm",L_Confirm,"Re-Pick",L_HandPick;

    L_Confirm:
        set #LW1,@L1;
        set #LW2,@L2;
        set #LW3,@L3;
        set #LW4,@L4;
        set #LW5,@L5;
        set #LW6,@L6;
        set #LID,$LID;
    L_Confirm2:
        mes "[Lottery]";
        mes "The live broadcasted draw is at 9pm.";
        mes "You can claim your ticket between then and the next draw.";
        next;
        mes "[Lottery]";
        mes "Good luck!";
        close;

    L_Claim:
        // CHECKS TICKET VALIDILITY
        if (#LID != $LID2) goto L_Invalid;
        // CHECKS HOW MANY NUMBERS MATCHED
        set @LPrize,0;
        if (#LW1 == $LW1) set @LPrize,@LPrize+1;
        if (#LW1 == $LW2) set @LPrize,@LPrize+1;
        if (#LW1 == $LW3) set @LPrize,@LPrize+1;
        if (#LW1 == $LW4) set @LPrize,@LPrize+1;
        if (#LW1 == $LW5) set @LPrize,@LPrize+1;
        if (#LW1 == $LW6) set @LPrize,@LPrize+1;
        if (#LW2 == $LW1) set @LPrize,@LPrize+1;
        if (#LW2 == $LW2) set @LPrize,@LPrize+1;
        if (#LW2 == $LW3) set @LPrize,@LPrize+1;
        if (#LW2 == $LW4) set @LPrize,@LPrize+1;
        if (#LW2 == $LW5) set @LPrize,@LPrize+1;
        if (#LW2 == $LW6) set @LPrize,@LPrize+1;
        if (#LW3 == $LW1) set @LPrize,@LPrize+1;
        if (#LW3 == $LW2) set @LPrize,@LPrize+1;
        if (#LW3 == $LW3) set @LPrize,@LPrize+1;
        if (#LW3 == $LW4) set @LPrize,@LPrize+1;
        if (#LW3 == $LW5) set @LPrize,@LPrize+1;
        if (#LW3 == $LW6) set @LPrize,@LPrize+1;
        if (#LW4 == $LW1) set @LPrize,@LPrize+1;
        if (#LW4 == $LW2) set @LPrize,@LPrize+1;
        if (#LW4 == $LW3) set @LPrize,@LPrize+1;
        if (#LW4 == $LW4) set @LPrize,@LPrize+1;
        if (#LW4 == $LW5) set @LPrize,@LPrize+1;
        if (#LW4 == $LW6) set @LPrize,@LPrize+1;
        if (#LW5 == $LW1) set @LPrize,@LPrize+1;
        if (#LW5 == $LW2) set @LPrize,@LPrize+1;
        if (#LW5 == $LW3) set @LPrize,@LPrize+1;
        if (#LW5 == $LW4) set @LPrize,@LPrize+1;
        if (#LW5 == $LW5) set @LPrize,@LPrize+1;
        if (#LW5 == $LW6) set @LPrize,@LPrize+1;
        if (#LW6 == $LW1) set @LPrize,@LPrize+1;
        if (#LW6 == $LW2) set @LPrize,@LPrize+1;
        if (#LW6 == $LW3) set @LPrize,@LPrize+1;
        if (#LW6 == $LW4) set @LPrize,@LPrize+1;
        if (#LW6 == $LW5) set @LPrize,@LPrize+1;
        if (#LW6 == $LW6) set @LPrize,@LPrize+1;

        if (@LPrize == 6) goto LWinBig;
        if (@LPrize > 3 && @LPrize < 6) goto LWinSmall;

    // NO WINNER
        mes "[Lottery]";
        mes "Bad luck, it appears you do not hold a winning ticket.";
        next;
        mes "[Lottery]";
        mes "Better luck next time!.";
        close;

    // MATCHED ALL SIX
    LWinBig:
        mes "[Lottery]";
        mes "You have matched all six numbers!";
        mes "Jackpot!";
        mes "You've won ^0000FF" + $L_Prize_Money + "z^000000.";
        Zeny += $L_Prize_Money;
        announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
        set #LID,0;
        close;

    // MATCHED AT LEAST 4
    LWinSmall:
        mes "[Lottery]";
        mes "You have matched at least 4 numbers!";
        mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000.";
        Zeny += $L_Prize_Money_Small;
        announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
        set #LID,0;
        close;

    // NO ZENY
    L_NoZeny:
        mes "[Lottery]";
        mes "You can't afford a lottery ticket.";
        close;

    // INVALID TICKET
    L_Invalid:
        mes "[Lottery]";
        mes "I'm sorry but it appears that you have an invalid ticket.";
        close;

    // DOUBLE TICKET
    L_DoubleTicket:
        mes "[Lottery]";
        mes "It appears that you already have a ticket for today.";
        mes "You may only purchase one ticket per draw.";
        close;

    L_Cancel:
        mes "[Lottery]";
        mes "Come back soon!";
        close;

    // GM MENU (Lets you manually do draws)
    L_GM:
        menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel;

        // CHECKS IF LOTTERY IS RIGGED
        if ($L_Rigged == 1) goto L_Rigged_Draw;
        // GENERATES RANDOM NUMBERS 1-40
    GMPick1:
        set $LW1,rand (1,40);

    GMPick2:
        set $LW2,rand (1,40);
        if ($LW2 == $LW1) goto GMPick2;

    GMPick3:
        set $LW3,rand (1,40);
        if ($LW3 == $LW2) goto GMPick3;
        if ($LW3 == $LW1) goto GMPick3;

    GMPick4:
        set $LW4,rand (1,40);
        if ($LW4 == $LW2) goto GMPick4;
        if ($LW4 == $LW1) goto GMPick4;
        if ($LW4 == $LW3) goto GMPick4;

    GMPick5:
        set $LW5,rand (1,40);
        if ($LW5 == $LW1) goto GMPick5;
        if ($LW5 == $LW2) goto GMPick5;
        if ($LW5 == $LW3) goto GMPick5;
        if ($LW5 == $LW4) goto GMPick5;

    GMPick6:
        set $LW6,rand (1,40);
        if ($LW6 == $LW1) goto GMPick6;
        if ($LW6 == $LW2) goto GMPick6;
        if ($LW6 == $LW3) goto GMPick6;
        if ($LW6 == $LW4) goto GMPick6;
        if ($LW6 == $LW5) goto GMPick6;

    // BROADCASTS DRAW
    L_Broadcast:
        announce "Lottery: Welcome to the special GM's lotto draw!",8;
        announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
        announce "Congratulations to the winners!",8;

    // GENERATES DRAW ID CODE
    L_GenID:
        set $LID2,$LID;
        // SETS TOMORROW'S ID NUMBER
        set $LID,rand (100000,999999);
        close;

    // SETS DRAW TO RIGGED NUMBERS
    L_Rigged_Draw:
        set $LW1,$LR1;
        set $LW2,$LR2;
        set $LW3,$LR3;
        set $LW4,$LR4;
        set $LW5,$LR5;
        set $LW6,$LR6;
        set $L_Rigged,0;
        goto L_Broadcast;

    // ALLOWS GM TO DO A RIGGED DRAW
    L_GM_Rig:
        mes "[Lottery]";
        mes "Please pick your numbers (1-40):";
        set $LR1,0;
        set $LR2,0;
        set $LR3,0;
        set $LR4,0;
        set $LR5,0;
        set $LR6,0;
    GMInput1:
        input $LR1;
        if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
        mes $LR1;
    GMInput2:
        input $LR2;
        if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
        if ($LR2 == $LR1) goto GMInput2;
        mes $LR2;
    GMInput3:
        input $LR3;
        if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
        if ($LR3 == $LR1) goto GMInput3;
        if ($LR3 == $LR2) goto GMInput3;
        mes $LR3;
    GMInput4:
        input $LR4;
        if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
        if ($LR4 == $LR1) goto GMInput4;
        if ($LR4 == $LR2) goto GMInput4;
        if ($LR4 == $LR3) goto GMInput4;
        mes $LR4;
    GMInput5:
        input $LR5;
        if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
        if ($LR5 == $LR1) goto GMInput5;
        if ($LR5 == $LR2) goto GMInput5;
        if ($LR5 == $LR3) goto GMInput5;
        if ($LR5 == $LR4) goto GMInput5;
        mes $LR5;
    GMInput6:
        input $LR6;
        if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
        if ($LR6 == $LR1) goto GMInput6;
        if ($LR6 == $LR2) goto GMInput6;
        if ($LR6 == $LR3) goto GMInput6;
        if ($LR6 == $LR4) goto GMInput6;
        if ($LR6 == $LR5) goto GMInput6;
        mes $LR6;
        next;
        mes "[Lottery]";
        mes "Lottery rigged for next draw.";
        set $L_Rigged,1;
        close;
    }

    is this the script you're using right now? it works fine for me?

  2. I've installed FluxCP and it worked, but i got 2 issues:

     

    1) When i put to reinstall, it does error, cause Table cp_ipbanlog already exists.

    For this, i just changed "cp_ipbanlog.20120816150540" in data/schemas/logindb to "CREATE TABLE IF NOT EXISTS `cp_ipbanlog` (" and it goes ok now.

     

    2) When i add a new page, it doesn't shows in left menu. I've added in application.php file too, but doesn't shows Menu correctly.

     

    application.php:

    'MenuItems' => array(

    'MainMenuLabel' => array(

    'HomeLabel' => array('module' => 'main'),

    //'Forums' => array('exturl' => 'http://www.fluxro.com/community'), // External forum link

    //'Forums' => array('module' => 'forums'), // Built-in forum link

    'NewsLabel' => array('module' => 'news'),

    // Sample items for pages function.

    'DownloadsLabel' => array('module' => 'pages','action'=>'content&path=downloads'),

    'GuideLabel' => array('module' => 'pages','action'=>'content&path=guide'),                   <--------

    //'RulesLabel' => array('module' => 'pages','action'=>'content&path=rules'),

    // End sample items for pages function.

    //'ContactUsLabel' => array('module' => 'contactform'),

    ),

     

     

    question #1 : you must delete all the cp. tables in your database first before you can successfully reinstall your fluxcp

     

    questions #2 : see attach *didn't edit your code it works for me.

    post-433-0-68630600-1416071473_thumb.png

  3. .@i = rand(100); // = 100%

    if( .@i < 1 ) setarray .@Item[0],969,1;
    else if( .@i < 5 ) setarray .@Item[0],984,1;
    else if( .@i < 3 ) setarray .@Item[0],985,1;
    else if( .@i < 25 ) setarray .@Item[0],998,1;

    else if( .@i < 35 ) setarray .@Item[0],1002,1;

    else if( .@i < 55 ) setarray .@Item[0],7049,1;

     

    how to change the value of the reward?

     

    .@Item[0],7049,5; // Gives 5 Stones

     

    Credit to Emistry

     

    use search bar or google for better result next time ;)

×
×
  • Create New...