Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Затемнить карту, подобрать оружие.
Затемнить карту, подобрать оружие.
Naykon Дата: Вторник, 11.09.2012, 00:00:55 | Сообщение # 1
Сообщений: 439
Репутация: -4 [ +/- ]
Дайте небольшой пример как затемнить карту на 50% и как запретить игроку или группе игроков подбирать оружие на карте?
 
Beelzebub Дата: Вторник, 11.09.2012, 14:30:58 | Сообщение # 2
Сообщений: 202
Репутация: 13 [ +/- ]
Code
#include <sourcemod>
#include <cstrike>   
#include <sdktools>

new playerT, playerCT, Player, Awp;

public OnPluginStart()
{
  HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
  HookEvent("item_pickup", item_pickup);
}

public item_pickup(Handle:event, const String:name[], bool:dontBroadcast)
{
  new client = GetClientOfUserId(GetEventInt(event, "userid"));
  new index = GetPlayerWeaponSlot(client, 0);
  if (index > 0)
  {
   decl String:class[20];
   GetEntityClassname(index, class, 20);
   if (StrEqual(class, "weapon_awp", false))
   {
    if (GetClientTeam(client) == 2)  
    {
     if (playerT > Awp)
     {  
      CS_DropWeapon(client, index, true);
      PrintToChat(client, "Awp ограниченно %d", playerT);
      playerT = Awp;
      playerT++;
     }
    }
    if (GetClientTeam(client) == 3)
    {
     if (playerCT > Awp)  
     {
      CS_DropWeapon(client, index, true);
      PrintToChat(client, "Awp ограниченно %d", playerCT);
      playerCT = Awp;
      playerCT++;
     }
    }
   }
  }
}

public round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
  playerT = 0, playerCT = 0, Player = 0, Awp = 0;
  for(new x = 1; x <= MaxClients; x++)
  {
   if (IsClientInGame(x) && IsPlayerAlive(x)) Player++;
  }
  if (Player <= 4) Awp = 1;
  else if (Player <= 8) Awp = 2;
  else if (Player <= 12) Awp = 3;
   else if (Player <= 16) Awp = 4;
  else if (Player <= MaxClients) Awp = 5;
}

public Action:CS_OnBuyCommand(client, const String:weapon[])
{
  if (StrEqual(weapon, "awp", false))
  {
   if (GetClientTeam(client) == 2)  
   {
    playerT++;
    if (playerT > Awp)
    {
     PrintToChat(client, "Больше awp покупать нельзя");
     playerT = Awp;
     return Plugin_Handled;
    }
   }
   if (GetClientTeam(client) == 3)
   {
    playerCT++;
    if (playerCT > Awp)  
    {
     PrintToChat(client, "Больше awp покупать нельзя");
     playerCT = Awp;
     return Plugin_Handled;
    }
   }
  }
  return Plugin_Continue;
}


Запрет на подбор авп. Код не мой, нашел на WS.
 
Naykon Дата: Пятница, 14.09.2012, 01:20:49 | Сообщение # 3
Сообщений: 439
Репутация: -4 [ +/- ]
подскажите еще как вызвать вот такую функцию???

public Action:Command(client, args)

например если ее нужно вызвать через меню или таймер.

Добавлено (14.09.2012, 01:20:49)
---------------------------------------------
искал плагин смены дня и ночи для sourcemod Но найти не удалось он только для events(( Каким образом можно сделать "вечер" на карте?(((

 
morkva Дата: Пятница, 14.09.2012, 12:55:22 | Сообщение # 4
Сообщений: 48
Репутация: 0 [ +/- ]
а если перегнать из events в source ? мне тоже такой плаг понадобился! так как на 34 он на ура с эвентом и зомби модом работал!!!
 
Naykon Дата: Пятница, 14.09.2012, 16:20:26 | Сообщение # 5
Сообщений: 439
Репутация: -4 [ +/- ]
я хз как "перегонять" из es в sm
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Затемнить карту, подобрать оружие.
  • Страница 1 из 1
  • 1
Поиск: