Sari la conținut

Postări Recomandate

Postat (editat)

- Nume plugin: PARI MATCH LeagueCs

- Autor: @traka

- Versiune: 1.0

- Informatii: Este un plugin de pariuri live, inspirat din atmosfera fotbalului, unde jucătorii își pot testa instinctele și câștiga bani virtuali direct în joc. 

  •  Sistem complet de pariuri pe meciuri

    Jucătorii pot paria pe echipa câștigătoare sau egal

    Posibilitatea de a introduce scor exact pentru câștiguri mai mari

    Cote dinamice (1 / 2 / X)

  • Câștiguri reale în bani (in-game )

    Câștig calculat automat în funcție de cotă

    BONUS: scor corect = câștig dublu ...aici puteti pune ce doriti voi ca owneri( vip s.a...)

  • Salvare automată a pariurilor

    Pariurile sunt salvate și restaurate la reconectare

    Sistem sigur bazat pe SteamID 

  • Panou cu bilete active

    Comandă /bilete

    Afișează toate pariurile active într-un MOTD stilizat

  • Adminii pot controla faze de joc în stil fotbal:

    /fault – anunță fault 

    /corner – corner pentru echipa unui jucător 

    /galben – acordă cartonaș galben 

  • Configurare ușoară

    Meciurile se adaugă în:

    configs/pariuri_meciuri.ini

    ; nume_meci echipa1 echipa2 cota1 cota2 cotaX
    Liverpool_vs_PSG Liverpool PSG 1.80 2.10 3.00
    Barcelona_vs_Atletico Barcelona Atletico 2.00 2.00 2.80

toate variantele de raspuns se salveaza in logs 

QyT6D5M.png  oXOUQX4.jpeg

sma:

 

Editat de traka
  • Like 3
  • Ador 1
Postat (editat)

Update:

https://www.mediafire.com/file/mq55570tg0mkh62/pariu_lgcs.rar/file

Am adăugat un sistem de puncte folosind #define POINTS_SYSTEM.
Acum deținătorul serverului poate alege să folosească punctele în loc de bani sau invers.

Dacă nu dorește sistemul de puncte, îl poate dezactiva foarte simplu comentând linia:

#define POINTS_SYSTEM

(înlocuiești cu // #define POINTS_SYSTEM)

În acest caz, pluginul va funcționa automat pe bani ($ in-game).

Cum se obțin punctele

Punctele pot fi obținute prin comandă admin:

amx_givepct <nume> <puncte>

const RECOMPENSA_BOMB_PLANT = 10;
const RECOMPENSA_BOMB_DEFUSE = 10;
const RECOMPENSA_5KILLS_ROUND = 25;
const RECOMPENSA_HALF_MATCH = 50;
const TARGET_HALF_KILLS = 20;

Integrare cu alte pluginuri am creat puncte_lgcs.inc 

Spoiler

#if defined _puncte_lgcs_included
  #endinput
#endif
#define _puncte_lgcs_included

/**
 * Returneaza numarul de puncte (sau banii) al unui jucator.
 *
 * @param id        ID-ul jucatorului (1-32)
 * @return          Numarul actual de puncte sau suma de bani
 */
native get_user_puncte(id);

/**
 * Adauga puncte (sau bani) unui jucator.
 * Daca POINTS_SYSTEM este activ, salveaza automat in nVault.
 *
 * @param id        ID-ul jucatorului (1-32)
 * @param amount    Cantitatea de adaugat
 * @return          Noul total (puncte sau bani)
 */
native add_user_puncte(id, amount);

/**
 * Scade puncte (sau bani) unui jucator.
 * Daca POINTS_SYSTEM este activ, salveaza automat in nVault.
 *
 * @param id        ID-ul jucatorului (1-32)
 * @param amount    Cantitatea de scazut
 * @return          Noul total (nu va scadea sub 0)
 */
native take_user_puncte(id, amount);

Acesta permite folosirea sistemului de puncte în alte pluginuri (shop, grade, VIP etc).

Exemplu utilizare

Spoiler

#include <amxmodx>
#include <puncte_lgcs>

public cumpara_ceva(id) {
new pret = 1000;

if(get_user_puncte(id) >= pret) {
take_user_puncte(id, pret);
client_print(id, print_chat, "Ai cumparat obiectul!");
} else {
client_print(id, print_chat, "N-ai destule puncte!");
}
}

A fost creat un nou stil de MOTD

Mulțumiri lui @BandB pentru ajutor 

D2BNtZy.png

Editat de traka
  • Like 1
Postat

Cu placere,curand o sa postez încă câteva stiluri pe partea de bilete

  • Fortzaaaa 1
Postat

Stil 1:

Spoiler

COD:

Spoiler

#include <amxmodx>

#include <amxmisc>

#include <cstrike>

#include <nvault>

//#include <puncte_lgcs>

 

#define POINTS_SYSTEM

#define MAX_MECIURI 16

#define MAX_PLAYERS 32

#define SAVE_FILE "addons/amxmodx/data/pariuri_save.dat"

 

new g_nume_meci[MAX_MECIURI][64], g_e1[MAX_MECIURI][32], g_e2[MAX_MECIURI][32]

new Float:g_c1[MAX_MECIURI], Float:g_c2[MAX_MECIURI], Float:g_cX[MAX_MECIURI]

new g_total_meciuri

 

new g_vault;

new g_puncte[33];

new g_kills_round[33];

new g_kills_half[33];

new g_round_count = 0;

 

const RECOMPENSA_BOMB_PLANT = 10;

const RECOMPENSA_BOMB_DEFUSE = 10;

const RECOMPENSA_5KILLS_ROUND = 25;

const RECOMPENSA_HALF_MATCH = 50;

const TARGET_HALF_KILLS = 20;

 

new g_pariu_meci_selectat[MAX_PLAYERS+1]

 

new g_pariu_echipa[MAX_PLAYERS + 1][MAX_MECIURI][32]

new g_pariu_scor[MAX_PLAYERS + 1][MAX_MECIURI][16]

new g_pariu_suma[MAX_PLAYERS + 1][MAX_MECIURI]

new bool:g_deja_pariat[MAX_PLAYERS+1][MAX_MECIURI]

new bool:g_bomba_plantata_runda;

new bool:g_bomba_defuzata_runda;

 

public plugin_init() {

    register_plugin("Pariuri La o Bere", "1.0", "traka")

 

    #if defined POINTS_SYSTEM

        g_vault = nvault_open("puncte_pariuri");

 

        register_event("DeathMsg", "event_death", "a");

        register_logevent("event_round_start", 2, "1=Round_Start");

        register_logevent("event_round_end", 2, "1=Round_End");

 

        register_logevent("event_bomb_planted", 3, "2=Planted_The_Bomb");

        register_logevent("event_bomb_defused", 3, "2=Defused_The_Bomb");

       

        register_clcmd("say /puncte", "show_puncte");

        register_concmd("amx_givepct", "cmd_give_puncte", ADMIN_RCON, "<nume> <puncte>")

    #endif

 

    register_clcmd("say /pariu", "meniu_meciuri")

    register_clcmd("say /start", "comanda_start_admin")

    register_clcmd("say /fault", "cmd_fault")

    register_clcmd("say /corner", "cmd_corner")

    register_clcmd("say /galben", "cmd_galben")

    register_clcmd("say /bilete", "motd_biletele")

    register_clcmd("introdu_pariu", "handle_input_pariu")

 

    register_concmd("amx_setrezultat", "set_rezultat", ADMIN_KICK, "<index> <scor>")

 

    incarca_meciuri()

}

 

stock internal_add_puncte(id, amount) {

    #if defined POINTS_SYSTEM

        g_puncte[id] += amount;

        salveaza_puncte(id);

        return g_puncte[id];

    #else

        new money = cs_get_user_money(id) + amount;

        cs_set_user_money(id, money);

        return money;

    #endif

}

 

stock internal_take_puncte(id, amount) {

    #if defined POINTS_SYSTEM

        g_puncte[id] -= amount;

        if(g_puncte[id] < 0) g_puncte[id] = 0;

        salveaza_puncte(id);

        return g_puncte[id];

    #else

        new money = cs_get_user_money(id) - amount;

        if(money < 0) money = 0;

        cs_set_user_money(id, money);

        return money;

    #endif

}

 

public plugin_natives() {

    register_native("get_user_puncte", "native_get_puncte")

    register_native("internal_add_puncte", "native_add_puncte")

    register_native("internal_take_puncte", "native_take_puncte")

}

 

public native_get_puncte(plugin, params) {

    new id = get_param(1);

    #if defined POINTS_SYSTEM

        return g_puncte[id];

    #else

        return cs_get_user_money(id);

    #endif

}

 

public native_add_puncte(plugin, params) {

    return internal_add_puncte(get_param(1), get_param(2));

}

 

public native_take_puncte(plugin, params) {

    return internal_take_puncte(get_param(1), get_param(2));

}

 

public comanda_start_admin(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) {

        client_print_color(id, print_team_default, "^4[PARIURI-LGCS]^1 Nu ai acces la asta boss");

        return PLUGIN_HANDLED;

    }

 

    client_print_color(0, print_team_default, "^4>>^1START la PARIURI!^4<< ^1Scrie^4 /pariu^1 si arata ce stii!");

    return PLUGIN_HANDLED;

}

 

public cmd_fault(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) return PLUGIN_HANDLED;

    afiseaza_meniu_jucatori(id, "f");

    return PLUGIN_HANDLED;

}

 

public cmd_corner(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) return PLUGIN_HANDLED;

    afiseaza_meniu_jucatori(id, "c");

    return PLUGIN_HANDLED;

}

 

public cmd_galben(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) return PLUGIN_HANDLED;

    afiseaza_meniu_jucatori(id, "g");

    return PLUGIN_HANDLED;

}

 

public afiseaza_meniu_jucatori(id, const tip[]) {

    new menu_title[64];

    if(tip[0] == 'f') copy(menu_title, 63, "\yCine a comis \rFAULT?");

    else if(tip[0] == 'c') copy(menu_title, 63, "\yCorner pentru echipa lui:");

    else copy(menu_title, 63, "\yCui ii dai \rGALBEN?");

 

    new menu = menu_create(menu_title, "handle_meniu_jucatori");

   

    new players[32], num, name[32], info[10];

    get_players(players, num);

 

    for(new i = 0; i < num; i++) {

        get_user_name(players, name, 31);

        formatex(info, 9, "%s %d", tip, players);

        menu_additem(menu, name, info);

    }

   

    menu_display(id, menu);

}

 

public handle_meniu_jucatori(id, menu, item) {

    if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }

 

    new info[10], tip[2], target_id_str[4];

    menu_item_getinfo(menu, item, tip[0], info, 9, tip, 0, tip[0]);

   

    parse(info, tip, 1, target_id_str, 3);

    new target_id = str_to_num(target_id_str);

 

    if(!is_user_connected(target_id)) {

        client_print(id, print_chat, "Jucatorul a iesit!");

        menu_destroy(menu);

        return PLUGIN_HANDLED;

    }

 

    new name[32]; get_user_name(target_id, name, 31);

 

    if(tip[0] == 'f') {

        client_print_color(0, print_team_default, "^4[FOTBAL-LGCS]^3 %s^1 a comis un^4 FAULT^1! Lovitura libera!", name);

    }

    else if(tip[0] == 'c') {

        client_print_color(0, print_team_default, "^4[FOTBAL-LGCS]^1 Lovitura de colt (^4CORNER^1) pentru echipa lui^3 %s^1!", name);

    }

    else if(tip[0] == 'g') {

        client_print_color(0, print_team_default, "^4[FOTBAL-LGCS]^3 %s^1 a incasat un^3 CARTONAS GALBEN^1! ", name);

    }

 

    menu_destroy(menu);

    return PLUGIN_HANDLED;

}

 

public incarca_meciuri()

{

    new path[128]

    get_configsdir(path, 127)

    format(path, 127, "%s/pariuri_meciuri.ini", path)

 

    if(!file_exists(path))

        return

 

    new f = fopen(path, "rt")

    new line[256], c1[10], c2[10], cX[10]

 

    g_total_meciuri = 0

 

    while(!feof(f) && g_total_meciuri < MAX_MECIURI)

    {

        fgets(f, line, 255)

        trim(line)

 

        if(!line[0] || line[0] == ';')

            continue

 

        parse(line,

            g_nume_meci[g_total_meciuri], 63,

            g_e1[g_total_meciuri], 31,

            g_e2[g_total_meciuri], 31,

            c1, 9, c2, 9, cX, 9)

 

        g_c1[g_total_meciuri] = str_to_float(c1)

        g_c2[g_total_meciuri] = str_to_float(c2)

        g_cX[g_total_meciuri] = str_to_float(cX)

 

        g_total_meciuri++

    }

 

    fclose(f)

}

 

public meniu_meciuri(id) {

    if(g_total_meciuri == 0) {

        client_print_color(id, print_team_default, "^4[PARIURI]^1 Nu sunt meciuri disponibile!");

        return PLUGIN_HANDLED;

    }

 

    new menu = menu_create("\yPARIURI LIVE - ALEGE MECI", "handle_meciuri");

    new gasit = 0;

 

    for(new i = 0; i < g_total_meciuri; i++) {

        if(g_deja_pariat[id]) continue;

 

        new text[128], info[3];

        num_to_str(i, info, charsmax(info));

        formatex(text, charsmax(text), "%s \r(%.2f/%.2f/%.2f)", g_nume_meci, g_c1, g_c2, g_cX);

        menu_additem(menu, text, info);

        gasit++;

    }

 

    if(gasit == 0) {

        client_print_color(id, print_team_default, "^4[PARIURI]^1 Ai pariat deja pe toate meciurile! Stai cuminte si asteapta!");

        menu_destroy(menu);

        return PLUGIN_HANDLED;

    }

 

    menu_display(id, menu);

    return PLUGIN_HANDLED;

}

 

public handle_meciuri(id, menu, item) {

    if(item == MENU_EXIT) {

        menu_destroy(menu);

        return PLUGIN_HANDLED;

    }

 

    new info[3], dummy;

    menu_item_getinfo(menu, item, dummy, info, charsmax(info), _, _, dummy);

 

    new m = str_to_num(info);

    g_pariu_meci_selectat[id] = m;

 

    new menu_echipe = menu_create("\yAlege Pariul Tau", "handle_echipe");

    new t[64];

 

    formatex(t, charsmax(t), "%s \y(%.2f)", g_e1[m], g_c1[m]);

    menu_additem(menu_echipe, t, "1");

 

    formatex(t, charsmax(t), "%s \y(%.2f)", g_e2[m], g_c2[m]);

    menu_additem(menu_echipe, t, "2");

 

    formatex(t, charsmax(t), "Egalitate \y(%.2f)", g_cX[m]);

    menu_additem(menu_echipe, t, "3");

 

    menu_display(id, menu_echipe);

    menu_destroy(menu);

    return PLUGIN_HANDLED;

}

 

public handle_echipe(id, menu, item) {

    if(item == MENU_EXIT) {

        menu_destroy(menu)

        return PLUGIN_HANDLED

    }

 

    new m = g_pariu_meci_selectat[id]

 

    if(item == 0) copy(g_pariu_echipa[id][m], 31, g_e1[m])

    else if(item == 1) copy(g_pariu_echipa[id][m], 31, g_e2[m])

    else copy(g_pariu_echipa[id][m], 31, "Egalitate")

 

    client_cmd(id, "messagemode introdu_pariu")

 

    client_print_color(id, print_team_default,

        "^4[PARIURI-LGCS]^1 Ai ales:^3 %s^1 pentru meciul ^4%s",

        g_pariu_echipa[id][m], g_nume_meci[m])

 

    client_print_color(id, print_team_default,

        "^4[PARIURI-LGCS]^1 Scrie in chat:^3 scor puncte^1 (ex:^4 2-1 500^1)")

 

    menu_destroy(menu)

    return PLUGIN_HANDLED

}

 

