traka Postat Aprilie 14 Postat Aprilie 14 (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 sma: Editat Aprilie 16 de traka 3 1
Administrator Dexter. @ GOV.RO Postat Aprilie 15 Administrator Postat Aprilie 15 Foarte tare ideea. @ Server Managers poate vă interesează să implementați, eventuale modificări puteți discuta direct cu @traka
traka Postat Aprilie 16 Autor Postat Aprilie 16 (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 Editat Aprilie 16 de traka 1
BandB Postat Aprilie 16 Postat Aprilie 16 Cu placere,curand o sa postez încă câteva stiluri pe partea de bilete 1
BandB Postat Aprilie 16 Postat Aprilie 16 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 } 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 } 1 1
Administrator Dexter. @ GOV.RO Postat Aprilie 27 Administrator Postat Aprilie 27 Pentru mine, e mai plăcută varianta 1. Felicitări, amândurora!
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum