Dzień dobry się z państwem, ponawiam pytanko czy byłaby możliwość dopisania do kodu informację w formie dźwięku o postępie (przejściu na następną rangę)? Płacę jak na prezydenta.
SMA
#include <amxmodx> #include <csx> #include <fakemeta> #define ForArray(%1,%2) for(new %1 = 0; %1 < sizeof %2; %1++) #define TASK_HUD 666 new const rankName[][] = { "Silver I", "Silver II", "Silver III", "Silver IV", "Silver Elite", "Silver Elite Master", "Gold Nova I", "Gold Nova II", "Gold Nova III", "Gold Nova IV", "Gold Nova Master", "Master Guardian I", "Master Guardian II", "Master Guardian Elite", "Distinguished Master Guardian", "Legendary Eagle", "Legendary Eagle Master", "Supreme Master First Class", "The Global Elite" }; new const rankKills[][] = { { 0, 29 }, { 30, 59 }, { 60, 119 }, { 120, 209 }, { 210, 324 }, { 325, 499 }, { 500, 729 }, { 730, 999 }, { 1000, 1399 }, { 1400, 1849 }, { 1850, 2299 }, { 2300, 2899 }, { 2900, 3549 }, { 3550, 4999 }, { 5000, 5899 }, { 5900, 6899 }, { 6900, 7999 }, { 8000, 9299 }, { 9300, 12000 } }; new hudObject; new g_userOldRank[33]; public plugin_init() { register_plugin("Info Hud I Rangi CsGo", "1.6", "ProToTyp e: N1K1Cz"); hudObject = CreateHudSyncObj(); } public client_putinserver(id) { if (!is_user_bot(id) && !is_user_hltv(id)) { g_userOldRank[id] = -1; set_task(1.0, "displayHud", id + TASK_HUD, .flags="b"); } } // Zmienione na client_disconnected dla wersji 1.10 public client_disconnected(id) { remove_task(id + TASK_HUD); } public displayHud(taskID) { new index = taskID - TASK_HUD; if(!is_user_connected(index)) { remove_task(taskID); return; } static userName[33], requiredKills, userPosition, userRankIndex, userStats[8], body[8]; new target = index; // Obsługa widoku obserwatora (Spectator) if (!is_user_alive(index)) { new spec = pev(index, pev_iuser2); if (spec > 0 && is_user_alive(spec)) { target = spec; } else { ClearSyncHud(index, hudObject); return; } } // Pobieranie statystyk celu userPosition = get_user_stats(target, userStats, body); userRankIndex = getRankIndex(userStats[0]); // Logika powiadomienia o awansie (tylko dla gracza, który faktycznie awansuje) if (target == index) { if (g_userOldRank[index] != -1 && userRankIndex > g_userOldRank[index]) { // Dźwięk awansu z folderu gry i napis na środku client_cmd(index, "spk events/tutor_msg.wav"); set_hudmessage(255, 215, 0, -1.0, 0.3, 0, 6.0, 5.0); show_hudmessage(index, "GRATULACJE!^nAWANSOWALES DO RANGI: %s", rankName[userRankIndex]); } g_userOldRank[index] = userRankIndex; } get_user_name(target, userName, charsmax(userName)); // Obliczanie progu fragów if (userRankIndex < sizeof(rankKills) - 1) requiredKills = rankKills[userRankIndex + 1][0]; else requiredKills = rankKills[userRankIndex][1]; // Kolor jasnoniebieski (cyjan), pozycja po lewej stronie set_hudmessage(0, 160, 255, 0.02, 0.20, 0, 0.1, 1.1, 0.1, 0.1, -1); ShowSyncHudMsg(index, hudObject, "[Nick: %s]^n\ [Ranga: %s]^n\ [Postep: %i / %i]^n\ [Fragi: %i]^n\ [Ranking: %i / %i]^n\ [Vip: %s]", userName, rankName[userRankIndex], userStats[0], requiredKills, get_user_frags(target), userPosition, get_statsnum(), (get_user_flags(target) & ADMIN_LEVEL_H) ? "Tak" : "Nie" ); } public getRankIndex(kills) { for (new i = sizeof(rankKills) - 1; i >= 0; i--) { if (kills >= rankKills[i][0]) return i; } return 0; }Dźwięk dodajesz tutaj cstrike/sound/events/tutor_msg.wav
jak coś daj znać na priv to zrobimy od podstaw
ale ai wjechalo ![]()


Dodatki SourceMod





Moja zawartość
Mężczyzna




rozgrzewka.amxx