stock save_pariu(id, m)

{

    new authid[32], data[256]

    get_user_authid(id, authid, 31)

 

    formatex(data, 255, "^"%s^" %d ^"%s^" ^"%s^" %d",

        authid,

        m,

        g_pariu_echipa[id][m],

        g_pariu_scor[id][m],

        g_pariu_suma[id][m]

    )

 

    write_file(SAVE_FILE, data)

}

 

public handle_input_pariu(id) {

    new arg[64], scor[16], suma_str[16]

    read_args(arg, 63); remove_quotes(arg)

 

    if(parse(arg, scor, 15, suma_str, 15) < 2)

        return PLUGIN_HANDLED

 

    new suma_pariu = str_to_num(suma_str)

 

    #if defined POINTS_SYSTEM

        if(suma_pariu < 500 || suma_pariu > g_puncte[id]) {

            client_print_color(id, print_team_default, "^4[PARIURI-LGCS]^1 Nu ai suficiente puncte! (Ai: ^3%d^1)", g_puncte[id])

            return PLUGIN_HANDLED

        }

        g_puncte[id] -= suma_pariu

        salveaza_puncte(id)

    #else

        new bani_user = cs_get_user_money(id)

        if(suma_pariu < 500 || suma_pariu > bani_user) {

            client_print_color(id, print_team_default, "^4[PARIURI-LGCS]^1 Nu ai destui bani! (Ai: ^3%d$^1)", bani_user)

            return PLUGIN_HANDLED

        }

        cs_set_user_money(id, bani_user - suma_pariu)

    #endif

 

    new m = g_pariu_meci_selectat[id]

 

    g_pariu_suma[id][m] = suma_pariu

    copy(g_pariu_scor[id][m], 15, scor)

    g_deja_pariat[id][m] = true

 

    new name[32]; get_user_name(id, name, 31)

 

    #if defined POINTS_SYSTEM

        client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a pariat:^4 %d puncte^1 pe^3 %s^1!", name, suma_pariu, g_pariu_echipa[id][m])

        log_to_file("pariuri_cl.log", "PARIU: %s a pus %d puncte pe %s (%s) la meciul %s", name, suma_pariu, g_pariu_echipa[id][m], scor, g_nume_meci[m])

    #else

        client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a pariat:^4 %d$^1 pe^3 %s^1!", name, suma_pariu, g_pariu_echipa[id][m])

        log_to_file("pariuri_cl.log", "PARIU: %s a pus %d bani pe %s (%s) la meciul %s", name, suma_pariu, g_pariu_echipa[id][m], scor, g_nume_meci[m])

    #endif

 

    client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^1 Pronostic:^3 %s^1 (scor:^4 %s^1)...Daca iese, vine o bere!", g_pariu_echipa[id][m], scor)

 

    save_pariu(id, m)

    return PLUGIN_HANDLED

}

 

public client_putinserver(id) {

    if(is_user_bot(id)) return

   

    incarca_pariu_jucator(id)

 

    #if defined POINTS_SYSTEM

        g_kills_half[id] = 0

        g_kills_round[id] = 0

        g_puncte[id] = 0

       

        incarca_puncte(id)

    #endif

}

 

public client_disconnected(id) {

    #if defined POINTS_SYSTEM

        salveaza_puncte(id)

    #endif

}

 

public event_death() {

    new attacker = read_data(1);

    new victim = read_data(2);

   

    if(is_user_connected(attacker) && attacker != victim) {

        g_kills_round[attacker]++;

        g_kills_half[attacker]++;

    }

}

 

public event_round_start() {

    g_round_count++;

   

    #if defined POINTS_SYSTEM

        g_bomba_plantata_runda = false;

        g_bomba_defuzata_runda = false;

       

        for(new i = 1; i <= MAX_PLAYERS; i++) g_kills_round = 0;

    #endif

 

    if(g_round_count >= 15) {

        for(new i = 1; i <= MAX_PLAYERS; i++) {

            if(!is_user_connected(i)) continue;

 

            #if defined POINTS_SYSTEM

                if(g_kills_half >= TARGET_HALF_KILLS) {

                    internal_add_puncte(i, RECOMPENSA_HALF_MATCH);

                    client_print_color(i, print_team_default, "^4[LGCS]^1 Bonus^3 %d puncte^1 pentru cele^4 %d kill-uri^1 in 15 runde!", RECOMPENSA_HALF_MATCH, g_kills_half);

                }

                g_kills_half = 0;

            #else

                cs_set_user_money(i, cs_get_user_money(i) + 5000);

                client_print_color(i, print_team_default, "^4[LGCS]^1 Bonus^3 5000$^1 pentru performanta in cele 15 runde!");

            #endif

        }

        g_round_count = 0;

    }

}

 

public event_round_end() {

    #if defined POINTS_SYSTEM

        for(new i = 1; i <= MAX_PLAYERS; i++) {

            if(is_user_connected(i) && g_kills_round >= 5) {

                internal_add_puncte(i, RECOMPENSA_5KILLS_ROUND);

                client_print_color(i, print_team_default, "^4[LGCS]^1 Bonus!^3 %d puncte^1 pentru cele^4 5 kill-uri^1 din runda!", RECOMPENSA_5KILLS_ROUND);

            }

        }

    #endif

}

 

public event_bomb_planted() {

    new id = get_loguser_index();

    if(!is_user_connected(id)) return;

 

    #if defined POINTS_SYSTEM

        if(g_bomba_plantata_runda) return;

       

        internal_add_puncte(id, RECOMPENSA_BOMB_PLANT);

        g_bomba_plantata_runda = true;

       

        client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 %d puncte^1 pentru bomba!", RECOMPENSA_BOMB_PLANT);

    #else

        new bani_actuali = cs_get_user_money(id);

        cs_set_user_money(id, bani_actuali + 1000);

       

        client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 1000$^1 pentru plantarea bombei!");

    #endif

}

 

public event_bomb_defused() {

    #if defined POINTS_SYSTEM

        if(g_bomba_defuzata_runda) return;

 

        new id = get_loguser_index();

        if(is_user_connected(id)) {

            g_puncte[id] += RECOMPENSA_BOMB_DEFUSE;

            salveaza_puncte(id);

           

            g_bomba_defuzata_runda = true;

           

            client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 %d puncte^1 pentru defuzarea bombei!", RECOMPENSA_BOMB_DEFUSE);

        }

    #else

        new id = get_loguser_index();

        if(is_user_connected(id)) {

            new bani_actuali = cs_get_user_money(id);

            cs_set_user_money(id, bani_actuali + 1500);

           

            client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 1500$^1 pentru defuzarea bombei!");

        }

    #endif

}

 

public show_puncte(id) {

    #if defined POINTS_SYSTEM

        client_print_color(id, print_team_default, "^4[LGCS]^1 Ai in prezent: ^3%d puncte^1.", g_puncte[id]);

    #else

        client_print_color(id, print_team_default, "^4[LGCS]^1 Sistemul de puncte este dezactivat.");

    #endif

}

 

#if defined POINTS_SYSTEM

stock incarca_puncte(id) {

    new authid[32];

    get_user_authid(id, authid, 31);

   

    new val = nvault_get(g_vault, authid);

   

    if(val != -1) {

        g_puncte[id] = val;

    } else {

        g_puncte[id] = 0;

    }

}

#endif

 

#if defined POINTS_SYSTEM

