Sistema de Apuestas
#1
Es un sistema de apuestas a me la juego por todo.. simplemente, el plugin consiste en lo siguiente:
Cita:- Sí tenes más de "10" frags (modificables), apostaras tus frags.
- Sí tenes mas de "5000" de dinero (modificables), apostaras todo tu dinero.
- Sí tenes más de "10" frags y "5000" de dinero (modificables), apostaras ambas cosas.
------------------------SI PIERDES------------------------
- Sí tenes "30" frags que apuestas y pierdes, o puedes perder un "número random" de frags o puedes perder todos tus frags.
- Sí tenes "10000" de dinero que apuestas y pierdes, o perderías todo tú dinero o un cierto número de dinero.
------------------------SI GANAS------------------------
- Sí tenes "30" frags que apuestas y ganas, ganaras un cierto número de frags random.
- Sí tenes "10000" de dinero que apuestas y ganas, ganaras un cierto número de dinero random.

ACLARACIÓN: Es adaptable a cualquier modo que quieras apostar frags o dinero a través de natives... sí quieren hacer eso, pues, les faltaría un guardado de frags y dinero.
Para cambiar el número de frags y dinero a apostar, cambiar las constantes que estan comentadas. Y el número aleatorio esta dentro de "random_num".
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <colorchat>

#define PREFIX_MENU        "\r[COMUNIDAD]\w"
#define PREFIX_SAY        "^4[COMUNIDAD]^1"

const    FRAGS_APOSTAR        =    10 //Minimo de frags de apuesta.
const     DINERO_APOSTAR        =    5000//Minimo de dinero de apuesta.

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta


enum
{
    
FRAGS,
    
DINERO,
    
TODO
}

public 
plugin_cfg(){
    if(
is_plugin_loaded("Pause Plugins") != -1)
        
server_cmd("amx_pausecfg add ^"Sistema de Apuestas^"");
}
public 
plugin_init() {
    
register_plugin("Sistema de Apuestas""v1.0""heNK'");
    
    
register_clcmd("say /apuestas""Apostar");
    
register_clcmd("say /apostar""Apostar");
    
    
set_task((60.0*5.0), "TaskShowPublicidad", .flags="b");
}
public 
plugin_precache(){
    
precache_sound(Ganar),
        
precache_sound(Perder);
}
public 
Apostar(id) {
    new 
Titulo[100];
    
formatex(Titulocharsmax(Titulo), "%s Menú de Apuestas"PREFIX_MENU);
    
    new 
menu menu_create(Titulo"HandlerApuestasMenu");
    
    
menu_additem(menu"Apostar Frags""1");
    
menu_additem(menu"Apostar Dinero""2");
    
menu_additem(menu"Apostar Todo""3");
    
    
menu_setprop(menuMPROP_EXITNAME"Salir"),
    
menu_setprop(menuMPROP_NUMBER_COLOR"\y");
    
menu_display(idmenu0);
}

public 
HandlerApuestasMenu(idmenuitem){
    switch(
item)
    {
        case 
MENU_EXIT: { 
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED;
        }
        case 
FRAGSEmpezarFrags(id);
        case 
DINEROEmpezarDinero(id);
        case 
TODOEmpezarTodo(id);
        
    }
    return 
PLUGIN_HANDLED;
}

public 
EmpezarFrags(id)
{
    new 
Titulo[100];
    
formatex(Titulocharsmax(Titulo), "%s Menú de Apuestas \y(FRAGS)"PREFIX_MENU);
    
    new 
menu menu_create(Titulo"HandlerEmpezarFrags");
    
    if(
get_user_frags(id) < FRAGS_APOSTAR) { 
        
formatex(Titulocharsmax(Titulo), "Te faltan (\d%d\y FRAGS) \wpara apostar", (get_user_frags(id)-FRAGS_APOSTAR));
    }else{
        
formatex(Titulocharsmax(Titulo), "Apostar frags (\d%d\y FRAGS) \wpara apostar"get_user_frags(id));
    }
    
menu_additem(menuTitulo"1");
    
menu_setprop(menuMPROP_EXITNAME"Salir"),
    
menu_setprop(menuMPROP_NUMBER_COLOR"\y");
    
menu_display(idmenu0);
}

