求生之路2多重物品、多个补给插件 Multiple_Supply 插件源码  Multiple_Supply.sp Multiple_Supply.smx。

求生之路2,l4d,l4d2,SourceMOD 插件源码。

求生之路2多重物品插件 (Multiple Supply),自动设置游戏补给物品为多重,多人的时候要用到。

之前自己有需要,写的一东西,不复杂,设置游戏补给物品数量即可。

/*
求生之路2多重物品插件 (Multiple Supply)
Time: 2012-1-10 12:32:52
By: Nuclear'Atk
*/

#include <sourcemod>
#include <sdktools>

public Plugin:myinfo = 
{
  name = "求生之路2多重物品插件 (Multiple Supply)",
  author = "Nuclear'Atk",
  description = "求生之路2多重物品插件 (Multiple Supply),自动设置游戏补给物品为多重,多人的时候要用到。",
  version = "1.0",
  url = "https://lcx.cc/"
}

public OnPluginStart()
{
  HookEvent("round_start", Event_RoundStart); //勾住回合开始事件
}

public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
  CreateTimer(3.0, UpdateCounts, 0); //每3秒执行一次设置物品函数
}

public Action:UpdateCounts(Handle:timer)  //设置物品数量
{ //发现在安全室只产生这些物品
  UpdateEntCount("weapon_autoshotgun_spawn","17");
  UpdateEntCount("weapon_hunting_rifle_spawn","17");
  UpdateEntCount("weapon_pistol_spawn","17");
  UpdateEntCount("weapon_pistol_magnum_spawn","17");
  UpdateEntCount("weapon_pumpshotgun_spawn","17");
  UpdateEntCount("weapon_rifle_spawn","17");
  UpdateEntCount("weapon_rifle_ak47_spawn","17");
  UpdateEntCount("weapon_rifle_desert_spawn","17");
  UpdateEntCount("weapon_rifle_sg552_spawn","17");
  UpdateEntCount("weapon_shotgun_chrome_spawn","17");
  UpdateEntCount("weapon_shotgun_spas_spawn","17");
  UpdateEntCount("weapon_smg_spawn","17");
  UpdateEntCount("weapon_smg_mp5_spawn","17");
  UpdateEntCount("weapon_smg_silenced_spawn","17");
  UpdateEntCount("weapon_sniper_awp_spawn","17");
  UpdateEntCount("weapon_sniper_military_spawn","17");
  UpdateEntCount("weapon_sniper_scout_spawn","17");
  UpdateEntCount("weapon_grenade_launcher_spawn", "17");
  UpdateEntCount("weapon_spawn", "17");    //random new l4d2 weapon
  UpdateEntCount("weapon_chainsaw_spawn", "4");
  UpdateEntCount("weapon_defibrillator_spawn", "4");
  UpdateEntCount("weapon_first_aid_kit_spawn", "4");
  UpdateEntCount("weapon_melee_spawn", "4");
  //pistol spawns come in two flavors stacks of 5, or multiple singles props
  UpdateEntCount("weapon_pistol_spawn", "16"); //defaults 1/4/5
  //StripAndChangeServerConVarInt("director_pain_pill_density", 12);  //default 6
  return Plugin_Handled;
}

public UpdateEntCount(const String:entname[], const String:count[]) //设置指定物品数量
{
  new edict_index = FindEntityByClassname(-1, entname);
  while(edict_index != -1)
  {
    DispatchKeyValue(edict_index, "count", count);
    edict_index = FindEntityByClassname(edict_index, entname);
  }
}