stock salveaza_puncte(id) {

    if(!is_user_connected(id) || is_user_bot(id))

        return;

 

    new authid[35];

    get_user_authid(id, authid, charsmax(authid));

   

    if(authid[0] == 'S' && authid[5] != 'P') {

        new val_str[16];

        num_to_str(g_puncte[id], val_str, charsmax(val_str));

        nvault_set(g_vault, authid, val_str);

    }

}

#endif

 

stock get_loguser_index() {

    new loguser[80], name[32];

    read_logargv(0, loguser, 79);

    parse_loguser(loguser, name, 31);

    return get_user_index(name);

}

 

stock incarca_pariu_jucator(id) {

    if(!file_exists(SAVE_FILE)) return;

   

    new auth_j[32];

    get_user_authid(id, auth_j, 31);

   

    new f = fopen(SAVE_FILE, "rt");

    if(!f) return;

 

    new line[256], auth_f[32], m_s[4], ech[32], sco[16], sum_s[16];

   

    while(!feof(f)) {

        fgets(f, line, 255);

        trim(line);

       

        if(!line[0] || line[0] == ';') continue;

       

        parse(line, auth_f, 31, m_s, 3, ech, 31, sco, 15, sum_s, 15);

       

        if(equal(auth_j, auth_f)) {

            new m = str_to_num(m_s);

           

            if(m >= 0 && m < MAX_MECIURI) {

                copy(g_pariu_echipa[id][m], 31, ech);

                copy(g_pariu_scor[id][m], 15, sco);

                g_pariu_suma[id][m] = str_to_num(sum_s);

                g_deja_pariat[id][m] = true;

            }

        }

    }

    fclose(f);

}

 

public motd_biletele(id)

{

    static motd[2048]

    motd[0] = 0

 

    new len = 0, name[32], found = 0, total = 0

    new szBet[32], szScore[16], szStake[24]

 

    for(new i = 1; i <= MAX_PLAYERS; i++)

    {

        if(!is_user_connected(i))

            continue

 

        for(new m = 0; m < g_total_meciuri; m++)

        {

            if(g_deja_pariat[m])

                total++

        }

    }

 

    len += formatex(motd[len], charsmax(motd) - len, "<html><body bgcolor=#07090F><center>")

    len += formatex(motd[len], charsmax(motd) - len, "<table width=80%% border=0 cellspacing=0 cellpadding=0 bgcolor=#0D121C>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=4 bgcolor=#5B8CFF></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=2 bgcolor=#D7B97A></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td><center><br><font face=Verdana size=5 color=#FFFFFF><b>LEAGUECS SPORT</b></font><br><font face=Tahoma size=2 color=#8FB3FF><b>BETTING TICKETS PANEL</b></font><br><font face=Tahoma size=2 color=#D7B97A>Active Tickets: <b>%d</b></font><br><br></center></td></tr>", total)

 

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td><table width=100%% border=0 cellspacing=1 cellpadding=6 bgcolor=#1A2332>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr bgcolor=#151D2A>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=20%%><center><font face=Verdana size=2 color=#FFFFFF><b>PLAYER</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=28%%><center><font face=Verdana size=2 color=#8FB3FF><b>MATCH</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=18%%><center><font face=Verdana size=2 color=#D7B97A><b>BET</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=16%%><center><font face=Verdana size=2 color=#7DC6FF><b>SCORE</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=18%%><center><font face=Verdana size=2 color=#FFD98A><b>STAKE</b></font></center></td></tr>")

 

    for(new i = 1; i <= MAX_PLAYERS; i++)

    {

        if(!is_user_connected(i))

            continue

 

        get_user_name(i, name, charsmax(name))

 

        for(new m = 0; m < g_total_meciuri; m++)

        {

            if(!g_deja_pariat[m])

                continue

 

            if(len > 1700)

                break

 

            if(g_pariu_echipa[m][0])

                copy(szBet, charsmax(szBet), g_pariu_echipa[m])

            else

                copy(szBet, charsmax(szBet), "-")

 

            if(g_pariu_scor[m][0])

                copy(szScore, charsmax(szScore), g_pariu_scor[m])

            else

                copy(szScore, charsmax(szScore), "-")

 

            #if defined POINTS_SYSTEM

                if(g_pariu_suma[m] > 0)

                    formatex(szStake, charsmax(szStake), "%d Pts", g_pariu_suma[m])

                else

                    copy(szStake, charsmax(szStake), "-")

            #else

                if(g_pariu_suma[m] > 0)

                    formatex(szStake, charsmax(szStake), "%d$", g_pariu_suma[m])

                else

                    copy(szStake, charsmax(szStake), "-")

            #endif

 

            len += formatex(motd[len], charsmax(motd) - len, "<tr bgcolor=%s>", (found % 2) ? "#101827" : "#131B29")

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#FFFFFF><b>%s</b></font></center></td>", name)

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#A9C4FF>%s</font></center></td>", g_nume_meci[m])

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#F0C674><b>%s</b></font></center></td>", szBet)

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#7DC6FF><b>%s</b></font></center></td>", szScore)

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#FFD98A><b>%s</b></font></center></td></tr>", szStake)

 

            found++

        }

 

        if(len > 1700)

            break

    }

 

    if(!found)

    {

        len += formatex(motd[len], charsmax(motd) - len, "<tr bgcolor=#101827><td colspan=5><center><br><font face=Verdana size=3 color=#FFFFFF><b>NO ACTIVE TICKETS</b></font><br><font face=Tahoma size=2 color=#D7B97A>Use /pariu to place your first ticket</font><br><br></center></td></tr>")

    }

 

    len += formatex(motd[len], charsmax(motd) - len, "</table></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td><br></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=2 bgcolor=#D7B97A></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=4 bgcolor=#5B8CFF></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "</table>")

    len += formatex(motd[len], charsmax(motd) - len, "</center></body></html>")

 

    show_motd(id, motd, "LEAGUECS SPORT")

    return PLUGIN_HANDLED

}

 

stock clear_save_file() {

    if(file_exists(SAVE_FILE)) {

        delete_file(SAVE_FILE);

        new f = fopen(SAVE_FILE, "wt");

        if(f) fclose(f);

    }

}

 

public set_rezultat(id, level, cid) {

    if (!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED

   

    new idx_str[4], rezultat[16], s1[8], s2[8]

    read_argv(1, idx_str, 3); read_argv(2, rezultat, 15)

    new m = str_to_num(idx_str)

   

    if(m < 0 || m >= g_total_meciuri) {

        console_print(id, "[PARIURI] Index meci invalid!")

        return PLUGIN_HANDLED

    }

   

    strtok(rezultat, s1, 7, s2, 7, '-')

    new r1 = str_to_num(s1), r2 = str_to_num(s2), castigator[32]

 

    if (r1 > r2) copy(castigator, 31, g_e1[m])

    else if (r2 > r1) copy(castigator, 31, g_e2[m])

    else copy(castigator, 31, "Egalitate")

 

    log_to_file("pariuri_cl.log", "REZULTAT FINAL: %s | Scor: %s | S-au acordat premiile.", g_nume_meci[m], rezultat)

 

    for (new i = 1; i <= MAX_PLAYERS; i++) {

        if (!is_user_connected(i) || !g_deja_pariat[m]) continue

       

        if (equal(g_pariu_echipa[m], castigator)) {

            new Float:cota = (equal(castigator, g_e1[m])) ? g_c1[m] : (equal(castigator, g_e2[m]) ? g_c2[m] : g_cX[m])

            new castig = floatround(g_pariu_suma[m] * cota)

           

            if (equal(g_pariu_scor[m], rezultat)) castig *= 2

 

            internal_add_puncte(i, castig)

           

            new name[32]; get_user_name(i, name, 31)

           

            #if defined POINTS_SYSTEM

                log_to_file("pariuri_cl.log", "CASTIGATOR: %s a luat %d puncte la meciul %s", name, castig, g_nume_meci[m])

                client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a castigat^4 %d puncte^1 la meciul %s!", name, castig, g_nume_meci[m])

            #else

                log_to_file("pariuri_cl.log", "CASTIGATOR: %s a luat %d bani la meciul %s", name, castig, g_nume_meci[m])

                client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a castigat^4 %d$^1 la meciul %s!", name, castig, g_nume_meci[m])

            #endif

        }

        g_deja_pariat[m] = false

    }

 

    client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^1 Meci terminat:^3 %s^1 | Rezultat:^4 %s", g_nume_meci[m], rezultat)

   

    clear_save_file()

    return PLUGIN_HANDLED

}

 

public cmd_give_puncte(id, level, cid) {

    if (!cmd_access(id, level, cid, 3))

        return PLUGIN_HANDLED

 

    new arg1[32], arg2[10]

    read_argv(1, arg1, 31)

    read_argv(2, arg2, 9)

 

    new suma = str_to_num(arg2)

    new target = cmd_target(id, arg1, CMDTARGET_ALLOW_SELF)

 

    if (!target) {

        console_print(id, "[LGCS] Jucatorul %s nu a fost gasit!", arg1)

        return PLUGIN_HANDLED

    }

 

    internal_add_puncte(target, suma)

 

    new name_admin[32], name_target[32]

    get_user_name(id, name_admin, 31)

    get_user_name(target, name_target, 31)

 

    #if defined POINTS_SYSTEM

        client_print_color(0, print_team_default, "^4[ADMIN]^3 %s^1 i-a oferit^4 %d puncte^1 lui^3 %s^1!", name_admin, suma, name_target)

    #else

        client_print_color(0, print_team_default, "^4[ADMIN]^3 %s^1 i-a oferit^4 %d$^1 lui^3 %s^1!", name_admin, suma, name_target)

    #endif

 

    return PLUGIN_HANDLED

}

image.png.887367395fdd0d147472cfa906e1ed0c.png

STIL 2

Spoiler

COD:

Spoiler

#include <amxmodx>

#include <amxmisc>

#include <cstrike>

#include <nvault>

//#include <puncte_lgcs>

 

#define POINTS_SYSTEM

#define MAX_MECIURI 16

#define MAX_PLAYERS 32

#define SAVE_FILE "addons/amxmodx/data/pariuri_save.dat"

 

new g_nume_meci[MAX_MECIURI][64], g_e1[MAX_MECIURI][32], g_e2[MAX_MECIURI][32]

new Float:g_c1[MAX_MECIURI], Float:g_c2[MAX_MECIURI], Float:g_cX[MAX_MECIURI]

new g_total_meciuri

 

new g_vault;

new g_puncte[33];

new g_kills_round[33];

new g_kills_half[33];

new g_round_count = 0;

 

const RECOMPENSA_BOMB_PLANT = 10;

const RECOMPENSA_BOMB_DEFUSE = 10;

const RECOMPENSA_5KILLS_ROUND = 25;

const RECOMPENSA_HALF_MATCH = 50;

const TARGET_HALF_KILLS = 20;

 

new g_pariu_meci_selectat[MAX_PLAYERS+1]

 

new g_pariu_echipa[MAX_PLAYERS + 1][MAX_MECIURI][32]

new g_pariu_scor[MAX_PLAYERS + 1][MAX_MECIURI][16]

new g_pariu_suma[MAX_PLAYERS + 1][MAX_MECIURI]

new bool:g_deja_pariat[MAX_PLAYERS+1][MAX_MECIURI]

new bool:g_bomba_plantata_runda;

new bool:g_bomba_defuzata_runda;

 

public plugin_init() {

    register_plugin("Pariuri La o Bere", "1.0", "traka")

 

    #if defined POINTS_SYSTEM

        g_vault = nvault_open("puncte_pariuri");

 

        register_event("DeathMsg", "event_death", "a");

        register_logevent("event_round_start", 2, "1=Round_Start");

        register_logevent("event_round_end", 2, "1=Round_End");

 

        register_logevent("event_bomb_planted", 3, "2=Planted_The_Bomb");

        register_logevent("event_bomb_defused", 3, "2=Defused_The_Bomb");

       

        register_clcmd("say /puncte", "show_puncte");

        register_concmd("amx_givepct", "cmd_give_puncte", ADMIN_RCON, "<nume> <puncte>")

    #endif

 

    register_clcmd("say /pariu", "meniu_meciuri")

    register_clcmd("say /start", "comanda_start_admin")

    register_clcmd("say /fault", "cmd_fault")

    register_clcmd("say /corner", "cmd_corner")

    register_clcmd("say /galben", "cmd_galben")

    register_clcmd("say /bilete", "motd_biletele")

    register_clcmd("introdu_pariu", "handle_input_pariu")

 

    register_concmd("amx_setrezultat", "set_rezultat", ADMIN_KICK, "<index> <scor>")

 

    incarca_meciuri()

}

 

stock internal_add_puncte(id, amount) {

    #if defined POINTS_SYSTEM

        g_puncte[id] += amount;

        salveaza_puncte(id);

        return g_puncte[id];

    #else

        new money = cs_get_user_money(id) + amount;

        cs_set_user_money(id, money);

        return money;

    #endif

}

 

stock internal_take_puncte(id, amount) {

    #if defined POINTS_SYSTEM

        g_puncte[id] -= amount;

        if(g_puncte[id] < 0) g_puncte[id] = 0;

        salveaza_puncte(id);

        return g_puncte[id];

    #else

        new money = cs_get_user_money(id) - amount;

        if(money < 0) money = 0;

        cs_set_user_money(id, money);

        return money;

    #endif

}

 

public plugin_natives() {

    register_native("get_user_puncte", "native_get_puncte")

    register_native("internal_add_puncte", "native_add_puncte")

    register_native("internal_take_puncte", "native_take_puncte")

}

 

public native_get_puncte(plugin, params) {

    new id = get_param(1);

    #if defined POINTS_SYSTEM

        return g_puncte[id];

    #else

        return cs_get_user_money(id);

    #endif

}

 

public native_add_puncte(plugin, params) {

    return internal_add_puncte(get_param(1), get_param(2));

}

 

public native_take_puncte(plugin, params) {

    return internal_take_puncte(get_param(1), get_param(2));

}

 

public comanda_start_admin(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) {

        client_print_color(id, print_team_default, "^4[PARIURI-LGCS]^1 Nu ai acces la asta boss");

        return PLUGIN_HANDLED;

    }

 

    client_print_color(0, print_team_default, "^4>>^1START la PARIURI!^4<< ^1Scrie^4 /pariu^1 si arata ce stii!");

    return PLUGIN_HANDLED;

}

 

public cmd_fault(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) return PLUGIN_HANDLED;

    afiseaza_meniu_jucatori(id, "f");

    return PLUGIN_HANDLED;

}

 

public cmd_corner(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) return PLUGIN_HANDLED;

    afiseaza_meniu_jucatori(id, "c");

    return PLUGIN_HANDLED;

}

 

public cmd_galben(id) {

    if(!(get_user_flags(id) & ADMIN_KICK)) return PLUGIN_HANDLED;

    afiseaza_meniu_jucatori(id, "g");

    return PLUGIN_HANDLED;

}

 

public afiseaza_meniu_jucatori(id, const tip[]) {

    new menu_title[64];

    if(tip[0] == 'f') copy(menu_title, 63, "\yCine a comis \rFAULT?");

    else if(tip[0] == 'c') copy(menu_title, 63, "\yCorner pentru echipa lui:");

    else copy(menu_title, 63, "\yCui ii dai \rGALBEN?");

 

    new menu = menu_create(menu_title, "handle_meniu_jucatori");

   

    new players[32], num, name[32], info[10];

    get_players(players, num);

 

    for(new i = 0; i < num; i++) {

        get_user_name(players, name, 31);

        formatex(info, 9, "%s %d", tip, players);

        menu_additem(menu, name, info);

    }

   

    menu_display(id, menu);

}

 

public handle_meniu_jucatori(id, menu, item) {

    if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }

 

    new info[10], tip[2], target_id_str[4];

    menu_item_getinfo(menu, item, tip[0], info, 9, tip, 0, tip[0]);

   

    parse(info, tip, 1, target_id_str, 3);

    new target_id = str_to_num(target_id_str);

 

    if(!is_user_connected(target_id)) {

        client_print(id, print_chat, "Jucatorul a iesit!");

        menu_destroy(menu);

        return PLUGIN_HANDLED;

    }

 

    new name[32]; get_user_name(target_id, name, 31);

 

    if(tip[0] == 'f') {

        client_print_color(0, print_team_default, "^4[FOTBAL-LGCS]^3 %s^1 a comis un^4 FAULT^1! Lovitura libera!", name);

    }

    else if(tip[0] == 'c') {

        client_print_color(0, print_team_default, "^4[FOTBAL-LGCS]^1 Lovitura de colt (^4CORNER^1) pentru echipa lui^3 %s^1!", name);

    }

    else if(tip[0] == 'g') {

        client_print_color(0, print_team_default, "^4[FOTBAL-LGCS]^3 %s^1 a incasat un^3 CARTONAS GALBEN^1! ", name);

    }

 

    menu_destroy(menu);

    return PLUGIN_HANDLED;

}

 

public incarca_meciuri()

{

    new path[128]

    get_configsdir(path, 127)

    format(path, 127, "%s/pariuri_meciuri.ini", path)

 

    if(!file_exists(path))

        return

 

    new f = fopen(path, "rt")

    new line[256], c1[10], c2[10], cX[10]

 

    g_total_meciuri = 0

 

    while(!feof(f) && g_total_meciuri < MAX_MECIURI)

    {

        fgets(f, line, 255)

        trim(line)

 

        if(!line[0] || line[0] == ';')

            continue

 

        parse(line,

            g_nume_meci[g_total_meciuri], 63,

            g_e1[g_total_meciuri], 31,

            g_e2[g_total_meciuri], 31,

            c1, 9, c2, 9, cX, 9)

 

        g_c1[g_total_meciuri] = str_to_float(c1)

        g_c2[g_total_meciuri] = str_to_float(c2)

        g_cX[g_total_meciuri] = str_to_float(cX)

 

        g_total_meciuri++

    }

 

    fclose(f)

}

 

public meniu_meciuri(id) {

    if(g_total_meciuri == 0) {

        client_print_color(id, print_team_default, "^4[PARIURI]^1 Nu sunt meciuri disponibile!");

        return PLUGIN_HANDLED;

    }

 

    new menu = menu_create("\yPARIURI LIVE - ALEGE MECI", "handle_meciuri");

    new gasit = 0;

 

    for(new i = 0; i < g_total_meciuri; i++) {

        if(g_deja_pariat[id]) continue;

 

        new text[128], info[3];

        num_to_str(i, info, charsmax(info));

        formatex(text, charsmax(text), "%s \r(%.2f/%.2f/%.2f)", g_nume_meci, g_c1, g_c2, g_cX);

        menu_additem(menu, text, info);

        gasit++;

    }

 

    if(gasit == 0) {

        client_print_color(id, print_team_default, "^4[PARIURI]^1 Ai pariat deja pe toate meciurile! Stai cuminte si asteapta!");

        menu_destroy(menu);

        return PLUGIN_HANDLED;

    }

 

    menu_display(id, menu);

    return PLUGIN_HANDLED;

}

 

public handle_meciuri(id, menu, item) {

    if(item == MENU_EXIT) {

        menu_destroy(menu);

        return PLUGIN_HANDLED;

    }

 

    new info[3], dummy;

    menu_item_getinfo(menu, item, dummy, info, charsmax(info), _, _, dummy);

 

    new m = str_to_num(info);

    g_pariu_meci_selectat[id] = m;

 

    new menu_echipe = menu_create("\yAlege Pariul Tau", "handle_echipe");

    new t[64];

 

    formatex(t, charsmax(t), "%s \y(%.2f)", g_e1[m], g_c1[m]);

    menu_additem(menu_echipe, t, "1");

 

    formatex(t, charsmax(t), "%s \y(%.2f)", g_e2[m], g_c2[m]);

    menu_additem(menu_echipe, t, "2");

 

    formatex(t, charsmax(t), "Egalitate \y(%.2f)", g_cX[m]);

    menu_additem(menu_echipe, t, "3");

 

    menu_display(id, menu_echipe);

    menu_destroy(menu);

    return PLUGIN_HANDLED;

}

 

public handle_echipe(id, menu, item) {

    if(item == MENU_EXIT) {

        menu_destroy(menu)

        return PLUGIN_HANDLED

    }

 

    new m = g_pariu_meci_selectat[id]

 

    if(item == 0) copy(g_pariu_echipa[id][m], 31, g_e1[m])

    else if(item == 1) copy(g_pariu_echipa[id][m], 31, g_e2[m])

    else copy(g_pariu_echipa[id][m], 31, "Egalitate")

 

    client_cmd(id, "messagemode introdu_pariu")

 

    client_print_color(id, print_team_default,

        "^4[PARIURI-LGCS]^1 Ai ales:^3 %s^1 pentru meciul ^4%s",

        g_pariu_echipa[id][m], g_nume_meci[m])

 

    client_print_color(id, print_team_default,

        "^4[PARIURI-LGCS]^1 Scrie in chat:^3 scor puncte^1 (ex:^4 2-1 500^1)")

 

    menu_destroy(menu)

    return PLUGIN_HANDLED

}

 

stock save_pariu(id, m)

{

    new authid[32], data[256]

    get_user_authid(id, authid, 31)

 

    formatex(data, 255, "^"%s^" %d ^"%s^" ^"%s^" %d",

        authid,

        m,

        g_pariu_echipa[id][m],

        g_pariu_scor[id][m],

        g_pariu_suma[id][m]

    )

 

    write_file(SAVE_FILE, data)

}

 

public handle_input_pariu(id) {

    new arg[64], scor[16], suma_str[16]

    read_args(arg, 63); remove_quotes(arg)

 

    if(parse(arg, scor, 15, suma_str, 15) < 2)

        return PLUGIN_HANDLED

 

    new suma_pariu = str_to_num(suma_str)

 

    #if defined POINTS_SYSTEM

        if(suma_pariu < 500 || suma_pariu > g_puncte[id]) {

            client_print_color(id, print_team_default, "^4[PARIURI-LGCS]^1 Nu ai suficiente puncte! (Ai: ^3%d^1)", g_puncte[id])

            return PLUGIN_HANDLED

        }

        g_puncte[id] -= suma_pariu

        salveaza_puncte(id)

    #else

        new bani_user = cs_get_user_money(id)

        if(suma_pariu < 500 || suma_pariu > bani_user) {

            client_print_color(id, print_team_default, "^4[PARIURI-LGCS]^1 Nu ai destui bani! (Ai: ^3%d$^1)", bani_user)

            return PLUGIN_HANDLED

        }

        cs_set_user_money(id, bani_user - suma_pariu)

    #endif

 

    new m = g_pariu_meci_selectat[id]

 

    g_pariu_suma[id][m] = suma_pariu

    copy(g_pariu_scor[id][m], 15, scor)

    g_deja_pariat[id][m] = true

 

    new name[32]; get_user_name(id, name, 31)

 

    #if defined POINTS_SYSTEM

        client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a pariat:^4 %d puncte^1 pe^3 %s^1!", name, suma_pariu, g_pariu_echipa[id][m])

        log_to_file("pariuri_cl.log", "PARIU: %s a pus %d puncte pe %s (%s) la meciul %s", name, suma_pariu, g_pariu_echipa[id][m], scor, g_nume_meci[m])

    #else

        client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a pariat:^4 %d$^1 pe^3 %s^1!", name, suma_pariu, g_pariu_echipa[id][m])

        log_to_file("pariuri_cl.log", "PARIU: %s a pus %d bani pe %s (%s) la meciul %s", name, suma_pariu, g_pariu_echipa[id][m], scor, g_nume_meci[m])

    #endif

 

    client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^1 Pronostic:^3 %s^1 (scor:^4 %s^1)...Daca iese, vine o bere!", g_pariu_echipa[id][m], scor)

 

    save_pariu(id, m)

    return PLUGIN_HANDLED

}

 

public client_putinserver(id) {

    if(is_user_bot(id)) return

   

    incarca_pariu_jucator(id)

 

    #if defined POINTS_SYSTEM

        g_kills_half[id] = 0

        g_kills_round[id] = 0

        g_puncte[id] = 0

       

        incarca_puncte(id)

    #endif

}

 

public client_disconnected(id) {

    #if defined POINTS_SYSTEM

        salveaza_puncte(id)

    #endif

}

 

public event_death() {

    new attacker = read_data(1);

    new victim = read_data(2);

   

    if(is_user_connected(attacker) && attacker != victim) {

        g_kills_round[attacker]++;

        g_kills_half[attacker]++;

    }

}

 

public event_round_start() {

    g_round_count++;

   

    #if defined POINTS_SYSTEM

        g_bomba_plantata_runda = false;

        g_bomba_defuzata_runda = false;

       

        for(new i = 1; i <= MAX_PLAYERS; i++) g_kills_round = 0;

    #endif

 

    if(g_round_count >= 15) {

        for(new i = 1; i <= MAX_PLAYERS; i++) {

            if(!is_user_connected(i)) continue;

 

            #if defined POINTS_SYSTEM

                if(g_kills_half >= TARGET_HALF_KILLS) {

                    internal_add_puncte(i, RECOMPENSA_HALF_MATCH);

                    client_print_color(i, print_team_default, "^4[LGCS]^1 Bonus^3 %d puncte^1 pentru cele^4 %d kill-uri^1 in 15 runde!", RECOMPENSA_HALF_MATCH, g_kills_half);

                }

                g_kills_half = 0;

            #else

                cs_set_user_money(i, cs_get_user_money(i) + 5000);

                client_print_color(i, print_team_default, "^4[LGCS]^1 Bonus^3 5000$^1 pentru performanta in cele 15 runde!");

            #endif

        }

        g_round_count = 0;

    }

}

 

public event_round_end() {

    #if defined POINTS_SYSTEM

        for(new i = 1; i <= MAX_PLAYERS; i++) {

            if(is_user_connected(i) && g_kills_round >= 5) {

                internal_add_puncte(i, RECOMPENSA_5KILLS_ROUND);

                client_print_color(i, print_team_default, "^4[LGCS]^1 Bonus!^3 %d puncte^1 pentru cele^4 5 kill-uri^1 din runda!", RECOMPENSA_5KILLS_ROUND);

            }

        }

    #endif

}

 

public event_bomb_planted() {

    new id = get_loguser_index();

    if(!is_user_connected(id)) return;

 

    #if defined POINTS_SYSTEM

        if(g_bomba_plantata_runda) return;

       

        internal_add_puncte(id, RECOMPENSA_BOMB_PLANT);

        g_bomba_plantata_runda = true;

       

        client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 %d puncte^1 pentru bomba!", RECOMPENSA_BOMB_PLANT);

    #else

        new bani_actuali = cs_get_user_money(id);

        cs_set_user_money(id, bani_actuali + 1000);

       

        client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 1000$^1 pentru plantarea bombei!");

    #endif

}

 

public event_bomb_defused() {

    #if defined POINTS_SYSTEM

        if(g_bomba_defuzata_runda) return;

 

        new id = get_loguser_index();

        if(is_user_connected(id)) {

            g_puncte[id] += RECOMPENSA_BOMB_DEFUSE;

            salveaza_puncte(id);

           

            g_bomba_defuzata_runda = true;

           

            client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 %d puncte^1 pentru defuzarea bombei!", RECOMPENSA_BOMB_DEFUSE);

        }

    #else

        new id = get_loguser_index();

        if(is_user_connected(id)) {

            new bani_actuali = cs_get_user_money(id);

            cs_set_user_money(id, bani_actuali + 1500);

           

            client_print_color(id, print_team_default, "^4[LGCS]^1 Ai primit^3 1500$^1 pentru defuzarea bombei!");

        }

    #endif

}

 

public show_puncte(id) {

    #if defined POINTS_SYSTEM

        client_print_color(id, print_team_default, "^4[LGCS]^1 Ai in prezent: ^3%d puncte^1.", g_puncte[id]);

    #else

        client_print_color(id, print_team_default, "^4[LGCS]^1 Sistemul de puncte este dezactivat.");

    #endif

}

 

#if defined POINTS_SYSTEM

stock incarca_puncte(id) {

    new authid[32];

    get_user_authid(id, authid, 31);

   

    new val = nvault_get(g_vault, authid);

   

    if(val != -1) {

        g_puncte[id] = val;

    } else {

        g_puncte[id] = 0;

    }

}

#endif

 

#if defined POINTS_SYSTEM

stock salveaza_puncte(id) {

    if(!is_user_connected(id) || is_user_bot(id))

        return;

 

    new authid[35];

    get_user_authid(id, authid, charsmax(authid));

   

    if(authid[0] == 'S' && authid[5] != 'P') {

        new val_str[16];

        num_to_str(g_puncte[id], val_str, charsmax(val_str));

        nvault_set(g_vault, authid, val_str);

    }

}

#endif

 

stock get_loguser_index() {

    new loguser[80], name[32];

    read_logargv(0, loguser, 79);

    parse_loguser(loguser, name, 31);

    return get_user_index(name);

}

 

stock incarca_pariu_jucator(id) {

    if(!file_exists(SAVE_FILE)) return;

   

    new auth_j[32];

    get_user_authid(id, auth_j, 31);

   

    new f = fopen(SAVE_FILE, "rt");

    if(!f) return;

 

    new line[256], auth_f[32], m_s[4], ech[32], sco[16], sum_s[16];

   

    while(!feof(f)) {

        fgets(f, line, 255);

        trim(line);

       

        if(!line[0] || line[0] == ';') continue;

       

        parse(line, auth_f, 31, m_s, 3, ech, 31, sco, 15, sum_s, 15);

       

        if(equal(auth_j, auth_f)) {

            new m = str_to_num(m_s);

           

            if(m >= 0 && m < MAX_MECIURI) {

                copy(g_pariu_echipa[id][m], 31, ech);

                copy(g_pariu_scor[id][m], 15, sco);

                g_pariu_suma[id][m] = str_to_num(sum_s);

                g_deja_pariat[id][m] = true;

            }

        }

    }

    fclose(f);

}

 

public motd_biletele(id)

