Деньги в наблюдателях

kylc

Не мир плох, плохи люди, обвиняющие во всем мир
Сообщения
924
Реакции
294
Операционная система
Linux
Текст ошибки
-
Список мета-модулей
-
Список плагинов SM
-
Список расширений SM
-
Приветствую всех!
Скажите пожалуйста, есть ли какой-либо фикс, либо плагин, который сохраняет деньги при заходе в спектры и обратно в команду? К примеру, зашел ты в наблюдатели, а у тебя было 10 тысяч. Пришел через пару раундов, выбрал команду, у тебя снова 800 баксов. Если овертаймы есть на сервере, то там дается 10 тысяч и игроки пользуются багом: когда заходишь в наблюдатели и обратно за команду - снова дается 10 тысяч баксов.
 

Madness aka null138

Участник
Сообщения
713
Реакции
734
C++:
#include <sourcemod>
#include <sdktools>

int iMoney[MAXPLAYERS + 1];
bool bSpec[MAXPLAYERS + 1] = {false, ...};

public void OnPluginStart() {
    AddCommandListener(jointeam, "jointeam");
}

public void OnClientDisconnect(int client) {
    iMoney[client] = 800;
    bSpec[client] = false;
}

public Action jointeam(int client, const char[] command, int args) {
    if(client < 1 || client >= MaxClients || !IsClientInGame(client)) return Plugin_Continue;
   
    char arg[4]; GetCmdArg(1, arg, sizeof(arg));
    int teamnum = StringToInt(arg);
   
    if(!bSpec[client]) {
        iMoney[client] = GetEntProp(client, Prop_Send, "m_iAccount");
    }
   
    if(teamnum == 1) {
        bSpec[client] = true;
    }
    else if(teamnum > 1 && teamnum < 4 && bSpec[client]) {
        SetEntProp(client, Prop_Send, "m_iAccount", iMoney[client]);
        bSpec[client] = false;
    }
    return Plugin_Continue;
}
 
Последнее редактирование:

Nikly

Участник
Сообщения
290
Реакции
76
Приветствую всех!
Скажите пожалуйста, есть ли какой-либо фикс, либо плагин, который сохраняет деньги при заходе в спектры и обратно в команду? К примеру, зашел ты в наблюдатели, а у тебя было 10 тысяч. Пришел через пару раундов, выбрал команду, у тебя снова 800 баксов. Если овертаймы есть на сервере, то там дается 10 тысяч и игроки пользуются багом: когда заходишь в наблюдатели и обратно за команду - снова дается 10 тысяч баксов.
попробуй этот плагин Spectate Hop for Money Prevention - AlliedModders
 

kylc

Не мир плох, плохи люди, обвиняющие во всем мир
Сообщения
924
Реакции
294
Это не совсем то. Он устанавливает те значения, которые ты ставишь сам.
C++:
#include <sourcemod>
#include <sdktools>

int iMoney[MAXPLAYERS + 1];
bool bSpec[MAXPLAYERS + 1] = {false, ...};

public void OnPluginStart() {
    AddCommandListener(jointeam, "jointeam");
}

public void OnClientDisconnect(int client) {
    iMoney[client] = 800;
    bSpec[client] = false;
}

public Action jointeam(int client, const char[] command, int args) {
    if(client < 1 || client >= MaxClients || !IsClientInGame(client)) return Plugin_Continue;
  
    char arg[4]; GetCmdArg(1, arg, sizeof(arg));
    int teamnum = StringToInt(arg);
  
    if(!bSpec[client]) {
        iMoney[client] = GetEntProp(client, Prop_Send, "m_iAccount");
    }
  
    if(teamnum == 1) {
        bSpec[client] = true;
    }
    else if(teamnum > 1 && teamnum < 4 && bSpec[client]) {
        SetEntProp(client, Prop_Send, "m_iAccount", iMoney[client]);
        bSpec[client] = false;
    }
    return Plugin_Continue;
}
Спасибо, попробую.
 
Сверху Снизу