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

Problem z rangami.Problem z funkcją w pluginie


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

#1 Klycior123

    Początkujący

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:15
  • Imię:Kamil
Offline

Napisano 22.01.2019 18:07

Witam, mam mały problem z pluginem rangi. A dokładniej to z funkcją tego pluginu jaką jest top10, które nie sortuje wedle kolejności rang, a zarazem kolejności zabójstw. Np. ranga Starszy Szeregowy jest pierwsza w tabeli i gracz ma 83 zabójstwa, natomiast gracz z rangą Starszego Kaprala ma 192 zabójstwa i jest na trzecim miejscu, gdzie powinno być kompletnie na odwrót. Plugin w sma załączam w temacie. Prosiłbym o szybką pomoc. Z góry dziękuję.

Załączone pliki


  • +
  • -
  • 0

#2 Trol lorT

    Pomocny

  • Zbanowany

Reputacja: -23
Masakra

  • Postów:71
  • Imię:Nieznajomy
  • Lokalizacja:POSZUKIWANY LISTEM GONCZYM
Offline

Napisano 22.01.2019 18:29

zaraz naprawimy mordo

 



#3 Trol lorT

    Pomocny

  • Zbanowany

Reputacja: -23
Masakra

  • Postów:71
  • Imię:Nieznajomy
  • Lokalizacja:POSZUKIWANY LISTEM GONCZYM
Offline

Napisano 22.01.2019 18:34

brakuje pliku 

//CONFIG
public plugin_cfg(){
new szFile[128];
get_configsdir(szFile, 127);
add(szFile, 127, "/rangi.ini");
if(!file_exists(szFile))
return set_fail_state("Nie znalaziono pliku ranga.ini w folderze configs/");
new szLine[96], iLen=0, szClass[CLASS_LEN], szXP[16];
 
 
Utworz plik i wlacz all cvary na "1" PONIEWAZ NIE CZYTA CI dobrze RANKINGU
 
SKOMPILUJ JESZCZE RAZ TE RANGI  [NAPRAWIONE]
 
 
 
 
 

#include <amxmodx>
#include <amxmisc>
#include <csx>
 
#define PLUGIN "Rangi"
#define VERSION "1.0"
#define AUTHOR "R3X"
 
// User stats parms id
#define STATS_KILLS             0
#define STATS_DEATHS            1
#define STATS_HS                2
#define STATS_TKS               3
#define STATS_SHOTS             4
#define STATS_HITS              5
#define STATS_DAMAGE            6
 
//Max count of levels
#define LEVELS 20
//Max len of ClassName
#define CLASS_LEN 25
#define MAX_NAME_LENGTH         31
#define MAX_BUFFER_LENGTH       2047
 
#define TASK_SHOWCLASS 2222
 
//Buffers
new t_sName[MAX_NAME_LENGTH + 1]                    = ""
new g_sBuffer[MAX_BUFFER_LENGTH + 1]                = ""
 
new giXP[LEVELS+1];
new gszClass[LEVELS+1][CLASS_LEN];
new giPointer=1;
 
new gcvarMaxName;
new gcvarType, gcvarTop, gcvarList;
 
new gmsgSayText;
 
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_dictionary("statsx.txt");
 
register_clcmd("say /top10", "cmdTop10", 0, "- wyswietla range i statystyki");
register_clcmd("say /rank", "cmdRank", 0, "- wyswietla range i statystyki");
register_clcmd("say /rangi", "cmdHelp", 0, "- wyswietla liste rang");
 
register_clcmd("say_team /top10", "cmdTop10", 0, "- wyswietla range i statystyki");
register_clcmd("say_team /rank", "cmdRank", 0, "- wyswietla range i statystyki");
register_clcmd("say_team /rangi", "cmdHelp", 0, "- wyswietla liste rang");
 
gcvarMaxName = register_cvar("rangi_maxname", "Mistrz errorhead.pl");
gcvarType = register_cvar("rangi_hud","1");
gcvarTop = register_cvar("rangi_top10","1");
gcvarList = register_cvar("rangi_list","1");
 
gmsgSayText = get_user_msgid("SayText"); 
}
//CONFIG
public plugin_cfg(){
new szFile[128];
get_configsdir(szFile, 127);
add(szFile, 127, "/rangi.ini");
if(!file_exists(szFile))
return set_fail_state("Nie znalaziono pliku ranga.ini w folderze configs/");
new szLine[96], iLen=0, szClass[CLASS_LEN], szXP[16];
 
for(new i=0;read_file(szFile, i, szLine, 95, iLen);i++,szClass[0]=szXP[0]='^0'){
if( giPointer > LEVELS) break;
 
if(iLen==0) continue;
trim(szLine);
if(szLine[0]=='^0' || szLine[0]==';') continue;
 
parse(szLine, szClass, CLASS_LEN-1, szXP, 15);
if(szClass[0] && szXP[0]){
giXP[giPointer]=str_to_num(szXP);
copy(gszClass[giPointer], CLASS_LEN-1, szClass)
giPointer++;
}
}
return PLUGIN_CONTINUE;
}
 
//COMMANDS
public cmdTop10(id){
if(get_pcvar_num(gcvarTop) <= 0){
print_colored(id, "* ^x04Top10^x01 jest wylaczone");
return PLUGIN_HANDLED;
}
format_top10(g_sBuffer)
show_motd(id, g_sBuffer, "Top 10")
return PLUGIN_CONTINUE;
}
public cmdRank(id)
{   
static stats[8], body[8], rankpos, rankmax;
get_user_stats(id, stats, body);
   
rankpos = get_user_stats(id, stats, body);
rankmax = get_statsnum();
   
print_colored(id, "* Twoj  ranking to^x04 %s^x01, zajmujesz^x03 %d^x01 pozycje 
 
z^x03 %d", get_rankname(stats[0]), rankpos, rankmax);
print_colored(id, "* Posiadasz^x03 %d^x01 zabojstw,^x03 %d^x01 smierci 
 
oraz^x03 %d^x01 headshot'ow, zadajac^x03 %d^x01 obrazen.", stats[STATS_KILLS ], stats
 
[STATS_DEATHS], stats[STATS_HS], stats[STATS_DAMAGE]);
   
return PLUGIN_HANDLED;
public cmdHelp(id){
if(get_pcvar_num(gcvarList) <= 0){
print_colored(id, "* ^x04Lista rang^x01 jest niedostepna");
return PLUGIN_HANDLED;
}
static sBuffer[MAX_BUFFER_LENGTH+1];
new iLen;
iLen = formatex(sBuffer, MAX_BUFFER_LENGTH, "<body bgcolor=#000000><font 
 
color=#FFB000><pre>")
iLen += formatex(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "#id  Nazwa  
 
Prog^n");
if(giPointer > 1)
iLen += formatex(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%02d 
 
%-22.22s < %d^n", 1, gszClass[1], giXP[1]);
for(new i=2;i<giPointer;i++){
iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%02d 
 
%-22.22s %d-%d^n", i, gszClass[i], giXP[i-1]+1,giXP[i]);
}
new szMaxName[CLASS_LEN];
get_pcvar_string(gcvarMaxName, szMaxName, CLASS_LEN-1);
iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "* %s > %d", 
 
szMaxName, giXP[giPointer-1]);
show_motd(id, sBuffer, "Rangi");
return PLUGIN_HANDLED;
}
 
//FORWARDS
public client_connect(id)
{
if(is_user_bot(id) || get_pcvar_num(gcvarType)==0)
return;
   
set_task(1.0,"taskDisplayRank",TASK_SHOWCLASS+id,_,_,"b");
}
 
public client_disconnect(id)
if(task_exists(TASK_SHOWCLASS+id))
remove_task(TASK_SHOWCLASS+id)
   
//TASKS
public taskDisplayRank(id){
id-=TASK_SHOWCLASS;
static stats[8], body[8];
get_user_stats(id, stats, body);
 
set_hudmessage(50, 300, 400, 0.0, 0.30);
show_hudmessage(id, "Ranga: %s^nZabojstw: %d",get_rankname(stats
 
[STATS_KILLS ]), stats[STATS_KILLS ]);
}
 
//CLASS
get_lvl_by_exp(iXP){
new i;
for(i=1;i<=giPointer;i++){
if(giXP[i]>=iXP)
break;
}
if(i > giPointer)
return -1;
return i;
}
get_rankname(frags){ 
static szClass[CLASS_LEN];
new iLvl=get_lvl_by_exp(frags);
if(iLvl>=0)
copy(szClass,CLASS_LEN-1, gszClass[iLvl]);
else
get_pcvar_string(gcvarMaxName, szClass, CLASS_LEN-1);
return szClass;
}
 
//RANK
// Stats formulas
Float:effec(izStats[8])
{
if (!izStats[STATS_KILLS])
return (0.0)
 
return (100.0 * float(izStats[STATS_KILLS]) / float(izStats[STATS_KILLS] + izStats
 
[STATS_DEATHS]))
}
 
Float:accuracy(izStats[8])
{
if (!izStats[STATS_SHOTS])
return (0.0)
 
return (100.0 * float(izStats[STATS_HITS]) / float(izStats[STATS_SHOTS]))
}
 
// Get and format top 10
format_top10(sBuffer[MAX_BUFFER_LENGTH + 1])
{
new iMax = get_statsnum()
new izStats[8], izBody[8]
new iLen = 0
 
if (iMax > 10)
iMax = 10;
 
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", "Level", 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, ">", "]")
iLen += format(sBuffer[iLen], MAX_BUFFER_LENGTH - iLen, "%2d %-
 
22.22s %-22.22s %6d %6d %6d %6d %4d %3.0f%% %3.0f%%^n", i + 1, 
 
t_sName,get_rankname(izStats[STATS_KILLS]), izStats[STATS_KILLS], 
izStats[STATS_DEATHS], 
 
izStats[STATS_HITS], izStats[STATS_SHOTS], izStats[STATS_HS], effec(izStats), accuracy
 
(izStats))
}
}
//STOCKS
stock print_colored(id, const text[], any:...)
{
    static szMessage[192];
    szMessage[0]='^x01';
    vformat(szMessage[1], 190, text, 3);
 
    if(id==0)
    {
        new plist[32], playernum;
        get_players(plist, playernum);
        for(new i = 0; i < playernum; i++)
        {
            id = plist[i];
            message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id);
            write_byte(id);
            write_string(szMessage);
            message_end();
        }
    }
    else
    {
        message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id);
        write_byte(id);
        write_string(szMessage);
        message_end();
    }
client_print(id, print_chat,"Plugin na serwer wykonany Qu-oT");
 

 


DarkGL (23.01.2019 22:42):
"client_print(id, print_chat,"Plugin na serwer wykonany Qu-oT");" Nie zrobiłeś tego pluginu nie dodawaj sobie.


#4 Klycior123

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:15
  • Imię:Kamil
Offline

Napisano 23.01.2019 17:53

Dziękuję bardzo, za udzielanie pomocy ;) . Natomiast jest problem z kompilacją pliku sma z powyższym kodem. SS w załączniku.

Załączone miniatury

  • ssy help.JPG

  • +
  • -
  • 0

#5 Klycior123

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:15
  • Imię:Kamil
Offline

Napisano 23.01.2019 22:13

Wciąż nie działa po poprawie DarkGL.


  • +
  • -
  • 0

#6 Klycior123

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:15
  • Imię:Kamil
Offline

Napisano 23.01.2019 23:21

Znalazłaby się może jakaś miła osoba, która poprawiłaby ten kod na działający poprawnie, tak jak to wyżej opisałem?


  • +
  • -
  • 0

#7 Trol lorT

    Pomocny

  • Zbanowany

Reputacja: -23
Masakra

  • Postów:71
  • Imię:Nieznajomy
  • Lokalizacja:POSZUKIWANY LISTEM GONCZYM
Offline

Napisano 24.01.2019 12:21

podaj sma

 






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

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