Rusu Radu Postat Martie 21 Postat Martie 21 BONUS ROUNDS SYSTEM Prezentare generală Pluginul oferă bonusuri financiare jucătorilor pentru acțiuni importante din rundă: plant, defuse, explode, first kill, headshot, situații 1v1 și multe altele. mai multă adrenalină, mai mult reward, mai mult gameplay dinamic. Practic, fiecare moment contează. Link descărcare: Nespecificat Creator: mihay111 Denumire plugin: bonus_rounds.amxx Comenzi & Cvars Cvar-uri principale: amx_plant_bonus – bonus plant (default 500$) amx_defuse_bonus – bonus defuse (default 500$) amx_explode_bonus – bonus explode (default 500$) amx_explode_mode – 0 = doar planter, 1 = toți T Bonusuri combat: amx_firstkill_bonus – primul kill amx_firstpistol_bonus – primul kill cu pistol amx_firstawp_bonus – primul kill cu AWP amx_firstknife_bonus – primul kill cu cuțit amx_firsths_bonus – primul headshot amx_1v1_bonus – bonus 1v1 Sistem inclus: Mesaje colorate în chat Evenimente automate per rundă Instrucțiuni instalare Plasează fișierul bonus_rounds.sma în: addons/amxmodx/scripting Compilează sau folosește direct bonus_rounds.amxx Mută fișierul bonus_rounds.amxx în: addons/amxmodx/plugins Deschide fișierul: addons/amxmodx/configs/plugins.ini și adaugă: bonus_rounds.amxx Adaugă cvar-urile dorite în: amxmodx/configs/amxx.cfg Cod sursă Spoiler #include <amxmodx> #include <cstrike> #include <csx> new PCvarBonusPlant; new PCvarBonusDefuse; new PCvarBonusExplode; new PCvarExplodeMode; // 0 = doar planter, 1 = toata echipa T new PCvarBonusFirstKill; // primul frag (general) new PCvarBonus1v1; // 1v1 bonus new PCvarBonusFirstPistol; // primul frag cu pistol new PCvarBonusFirstAwp; // primul frag cu awp new PCvarBonusFirstKnife; // primul frag cu cutit new PCvarBonusFirstHs; // primul headshot // flags resetate la fiecare runda new bool:g_bFirstKillDone; new bool:g_bFirstPistolDone; new bool:g_bFirstAwpDone; new bool:g_bFirstKnifeDone; new bool:g_bFirstHsDone; public plugin_init() { register_plugin("Bomb Bonus Extended", "1.6", "mihay111 edit") PCvarBonusPlant = register_cvar("amx_plant_bonus", "500") PCvarBonusDefuse = register_cvar("amx_defuse_bonus", "500") PCvarBonusExplode = register_cvar("amx_explode_bonus", "500") PCvarExplodeMode = register_cvar("amx_explode_mode", "0") PCvarBonusFirstKill = register_cvar("amx_firstkill_bonus", "500") PCvarBonus1v1 = register_cvar("amx_1v1_bonus", "500") PCvarBonusFirstPistol = register_cvar("amx_firstpistol_bonus", "500") PCvarBonusFirstAwp = register_cvar("amx_firstawp_bonus", "500") PCvarBonusFirstKnife = register_cvar("amx_firstknife_bonus", "1500") PCvarBonusFirstHs = register_cvar("amx_firsths_bonus", "750") register_event("HLTV", "event_new_round", "a", "1=0", "2=0") register_event("DeathMsg", "event_death", "a") } // ---------------- ROUND START ---------------- public event_new_round() { g_bFirstKillDone = false g_bFirstPistolDone = false g_bFirstAwpDone = false g_bFirstKnifeDone = false g_bFirstHsDone = false } // ---------------- ON KILL ---------------- public event_death() { new killer = read_data(1) new victim = read_data(2) new headshot = read_data(3) // 1 = HS new weapon[32]; read_data(4, weapon, charsmax(weapon)) if (!is_user_connected(killer) || killer == victim) return // Primul headshot if (!g_bFirstHsDone && headshot == 1) { g_bFirstHsDone = true give_bonus(killer, PCvarBonusFirstHs, "pentru primul headshot din runda", weapon) } // Primul kill general if (!g_bFirstKillDone) { g_bFirstKillDone = true give_bonus(killer, PCvarBonusFirstKill, "pentru primul frag din runda", weapon) } // Primul kill cu pistol if (!g_bFirstPistolDone && is_pistol(weapon)) { g_bFirstPistolDone = true give_bonus(killer, PCvarBonusFirstPistol, "pentru primul frag cu pistolul", weapon) } // Primul kill cu awp if (!g_bFirstAwpDone && equal(weapon, "awp")) { g_bFirstAwpDone = true give_bonus(killer, PCvarBonusFirstAwp, "pentru primul frag cu AWP-ul", weapon) } // Primul kill cu cutitul if (!g_bFirstKnifeDone && equal(weapon, "knife")) { g_bFirstKnifeDone = true give_bonus(killer, PCvarBonusFirstKnife, "pentru primul frag cu cutitul", weapon) } // Check 1v1 check_1v1_bonus() } // ---------------- GIVE BONUS ---------------- give_bonus(id, cvar, const reason[], const weapon[]) { new bonus = get_pcvar_num(cvar) if (bonus <= 0) return new money = cs_get_user_money(id) cs_set_user_money(id, money + bonus) new name[32]; get_user_name(id, name, charsmax(name)) player_color(0, ".v[WTFCS] .gJucatorul .e%s .ga primit .e%d$ .g%s .x[arma: %s]!", name, bonus, reason, weapon) } // ---------------- 1v1 CHECK ---------------- check_1v1_bonus() { new players_ct[32], num_ct new players_t[32], num_t get_players(players_ct, num_ct, "ae", "CT") get_players(players_t, num_t, "ae", "TERRORIST") if (num_ct == 1 && num_t == 1) { new bonus = get_pcvar_num(PCvarBonus1v1) new id_ct = players_ct[0] new id_t = players_t[0] if (is_user_connected(id_ct)) cs_set_user_money(id_ct, cs_get_user_money(id_ct) + bonus) if (is_user_connected(id_t)) cs_set_user_money(id_t, cs_get_user_money(id_t) + bonus) player_color(0, ".v[WTFCS] .gSituatie de .e1v1! .gAmbii jucatori au primit .e%d$!", bonus) } } // ---------------- WEAPON CHECK ---------------- bool:is_pistol(const weapon[]) { if (equal(weapon, "glock18") || equal(weapon, "usp") || equal(weapon, "p228") || equal(weapon, "deagle") || equal(weapon, "elite") || equal(weapon, "fiveseven")) return true return false } // ---------------- PLANT ---------------- public bomb_planted(id) { if (!is_user_connected(id)) return give_bonus(id, PCvarBonusPlant, "si 3 XP pentru ca a plantat bomba", "c4") } // ---------------- DEFUSE ---------------- public bomb_defused(id) { if (!is_user_connected(id)) return give_bonus(id, PCvarBonusDefuse, "si 3 XP pentru ca a dezamorsat bomba", "defuse") } // ---------------- EXPLODE ---------------- public bomb_explode(planter) { new bonus = get_pcvar_num(PCvarBonusExplode) new mode = get_pcvar_num(PCvarExplodeMode) if (mode == 0) { if (!is_user_connected(planter)) return give_bonus(planter, PCvarBonusExplode, "pentru ca a avut grija ca bomba sa explodeze", "c4") } else { new players[32], pnum get_players(players, pnum, "ae", "TERRORIST") for (new i = 0; i < pnum; i++) { new id = players[i] if (!is_user_connected(id)) continue cs_set_user_money(id, cs_get_user_money(id) + bonus) } player_color(0, ".v[WTFCS] .gToti teroristii au primit .e%d$ .gpentru ca bomba a explodat!", bonus) } } // ---------------- COLOR CHAT ---------------- stock player_color(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, charsmax(msg), input, 3) replace_all(msg, charsmax(msg), ".v", "^4") replace_all(msg, charsmax(msg), ".g", "^1") replace_all(msg, charsmax(msg), ".e", "^3") replace_all(msg, charsmax(msg), ".x", "^0") if (id) players[0] = id else get_players(players, count, "ch") for (new i = 0; i < count; i++) { if (!is_user_connected(players[i])) continue message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } Module necesare amxmodx cstrike csx Observații ✔ Plugin testat și funcțional ✔ Fără erori la compilare Creat pentru a aduce “culoare” gameplay-ului
Postări Recomandate