Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

hud.amxx problem z pluginem i mała przeróbka


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
30 odpowiedzi w tym temacie

#21 Deus Vult

    Nowy

  • Użytkownik

Reputacja: 109
Zaawansowany

  • Postów:223
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Rzeszow
Offline

Napisano 08.01.2026 20:13

A to nie było tak, że ranking nowego gracza jest aktualizowany po jakims evencie/forwardzie?
Jeśli tak to nowy gracz nie jest uwzgledniany w userStats i co sugeruję może powodować problemy z rangą.

Użytkownik Deus Vult edytował ten post 08.01.2026 20:18

  • +
  • -
  • 0

#22 MzKzMzUzE

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:71
  • Steam:steam
Offline

Napisano 09.01.2026 09:53

Czyli wystarczy, że nowy gracz wbije chociażby jednego killa i ranga zaczyna mu działać poprawnie?


  • +
  • -
  • 0

#23 Deus Vult

    Nowy

  • Użytkownik

Reputacja: 109
Zaawansowany

  • Postów:223
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Rzeszow
Offline

Napisano 09.01.2026 17:17

Czyli wystarczy, że nowy gracz wbije chociażby jednego killa i ranga zaczyna mu działać poprawnie?


Nie pamiętam już jak zapis funkcjonował, ale zalecam podziałać w tym kierunku
  • +
  • -
  • 0

#24 PANDA_2zl

    Czempion

  • Power User

Reputacja: 219
Profesjonalista

  • Postów:818
  • Imię:Michał
  • Lokalizacja:Kraków
Offline

Napisano 09.01.2026 18:03

/* Gets overall stats which are stored in file on server
* and updated on every respawn or user disconnect.
* Function returns the position in stats by diff. kills to deaths. */
native get_user_stats(index,stats[8],bodyhits[8]);

  • +
  • -
  • 0

#25 MzKzMzUzE

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:71
  • Steam:steam
Offline

Napisano 09.01.2026 23:12

Hmmmm, ale idzie coś takiego dopisać do kodu? Bo na nie jednym serwerze grywałem i było po prostu unranked bądź w inny sposób działało to poprawnie.


  • +
  • -
  • 0

#26 Deus Vult

    Nowy

  • Użytkownik

Reputacja: 109
Zaawansowany

  • Postów:223
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Rzeszow
Offline

Napisano 09.01.2026 23:53

Możesz warunkowo sprawdzić czy userStats < 0 i go sztucznie zmienić na 0 np. po wybraniu drużyny

Użytkownik Deus Vult edytował ten post 09.01.2026 23:53

  • +
  • -
  • 0

#27 MzKzMzUzE

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:71
  • Steam:steam
Offline

Napisano 17.01.2026 15:49

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.


  • +
  • -
  • 0

#28 xSPECJALSx

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:42
  • GG:
  • Steam:steam
  • Imię:xZANDARMx
Offline

Napisano 30.01.2026 01:30

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 ;) 


  • +
  • -
  • 0
  • Pomoc przy AMXX + Stworzeniu Paczki bądź pluginu
  • Pomoc przy zakładaniu stron www
  • Pomoc przy konfigurowaniu Invision Community, MyBB
  • Pomoc przy całkowitym przygotowaniu forum www

#29 mordoryjacz

    Profesjonalista

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:213
Offline

Napisano 30.01.2026 12:50

 

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 xD


  • +
  • -
  • 1

#30 xSPECJALSx

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:42
  • GG:
  • Steam:steam
  • Imię:xZANDARMx
Offline

Napisano 30.01.2026 14:51

 

ale ai wjechalo xD

 

Owszem ai jest może niezbyt dokładne, lecz szybciej coś ogarniesz i jest bardziej pomocne wiadomo ai nie ogarnie w 100% bo się będziesz bawić i wkur.. xD przy większym projekcie ale zrobisz to szybciej i jak chcesz więc w czym widzisz problem ? Chyba każda pomoc jest potrzebna nie ważne z jakiego źródła :)


  • +
  • -
  • 0
  • Pomoc przy AMXX + Stworzeniu Paczki bądź pluginu
  • Pomoc przy zakładaniu stron www
  • Pomoc przy konfigurowaniu Invision Community, MyBB
  • Pomoc przy całkowitym przygotowaniu forum www

#31 mordoryjacz

    Profesjonalista

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:213
Offline

Napisano 30.01.2026 20:10

 

 

ale ai wjechalo xD

 

Owszem ai jest może niezbyt dokładne, lecz szybciej coś ogarniesz i jest bardziej pomocne wiadomo ai nie ogarnie w 100% bo się będziesz bawić i wkur.. xD przy większym projekcie ale zrobisz to szybciej i jak chcesz więc w czym widzisz problem ? Chyba każda pomoc jest potrzebna nie ważne z jakiego źródła :)

 

to chociaz jak juz uzywasz to wyslij kod przyjazny dla oka 


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych