AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugin/Gameplay Ideas and Requests (https://forums.alliedmods.net/forumdisplay.php?f=60)
-   -   Hint info problem (https://forums.alliedmods.net/showthread.php?t=328338)

JOnDark 11-05-2020 08:23

Hint info problem
 
Hi guys, I found a plugin that shows you some information when you're dead and you're looking at a player.Can someone help me ? where to write level, I want the credits to appear. As a shop I use zephyrus.
I'll leave the script code here

Code:

#pragma semicolon 1
#pragma newdecls required

#include <sourcemod>
#include <clientprefs>
#include <FirePlayersStats>
#include <FPS_HintInfo>

int                g_iPlayerLevel[MAXPLAYERS+1],
                g_iPlayerPosition[MAXPLAYERS+1],
                g_iPlayersCount;
bool        g_bHintState[MAXPLAYERS+1];
float        g_fPlayerPoints[MAXPLAYERS+1];
char        g_sPlayerRank[MAXPLAYERS+1][256];
Handle        g_hCookie;

public Plugin myinfo =
{
        name        =        "FPS Hint Info",
        author        =        "OkyHp",
        version        =        "1.0.0",
        url                =        "https://blackflash.ru/, https://dev-source.ru/, https://hlmod.ru/"
};

public APLRes AskPluginLoad2(Handle hMyself, bool bLate, char[] szError, int iErr_max)
{
        if(GetEngineVersion() != Engine_CSGO)
        {
                return APLRes_Failure;
        }

        CreateNative("FPS_HintInfo_GetState", Native_FPSHintInfo_GetState);
        CreateNative("FPS_HintInfo_SetState", Native_FPSHintInfo_SetState);
        RegPluginLibrary("FPS_HintInfo");
        return APLRes_Success;
}

// bool FPS_HintInfo_GetState(int iClient);
public int Native_FPSHintInfo_GetState(Handle hPlugin, int iNumParams)
{
        int iClient = GetNativeCell(1);
        return (iClient > 0 && iClient <= MaxClients && g_bHintState[iClient]);
}

// void FPS_HintInfo_SetState(int iClient, bool bState);
public int Native_FPSHintInfo_SetState(Handle hPlugin, int iNumParams)
{
        int iClient = GetNativeCell(1);
        if(iClient > 0 && iClient <= MaxClients)
        {
                g_bHintState[iClient] = GetNativeCell(2);
        }
}

public void OnPluginStart()
{
        g_hCookie = RegClientCookie("FPS_HintStatus", "FPS Hint Status", CookieAccess_Private);

        HookEvent("player_death", Event_PlayerDeath, EventHookMode_PostNoCopy);

        LoadTranslations("FPS_HintInfo.phrases");

        char szPath[256];
        BuildPath(Path_SM, SZF(szPath), "translations/FirePlayersStatsRanks.phrases.txt");
        if (FileExists(szPath, false, NULL_STRING))
        {
                LoadTranslations("FirePlayersStatsRanks.phrases");
        }

        if (FPS_StatsLoad())
        {
                FPS_OnFPSStatsLoaded();
        }

        RegConsoleCmd("sm_fps_hint", CommandHintStatus);
}

public void Event_PlayerDeath(Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
        int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
        if (iClient)
        {
                FPS_PrintToChat(iClient, "%t", "Message", g_bHintState[iClient] ? "Disable" : "Enable");
        }
}

public void OnClientCookiesCached(int iClient)
{
        char szBuffer[4];
        GetClientCookie(iClient, g_hCookie, szBuffer, sizeof(szBuffer));
        g_bHintState[iClient] = szBuffer[0] ? view_as<bool>(StringToInt(szBuffer)) : true;
}

public Action CommandHintStatus(int iClient, int iArgs)
{
        if (FPS_ClientLoaded(iClient))
        {
                g_bHintState[iClient] = !g_bHintState[iClient];
                FPS_PrintToChat(iClient, "%t", "ChangeHintStatus", g_bHintState[iClient] ? "Enabled" : "Disabled");
                SetClientCookie(iClient, g_hCookie, g_bHintState[iClient] ? "1" : "0");
        }
        return Plugin_Handled;
}

public void FPS_OnFPSStatsLoaded()
{
        for (int i = 1; i <= MaxClients; ++i)
        {
                if (FPS_ClientLoaded(i))
                {
                        FPS_OnClientLoaded(i, FPS_GetPoints(i));
                }
        }
}

public void FPS_OnClientLoaded(int iClient, float fPoints)
{
        g_fPlayerPoints[iClient] = fPoints;
        GetPlayerLevel(iClient, FPS_GetLevel(iClient));
}

public void FPS_OnPointsChange(int iAttacker, int iVictim, float fPointsAttacker, float fPointsVictim)
{
        g_fPlayerPoints[iAttacker] = fPointsAttacker;
        g_fPlayerPoints[iVictim] = fPointsVictim;
}

public void FPS_OnLevelChange(int iClient, int iOldLevel, int iNewLevel)
{
        GetPlayerLevel(iClient, iNewLevel);
}

public void FPS_PlayerPosition(int iClient, int iPosition, int iPlayersCount)
{
        g_iPlayerPosition[iClient] = iPosition;
        g_iPlayersCount = iPlayersCount;
}

void GetPlayerLevel(int iClient, int iLevel)
{
        g_iPlayerLevel[iClient] = iLevel;
        strcopy(g_sPlayerRank[iClient], sizeof(g_sPlayerRank[]), FindTranslationRank(iClient));
        //FPS_GetRanks(iClient, g_sPlayerRank[iClient], sizeof(g_sPlayerRank[]));
}

public void OnPlayerRunCmdPost(int iClient)
{
        if (g_bHintState[iClient] && GetEntProp(iClient, Prop_Send, "m_iObserverMode") != 6)
        {
                static int iTarget;
                iTarget = GetEntPropEnt(iClient, Prop_Send, "m_hObserverTarget");
                if (iTarget != -1 && iTarget <= MaxClients && FPS_ClientLoaded(iTarget))
                {
                        PrintHintText(iClient, "%t", "HudMessage",
                                g_fPlayerPoints[iTarget],
                                g_iPlayerPosition[iTarget], g_iPlayersCount,
                                g_iPlayerLevel[iTarget],
                                g_sPlayerRank[iTarget]);
                }
        }
}



Here is a picture of how it looks when you look at someone:

https://imgur.com/onu33hE


All times are GMT -4. The time now is 05:44.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.