help

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Locked
User avatar
spedon
Membru, skill 0
Membru, skill 0
Posts: 31
Joined: 25 Nov 2016, 04:41
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 8 times
Contact:

27 Jul 2021, 02:30

hi can some one help me on this, i want to add tottal team's score win on evrey map
for example if the map is de_dust2 it will show on hud how many time's CT won and how many times terrorist win.

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <fun>

new g_iTScore, g_iCTScore, g_iRounds

public plugin_init()
{
    register_plugin("Score & Round", "1.0", "OciXCrom")
    
    register_event("HLTV", "OnRoundStart", "a", "1=0", "2=0")
    register_event("TextMsg", "OnRoundRestart", "a", "2&#Game_C", "2&#Game_w")
    register_event("SendAudio", "OnTerroristWin", "a", "2&%!MRAD_terwin")
    register_event("SendAudio", "OnCTWin", "a", "2&%!MRAD_ctwin" )
    set_task(1.0, "ShowInfo", .flags = "b")
}

public OnRoundStart()
	g_iRounds++

public OnRoundRestart()
{
	g_iRounds = 0
	g_iTScore = 0
	g_iCTScore = 0
}

public OnTerroristWin()
	g_iTScore++

public OnCTWin()
	g_iCTScore++

public ShowInfo(id)
{
	set_hudmessage(255, 255, 255, -1.0, 0.01, _, _, 1.0)
	show_hudmessage(0, "CT VS Terrorist^n %i -------- %i", g_iCTScore, g_iTScore)
}
Last edited by spedon on 19 Jan 2023, 04:43, edited 2 times in total.
RoyalServer
User avatar
spedon
Membru, skill 0
Membru, skill 0
Posts: 31
Joined: 25 Nov 2016, 04:41
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 8 times
Contact:

29 Jul 2021, 03:16

upp
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 917
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

29 Jul 2021, 05:25

Heyo, i hope it's working fine:

Code: Select all

#include <amxmodx>
#include <nvault>

#define PLUGIN "Score and Round"
#define VERSION "1.0"
#define AUTHOR "lexzor"

#define ColorR 255
#define ColorG 255
#define ColorB 255

#define SIZEOFDATA 5

#pragma semicolon 1

enum _:DATA
{
    T,
    CT,
    TotalT,
    TotalCT,
    ROUND
}

new g_iData[DATA];

new const g_sznVaultName[] = "scoreandround";
new g_nVault;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_event("HLTV", "OnRoundStart", "a", "1=0", "2=0");
    register_event("TextMsg", "OnRoundRestart", "a", "2&#Game_C", "2&#Game_w");
    register_event("SendAudio", "OnTerroristWin", "a", "2&%!MRAD_terwin");
    register_event("SendAudio", "OnCTWin", "a", "2&%!MRAD_ctwin" );
    set_task(1.0, "ShowInfo", .flags = "b");

    g_nVault = nvault_open(g_sznVaultName);

    if(g_nVault == -1)
    {
        set_fail_state("[%s] Plugin couldn't open nVault file!", PLUGIN);
    }

    _GetData();
}

public plugin_end()
{
    nvault_close(g_nVault);
}

public _GetData()
{
    new szData[64], szT[4], szCT[4], iTS;

    if(nvault_lookup(g_nVault, "score", szData, charsmax(szData), iTS))
    {
        replace_all(szData, charsmax(szData), "#", " ");
        parse(szData, szT, charsmax(szT), szCT, charsmax(szCT));
        g_iData[TotalT] = str_to_num(szT);
        g_iData[TotalCT] = str_to_num(szCT);
    }
    else 
    {
        for(new i = 0; i < SIZEOFDATA; i++)
        {
            g_iData[i] = 0;
        }
    }
}

public OnRoundStart()
{
    g_iData[ROUND]++;

    new szData[64];
    formatex(szData, charsmax(szData), "%i#%i", g_iData[TotalT], g_iData[TotalCT]);
    nvault_set(g_nVault, "score", szData);
}

public OnRoundRestart()
{
    g_iData[T] = 0;
    g_iData[CT] = 0;
    g_iData[ROUND] = 0;
}

