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

Nie pokazuje Stattrak w HUD


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

#1 peja222

    Zaawansowany

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:124
  • Imię:Maciej
  • Lokalizacja:Kolin
Offline

Napisano 12.02.2023 16:28

Spoiler

 

Witam, posiadam plugin Stattrak znaleziony tutaj na forum, jest przerobiony aby widniał w HUD jako jedna linijka, lecz niestety sie nie kompiluje. Moglyby ktos pomoc?

 

Spoiler


Użytkownik peja222 edytował ten post 12.02.2023 16:30

  • +
  • -
  • 0

#2 mordoryjacz

    Profesjonalista

  • Użytkownik

Reputacja: 24
Życzliwy

  • Postów:171
Offline

Napisano 12.02.2023 16:41

daj linka do tematu skad masz ten plugin 

znalazlem sam 

#include <amxmodx>
#include <nvault>
 
#define AUTHOR "Alelluja | aSior - amxx.pl/user/60210-asiorr/"
 
#define ForRange(%1,%2,%3) for(new %1 = %2; %1 <= %3; %1++)
#define ForArray(%1,%2) for(new %1 = 0; %1 < sizeof %2; %1++)
 
new const statTrakMenuCommands[][] =
{
    "/stattrak",
    "/st"
};
 
new const weaponsData[][] =
{
	"NOZ",
    "AK47",
    "M4A1",
    "AWP",
    "MP5",
    "FAMAS",
    "AUG",
    "MAC10",
    "SG550",
    "UMP45",
    "GALIL",
    "P90",
    "TMP",
    "M249",
    "XM1014",
    "M3",
    "SCOUT",
    "AWP",
    "G3SG1 (autokampa)",
    "SG552 (autokampa)",
    "USP",
    "GLOCK18",
    "DEAGLE",
    "ELITE",
    "P228",
    "FIVESEVEN",
    "HE GRENADE"
};
 
new const weaponIndexes[] =
{
	CSW_KNIFE,
    CSW_AK47,
    CSW_M4A1,
    CSW_AWP,
    CSW_MP5NAVY,
    CSW_FAMAS,
    CSW_AUG,
    CSW_MAC10,
    CSW_SG550,
    CSW_UMP45,
    CSW_GALI,
    CSW_TMP,
    CSW_P90,
    CSW_M249,
    CSW_XM1014,
    CSW_M3,
    CSW_SCOUT,
    CSW_AWP,
    CSW_G3SG1,
    CSW_SG552,
    CSW_USP,
    CSW_GLOCK18,
    CSW_DEAGLE,
    CSW_ELITE,
    CSW_P228,
    CSW_FIVESEVEN,
    CSW_HEGRENADE

};
 
 
new userStatTrak[33][33],
    vaultFile;
 
public plugin_init()
{
    register_plugin("Stattrak CSGO", "v0.1", AUTHOR);
   
    registerCommands(statTrakMenuCommands, charsmax(statTrakMenuCommands), "statTrakMenu");
 
    register_event("DeathMsg", "playerDeathEvent", "a");
 
    vaultFile = nvault_open("statTrak");
}
 
public playerDeathEvent()
{
    new killer = read_data(1),
        victim = read_data(2),
        weaponName[33],
        weaponIndex;
 
    if(killer == victim || !is_user_connected(killer) || !is_user_connected(victim))
    {
        return;
    }
 
    read_data(4, weaponName, charsmax(weaponName));
 
    format(weaponName, charsmax(weaponName), "weapon_%s", weaponName);
 
    weaponIndex = get_weaponid(weaponName);
 
    if(!weaponIndex || !inArray(weaponIndex, weaponIndexes, sizeof(weaponIndexes)))
    {
        return;
    }
 
    userStatTrak[killer][weaponIndex]++;
}
 
public statTrakMenu(index)
{
    new menuIndex = menu_create("Menu StatTrak:", "statTrakMenu_handler"),
        item[33],
        menuCallback = menu_makecallback("blockOptions");
 
    ForArray(i, weaponsData)
    {
        formatex(item, charsmax(item), "\r%s \w--> \rZabojstwa: %i", weaponsData[i], userStatTrak[index][weaponIndexes[i]]);
       
        menu_additem(menuIndex, item, _, _, menuCallback);
    }
 
    menu_display(index, menuIndex);
 
    return PLUGIN_HANDLED;
}
 
public statTrakMenu_handler(id, menu, item)
{
    menu_destroy(menu);
   
    if(item == MENU_EXIT)
    {
        return PLUGIN_HANDLED;
    }
 
    return PLUGIN_HANDLED;
}
 
public blockOptions(index, menu, item)
{
    return ITEM_DISABLED;
}
 
public client_putinserver(index)
{
    readData(index);
}
 
public client_disconnect(index)
{
    saveData(index);
}

