25/05/2019, 12:05 PM
(Última modificación: 25/05/2019, 12:08 PM por Niper.-.. Edited 2 times in total.)
Es un sistema de apuestas a me la juego por todo.. simplemente, el plugin consiste en lo siguiente:
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".
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(Titulo, charsmax(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(menu, MPROP_EXITNAME, "Salir"),
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_display(id, menu, 0);
}
public HandlerApuestasMenu(id, menu, item){
switch(item)
{
case MENU_EXIT: {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
case FRAGS: EmpezarFrags(id);
case DINERO: EmpezarDinero(id);
case TODO: EmpezarTodo(id);
}
return PLUGIN_HANDLED;
}
public EmpezarFrags(id)
{
new Titulo[100];
formatex(Titulo, charsmax(Titulo), "%s Menú de Apuestas \y(FRAGS)", PREFIX_MENU);
new menu = menu_create(Titulo, "HandlerEmpezarFrags");
if(get_user_frags(id) < FRAGS_APOSTAR) {
formatex(Titulo, charsmax(Titulo), "Te faltan (\d%d\y FRAGS) \wpara apostar", (get_user_frags(id)-FRAGS_APOSTAR));
}else{
formatex(Titulo, charsmax(Titulo), "Apostar frags (\d%d\y FRAGS) \wpara apostar", get_user_frags(id));
}
menu_additem(menu, Titulo, "1");
menu_setprop(menu, MPROP_EXITNAME, "Salir"),
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_display(id, menu, 0);
}
public HandlerEmpezarFrags(id, menu, item) {
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Nombre[32];
get_user_name(id, Nombre, charsmax(Nombre));
if(item == 0) {
new Frags;
Frags = (random_num(0, 10)); //Del 1 al 10 frags random se le dara.
switch(random_num(0, 60)) {
case 0..10: {
set_user_frags(id, get_user_frags(id) + Frags);
ColorChat(id, GREEN, "%s Ganaste ^3%d ^1frags random", PREFIX_SAY, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1gano ^3%d ^1frags random", PREFIX_SAY, Nombre, Frags);
client_cmd(0, "spk %s", Ganar);
}
case 11..30: {
set_user_frags(id, get_user_frags(id) - Frags);
ColorChat(id, GREEN, "%s Perdiste ^3%d ^1frags random por apostar", PREFIX_SAY, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio ^3%d ^1frags random", PREFIX_SAY, Nombre, Frags);
client_cmd(0, "spk %s", Perder);
}
case 31..45: {
set_user_frags(id, get_user_frags(id) + Frags);
ColorChat(id, GREEN, "%s Ganaste ^3%d ^1frags random", PREFIX_SAY, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1gano ^3%d ^1frags random", PREFIX_SAY, Nombre, Frags);
client_cmd(0, "spk %s", Ganar);
}
case 46..51: {
set_user_frags(id, 0);
ColorChat(id, GREEN, "%s Perdiste todos tus FRAGS!!!", PREFIX_SAY);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio todos sus frags", PREFIX_SAY, Nombre);
client_cmd(0, "spk %s", Perder);
}
case 52..60: {
set_user_frags(id, get_user_frags(id) - Frags);
ColorChat(id, GREEN, "%s Perdiste ^3%d ^1frags random por apostar", PREFIX_SAY, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio ^3%d ^1frags random", PREFIX_SAY, Nombre, Frags);
client_cmd(0, "spk %s", Perder);
}
}
UpdateTeamScore(id);
}
return PLUGIN_HANDLED;
}
public EmpezarDinero(id) {
new Titulo[100];
formatex(Titulo, charsmax(Titulo), "%s Menú de Apuestas \y(DINERO)", PREFIX_MENU);
new menu = menu_create(Titulo, "HandlerEmpezarDinero");
if(get_user_frags(id) < DINERO_APOSTAR) {
formatex(Titulo, charsmax(Titulo), "Te faltan (\d%d\y DINERO) \wpara apostar", (cs_get_user_money(id)-DINERO_APOSTAR));
}else{
formatex(Titulo, charsmax(Titulo), "Apostar frags (\d%d\y DINERO) \wpara apostar", cs_get_user_money(id));
}
menu_additem(menu, Titulo, "1");
menu_setprop(menu, MPROP_EXITNAME, "Salir"),
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_display(id, menu, 0);
}
public HandlerEmpezarDinero(id, menu, item) {
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Nombre[32];
get_user_name(id, Nombre, charsmax(Nombre));
if(item == 0) {
new Dinero;
Dinero = (random_num(1000, 5000));
switch(random_num(0, 60)) {
case 0..10: {
cs_set_user_money(id, cs_get_user_money(id) + Dinero);
ColorChat(id, GREEN, "%s Ganaste ^3%d ^1dinero random", PREFIX_SAY, Dinero);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1gano ^3%d ^1dinero random", PREFIX_SAY, Nombre, Dinero);
client_cmd(0, "spk %s", Ganar);
}
case 11..30: {
cs_set_user_money(id, cs_get_user_money(id) - Dinero);
ColorChat(id, GREEN, "%s Perdiste ^3%d ^1Dinero random por apostar", PREFIX_SAY, Dinero);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio ^3%d ^1Dinero random", PREFIX_SAY, Nombre, Dinero);
client_cmd(0, "spk %s", Perder);
}
case 31..45: {
cs_set_user_money(id, cs_get_user_money(id) + Dinero);
ColorChat(id, GREEN, "%s Ganaste ^3%d ^1Dinero random", PREFIX_SAY, Dinero);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1gano ^3%d ^1Dinero random", PREFIX_SAY, Nombre, Dinero);
client_cmd(0, "spk %s", Ganar);
}
case 46..51: {
cs_set_user_money(id, 0);
ColorChat(id, GREEN, "%s Perdiste todo tu Dinero!!!", PREFIX_SAY);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio todo su Dinero!", PREFIX_SAY, Nombre);
client_cmd(0, "spk %s", Perder);
}
case 52..60: {
cs_set_user_money(id, cs_get_user_money(id) - Dinero);
ColorChat(id, GREEN, "%s Perdiste ^3%d ^1Dinero random por apostar", PREFIX_SAY, Dinero);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio ^3%d ^1Dinero random", PREFIX_SAY, Nombre, Dinero);
client_cmd(0, "spk %s", Perder);
}
}
}
return PLUGIN_HANDLED;
}
public EmpezarTodo(id)
{
new Titulo[100];
formatex(Titulo, charsmax(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(Titulo, charsmax(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(Titulo, charsmax(Titulo), "Apostar TODO (\y$%d \d| \y%d\y)", cs_get_user_money(id), get_user_frags(id));
}
menu_additem(menu, Titulo, "1");
menu_setprop(menu, MPROP_EXITNAME, "Salir"),
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
menu_display(id, menu, 0);
}
public HandlerEmpezarTodo(id, menu, item) {
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Nombre[32];
get_user_name(id, Nombre, charsmax(Nombre));
if(item == 0)
{
new Dinero, Frags;
Dinero = (random_num(1000, 5000));
Frags = (random_num(0, 10));
switch(random_num(0, 60))
{
case 0..10: {
cs_set_user_money(id, cs_get_user_money(id) + Dinero);
set_user_frags(id, get_user_frags(id) + Frags);
ColorChat(id, GREEN, "%s Ganaste ^3%d (%d) ^1dinero y frags random", PREFIX_SAY, Dinero, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1gano ^3%d (%d) ^1dinero yf rags random", PREFIX_SAY, Nombre, Dinero, Frags);
client_cmd(0, "spk %s", Ganar);
}
case 11..30: {
cs_set_user_money(id, cs_get_user_money(id) - Dinero);
set_user_frags(id, get_user_frags(id) - Frags);
ColorChat(id, GREEN, "%s Perdiste ^3%d (%d) ^1Dinero y frags random por apostar", PREFIX_SAY, Dinero, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio ^3%d (%d) ^1Dinero y frags random", PREFIX_SAY, Nombre, Dinero, Frags);
client_cmd(0, "spk %s", Perder);
}
case 31..45: {
cs_set_user_money(id, cs_get_user_money(id) + Dinero);
set_user_frags(id, get_user_frags(id) + Frags);
ColorChat(id, GREEN, "%s Ganaste ^3%d (%d) ^1Dinero y frags random", PREFIX_SAY, Dinero, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1gano ^3%d (%d) ^1Dinero y frags random", PREFIX_SAY, Nombre, Dinero, Frags);
client_cmd(0, "spk %s", Ganar);
}
case 46..51: {
cs_set_user_money(id, 0);
set_user_frags(id, 0);
ColorChat(id, GREEN, "%s Perdiste todo tus frags y dinero!!!", PREFIX_SAY);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio todos sus frags y dinero!", PREFIX_SAY, Nombre);
client_cmd(0, "spk %s", Perder);
}
case 52..60: {
cs_set_user_money(id, cs_get_user_money(id) - Dinero);
set_user_frags(id, get_user_frags(id) - Frags);
ColorChat(id, GREEN, "%s Perdiste ^3$%d (%d) ^1Dinero y frags random por apostar", PREFIX_SAY, Dinero, Frags);
ColorChat(0, GREEN, "%s El jugador ^3%s ^1perdio ^3$%d (%d) ^1Dinero y frags random", PREFIX_SAY, Nombre, Dinero, Frags);
client_cmd(0, "spk %s", Perder);
}
}
UpdateTeamScore(id);
}
return PLUGIN_HANDLED;
}
stock UpdateTeamScore(id) {
message_begin(MSG_ALL, 85);
write_byte(id);
write_short(0);
write_short(0);
write_short(0);
write_short(0);
message_end();
}
public TaskShowPublicidad()
ColorChat(0, GREEN, "%s Jugatela! Puedes apostar tus frags y ganar más. Pulsa ^3/apostar ^1en el say", PREFIX_SAY);