{

    static motd[2048]

    motd[0] = 0

 

    new len = 0, name[32], found = 0, total = 0

    new szBet[32], szScore[16], szStake[24]

 

    for(new i = 1; i <= MAX_PLAYERS; i++)

    {

        if(!is_user_connected(i))

            continue

 

        for(new m = 0; m < g_total_meciuri; m++)

        {

            if(g_deja_pariat[m])

                total++

        }

    }

 

    len += formatex(motd[len], charsmax(motd) - len, "<html><body bgcolor=#060606><center>")

    len += formatex(motd[len], charsmax(motd) - len, "<table width=80%% border=0 cellspacing=0 cellpadding=0 bgcolor=#0B0B0B>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=5 bgcolor=#D4AF37></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=1 bgcolor=#5A4518></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td><center><br><font face=Verdana size=5 color=#FFF4CC><b>LEAGUECS SPORT</b></font><br><font face=Tahoma size=2 color=#D4AF37><b>LUXURY BETTING TICKETS</b></font><br><font face=Tahoma size=2 color=#C8B67A>Active Tickets: <b>%d</b></font><br><br></center></td></tr>", total)

 

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td><table width=100%% border=0 cellspacing=1 cellpadding=6 bgcolor=#1A1408>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr bgcolor=#120F08>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=20%%><center><font face=Verdana size=2 color=#FFF4CC><b>PLAYER</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=28%%><center><font face=Verdana size=2 color=#E7D39A><b>MATCH</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=18%%><center><font face=Verdana size=2 color=#D4AF37><b>BET</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=16%%><center><font face=Verdana size=2 color=#F3E5AB><b>SCORE</b></font></center></td>")

    len += formatex(motd[len], charsmax(motd) - len, "<td width=18%%><center><font face=Verdana size=2 color=#E6C86E><b>STAKE</b></font></center></td></tr>")

 

    for(new i = 1; i <= MAX_PLAYERS; i++)

    {

        if(!is_user_connected(i))

            continue

 

        get_user_name(i, name, charsmax(name))

 

        for(new m = 0; m < g_total_meciuri; m++)

        {

            if(!g_deja_pariat[m])

                continue

 

            if(len > 1700)

                break

 

            if(g_pariu_echipa[m][0])

                copy(szBet, charsmax(szBet), g_pariu_echipa[m])

            else

                copy(szBet, charsmax(szBet), "-")

 

            if(g_pariu_scor[m][0])

                copy(szScore, charsmax(szScore), g_pariu_scor[m])

            else

                copy(szScore, charsmax(szScore), "-")

 

            #if defined POINTS_SYSTEM

                if(g_pariu_suma[m] > 0)

                    formatex(szStake, charsmax(szStake), "%d Pts", g_pariu_suma[m])

                else

                    copy(szStake, charsmax(szStake), "-")

            #else

                if(g_pariu_suma[m] > 0)

                    formatex(szStake, charsmax(szStake), "%d$", g_pariu_suma[m])

                else

                    copy(szStake, charsmax(szStake), "-")

            #endif

 

            len += formatex(motd[len], charsmax(motd) - len, "<tr bgcolor=%s>", (found % 2) ? "#0E0C08" : "#151109")

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#FFF8DC><b>%s</b></font></center></td>", name)

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#DCCB93>%s</font></center></td>", g_nume_meci[m])

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#FFD700><b>%s</b></font></center></td>", szBet)

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#F3E5AB><b>%s</b></font></center></td>", szScore)

            len += formatex(motd[len], charsmax(motd) - len, "<td><center><font face=Tahoma size=2 color=#E6C86E><b>%s</b></font></center></td></tr>", szStake)

 

            found++

        }

 

        if(len > 1700)

            break

    }

 

    if(!found)

    {

        len += formatex(motd[len], charsmax(motd) - len, "<tr bgcolor=#100D08><td colspan=5><center><br><font face=Verdana size=3 color=#FFF4CC><b>NO ACTIVE TICKETS</b></font><br><font face=Tahoma size=2 color=#D4AF37>Use /pariu to place your first ticket</font><br><br></center></td></tr>")

    }

 

    len += formatex(motd[len], charsmax(motd) - len, "</table></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td><br></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=1 bgcolor=#5A4518></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "<tr><td height=5 bgcolor=#D4AF37></td></tr>")

    len += formatex(motd[len], charsmax(motd) - len, "</table>")

    len += formatex(motd[len], charsmax(motd) - len, "</center></body></html>")

 

    show_motd(id, motd, "LEAGUECS SPORT")

    return PLUGIN_HANDLED

}

 

stock clear_save_file() {

    if(file_exists(SAVE_FILE)) {

        delete_file(SAVE_FILE);

        new f = fopen(SAVE_FILE, "wt");

        if(f) fclose(f);

    }

}

 

public set_rezultat(id, level, cid) {

    if (!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED

   

    new idx_str[4], rezultat[16], s1[8], s2[8]

    read_argv(1, idx_str, 3); read_argv(2, rezultat, 15)

    new m = str_to_num(idx_str)

   

    if(m < 0 || m >= g_total_meciuri) {

        console_print(id, "[PARIURI] Index meci invalid!")

        return PLUGIN_HANDLED

    }

   

    strtok(rezultat, s1, 7, s2, 7, '-')

    new r1 = str_to_num(s1), r2 = str_to_num(s2), castigator[32]

 

    if (r1 > r2) copy(castigator, 31, g_e1[m])

    else if (r2 > r1) copy(castigator, 31, g_e2[m])

    else copy(castigator, 31, "Egalitate")

 

    log_to_file("pariuri_cl.log", "REZULTAT FINAL: %s | Scor: %s | S-au acordat premiile.", g_nume_meci[m], rezultat)

 

    for (new i = 1; i <= MAX_PLAYERS; i++) {

        if (!is_user_connected(i) || !g_deja_pariat[m]) continue

       

        if (equal(g_pariu_echipa[m], castigator)) {

            new Float:cota = (equal(castigator, g_e1[m])) ? g_c1[m] : (equal(castigator, g_e2[m]) ? g_c2[m] : g_cX[m])

            new castig = floatround(g_pariu_suma[m] * cota)

           

            if (equal(g_pariu_scor[m], rezultat)) castig *= 2

 

            internal_add_puncte(i, castig)

           

            new name[32]; get_user_name(i, name, 31)

           

            #if defined POINTS_SYSTEM

                log_to_file("pariuri_cl.log", "CASTIGATOR: %s a luat %d puncte la meciul %s", name, castig, g_nume_meci[m])

                client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a castigat^4 %d puncte^1 la meciul %s!", name, castig, g_nume_meci[m])

            #else

                log_to_file("pariuri_cl.log", "CASTIGATOR: %s a luat %d bani la meciul %s", name, castig, g_nume_meci[m])

                client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^3 %s^1 a castigat^4 %d$^1 la meciul %s!", name, castig, g_nume_meci[m])

            #endif

        }

        g_deja_pariat[m] = false

    }

 

    client_print_color(0, print_team_default, "^4[PARIURI-LGCS]^1 Meci terminat:^3 %s^1 | Rezultat:^4 %s", g_nume_meci[m], rezultat)

   

    clear_save_file()

    return PLUGIN_HANDLED

}

 

public cmd_give_puncte(id, level, cid) {

    if (!cmd_access(id, level, cid, 3))

        return PLUGIN_HANDLED

 

    new arg1[32], arg2[10]

    read_argv(1, arg1, 31)

    read_argv(2, arg2, 9)

 

    new suma = str_to_num(arg2)

    new target = cmd_target(id, arg1, CMDTARGET_ALLOW_SELF)

 

    if (!target) {

        console_print(id, "[LGCS] Jucatorul %s nu a fost gasit!", arg1)

        return PLUGIN_HANDLED

    }

 

    internal_add_puncte(target, suma)

 

    new name_admin[32], name_target[32]

    get_user_name(id, name_admin, 31)

    get_user_name(target, name_target, 31)

 

    #if defined POINTS_SYSTEM

        client_print_color(0, print_team_default, "^4[ADMIN]^3 %s^1 i-a oferit^4 %d puncte^1 lui^3 %s^1!", name_admin, suma, name_target)

    #else

        client_print_color(0, print_team_default, "^4[ADMIN]^3 %s^1 i-a oferit^4 %d$^1 lui^3 %s^1!", name_admin, suma, name_target)

    #endif

 

    return PLUGIN_HANDLED

}

NOo2piY.png

 

  • Like 1
  • Fortzaaaa 1
  • 2 săptămâni mai târziu...
  • Administrator
Postat

Pentru mine, e mai plăcută varianta 1.

Felicitări, amândurora!

 

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
  • Navigare recentă   0 membri

    • Nici un utilizator înregistrat nu vede această pagină.
×
×
  • Creează nouă...

Informații Importante

Termeni de Utilizare & Politică Intimitate