public OnTerroristWin()
{
    g_iData[T] += 1;
    g_iData[TotalT] += 1;
}

public OnCTWin()
{
    g_iData[CT] += 1;
    g_iData[TotalCT] += 1;
}

public ShowInfo()
{
    new szMessage[128];
    new iTimeleft = get_timeleft();

    formatex(szMessage, charsmax(szMessage), "Counter VS Terrorist^n%i -------- %i^nRound %i^n%d:%02d^nCT Total Wins %i [-] %i T Total Wins",
    g_iData[CT], g_iData[T], g_iData[ROUND], iTimeleft / 60, iTimeleft % 60, g_iData[TotalCT], g_iData[TotalT]);

    set_hudmessage(ColorR, ColorG, ColorB, -1.0, 0.03, _, _, 1.0, _, _, -1);
    show_hudmessage(0, szMessage);
}
You can change the color from these lines:

Code: Select all

#define ColorR 255
#define ColorG 255
#define ColorB 255
Last edited by lexz on 29 Jul 2021, 06:46, edited 1 time in total.
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 917
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

29 Jul 2021, 06:07

I think this is better (not tested if the data are saved, but should)

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Score and Round"
#define VERSION "1.1"
#define AUTHOR "lexzor"

#define ColorR 255
#define ColorG 255
#define ColorB 255

#define SIZEOFDATA 5

#pragma semicolon 1

enum _:DATA
{
    T,
    CT,
    TotalT,
    TotalCT,
    ROUND
}

new g_iData[DATA];
new const g_sznVaultName[] = "scoreandround";
new g_nVault;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_event("HLTV", "OnRoundStart", "a", "1=0", "2=0");
    register_event("TextMsg", "OnRoundRestart", "a", "2&#Game_C", "2&#Game_w");
    register_event("SendAudio", "OnTerroristWin", "a", "2&%!MRAD_terwin");
    register_event("SendAudio", "OnCTWin", "a", "2&%!MRAD_ctwin" );
    set_task(1.0, "ShowInfo", .flags = "b");

    register_clcmd("amx_reset_score_hud", "reset_data", ADMIN_LEVEL_A, "Reset saved team score");
    
    g_nVault = nvault_open(g_sznVaultName);

    if(g_nVault == -1)
    {
        set_fail_state("[%s] Plugin couldn't open nVault file!", PLUGIN);
    }

    _GetData();
}

public plugin_end()
{
    _SaveData();
    nvault_close(g_nVault);
}

public reset_data(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
    {
        return PLUGIN_HANDLED;
    }

    nvault_remove(g_nVault, "score");

    client_print(id, print_console, "[%s] The team score was reset!", PLUGIN);

    return PLUGIN_CONTINUE;
}

public _GetData()
{
    new szData[64], szT[4], szCT[4], iTS;

    if(nvault_lookup(g_nVault, "score", szData, charsmax(szData), iTS))
    {
        replace_all(szData, charsmax(szData), "#", " ");
        parse(szData, szT, charsmax(szT), szCT, charsmax(szCT));
        g_iData[TotalT] = str_to_num(szT);
        g_iData[TotalCT] = str_to_num(szCT);
    }
    else 
    {
        for(new i = 0; i < SIZEOFDATA; i++)
        {
            g_iData[i] = 0;
        }
    }
}

public _SaveData()
{
    new szData[64];
    formatex(szData, charsmax(szData), "%i#%i", g_iData[TotalT], g_iData[TotalCT]);
    nvault_set(g_nVault, "score", szData);
}

public OnRoundStart()
{
    g_iData[ROUND]++;
}

public OnRoundRestart()
{
    g_iData[T] = 0;
    g_iData[CT] = 0;
    g_iData[ROUND] = 0;
}

public OnTerroristWin()
{
    g_iData[T] += 1;
    g_iData[TotalT] += 1;
}

public OnCTWin()
{
    g_iData[CT] += 1;
    g_iData[TotalCT] += 1;
}

