[CS: GO] influx simpleranks

swaaaaag

Участник
Сообщения
148
Реакции
27
Нужно в этот скрипт дописать отображение ранка игрока в колонке убийств в табе, если надо то заплачу.

Screenshot_7.jpg
 

Вложения

  • influx_simpleranks.sp
    18.8 КБ · Просмотры: 9

Rostu

Добрая душа
Сообщения
986
Реакции
622
Ого, эта же тема по influx и bhop теме, ну что же - по идеи - simpleranks предоставляет API и не обязательно редактировать исходный плагин :)

Если я все еще не потерял опыт работы с инфлюксом и если очки нужно выводить именно туда, куда вы просите, то вроде так (Не проверял)

C-подобный:
#include <Influx/simpleranks>

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
}
public void Event_Spawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));

    SetScore(iClient);
}
public void Influx_OnClientIdRetrieved( int iClient, int uid, bool bNew )
{
    CreateTimer(1.0, Timer_Delay, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE);
}
public Action Timer_Delay(Handle hTimer, int iUserId)
{
    int iClient = GetClientOfUserId(iUserId);

    if(!iClient)
    {
        return Plugin_Continue;
    }

    if(IsClientInGame(iClient) && GetClientTeam(iClient) > 1)
    {
        SetScore(iClient);
    }

    return Plugin_Continue;
}
void SetScore(int iClient)
{
    SetEntProp(iClient, Prop_Data, "m_iFrags", Influx_GetClientSimpleRankPoints(iClient));
}
 

Вложения

  • influx_scorecontrol.smx
    3.2 КБ · Просмотры: 4
Последнее редактирование:

swaaaaag

Участник
Сообщения
148
Реакции
27
По идеи - simpleranks предоставляет API и не обязательно редактировать исходный плагин :)

Если я все еще не потерял опыт работы с инфлюксом и если очки нужно выводить именно туда, куда вы просите, то вроде так (Не проверял)

C-подобный:
#include <Influx/simpleranks>

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
}
public void Event_Spawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));

    SetScore(iClient);
}
public void Influx_OnClientIdRetrieved( int iClient, int uid, bool bNew )
{
    CreateTimer(1.0, Timer_Delay, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE);
}
public Action Timer_Delay(Handle hTimer, int iUserId)
{
    int iClient = GetClientOfUserId(iUserId);

    if(!iClient)
    {
        return Plugin_Continue;
    }

    if(IsClientInGame(iClient) && GetClientTeam(iClient) > 1)
    {
        SetScore(iClient);
    }

    return Plugin_Continue;
}
void SetScore(int iClient)
{
    SetEntProp(iClient, Prop_Data, "m_iFrags", Influx_GetClientSimpleRankPoints(iClient));
}
отлично работает, только больше трехзначных не влазит, если нельзя то переделаю под трехзначную
Screenshot_8.jpg
 

Rostu

Добрая душа
Сообщения
986
Реакции
622

Rostu

Добрая душа
Сообщения
986
Реакции
622
По идеи так
C-подобный:
#include <cstrike>
#include <Influx/simpleranks>

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
}
public void Event_Spawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));

    SetScore(iClient);
}
public void Influx_OnClientIdRetrieved( int iClient, int uid, bool bNew )
{
    CreateTimer(1.0, Timer_Delay, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE);
}
public Action Timer_Delay(Handle hTimer, int iUserId)
{
    int iClient = GetClientOfUserId(iUserId);

    if(!iClient)
    {
        return Plugin_Continue;
    }

    if(IsClientInGame(iClient) && GetClientTeam(iClient) > 1)
    {
        SetScore(iClient);
    }

    return Plugin_Continue;
}
void SetScore(int iClient)
{
   CS_SetClientContributionScore(iClient, Influx_GetClientSimpleRankPoints(iClient));
}
 

swaaaaag

Участник
Сообщения
148
Реакции
27
По идеи так
C-подобный:
#include <Influx/simpleranks>

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
}
public void Event_Spawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));

    SetScore(iClient);
}
public void Influx_OnClientIdRetrieved( int iClient, int uid, bool bNew )
{
    CreateTimer(1.0, Timer_Delay, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE);
}
public Action Timer_Delay(Handle hTimer, int iUserId)
{
    int iClient = GetClientOfUserId(iUserId);

    if(!iClient)
    {
        return Plugin_Continue;
    }

    if(IsClientInGame(iClient) && GetClientTeam(iClient) > 1)
    {
        SetScore(iClient);
    }

    return Plugin_Continue;
}
void SetScore(int iClient)
{
   CS_SetClientContributionScore(iClient, Influx_GetClientSimpleRankPoints(iClient));
}
rank.sp(35) : error 017: undefined symbol "CS_SetClientContributionScore"
 
Сверху Снизу