[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Форум » Плагины SourceMod » Extra Cash (http://forum.sn-project.ru/viewtopic.php?f=58&t=1707)
Extra Cash
rootДата: Воскресенье, 03.02.2013, 10:15 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 561
Статус: Offline
Название: Extra Cash

Описание:
Плагин позволяет выдавать деньги каждый раунд

Код
Настройки:
Extra Cash писал(а):
// Включение = 1 / Отключение плагина
// По умолчанию установлено: 1
extra_cash_on

// Укажите сумму денег, выдаваемую каждый раунд
// По умолчанию установлено: 16000
extra_cash_amount


Оригинал

Версия плагина с возможностью добавления денег только администраторам

Код
#include <sourcemod>

#define PLUGIN_VERSION "0.3"

new g_iAccount = -1;
new Handle:Switch;
new Handle:Cash;
new Handle:AdminCash;

public Plugin:myinfo =  
{
    name = "Extra Cash",
    author = "Peoples Army, DoK",
    description = "Adds Extra Cash On Each Spawn",
    version = PLUGIN_VERSION,
    url = "www.sourcemod.net"
};

public OnPluginStart()
{
    g_iAccount = FindSendPropOffs("CCSPlayer", "m_iAccount");
    Switch = CreateConVar("extra_Cash_on","1","Включение = 1/ отключение = 0 плагина", FCVAR_NOTIFY);
    Cash = CreateConVar("extra_cash_amount","16000","Количество денег, выдаваемое в начале раунда", FCVAR_NOTIFY);
    AdminCash = CreateConVar("extra_cash_admin","1","Вкючение = 1/ отлючение = 0 вывода денег только админам", FCVAR_NOTIFY);
    HookEvent("player_spawn" , PlayerSpawn);
     
    AutoExecConfig(true, "ExtraCash");
}

public PlayerSpawn(Handle: event , const String: name[] , bool: dontBroadcast)
{
    new client = GetClientOfUserId(GetEventInt(event,"userid"));
    new AdminId:admin_cash = GetUserAdmin(client);
    if(GetConVarInt(Switch) == 1)
    {
       if(GetConVarInt (AdminCash) == 1)
       {
          if(admin_cash != INVALID_ADMIN_ID)
          {
             SetMoney(client, GetConVarInt(Cash));
          }
       }
       if(GetConVarInt (AdminCash) == 0)
       {
          SetMoney(client, GetConVarInt(Cash));
       }
    }
}

public SetMoney(client, amount)
{
    if (g_iAccount != -1)
    {
       SetEntData(client, g_iAccount, amount);
    }    
}

Новая версия плагина
Добавлен квар. Минимальное количество игроков, при котором плагин будет выдавать деньги.
Код
#include <sourcemod>

#define PLUGIN_VERSION "0.4"

new Handle:Switch;
new Handle:Cash;
new Handle:AdminCash;
new Handle:MinPlayer;

new ClientInGame;

public Plugin:myinfo =  
{
    name = "Extra Cash",
    author = "Peoples Army, DoK",
    description = "Adds Extra Cash On Each Spawn",
    version = PLUGIN_VERSION,
    url = "www.sourcemod.net"
};

public OnPluginStart()
{
    Switch = CreateConVar("extra_cash_enable", "1", "Включение = 1/ отключение = 0 плагина", FCVAR_NOTIFY);
    Cash = CreateConVar("extra_cash_amount", "16000", "Количество денег, выдаваемое в начале раунда", FCVAR_NOTIFY);
    AdminCash = CreateConVar("extra_cash_admin", "1", "Вкючение = 1/ отлючение = 0 вывода денег только админам", FCVAR_NOTIFY);
    MinPlayer = CreateConVar("extra_cash_min_player", "4", "Минимальное количество игроков на сервере", FCVAR_NOTIFY);
     
    HookEvent("player_spawn" , Event_OnPlayerSpawn);
    HookEvent("round_start", Event_OnRoundStart);
     
    AutoExecConfig(true, "ExtraCash");
}

public Event_OnRoundStart(Handle: event , const String: name[] , bool: dontBroadcast)
{
    for(new i = 1; i <= MaxClients; i++)    
    {
       if(IsClientInGame(i) || GetClientTeam(i) != 1)
       {
          ClientInGame++;
       }
    }
}

public Event_OnPlayerSpawn(Handle: event , const String: name[] , bool: dontBroadcast)
{
    if(ClientInGame >= GetConVarInt(MinPlayer))  
    {
       new client = GetClientOfUserId(GetEventInt(event,"userid"));    
       new AdminId:admin_cash = GetUserAdmin(client);
       if(GetConVarInt(Switch) == 1)
       {
          if(GetConVarInt (AdminCash) == 1)  
          {
             if(admin_cash != INVALID_ADMIN_ID)  
             {
                SetEntProp(client, Prop_Send, "m_iAccount", GetConVarInt(Cash));
             }
          }
          else if(GetConVarInt (AdminCash) == 0)
          {
             SetEntProp(client, Prop_Send, "m_iAccount", GetConVarInt(Cash));
          }
       }
    }
}


Цитата
по флагам бан и рут

Код
#include <sourcemod>

#define PLUGIN_VERSION "0.5"

new Handle:Switch;
new Handle:Cash;
new Handle:AdminCash;
new Handle:MinPlayer;

new ClientInGame;

public Plugin:myinfo =  
{
    name = "Extra Cash",
    author = "Peoples Army, The End Is Near...",
    description = "Adds Extra Cash On Each Spawn",
    version = PLUGIN_VERSION,
    url = "www.sourcemod.net"
};

public OnPluginStart()
{
    Switch = CreateConVar("extra_cash_enable", "1", "Включение = 1/ отключение = 0 плагина", FCVAR_NOTIFY);
    Cash = CreateConVar("extra_cash_amount", "16000", "Количество денег, выдаваемое в начале раунда", FCVAR_NOTIFY);
    AdminCash = CreateConVar("extra_cash_admin", "1", "Вкючение = 1/ отлючение = 0 вывода денег только админам", FCVAR_NOTIFY);
    MinPlayer = CreateConVar("extra_cash_min_player", "4", "Минимальное количество игроков на сервере", FCVAR_NOTIFY);
     
    HookEvent("player_spawn" , Event_OnPlayerSpawn);
    HookEvent("round_start", Event_OnRoundStart);
     
    AutoExecConfig(true, "ExtraCash");
}

public Event_OnRoundStart(Handle: event , const String: name[] , bool: dontBroadcast)
{
    for(new i = 1; i <= MaxClients; i++)    
    {
       if(IsClientInGame(i) && GetClientTeam(i) != 1)
       {
          ClientInGame++;
       }
    }
}

public Event_OnPlayerSpawn(Handle: event , const String: name[] , bool: dontBroadcast)
{
    if(ClientInGame >= GetConVarInt(MinPlayer))  
    {
       new client = GetClientOfUserId(GetEventInt(event,"userid"));    
       if(GetConVarInt(Switch) == 1)
       {
          if(GetConVarInt (AdminCash) == 1)  
          {
             if(GetUserFlagBits(client) & ADMFLAG_BAN || GetUserFlagBits(client) & ADMFLAG_ROOT)
             {
                SetEntProp(client, Prop_Send, "m_iAccount", GetConVarInt(Cash));
             }
          }
          else if(GetConVarInt (AdminCash) == 0)
          {
             SetEntProp(client, Prop_Send, "m_iAccount", GetConVarInt(Cash));
          }
       }
    }
}
 
bob-aculaДата: Воскресенье, 16.11.2014, 22:30 | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
а сеть скомпилированный файл , а то у меня проблема с компилятором
 
BristwexДата: Понедельник, 17.11.2014, 19:41 | Сообщение # 3
Лейтенант
Группа: Друзья
Сообщений: 28
Статус: Offline
Цитата bob-acula ()
а сеть скомпилированный файл , а то у меня проблема с компилятором

Есть, посмотри повнимательнее.
 
bob-aculaДата: Вторник, 18.11.2014, 23:33 | Сообщение # 4
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
Цитата Bristwex ()
Есть, посмотри повнимательнее.

ExtraCash_v0.2.zip(3Kb)
 там находится совсем не тот *.sp какой указан ниже а по всей видимости первоначальный оригинал

Код
#include <sourcemod>  

  #define PLUGIN_VERSION "0.5"  

  new Handle:Switch;  
  new Handle:Cash;  
  new Handle:AdminCash;  
  new Handle:MinPlayer;  

  new ClientInGame;  

  public Plugin:myinfo =   
  {  
     name = "Extra Cash",  
     author = "Peoples Army, The End Is Near...",  
     description = "Adds Extra Cash On Each Spawn",  
     version = PLUGIN_VERSION,  
     url = "www.sourcemod.net"  
  };  

  public OnPluginStart()  
  {  
     Switch = CreateConVar("extra_cash_enable", "1", "Включение = 1/ отключение = 0 плагина", FCVAR_NOTIFY);  
     Cash = CreateConVar("extra_cash_amount", "16000", "Количество денег, выдаваемое в начале раунда", FCVAR_NOTIFY);  
     AdminCash = CreateConVar("extra_cash_admin", "1", "Вкючение = 1/ отлючение = 0 вывода денег только админам", FCVAR_NOTIFY);  
     MinPlayer = CreateConVar("extra_cash_min_player", "4", "Минимальное количество игроков на сервере", FCVAR_NOTIFY);  
       
     HookEvent("player_spawn" , Event_OnPlayerSpawn);  
     HookEvent("round_start", Event_OnRoundStart);  
       
     AutoExecConfig(true, "ExtraCash");  
  }  

  public Event_OnRoundStart(Handle: event , const String: name[] , bool: dontBroadcast)  
  {  
     for(new i = 1; i <= MaxClients; i++)     
     {  
        if(IsClientInGame(i) && GetClientTeam(i) != 1)  
        {  
           ClientInGame++;  
        }  
     }  
  }  

  public Event_OnPlayerSpawn(Handle: event , const String: name[] , bool: dontBroadcast)  
  {  
     if(ClientInGame >= GetConVarInt(MinPlayer))   
     {  
        new client = GetClientOfUserId(GetEventInt(event,"userid"));     
        if(GetConVarInt(Switch) == 1)  
        {  
           if(GetConVarInt (AdminCash) == 1)   
           {  
              if(GetUserFlagBits(client) & ADMFLAG_BAN || GetUserFlagBits(client) &ADMFLAG_ROOT)  
              {  
                 SetEntProp(client, Prop_Send, "m_iAccount", GetConVarInt(Cash));  
              }  
           }  
           else if(GetConVarInt (AdminCash) == 0)  
           {  
              SetEntProp(client, Prop_Send, "m_iAccount", GetConVarInt(Cash));  
           }  
        }  
     }  
  }
 
BristwexДата: Среда, 19.11.2014, 00:54 | Сообщение # 5
Лейтенант
Группа: Друзья
Сообщений: 28
Статус: Offline
Вот держи v0.5 "Тык сюда" Там sp и smx.
 
bob-aculaДата: Среда, 19.11.2014, 20:40 | Сообщение # 6
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
Огромаднейшее спасибо МИЛ ЧЕЛОВЕК все работает как мне и надо было
 
Форум » Форум » Плагины SourceMod » Extra Cash (http://forum.sn-project.ru/viewtopic.php?f=58&t=1707)
  • Страница 1 из 1
  • 1
Поиск: