←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Kolorowe nicki w /top15

Zablokowany

^PMO`CT - zdjęcie ^PMO`CT 15.01.2013

Witam.
Mam pytanko.
Jak zrobić aby w top 15 mieć kolorowe trzy pierwsze nicki ?
Interesuje mnie:
1 Nick na kolor CZERWONY
2 Nick na kolor ZIELONY
3 Nick na kolor ZIELONY

Jak takie cos zrobic ? Proszę o pomoc.

Dziękuje.
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 15.01.2013

ty tak twierdzisz ;]
w statsx.sma zamien funkcje format_top15 na tą
format_top15(sBuffer[MAX_BUFFER_LENGTH + 1])
{
    new iMax = get_statsnum()
    new izStats[8], izBody[8]
    new iLen = 0

    if (iMax > 15)
        iMax = 15

    new lKills[16], lDeaths[16], lHits[16], lShots[16], lEff[16], lAcc[16]
    
    format(lKills, 15, "%L", LANG_SERVER, "KILLS")
    format(lDeaths, 15, "%L", LANG_SERVER, "DEATHS")
    format(lHits, 15, "%L", LANG_SERVER, "HITS")
    format(lShots, 15, "%L", LANG_SERVER, "SHOTS")
    format(lEff, 15, "%L", LANG_SERVER, "EFF")
    format(lAcc, 15, "%L", LANG_SERVER, "ACC")
    
    ucfirst(lEff)
    ucfirst(lAcc)

    iLen = format(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font color=#FFB000><pre>")
    iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2s %-22.22s %6s %6s %6s %6s %4s %4s %4s^n", "#", "Nick", lKills, lDeaths, lHits, lShots, "HS", lEff, lAcc)
    
    for (new i = 0; i < iMax && MAX_BUFFER_LENGTH - iLen > 0; i++)
    {
        get_stats(i, izStats, izBody, t_sName, MAX_NAME_LENGTH)
        replace_all(t_sName, MAX_NAME_LENGTH, "<", "[")
        replace_all(t_sName, MAX_NAME_LENGTH, ">", "]")
        switch(i)
        {
            case 0: iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d <font color=^"red^">%-22.22s</font> %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName, izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats))
            case 1:iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d <font color=^"green^">%-22.22s</font> %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName, izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats))
            case 2:iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d <font color=^"green^">%-22.22s</font> %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName, izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats))
            default:iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d %-22.22s %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, t_sName, izStats[STATS_KILLS], izStats[STATS_DEATHS], izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy(izStats))
    }
}
I skompiluj na nowo, plik *.amxx wrzuć na serwer :)
Odpowiedz

Andrzej12345 - zdjęcie Andrzej12345 15.01.2013

Podczas kompilacji, wyskakują mi errrory związane z kolejną funkcją
( format_rankstats(id, sBuffer[MAX_BUFFER_LENGTH + 1], iMyId = 0)
)

Error: Undefined symbol "format_rankstats" on line 767
Error: Array index out of bounds (variable "sBuffer") on line 767
Error: Expected token: ";", but found ")" on line 767
Warning: Expression has no effect on line 767
Odpowiedz

^PMO`CT - zdjęcie ^PMO`CT 16.01.2013

Miałem ten sam błąd
Ale problem rozwiązany.

W 1 linice podanego kodu przez ciebie jest:
format_top15(sBuffer[MAX_BUFFER_LENGTH + 1])

a powinno być:
format_top15(sBuffer [MAX_BUFFER_LENGTH + 1])
Użytkownik ^PMO`CT edytował ten post 16.01.2013 15:11
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 16.01.2013

Miałem ten sam błąd
Ale problem rozwiązany.

W 1 linice podanego kodu przez ciebie jest:
format_top15(sBuffer[MAX_BUFFER_LENGTH + 1])

a powinno być:
format_top15(sBuffer [MAX_BUFFER_LENGTH + 1])

To jest jedno i to samo.
Odpowiedz

^PMO`CT - zdjęcie ^PMO`CT 16.01.2013

Nie jedno i to samo :)
Widocznie nie przyglądnołeś się

Kolega wyżej podał kod:
format_top15(sBuffer[MAX_BUFFER_LENGTH + 1])

A ja podałem
format_top15(sBuffer [MAX_BUFFER_LENGTH + 1])

Jaka różnica? Między "sBuffer" a "[MAX_" powinna byc Koniecznie spacja.

Na przykład:
format_top15(sBuffer@@@@@@@@@@[MAX_BUFFER_LENGTH + 1])
W miejscu @@@@@@@@@@ należy postawić SPACJE.

Inaczej nie ma co liczyc na poprawne z komplikowanie sie pliku .sma do .amxx Osobiście sam sprawdziłem. Działa : )
sebul (16.01.2013 18:43):
Dalej to jest jedno i to samo, zresztą widziałem tą spację.

Użytkownik ^PMO`CT edytował ten post 16.01.2013 17:06
Odpowiedz

^PMO`CT - zdjęcie ^PMO`CT 19.01.2013

@ Do zamknięcia. Problem rozwiązany :)
Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 19.01.2013

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany