viewing paste [Evento] Roleta Russa | Text

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
prontera,162,174,4  script  [Ev] Roleta Russa   4_M_YURI,{
 
    set .Zeny, 0;
    setarray .ItemID[0], 7180;
    setarray .ItemAmount[0], 15;
 
    setarray .deathdialog$[0], "Sayonara!", "Hasta la vista, baby!", "Morra!", "Muahahahaha !", "Morre, diabo!"; //What do you want the NPC will say when someone dies?
    setarray .alivedialog$[0], "Que sorte!", "Essa foi por pouco!", "Porque você não morre?!", "Cagadaa !!", "Esse tem sorte hein?!"; //What do you want the NPC will say when someone lives?
 
    mes "["+strnpcinfo(1)+"]";
    mes "Roleta Russa é um jogo potencialmente letal onde é colocada uma bala no revólver, gira-se o cilindro, aponta-se a arma na cabeça da pessoa e então aperta-se o gatilho.";
    mes "Ele ocorre de 1h em 1h no Horário de Brasília.";
    
    if( .play == 2 )
    {
        if (getgroupid() == 99)
        {
            next;
            select ("Desbugar");
            close2;
            callsub CleanUp;
            end;
        }
        close;
    }
 
    switch (select ("Jogar:"+((getgroupid() >= 99)?"Ativar":"")+""))
    {
        case 1:
            if((.play == 1) && (.pReg < .maxplayer))
            {
                for(set .@i, 0; .@i < .maxplayer; set .@i, .@i + 1)
                {
                    if(.playerlist$[.@i] == strcharinfo(0))
                    {
                        next;
                        mes "["+strnpcinfo(1)+"]";
                        mes "Você já está registrado!";
                        close;
                    }
                }
                set .playerlist$[.pReg], strcharinfo(0);
                set .pReg, .pReg + 1;
                mapannounce "prontera", "[Roleta Russa] ("+.pReg+"/"+.maxplayer+") "+strcharinfo(0)+" está registrado.",bc_map;
                if( .pReg == .maxplayer )
                    goto PlayRR;
                close;
            }
            else if((.pReg == .maxplayer) && (.play == 1))
            {
                next;
                mes "["+strnpcinfo(1)+"]";
                mes "Não há mais espaço para jogar esta rodada.";
                close;
            }
            next;
            mes "["+strnpcinfo(1)+"]";
            mes "O evento ainda não começou.";
            close;
 
        case 2:
            next;
            mes "["+strnpcinfo(1)+"]";
            mes "Qual é o número máximo de jogadores?";
            input .maxplayer;
            if(.maxplayer < 2){ dispbottom "Max player must be greater than 1."; close; }
            set .maxplayer, .maxplayer;
            set .play, 1;
            announce "[Roleta Russa] O cadastro está aberto. "+.maxplayer+" jogadores necessários!",bc_all;
            close;
    }
    
        OnClock0000: OnClock0100: OnClock0200: OnClock0300: OnClock0400: OnClock0500: OnClock0600: OnClock0700:
        OnClock0800: OnClock0900: OnClock1000: OnClock1100: OnClock1200: OnClock1300: OnClock1400: OnClock1500:
        OnClock1600: OnClock1700: OnClock1800: OnClock1900: OnClock2000: OnClock2100: OnClock2200: OnClock2300:
        set .play, 1;
        set .maxplayer, 4;
        announce "[Roleta Russa] O cadastro está aberto. "+.maxplayer+" jogadores necessários!",bc_all;
        end;
     
    PlayRR:
        close2;
        detachrid;
        copyarray .copiedplayer$[0], .playerlist$[0], 128;
        set .play, 2;
        mapannounce "prontera", "[Roleta Russa] Os apertos nos gatilhos estão para começar!",bc_map;
        mapannounce "prontera", "[Roleta Russa] Lista de Jogadores:",bc_map,0xFFFFFF;
        for(set .@i, 0; .@i < getarraysize(.playerlist$); set .@i, .@i + 1)
        {
            set .@j, .@j + 1;
            mapannounce "prontera", "[Roleta Russa] "+.@j+". "+.playerlist$[.@i]+"",bc_map,0xFFFFFF;
            sleep2 1000;
        }
        mapannounce "prontera", "[Roleta Russa] Não desconecte, você será desqualificado.",bc_map,0xFFFFFF;
        callsub OnSpin;
        close;
     
    OnSpin:
        set .spin, rand(0, .pReg - 1);
        attachrid(getcharid(3, .playerlist$[.spin]));
        callsub OnCheck;
        mapannounce "prontera", "[Roleta Russa] O revólver está girando . . .",bc_map;
        sleep2 3000;
        mapannounce "prontera", "[Roleta Russa] O revólver está parando lentamente . . .",bc_map;
        sleep2 2000;
        mapannounce "prontera", "[Roleta Russa] O revólver está apontando para "+ strcharinfo(0) +" . . .",bc_map;
        sleep2 3000;
        mapannounce "prontera", "[Roleta Russa] Aperte o gatilho, "+ strcharinfo(0),bc_map;
        callsub OnCheck;
        callsub OnShoot;
        sleep2 3000;
        callsub OnSpin;
    return;
           
    OnShoot:
        if(rand(1, 6) == 1)
        {
            soundeffectall "ghost_revolver.wav", 0;
            sleep2 2300;
            specialeffect2 669;
            specialeffect2 531;
            percentheal -100, -100;
            deletearray .playerlist$[.spin], 1;
            set .pReg, .pReg - 1;
            mapannounce "prontera", "[Roleta Russa] ("+.pReg+"/"+.maxplayer+") "+strcharinfo(0)+" está fora!",bc_map,0xFF0000;
            mapannounce "prontera", "[Roleta Russa] "+.deathdialog$[rand(1, getarraysize(.deathdialog$))]+"", bc_map,0xFF0000;
        }
        else
        {
            soundeffectall "ghost_revolver.wav", 0;
            sleep2 2300;
            specialeffect2 675;
            specialeffect2 522 + rand(1,14);
            mapannounce "prontera", "[Roleta Russa] "+.alivedialog$[rand(1, getarraysize(.alivedialog$))]+"", bc_map,0xFF0000;
        }
    return;
     
    OnCheck:
        if( .pReg <= 0 )
        {
            mapannounce "prontera", "[Roleta Russa] Não há vencedores! Todos sumiram!",bc_map;
            callsub CleanUp;
        }
        else if( ( .pReg == 1 ) && ( .maxplayer <= 2 ) && ( getarraysize(.disqualified$) ) )
        {
            mapannounce "prontera", "[Roleta Russa] Sem vencedores! Um jogador foi desqualificado no modo de 2 jogadores.",bc_map;
            callsub CleanUp;
        }
        else if( ( .pReg == 1 ) && ( .maxplayer >= 2) )
        {
            mapannounce "prontera", "[Roleta Russa] Temos um vencedor! Parabéns a "+strcharinfo(0)+"!",bc_map;
            for( set .@i, 0; .@i < getarraysize(.ItemID); set .@i, .@i + 1 )
            {
                if(.ItemID)
                {
                    getitem .ItemID[.@i], .ItemAmount[.@i];
                }
            }
            if(.Zeny)
                set Zeny, Zeny + .Zeny;
            callsub CleanUp;
        }
        return;
     
    OnPCLogoutEvent:
        if( .play )
        {
            setarray .disqualified$[.@l], strcharinfo(0);
            set .@l, .@l + 1;
            for( set .@i, 0; .@i < .maxplayer; set .@i, .@i + 1 )
            {
                if( .playerlist$[.@i] == strcharinfo(0) )
                {
                    deletearray .playerlist$[.@i], 1;
                    set .pReg, .pReg - 1;
                    mapannounce "prontera", "[Roleta Russa] ("+.pReg+"/"+.maxplayer+") "+strcharinfo(0)+" foi desqualificad"+((Sex)?"o":"a")+".", bc_map, 0xFF0000;
                    break;
                }
            }
        }
        end;
 
    CleanUp:
        set .play, 0;
        set .pReg, 0;
        set .maxplayer, 0;
        deletearray .playerlist$, 128;
        deletearray .copiedplayer$, 128;
        deletearray .disqualified$, 128;
        end;
}
Viewed 985 times, submitted by Mihael.