public 
HandlerEmpezarFrags(idmenuitem) {
    if(
item == MENU_EXIT){
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    new 
Nombre[32];
    
get_user_name(idNombrecharsmax(Nombre));
    
    if(
item == 0) {
        new 
Frags;
        
Frags = (random_num(010)); //Del 1 al 10 frags random se le dara.
        
switch(random_num(060)) {
            case 
0..10: {
                
set_user_frags(idget_user_frags(id) + Frags);
                
ColorChat(idGREEN"%s Ganaste ^3%d ^1frags random"PREFIX_SAYFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1gano ^3%d ^1frags random"PREFIX_SAYNombreFrags);
                
client_cmd(0"spk %s"Ganar);
            }
            case 
11..30: {
                
set_user_frags(idget_user_frags(id) - Frags);
                
ColorChat(idGREEN"%s Perdiste ^3%d ^1frags random por apostar"PREFIX_SAYFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio ^3%d ^1frags random"PREFIX_SAYNombreFrags);
                
client_cmd(0"spk %s"Perder);
            }
            case 
31..45: {
                
set_user_frags(idget_user_frags(id) + Frags);
                
ColorChat(idGREEN"%s Ganaste ^3%d ^1frags random"PREFIX_SAYFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1gano ^3%d ^1frags random"PREFIX_SAYNombreFrags);
                
client_cmd(0"spk %s"Ganar);
            }
            case 
46..51: {
                
set_user_frags(id0);
                
ColorChat(idGREEN"%s Perdiste todos tus FRAGS!!!"PREFIX_SAY);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio todos sus frags"PREFIX_SAYNombre);
                
client_cmd(0"spk %s"Perder);
            }
            case 
52..60: {
                
set_user_frags(idget_user_frags(id) - Frags);
                
ColorChat(idGREEN"%s Perdiste ^3%d ^1frags random por apostar"PREFIX_SAYFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio ^3%d ^1frags random"PREFIX_SAYNombreFrags);
                
client_cmd(0"spk %s"Perder);
            }
        }
        
UpdateTeamScore(id);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
EmpezarDinero(id) {
    new 
Titulo[100];
    
formatex(Titulocharsmax(Titulo), "%s Menú de Apuestas \y(DINERO)"PREFIX_MENU);
    
    new 
menu menu_create(Titulo"HandlerEmpezarDinero");
    
    if(
get_user_frags(id) < DINERO_APOSTAR) { 
        
formatex(Titulocharsmax(Titulo), "Te faltan (\d%d\y DINERO) \wpara apostar", (cs_get_user_money(id)-DINERO_APOSTAR));
    }else{
        
formatex(Titulocharsmax(Titulo), "Apostar frags (\d%d\y DINERO) \wpara apostar"cs_get_user_money(id));
    }
    
menu_additem(menuTitulo"1");
    
menu_setprop(menuMPROP_EXITNAME"Salir"),
    
menu_setprop(menuMPROP_NUMBER_COLOR"\y");
    
menu_display(idmenu0);
}

public 
HandlerEmpezarDinero(idmenuitem) {
    if(
item == MENU_EXIT){
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    new 
Nombre[32];
    
get_user_name(idNombrecharsmax(Nombre));
    
    if(
item == 0) {
        new 
Dinero;
        
Dinero = (random_num(10005000));
        switch(
random_num(060)) {
            case 
0..10: {
                
cs_set_user_money(idcs_get_user_money(id) + Dinero);
                
ColorChat(idGREEN"%s Ganaste ^3%d ^1dinero random"PREFIX_SAYDinero);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1gano ^3%d ^1dinero random"PREFIX_SAYNombreDinero);
                
client_cmd(0"spk %s"Ganar);
            }
            case 
11..30: {
                
cs_set_user_money(idcs_get_user_money(id) - Dinero);
                
ColorChat(idGREEN"%s Perdiste ^3%d ^1Dinero random por apostar"PREFIX_SAYDinero);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio ^3%d ^1Dinero random"PREFIX_SAYNombreDinero);
                
client_cmd(0"spk %s"Perder);
            }
            case 
31..45: {
                
cs_set_user_money(idcs_get_user_money(id) + Dinero);
                
ColorChat(idGREEN"%s Ganaste ^3%d ^1Dinero random"PREFIX_SAYDinero);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1gano ^3%d ^1Dinero random"PREFIX_SAYNombreDinero);
                
client_cmd(0"spk %s"Ganar);
            }
            case 
46..51: {
                
cs_set_user_money(id0);
                
ColorChat(idGREEN"%s Perdiste todo tu Dinero!!!"PREFIX_SAY);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio todo su Dinero!"PREFIX_SAYNombre);
                
client_cmd(0"spk %s"Perder);
            }
            case 
52..60: {
                
cs_set_user_money(idcs_get_user_money(id) - Dinero);
                
ColorChat(idGREEN"%s Perdiste ^3%d ^1Dinero random por apostar"PREFIX_SAYDinero);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio ^3%d ^1Dinero random"PREFIX_SAYNombreDinero);
                
client_cmd(0"spk %s"Perder);
            }
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
EmpezarTodo(id
{
    new 
Titulo[100];
    
formatex(Titulocharsmax(Titulo), "%s Menú de Apuestas \y(TODO)"PREFIX_MENU);
    
    new 
menu menu_create(Titulo"HandlerEmpezarTodo");
    
    if((
cs_get_user_money(id) < DINERO_APOSTAR) && (get_user_frags(id) < FRAGS_APOSTAR)) {
        
formatex(Titulocharsmax(Titulo), "Te falta (\d$%d \y%d\w) Dinero y Frags para apostar", (cs_get_user_money(id)-DINERO_APOSTAR), (get_user_frags(id)-FRAGS_APOSTAR));
    }else{
        
formatex(Titulocharsmax(Titulo), "Apostar TODO (\y$%d \d| \y%d\y)"cs_get_user_money(id), get_user_frags(id));
    }
    
    
menu_additem(menuTitulo"1");
    
menu_setprop(menuMPROP_EXITNAME"Salir"),
    
menu_setprop(menuMPROP_NUMBER_COLOR"\y");
    
menu_display(idmenu0);
}

public 
HandlerEmpezarTodo(idmenuitem) {
    if(
item == MENU_EXIT){
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    new 
Nombre[32];
    
get_user_name(idNombrecharsmax(Nombre));
    
    if(
item == 0
    {
        new 
DineroFrags;
        
Dinero = (random_num(10005000));
        
Frags = (random_num(010));
        switch(
random_num(060)) 
        {
            case 
0..10: {
                
cs_set_user_money(idcs_get_user_money(id) + Dinero);
                
set_user_frags(idget_user_frags(id) + Frags);
                
ColorChat(idGREEN"%s Ganaste ^3%d (%d) ^1dinero y frags random"PREFIX_SAYDineroFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1gano ^3%d (%d) ^1dinero yf rags random"PREFIX_SAYNombreDineroFrags);
                
client_cmd(0"spk %s"Ganar);
            }
            case 
11..30: {
                
cs_set_user_money(idcs_get_user_money(id) - Dinero);
                
set_user_frags(idget_user_frags(id) - Frags);
                
ColorChat(idGREEN"%s Perdiste ^3%d (%d) ^1Dinero y frags random por apostar"PREFIX_SAYDineroFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio ^3%d (%d) ^1Dinero y frags random"PREFIX_SAYNombreDineroFrags);
                
client_cmd(0"spk %s"Perder);
            }
            case 
31..45: {
                
cs_set_user_money(idcs_get_user_money(id) + Dinero);
                
set_user_frags(idget_user_frags(id) + Frags);
                
ColorChat(idGREEN"%s Ganaste ^3%d (%d) ^1Dinero y frags random"PREFIX_SAYDineroFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1gano ^3%d (%d) ^1Dinero y frags random"PREFIX_SAYNombreDineroFrags);
                
client_cmd(0"spk %s"Ganar);
            }
            case 
46..51: {
                
cs_set_user_money(id0);
                
set_user_frags(id0);
                
ColorChat(idGREEN"%s Perdiste todo tus frags y dinero!!!"PREFIX_SAY);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio todos sus frags y dinero!"PREFIX_SAYNombre);
                
client_cmd(0"spk %s"Perder);
            }
            case 
52..60: {
                
cs_set_user_money(idcs_get_user_money(id) - Dinero);
                
set_user_frags(idget_user_frags(id) - Frags);
                
ColorChat(idGREEN"%s Perdiste ^3$%d (%d) ^1Dinero y frags random por apostar"PREFIX_SAYDineroFrags);
                
ColorChat(0GREEN"%s El jugador ^3%s ^1perdio ^3$%d (%d) ^1Dinero y frags random"PREFIX_SAYNombreDineroFrags);
                
client_cmd(0"spk %s"Perder);
            }
        }
        
UpdateTeamScore(id);
    }
    
    return 
PLUGIN_HANDLED;
}

stock UpdateTeamScore(id) {
    
message_begin(MSG_ALL85);
    
write_byte(id);
    
write_short(0);
    
write_short(0);
    
write_short(0);
    
write_short(0);
    
message_end();
}

public 
TaskShowPublicidad()
    
ColorChat(0GREEN"%s Jugatela! Puedes apostar tus frags y ganar más. Pulsa ^3/apostar ^1en el say"PREFIX_SAY); 
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)