public ShowInfo()
{
    new szMessage[128];
    new iTimeleft = get_timeleft();

    formatex(szMessage, charsmax(szMessage), "Counter VS Terrorist^n%i -------- %i^nRound %i^n%d:%02d^nCT Total Wins %i [-] %i T Total Wins",
    g_iData[CT], g_iData[T], g_iData[ROUND], iTimeleft / 60, iTimeleft % 60, g_iData[TotalCT], g_iData[TotalT]);

    set_hudmessage(ColorR, ColorG, ColorB, -1.0, 0.03, _, _, 1.0, _, _, -1);
    show_hudmessage(0, szMessage);
}
i added 1 command

amx_reset_score_hud -> delete saved data from storage
User avatar
spedon
Membru, skill 0
Membru, skill 0
Posts: 31
Joined: 25 Nov 2016, 04:41
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 8 times
Contact:

30 Jul 2021, 03:25

lexz wrote:
29 Jul 2021, 06:07
I think this is better (not tested if the data are saved, but should)

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Score and Round"
#define VERSION "1.1"
#define AUTHOR "lexzor"

#define ColorR 255
#define ColorG 255
#define ColorB 255

#define SIZEOFDATA 5

#pragma semicolon 1

enum _:DATA
{
    T,
    CT,
    TotalT,
    TotalCT,
    ROUND
}

new g_iData[DATA];
new const g_sznVaultName[] = "scoreandround";
new g_nVault;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_event("HLTV", "OnRoundStart", "a", "1=0", "2=0");
    register_event("TextMsg", "OnRoundRestart", "a", "2&#Game_C", "2&#Game_w");
    register_event("SendAudio", "OnTerroristWin", "a", "2&%!MRAD_terwin");
    register_event("SendAudio", "OnCTWin", "a", "2&%!MRAD_ctwin" );
    set_task(1.0, "ShowInfo", .flags = "b");

    register_clcmd("amx_reset_score_hud", "reset_data", ADMIN_LEVEL_A, "Reset saved team score");
    
    g_nVault = nvault_open(g_sznVaultName);

    if(g_nVault == -1)
    {
        set_fail_state("[%s] Plugin couldn't open nVault file!", PLUGIN);
    }

    _GetData();
}

public plugin_end()
{
    _SaveData();
    nvault_close(g_nVault);
}

public reset_data(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
    {
        return PLUGIN_HANDLED;
    }

    nvault_remove(g_nVault, "score");

    client_print(id, print_console, "[%s] The team score was reset!", PLUGIN);

    return PLUGIN_CONTINUE;
}

public _GetData()
{
    new szData[64], szT[4], szCT[4], iTS;

    if(nvault_lookup(g_nVault, "score", szData, charsmax(szData), iTS))
    {
        replace_all(szData, charsmax(szData), "#", " ");
        parse(szData, szT, charsmax(szT), szCT, charsmax(szCT));
        g_iData[TotalT] = str_to_num(szT);
        g_iData[TotalCT] = str_to_num(szCT);
    }
    else 
    {
        for(new i = 0; i < SIZEOFDATA; i++)
        {
            g_iData[i] = 0;
        }
    }
}

public _SaveData()
{
    new szData[64];
    formatex(szData, charsmax(szData), "%i#%i", g_iData[TotalT], g_iData[TotalCT]);
    nvault_set(g_nVault, "score", szData);
}

public OnRoundStart()
{
    g_iData[ROUND]++;
}

public OnRoundRestart()
{
    g_iData[T] = 0;
    g_iData[CT] = 0;
    g_iData[ROUND] = 0;
}

public OnTerroristWin()
{
    g_iData[T] += 1;
    g_iData[TotalT] += 1;
}

public OnCTWin()
{
    g_iData[CT] += 1;
    g_iData[TotalCT] += 1;
}

public ShowInfo()
{
    new szMessage[128];
    new iTimeleft = get_timeleft();

    formatex(szMessage, charsmax(szMessage), "Counter VS Terrorist^n%i -------- %i^nRound %i^n%d:%02d^nCT Total Wins %i [-] %i T Total Wins",
    g_iData[CT], g_iData[T], g_iData[ROUND], iTimeleft / 60, iTimeleft % 60, g_iData[TotalCT], g_iData[TotalT]);

    set_hudmessage(ColorR, ColorG, ColorB, -1.0, 0.03, _, _, 1.0, _, _, -1);
    show_hudmessage(0, szMessage);
}
i added 1 command

amx_reset_score_hud -> delete saved data from storage
ty its working, i want another thing if you can help me, i want evrey map have own tottal team wins
for example if map now is de_dust2 tottal win is 10 - 5 and i change map to cs_italy the tottal wins will be differnt not the same as de_dust2, hope you understand me :funny_cat:
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 917
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 71 times
Been thanked: 136 times

30 Jul 2021, 04:19

not tested

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Score and Round"
#define VERSION "1.1"
#define AUTHOR "lexzor"

#define ColorR 255
#define ColorG 255
#define ColorB 255

#define SIZEOFDATA 5

#pragma semicolon 1

enum _:DATA
{
    T,
    CT,
    TotalT,
    TotalCT,
    ROUND
}

new g_iData[DATA];
new const g_sznVaultName[] = "scoreandround";
new g_nVault;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_event("HLTV", "OnRoundStart", "a", "1=0", "2=0");
    register_event("TextMsg", "OnRoundRestart", "a", "2&#Game_C", "2&#Game_w");
    register_event("SendAudio", "OnTerroristWin", "a", "2&%!MRAD_terwin");
    register_event("SendAudio", "OnCTWin", "a", "2&%!MRAD_ctwin" );
    set_task(1.0, "ShowInfo", .flags = "b");

    register_clcmd("amx_reset_score_hud", "reset_data", ADMIN_LEVEL_A, "Reset saved team score");
    
    g_nVault = nvault_open(g_sznVaultName);

    if(g_nVault == -1)
    {
        set_fail_state("[%s] Plugin couldn't open nVault file!", PLUGIN);
    }

    _GetData();
}

public plugin_end()
{
    _SaveData();
    nvault_close(g_nVault);
}

public reset_data(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
    {
        return PLUGIN_HANDLED;
    }

    new szMap[64];

    get_mapname(szMap, charsmax(szMap));

    nvault_remove(g_nVault, szMap);

    client_print(id, print_console, "[%s] The team score was reset!", PLUGIN);

    return PLUGIN_CONTINUE;
}

public _GetData()
{
    new szData[64], szT[4], szCT[4], iTS;

    new szMap[64];

    get_mapname(szMap, charsmax(szMap));

    if(nvault_lookup(g_nVault, szMap, szData, charsmax(szData), iTS))
    {
        replace_all(szData, charsmax(szData), "#", " ");
        parse(szData, szT, charsmax(szT), szCT, charsmax(szCT));
        g_iData[TotalT] = str_to_num(szT);
        g_iData[TotalCT] = str_to_num(szCT);
    }
    else 
    {
        for(new i = 0; i < SIZEOFDATA; i++)
        {
            g_iData[i] = 0;
        }
    }
}

public _SaveData()
{
    new szData[64];
    new szMap[64];

    get_mapname(szMap, charsmax(szMap));

    formatex(szData, charsmax(szData), "%i#%i", g_iData[TotalT], g_iData[TotalCT]);
    nvault_set(g_nVault, szMap, szData);
}

public OnRoundStart()
{
    g_iData[ROUND]++;
}

public OnRoundRestart()
{
    g_iData[T] = 0;
    g_iData[CT] = 0;
    g_iData[ROUND] = 0;
}

public OnTerroristWin()
{
    g_iData[T] += 1;
    g_iData[TotalT] += 1;
}

public OnCTWin()
{
    g_iData[CT] += 1;
    g_iData[TotalCT] += 1;
}

public ShowInfo()
{
    new szMessage[128], szMap[64];
    new iTimeleft = get_timeleft();

    get_mapname(szMap, charsmax(szMap));

    formatex(szMessage, charsmax(szMessage), "Counter VS Terrorist^n%i -------- %i^nRound %i^n%d:%02d^nMap %s^nCT Total Wins %i [-] %i T Total Wins",
    g_iData[CT], g_iData[T], g_iData[ROUND], iTimeleft / 60, iTimeleft % 60, szMap, g_iData[TotalCT], g_iData[TotalT]);

    set_hudmessage(ColorR, ColorG, ColorB, -1.0, 0.03, _, _, 1.0, _, _, -1);
    show_hudmessage(0, szMessage);
}
User avatar
spedon
Membru, skill 0
Membru, skill 0
Posts: 31
Joined: 25 Nov 2016, 04:41
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 8 times
Contact:

30 Jul 2021, 04:42

lexz wrote:
30 Jul 2021, 04:19
not tested

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Score and Round"
#define VERSION "1.1"
#define AUTHOR "lexzor"

#define ColorR 255
#define ColorG 255
#define ColorB 255

#define SIZEOFDATA 5

#pragma semicolon 1

enum _:DATA
{
    T,
    CT,
    TotalT,
    TotalCT,
    ROUND
}

new g_iData[DATA];
new const g_sznVaultName[] = "scoreandround";
new g_nVault;

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_event("HLTV", "OnRoundStart", "a", "1=0", "2=0");
    register_event("TextMsg", "OnRoundRestart", "a", "2&#Game_C", "2&#Game_w");
    register_event("SendAudio", "OnTerroristWin", "a", "2&%!MRAD_terwin");
    register_event("SendAudio", "OnCTWin", "a", "2&%!MRAD_ctwin" );
    set_task(1.0, "ShowInfo", .flags = "b");

    register_clcmd("amx_reset_score_hud", "reset_data", ADMIN_LEVEL_A, "Reset saved team score");
    
    g_nVault = nvault_open(g_sznVaultName);

    if(g_nVault == -1)
    {
        set_fail_state("[%s] Plugin couldn't open nVault file!", PLUGIN);
    }

    _GetData();
}

public plugin_end()
{
    _SaveData();
    nvault_close(g_nVault);
}

public reset_data(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
    {
        return PLUGIN_HANDLED;
    }

    new szMap[64];

    get_mapname(szMap, charsmax(szMap));

    nvault_remove(g_nVault, szMap);

    client_print(id, print_console, "[%s] The team score was reset!", PLUGIN);

    return PLUGIN_CONTINUE;
}

public _GetData()
{
    new szData[64], szT[4], szCT[4], iTS;

    new szMap[64];

    get_mapname(szMap, charsmax(szMap));

    if(nvault_lookup(g_nVault, szMap, szData, charsmax(szData), iTS))
    {
        replace_all(szData, charsmax(szData), "#", " ");
        parse(szData, szT, charsmax(szT), szCT, charsmax(szCT));
        g_iData[TotalT] = str_to_num(szT);
        g_iData[TotalCT] = str_to_num(szCT);
    }
    else 
    {
        for(new i = 0; i < SIZEOFDATA; i++)
        {
            g_iData[i] = 0;
        }
    }
}

public _SaveData()
{
    new szData[64];
    new szMap[64];

    get_mapname(szMap, charsmax(szMap));

    formatex(szData, charsmax(szData), "%i#%i", g_iData[TotalT], g_iData[TotalCT]);
    nvault_set(g_nVault, szMap, szData);
}

public OnRoundStart()
{
    g_iData[ROUND]++;
}

public OnRoundRestart()
{
    g_iData[T] = 0;
    g_iData[CT] = 0;
    g_iData[ROUND] = 0;
}

public OnTerroristWin()
{
    g_iData[T] += 1;
    g_iData[TotalT] += 1;
}

public OnCTWin()
{
    g_iData[CT] += 1;
    g_iData[TotalCT] += 1;
}

public ShowInfo()
{
    new szMessage[128], szMap[64];
    new iTimeleft = get_timeleft();

    get_mapname(szMap, charsmax(szMap));

    formatex(szMessage, charsmax(szMessage), "Counter VS Terrorist^n%i -------- %i^nRound %i^n%d:%02d^nMap %s^nCT Total Wins %i [-] %i T Total Wins",
    g_iData[CT], g_iData[T], g_iData[ROUND], iTimeleft / 60, iTimeleft % 60, szMap, g_iData[TotalCT], g_iData[TotalT]);

    set_hudmessage(ColorR, ColorG, ColorB, -1.0, 0.03, _, _, 1.0, _, _, -1);
    show_hudmessage(0, szMessage);
}
thx a lot bro
LOCK this
Locked

Return to “Modificari pluginuri”

  • Information