saveData(index)
{
    new userName[33],
        vaultKey[33],
        vaultData[33];
 
    get_user_name(index, userName, charsmax(userName));
 
    formatex(vaultKey, charsmax(vaultKey), "%s-statTrak", userName);
   
    ForArray(i, weaponIndexes)
    {
        format(vaultData, charsmax(vaultData), "%s%i#", vaultData, userStatTrak[index][weaponIndexes[i]]);
    }
 
    nvault_set(vaultFile, vaultKey, vaultData);
}
 
readData(index)
{
    new userName[33],
        vaultKey[33],
        vaultData[33],
        intValues[20][20];
 
    get_user_name(index, userName, charsmax(userName));
 
    formatex(vaultKey, charsmax(vaultKey), "%s-statTrak", userName);
 
    nvault_get(vaultFile, vaultKey, vaultData, charsmax(vaultData));
 
    explode(vaultData, '#', intValues, charsmax(intValues), sizeof(weaponIndexes))
 
    ForArray(i, weaponIndexes)
    {
        userStatTrak[index][weaponIndexes[i]] = str_to_num(intValues[i]);
    }
}

inArray(value, const array[], arraySize)
{
    ForRange(i, 0, arraySize)
    {
        if(array[i] == value)
        {
            return true;
        }
    }
 
    return false;
}
 
stock explode(const string[],const character,output[][],const maxs,const maxlen)
{
    new iDo = 0,
        len = strlen(string),
        oLen = 0;
 
    do
    {
        oLen += (1+copyc(output[iDo++],maxlen,string[oLen],character))
    }
    while(oLen < len && iDo < maxs)
}
 
 
stock registerCommands(const array[][], arraySize, function[])
{
    #if !defined ForRange
 
        #define ForRange(%1,%2,%3) for(new %1 = %2; %1 <= %3; %1++)
 
    #endif
 
    #if AMXX_VERSION_NUM < 183
   
    ForRange(i, 0, arraySize - 1)
    {
        ForRange(j, 0, 1)
        {
            register_clcmd(fmt("%s %s", !j ? "say" : "say_team", array[i]), function);
        }
    }
 
    #else
 
    new newCommand[33];
 
    ForRange(i, 0, arraySize - 1)
    {
        ForRange(j, 0, 1)
        {
            formatex(newCommand, charsmax(newCommand), "%s %s", !j ? "say" : "say_team", array[i]);
            register_clcmd(newCommand, function);
        }
    }
 
    #endif
}

Użytkownik mordoryjacz edytował ten post 12.02.2023 16:45

  • +
  • -
  • 0

#3 peja222

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:124
  • Imię:Maciej
  • Lokalizacja:Kolin
Offline

Napisano 12.02.2023 17:32

 

daj linka do tematu skad masz ten plugin 

znalazlem sam 

#include <amxmodx>
#include <nvault>
 
#define AUTHOR "Alelluja | aSior - amxx.pl/user/60210-asiorr/"
 
#define ForRange(%1,%2,%3) for(new %1 = %2; %1 <= %3; %1++)
#define ForArray(%1,%2) for(new %1 = 0; %1 < sizeof %2; %1++)
 
new const statTrakMenuCommands[][] =
{
    "/stattrak",
    "/st"
};
 
new const weaponsData[][] =
{
	"NOZ",
    "AK47",
    "M4A1",
    "AWP",
    "MP5",
    "FAMAS",
    "AUG",
    "MAC10",
    "SG550",
    "UMP45",
    "GALIL",
    "P90",
    "TMP",
    "M249",
    "XM1014",
    "M3",
    "SCOUT",
    "AWP",
    "G3SG1 (autokampa)",
    "SG552 (autokampa)",
    "USP",
    "GLOCK18",
    "DEAGLE",
    "ELITE",
    "P228",
    "FIVESEVEN",
    "HE GRENADE"
};
 
new const weaponIndexes[] =
{
	CSW_KNIFE,
    CSW_AK47,
    CSW_M4A1,
    CSW_AWP,
    CSW_MP5NAVY,
    CSW_FAMAS,
    CSW_AUG,
    CSW_MAC10,
    CSW_SG550,
    CSW_UMP45,
    CSW_GALI,
    CSW_TMP,
    CSW_P90,
    CSW_M249,
    CSW_XM1014,
    CSW_M3,
    CSW_SCOUT,
    CSW_AWP,
    CSW_G3SG1,
    CSW_SG552,
    CSW_USP,
    CSW_GLOCK18,
    CSW_DEAGLE,
    CSW_ELITE,
    CSW_P228,
    CSW_FIVESEVEN,
    CSW_HEGRENADE

};
 
 
new userStatTrak[33][33],
    vaultFile;
 
public plugin_init()
{
    register_plugin("Stattrak CSGO", "v0.1", AUTHOR);
   
    registerCommands(statTrakMenuCommands, charsmax(statTrakMenuCommands), "statTrakMenu");
 
    register_event("DeathMsg", "playerDeathEvent", "a");
 
    vaultFile = nvault_open("statTrak");
}
 
public playerDeathEvent()
{
    new killer = read_data(1),
        victim = read_data(2),
        weaponName[33],
        weaponIndex;
 
    if(killer == victim || !is_user_connected(killer) || !is_user_connected(victim))
    {
        return;
    }
 
    read_data(4, weaponName, charsmax(weaponName));
 
    format(weaponName, charsmax(weaponName), "weapon_%s", weaponName);
 
    weaponIndex = get_weaponid(weaponName);
 
    if(!weaponIndex || !inArray(weaponIndex, weaponIndexes, sizeof(weaponIndexes)))
    {
        return;
    }
 
    userStatTrak[killer][weaponIndex]++;
}
 
public statTrakMenu(index)
{
    new menuIndex = menu_create("Menu StatTrak:", "statTrakMenu_handler"),
        item[33],
        menuCallback = menu_makecallback("blockOptions");
 
    ForArray(i, weaponsData)
    {
        formatex(item, charsmax(item), "\r%s \w--> \rZabojstwa: %i", weaponsData[i], userStatTrak[index][weaponIndexes[i]]);
       
        menu_additem(menuIndex, item, _, _, menuCallback);
    }
 
    menu_display(index, menuIndex);
 
    return PLUGIN_HANDLED;
}
 
public statTrakMenu_handler(id, menu, item)
{
    menu_destroy(menu);
   
    if(item == MENU_EXIT)
    {
        return PLUGIN_HANDLED;
    }
 
    return PLUGIN_HANDLED;
}
 
public blockOptions(index, menu, item)
{
    return ITEM_DISABLED;
}
 
public client_putinserver(index)
{
    readData(index);
}
 
public client_disconnect(index)
{
    saveData(index);
}

saveData(index)
{
    new userName[33],
        vaultKey[33],
        vaultData[33];
 
    get_user_name(index, userName, charsmax(userName));
 
    formatex(vaultKey, charsmax(vaultKey), "%s-statTrak", userName);
   
    ForArray(i, weaponIndexes)
    {
        format(vaultData, charsmax(vaultData), "%s%i#", vaultData, userStatTrak[index][weaponIndexes[i]]);
    }
 
    nvault_set(vaultFile, vaultKey, vaultData);
}
 
readData(index)
{
    new userName[33],
        vaultKey[33],
        vaultData[33],
        intValues[20][20];
 
    get_user_name(index, userName, charsmax(userName));
 
    formatex(vaultKey, charsmax(vaultKey), "%s-statTrak", userName);
 
    nvault_get(vaultFile, vaultKey, vaultData, charsmax(vaultData));
 
    explode(vaultData, '#', intValues, charsmax(intValues), sizeof(weaponIndexes))
 
    ForArray(i, weaponIndexes)
    {
        userStatTrak[index][weaponIndexes[i]] = str_to_num(intValues[i]);
    }
}

inArray(value, const array[], arraySize)
{
    ForRange(i, 0, arraySize)
    {
        if(array[i] == value)
        {
            return true;
        }
    }
 
    return false;
}
 
stock explode(const string[],const character,output[][],const maxs,const maxlen)
{
    new iDo = 0,
        len = strlen(string),
        oLen = 0;
 
    do
    {
        oLen += (1+copyc(output[iDo++],maxlen,string[oLen],character))
    }
    while(oLen < len && iDo < maxs)
}
 
 
stock registerCommands(const array[][], arraySize, function[])
{
    #if !defined ForRange
 
        #define ForRange(%1,%2,%3) for(new %1 = %2; %1 <= %3; %1++)
 
    #endif
 
    #if AMXX_VERSION_NUM < 183
   
    ForRange(i, 0, arraySize - 1)
    {
        ForRange(j, 0, 1)
        {
            register_clcmd(fmt("%s %s", !j ? "say" : "say_team", array[i]), function);
        }
    }
 
    #else
 
    new newCommand[33];
 
    ForRange(i, 0, arraySize - 1)
    {
        ForRange(j, 0, 1)
        {
            formatex(newCommand, charsmax(newCommand), "%s %s", !j ? "say" : "say_team", array[i]);
            register_clcmd(newCommand, function);
        }
    }
 
    #endif
}

 

stattrak.sma(244) : error 017: undefined symbol "fmt"


  • +
  • -
  • 0

#4 peja222

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:124
  • Imię:Maciej
  • Lokalizacja:Kolin
Offline

Napisano 12.02.2023 18:50

public hudStatTrak(id, index)
{
set_hudmessage(0, 255, 0, 0.80, 0.76, 1, 0.0, 1.0, 0.5, 0.5)
ShowSyncHudMsg(id, g_iSync,"StatTrak: %i", get_user_kills_on_weapon(index))
}


Zamiast index wpisac po prostu id.

I usunac to index z parametrów funkcji

Mógłby ktoś dodać ten hud do pluginu?

Użytkownik peja222 edytował ten post 12.02.2023 18:52

  • +
  • -
  • 0

#5 mordoryjacz

    Profesjonalista

  • Użytkownik

Reputacja: 24
Życzliwy

  • Postów:171
Offline

Napisano 13.02.2023 09:14

przetestuj

Załączone pliki


  • +
  • -
  • 0




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

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