Иммунитет для стим игроков

Иммунитет для стим игроков thumbnail
#include < amxmodx >
#include < reapi >

#if AMXX_VERSION_NUM < 183
#include < colorchat >

#define client_disconnected client_disconnect
#define MAX_PLAYERS 32
#endif

#define IsPlayer(%0) (0 < %0 < 33)

//■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■//
#define AWP_ONLINE //Закоментируйте, если не нужен функционал отключения авп при низком онлайне
#define AWP_LIMIT //Закоментируйте, если не нужен функционал ограничения авп по командам
#define AWP_ROUND_LIMIT //Закоментируйте, если не нужен функционал ограничения авп по раундам

// ^4 — зелёный | ^3 — цвет тимы (КТ — синий | Т — красный | SPEC — серый) | ^1 — жёлтый
#define MSG_PREFIX «^1[^4AWP_ONLINE^1]»
#define MSG_LOWONLINE «У вас отобрано^4 AWP^1. Причина:^3 Низкий онлайн игроков»
#define MSG_LIMIT «У вас отобрано^4 AWP^1. Причина:^3 Превышен лимит на команду»
#define MSG_ROUND «%s У вас отобрано^4 AWP^1. Причина:^3 подождите %d %s»

//#define ALLPLAYERS
/*
Закоментируйте, чтобы для проверки на онлайн брались только КТ и ТТ(ботов, хлтв и спектаров считать не будет).

Пример:
Допустим на сервере 5 ботов и 2 человека 1 хлтв.
Дефайн закоментирован: Посчитает, что на сервере 2 из Максимально возможных игроков.
Дефайн раскоментирован: Посчитает, что на сервере 8 игроков из Максимально возможных игроков (5 ботов + 2 человека + 1 хлтв).

Отбирать авп будет ТОЛЬКО У ЛЮДЕЙ в любом случае.
*/

#define FLAG ADMIN_IMMUNITY //Флаг для иммунитета от лимита и блока на раунды

#define RETURN_MONEY //Возвращать деньги при отборе авп в конце раунда из-за низкого онлайна? (Закоментируйте, если не хотите, чтобы возвращало деньги)
#if defined RETURN_MONEY
#define MONEY_AWP 4750 //Сколько денег возвращать?
#endif

//#define PERCENT_PLAYERS
/*
Разкоменитруйте, если хотите чтобы лимит зависил от процента игроков [I am chetko ob’yasnyat’]

Например: Онлайн = 10, Процент в кваре(awp_limit_max) = 20
10/100*20 = 2 авп на тиму (2 у терров и 2 у кт)
*/

//#define NOEND //Если разкоментировано, то не будет отбирать АВП в конце раунда из-за низкого онлайна. [Если онлайн ниже чем указан в кваре и человек сам дропнет авп или потеряет ее, то подобрать заного не сможет]
//■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■//

#if !defined AWP_LIMIT && defined PERCENT_PLAYERS
#undef PERCENT_PLAYERS
#endif
#if !defined AWP_ONLINE && !defined NOEND
#define NOEND
#endif

enum ECVARS {
CVAR_ONLINE,
CVAR_LIMIT_AWP_STATUS,
CVAR_LIMIT_MAX_AWP,
CVAR_LIMIT_IMMUN,
CVAR_ROUNDS_LIMIT
};

enum EBLOCKS {
BL_RND,
BL_LIMIT,
BL_ONLINE
};

enum {
AWP_DROP = 0,
AWP_NONE,
AWP_BUY,
AWP_PICK_UP
};

new gCvar[ECVARS], sCvars[ECVARS], COST_AWP, gAwp[MAX_PLAYERS + 1], gCount;

#if defined AWP_LIMIT || defined AWP_ROUND_LIMIT
new TeamName: gTeam[MAX_PLAYERS + 1];
#endif
#if defined AWP_LIMIT
new sAwp[TeamName: TEAM_SPECTATOR];
#endif
#if defined AWP_ROUND_LIMIT
new gBlock[MAX_PLAYERS + 1], gRound;
#endif

#if defined PERCENT_PLAYERS
new gLimit;
#endif

public plugin_precache(){
register_plugin(«[ReAPI] AWPoff», «1.4.3», «PAffAEJIkA :3»);

#if !defined AWP_LIMIT && !defined AWP_ROUND_LIMIT && !defined AWP_ONLINE
set_fail_state(«xmm, ti ubral ves’ funkcional plagina, no postavil ego na server… ti molodec!»);
#endif

#if defined AWP_ONLINE
gCvar[CVAR_ONLINE] = register_cvar(«awp_players_low», «10»); //Если онлайн ниже указнного в кваре, в конце раунда у всех отберет авп, и запретит ее. (Что бы отключить поставьте 0) [стандартно: при онлайне меньше 8]
#endif
#if defined AWP_LIMIT
gCvar[CVAR_LIMIT_AWP_STATUS] = register_cvar(«awp_limit», «1»); //Включить|Выключить лимит авп [Стандартно: включен]
gCvar[CVAR_LIMIT_MAX_AWP] = register_cvar(«awp_limit_max», «3»); //Сколько АВП разрешено при лимите [Стандартно по 2 авп на команду] | Если раскоментирован PERCENT_PLAYERS, то сюда вписывать нужный процент
gCvar[CVAR_LIMIT_IMMUN] = register_cvar(«awp_limit_immun», «3»); //Иммунитет для админов. [0 — Выкл | 1 — Иммунитет от лимита кол-ва АВП | 2 — Иммунитет от блока АВП по раундам | 3 — Имумунитет от 1 и 2]
#endif
#if defined AWP_ROUND_LIMIT
gCvar[CVAR_ROUNDS_LIMIT] = register_cvar(«awp_limit_round», «5»); //На сколько раундов блочить?
#endif
}

public plugin_init(){
new mapname[32];
get_mapname(mapname, charsmax(mapname));

static maps[][] = { «awp», «aim», «35hp» };
for(new i; i < sizeof maps; i++){
if(containi(mapname, maps[i]) != -1){
pause(«ad»);
return;
}
}

COST_AWP = rg_get_weapon_info(WEAPON_AWP, WI_COST);

RegisterHookChain(RG_CBasePlayer_AddPlayerItem, «AddItem»);
RegisterHookChain(RG_BuyWeaponByWeaponID, «BuyWeaponByWeaponID»);
RegisterHookChain(RG_CBasePlayer_RemovePlayerItem, «RemoveItem»);

register_concmd(«awpoff_reload», «load_cvars»);

register_event(«HLTV», «EventRoundStart», «a», «1=0», «2=0»);
register_logevent(«EventRestartRound», 2, «1&Restart_Round_»);
#if !defined NOEND
register_logevent(«EventRoundEnd», 2, «1=Round_End»);
#endif
}

public plugin_cfg(){
#if AMXX_VERSION_NUM < 183
server_exec();
#endif
load_cvars(0);
}

public load_cvars(id){
#if defined AWP_ONLINE
sCvars[CVAR_ONLINE] = get_pcvar_num(gCvar[CVAR_ONLINE]);
#endif
#if defined AWP_LIMIT
sCvars[CVAR_LIMIT_AWP_STATUS] = get_pcvar_num(gCvar[CVAR_LIMIT_AWP_STATUS]);
sCvars[CVAR_LIMIT_MAX_AWP] = get_pcvar_num(gCvar[CVAR_LIMIT_MAX_AWP]);
sCvars[CVAR_LIMIT_IMMUN] = get_pcvar_num(gCvar[CVAR_LIMIT_IMMUN]);
#endif
#if defined AWP_ROUND_LIMIT
sCvars[CVAR_ROUNDS_LIMIT] = get_pcvar_num(gCvar[CVAR_ROUNDS_LIMIT]);
#endif
if(IsPlayer(id))
client_print(id, print_center, «[AWPoff] Cvars have been reloaded!»);
}

public client_disconnected(id) if(IsPlayer(id)) minus_awp(id);

public EventRoundStart(){
#if defined AWP_ROUND_LIMIT
gRound ++;
#endif

gCount = 0;

static pl[32];
get_pl(pl, gCount);

#if defined PERCENT_PLAYERS
const MAX_PERCENT = 100;
gLimit = gCount * sCvars[CVAR_LIMIT_MAX_AWP] / MAX_PERCENT;
#endif

#if defined AWP_LIMIT
sAwp[TEAM_CT] = 0;
sAwp[TEAM_TERRORIST] = 0;
#endif

#if defined AWP_LIMIT || defined AWP_ROUND_LIMIT
for(new i,id; i < gCount; i ++){
id = pl[i];

gTeam[id] = get_member(id, m_iTeam);
#if defined ALLPLAYERS
if(!(TEAM_UNASSIGNED < gTeam[id] < TEAM_SPECTATOR) || !is_user_valid(id))
continue;
#endif

switch(gAwp[id]){
case AWP_NONE: continue;
#if defined AWP_ROUND_LIMIT
case AWP_DROP:{
gAwp[id] = AWP_NONE;
gBlock[id] = gRound + sCvars[CVAR_ROUNDS_LIMIT];
}
#endif
#if defined AWP_LIMIT
default: sAwp[gTeam[id]] ++;
#endif
}
}
#endif
}

public EventRestartRound(){
#if defined AWP_LIMIT
sAwp[TEAM_CT] = 0;
sAwp[TEAM_TERRORIST] = 0;
#endif
#if defined AWP_ROUND_LIMIT
gRound = 0;
arrayset(gBlock, false, sizeof gBlock);
#endif
arrayset(gAwp, AWP_NONE, sizeof gAwp);
}

#if !defined NOEND
public EventRoundEnd(){
new players[32], count;
get_pl(players, count);

Читайте также:  Чай с медом имбирем и лимоном рецепт для иммунитета

if(count >= sCvars[CVAR_ONLINE])
return PLUGIN_CONTINUE;

for(new i = 0; i < count; i ++){
#if defined ALLPLAYERS
if(!is_user_valid(players[i]))
continue;
#endif

return_awp(players[i]);
}
EventRestartRound();
return PLUGIN_CONTINUE;
}
#endif

stock get_pl(players[32], &count){
#if defined ALLPLAYERS
get_players(players, count);
#else
get_players(players, count, «ch»);
new players1[32], cnt = 0;
for(new i; i < count; i ++){
if(TEAM_UNASSIGNED < get_member(players[i], m_iTeam) < TEAM_SPECTATOR)
players1[cnt ++] = players[i];
}

players = players1;
count = cnt;
#endif
}

stock return_awp(id){
if(gAwp[id] <= AWP_NONE)
return;

rg_remove_item(id, «weapon_awp»);
#if defined RETURN_MONEY
if(gAwp[id] == AWP_BUY)
rg_add_account(id, MONEY_AWP);
#endif
client_print_color(id, false, «%s %s», MSG_PREFIX, MSG_LOWONLINE);
}

public BuyWeaponByWeaponID(id, WeaponIdType:weaponID){
if(weaponID != WEAPON_AWP || !is_user_valid(id) || gAwp[id] > AWP_NONE)
return HC_CONTINUE;

new gMoney = get_member(id, m_iAccount);
if(gMoney < COST_AWP)
return HC_CONTINUE;

if(check_awp(id)){
gAwp[id] = AWP_BUY;
return HC_CONTINUE;
}

SetHookChainReturn(ATYPE_INTEGER, true);
return HC_SUPERCEDE;
}

public AddItem(id, pItem){
if(get_member(pItem, m_iId) != WEAPON_AWP || gAwp[id] > AWP_NONE || !is_user_valid(id))
return HC_CONTINUE;

if(check_awp(id)){
gAwp[id] = AWP_PICK_UP;
return HC_CONTINUE;
}

SetHookChainReturn(ATYPE_INTEGER, false);
return HC_SUPERCEDE;
}

//Native’s
public plugin_natives()
register_native(«awpoff_check», «check_native», true);

public check_native(id, chat){
#if defined AWP_LIMIT
#if defined ALLPLAYERS
if(!(TEAM_UNASSIGNED < gTeam[id] < TEAM_SPECTATOR))
return false;
#endif
return check_awp(id, true, chat);
#else
return check_awp(id, chat);
#endif
}
//Native’s

#if defined AWP_LIMIT
bool: check_awp(id, check = false, chat = true)
#else
bool: check_awp(id, chat = true)
#endif
{
new EBLOCKS:block;

#if defined AWP_ROUND_LIMIT
if(gBlock[id] > gRound)
block = BL_RND;
else
#endif
#if defined AWP_ONLINE
if(gCount < sCvars[CVAR_ONLINE])
block = BL_ONLINE;
else
#endif
#if defined AWP_LIMIT
if(sCvars[CVAR_LIMIT_AWP_STATUS]){
if(sCvars[CVAR_LIMIT_IMMUN] && sCvars[CVAR_LIMIT_IMMUN] != 2 && get_user_flags(id) & FLAG)
return true;

#if defined PERCENT_PLAYERS
if(sAwp[gTeam[id]] < gLimit)
#else
if(sAwp[gTeam[id]] < sCvars[CVAR_LIMIT_MAX_AWP])
#endif
{
if(!check)
sAwp[gTeam[id]] ++;
return true;
}else
block = BL_LIMIT;
}else
#endif
return true;

if(chat){ //Слишком туп, чтобы придумать какой нибудь другой вариант с чатом.
switch(block){
#if defined AWP_ROUND_LIMIT
case BL_RND:{
new c = gBlock[id] — gRound;
client_print_color(id, false, MSG_ROUND, MSG_PREFIX, c, get_text(c));
}
#endif
#if defined AWP_ONLINE
case BL_ONLINE: client_print_color(id, false, «%s %s», MSG_PREFIX, MSG_LOWONLINE);
#endif
#if defined AWP_LIMIT
case BL_LIMIT: client_print_color(id, false, «%s %s», MSG_PREFIX, MSG_LIMIT);
#endif
}
}
return false;
}

public RemoveItem(id, pItem){
if(get_member(pItem, m_iId) == WEAPON_AWP)
minus_awp(id);
}

stock minus_awp(id){
if(!is_user_valid(id) || gAwp[id] <= AWP_NONE)
return;

#if defined AWP_LIMIT || defined AWP_ROUND_LIMIT
new flag = get_user_flags(id) & FLAG;
#endif

#if defined AWP_ROUND_LIMIT
gAwp[id] = (flag && sCvars[CVAR_LIMIT_IMMUN] > 1) ? AWP_NONE : AWP_DROP;
#else
gAwp[id] = AWP_NONE;
#endif

#if defined AWP_LIMIT
if(!sCvars[CVAR_LIMIT_AWP_STATUS])
return;

if(sCvars[CVAR_LIMIT_IMMUN] && sCvars[CVAR_LIMIT_IMMUN] != 2 && flag)
return;

sAwp[gTeam[id]] —;
#endif
}

stock bool: is_user_valid(id){
if(is_user_bot(id) || is_user_hltv(id))
return false;
return true;
}

stock get_text(tm){
new ost = tm % 10, ost2 = tm % 100, buff[16];

if(ost2 >= 5 && ost2 <= 20)
format(buff, charsmax(buff), «раундов»);
else{
switch(ost){
case 1: format(buff, charsmax(buff), «раунд»);
case 2..4: format(buff, charsmax(buff), «раунда»);
case 0, 5..9: format(buff, charsmax(buff), «раундов»);
}
}
return buff;
}

Источник

DESPRE Left 4 Dead 2 Russia

Официальная группа, созданая для русских игроков игры Left 4 Dead 2. Все последние новости Left 4 Dead 2 ты узнаеш только тут! В нашей группе!

Обновление Left 4 Dead 2 (07/02/2010)

7 februarie, 2010 —
waqueN |
0 comentarii

Список изменений:

Геймлпей:

* Теперь призрачные «PZ» не могут бродить
* Стали доступны «PZ» боты
* PZ боты ведут себя более агрессивно в режимах «Сражение» и «Сбор»
* На финальных картах ручной спаун включен по умолчанию
* Исправлена ситуация, когда выжившим PZ игрокам не засчитывались баллы, когда они были мёртвые, позволяя тем самым экстра PZ ботам спауниться.
* Эффективнось оружия ближнего боя против танка снижена. За 1 удар наносится урон равный не 10% здоровья танка, а всего 5%.
* Исправлен баг, когда погибший игрок, который позже был вызволен из «клозета» и поднятый другим игроком после падения/виса, получал вторичное оружие, которые было у него до момента его первой смерти.
* Улучшен AI выживших ботов.
* Fixed issue with witch sometimes taking on uncommon common properties
* Фикс для читеров. Теперь им не удастся выйти с сервера до окончания голосования на их бан, тем самым избежав пблокировки. Теперь они будут забанены на сервере в любом случае.
* Забаненные VAC-ом юзеры теперь смогут играть в одиночную игру.

Map Fixes:

* Dark Carnival Fair Ground: добавлен env_player_blocker чтобы избежать «застревание» зомби-боссов.
* Dark Carnival Fair Ground: Добавлена отсутствующая навигационная зона для ботов.
* Dark Carnival Fair Ground: Отключены дропы, которые блокировались из-за верхушек забора
* Swamp Fever Plank Country: Удалены 2 смежные навигационные зоны, которые пролегали между деревьями, где нельзя было пройти.
* Swamp Fever Shanty Town: Перерисованы ладдеры, чтобы особо-заражённые могли забираться на крышу
* The Parish Waterfront: Подкорректированы различные навигационные зоны
* Mall: Улучшем спаун зомби, чтобы сделать карту чуть сложнее

SDK Content:

* Добавлено nature/blend tooltextures added
* Добавлено cs models/textures
* Добавлено acunit01 model/texture
* Добавлено ammo_can_02 model/texture
* Добавлено patio_chair model/texture

Обновление Left 4 Dead 2 (13/01/2010)

13 ianuarie, 2010 —
waqueN |
0 comentarii

Список изменений:

Игровой процесс:

* Исправлена ошибка, из-за которой на последнюю обойму с улучшенными пулями не воздействовал эффект улучшения;
* Выжившие, на которых запрыгнул Жокей во всех без исключения случаях будут подсвечиваться для команды Заражённых;
* Исправлен эксплойт, который позволял игрокам за Жокея мгновенно восстанавливать свои способности;
* Исправлена ошибка, из-за которой таймер способностей Громилы не сбрасывался при убийстве Выжившего с низким уровнем здоровья на третьем ударе;
* Громила получает небольшие повреждения при пробеге через физические объекты.

Читайте также:  Дубынин иммунитет глазами физиолога

Подбор игроков:
#

* Исправлен механизм запросов, посылаемых мастер-сервером на групповые сервера;
* Исправлена сортировка в интерфейсе групповых серверов;
* Повышена производительность обновления интерфейса групповых серверов.

Разное:
#

* В ПК версии шейдер воды теперь поддерживает режим разделённого экрана;
* Различные исправления субтитров;
* Обновлены иконки в области уведомлений;
* Исправлена ошибка с таймером у Выживших, которая проявлялась при вызове голосования на рестарт раунда.

Изменения SDK/L4D2-LD/Hammer:
#

* При просмотре файлов func_instance, теперь будет возвращаться правильный относительный путь к текущей bsp. Это позволит дизайнерам уровней использовать части из основной игры в DLC картах без ручной правки имён файлов;
* В base.fgd изменён skybox по-умолчанию на существующий в L4D2;
* В fgd добавлена env_instructor_hint, и соответствующие иконки содержимого и игры;
* Исправлен URL Deadline;
* Добавлена отсутствующая VMT для env_instructor_hint;
* Поддержка дополнений L4D — восстановлена модифицированная VMT для delivery van;
* Поддержка дополнений L4D — восстановлена отсутствующая shelves metal 3;
* Поддержка дополнений L4D — восстановлен переключатель генератора прожекторного освещения;
* Поддержка дополнений L4D — восстановлено недостающее содержимое самолёта;
* Обновлена VBSP для правильной обработки примеров в примерах;
* Исправлена ошибка, из-за которой переключение в полноэкранный режим просмотра в Hammer приводило к перезапуску программы.

Источник

Унылоиды прибыли, чтобы похитить все игры этого мира и изгнать их на дальние планеты, где люди ни за что не нашли бы их. Однако стимопланетяне освободили захваченные игры, и теперь как люди, так и пришельцы из других миров могут наслаждаться тёплым летом.

В битве с унылоидами сообщество Steam заработало 2 616 591 115 638 опыта, захватило 52 планеты и заодно получило более 20 000 бесплатных игр.

Частые вопросы

Игра будет продолжаться бесконечно?

Нет! У стимопланетян хватит топлива только на 13 дней. Игра летней распродажи заканчивается 4 июля, в 22:00 по московскому времени.

Мой стимопланетянин слишком слаб! Как сделать его сильнее?

Вы не сможете одолеть сильных врагов, пока ваш стимопланетянин не станет опытнее. Получайте уровни, сражаясь со слабыми противниками, прежде чем бороться за более сложные участки. Если же лёгких участков не осталось, не паникуйте: вы получите опыт, даже если потерпели временное поражение. Однако победа над всеми врагами в битве позволит поднять уровень быстрее!

Можно ли участвовать в раздаче наград на каждой планете?

Да, однако чем дольше ваш стимопланетянин пробудет на планете, тем больше вероятность получить её награду. Если вы непременно хотите получить игру, пробудьте на её планете как можно дольше! Узнать больше о наградах можно здесь.

Как стать представителем своей любимой группы?

Выберите группу, нажав на флажок над кораблём своего стимопланетянина.

Как получить определённые аксессуары?

С каждым уровнем стимопланетянина вы получаете случайный уникальный аксессуар. Заглядывайте в инвентарь за обновками! А если вы хотите такую же классную шляпу, как и у друга, но никак не можете её получить, можете обменяться или найти её на торговой площадке Steam.

Можно оставить стимопланетянина у себя после окончания распродажи?

Ну конечно! Когда ваш стимопланетянин навоюется во вселенной летней распродажи, он впадёт в анабиоз и отправится на заслуженный отдых. Вы сможете увидеть его в своём профиле вместе с полученными аксессуарами, пока ему не придёт время пробудиться вновь.

Что, если у моего аккаунта ограниченные права?

Владельцы аккаунтов с ограниченными правами могут играть в игру летней распродажи, однако их битвы не будут учитываться при подсчёте прогресса на участке или планете, а также им не достанутся призы.

Как вступить в группу?

Если вы ещё не вступили в группу, которую хотите представлять во время завоевания вселенной стимопланетян, поищите здесь. Вы можете также зайти в профили к друзьям и присоединиться к группам, которые вам понравились. Примечание: если вы не присоединитесь к группе, это не повлияет на ваши шансы одержать победу!

Дополнительные вопросы

Коллекционные карточки Steam — это виртуальные карточки, которые можно получить, играя и покупая игры в Steam. Из коллекционных карточек можно создавать значки, за которые даются такие награды, как смайлики и фоны профилей.

Как получать карточки летней распродажи?

Коллекционные карточки летней распродажи доступны только во время стимопланетянской акции. Существует шесть способов их получить:

Стимопланетянская игра

Каждый день вы можете заработать до трёх карточек летней распродажи, участвуя в стимопланетянской игре. Развлекайтесь и получайте за это награды!

Создайте значок игры

Создав значок для любой игры во время акции, вы получите дополнительную карточку летней распродажи.

Совершите покупку

В награду за каждые 10 долларов США, потраченные во время распродажи, вы получите коллекционную карточку. Узнать, сколько осталось до следующей карточки, можно по ссылке «Как получить больше карточек?» на странице значка летней распродажи.

Просмотрите список рекомендаций до конца

Если ваш профиль Steam имеет пятый уровень или выше, то вы получите карточку летней распродажи за просмотр всех предложений из ежедневного списка рекомендаций. Ежедневно вы сможете просматривать список рекомендаций ещё два раза, чтобы таким образом получать до 3 карточек в день. (Если ваш аккаунт достигнет пятого уровня до конца распродажи, то вы получите все карточки, заработанные за просмотр списка рекомендаций во время распродажи).

Обменивайтесь карточками

Для этого они и существуют! Ищите карточки у друзей и обменивайтесь с ними. На странице значка Летней распродажи можно увидеть, у кого из друзей есть нужные вам карточки.

Покупайте их на Торговой площадке

Продавайте ненужные карточки и покупайте нужные. Превратите лишние карточки в средства кошелька Steam.
Перейти на Торговую площадку

Источник

Читайте также:  Как повысить иммунитет у ребенка растительными препаратами

OM Left 4 Dead 2 Russia

Официальная группа, созданая для русских игроков игры Left 4 Dead 2. Все последние новости Left 4 Dead 2 ты узнаеш только тут! В нашей группе!

Обновление Left 4 Dead 2 (07/02/2010)

7. februar 2010 —
waqueN |
0 kommentarer

Список изменений:

Геймлпей:

* Теперь призрачные «PZ» не могут бродить
* Стали доступны «PZ» боты
* PZ боты ведут себя более агрессивно в режимах «Сражение» и «Сбор»
* На финальных картах ручной спаун включен по умолчанию
* Исправлена ситуация, когда выжившим PZ игрокам не засчитывались баллы, когда они были мёртвые, позволяя тем самым экстра PZ ботам спауниться.
* Эффективнось оружия ближнего боя против танка снижена. За 1 удар наносится урон равный не 10% здоровья танка, а всего 5%.
* Исправлен баг, когда погибший игрок, который позже был вызволен из «клозета» и поднятый другим игроком после падения/виса, получал вторичное оружие, которые было у него до момента его первой смерти.
* Улучшен AI выживших ботов.
* Fixed issue with witch sometimes taking on uncommon common properties
* Фикс для читеров. Теперь им не удастся выйти с сервера до окончания голосования на их бан, тем самым избежав пблокировки. Теперь они будут забанены на сервере в любом случае.
* Забаненные VAC-ом юзеры теперь смогут играть в одиночную игру.

Map Fixes:

* Dark Carnival Fair Ground: добавлен env_player_blocker чтобы избежать «застревание» зомби-боссов.
* Dark Carnival Fair Ground: Добавлена отсутствующая навигационная зона для ботов.
* Dark Carnival Fair Ground: Отключены дропы, которые блокировались из-за верхушек забора
* Swamp Fever Plank Country: Удалены 2 смежные навигационные зоны, которые пролегали между деревьями, где нельзя было пройти.
* Swamp Fever Shanty Town: Перерисованы ладдеры, чтобы особо-заражённые могли забираться на крышу
* The Parish Waterfront: Подкорректированы различные навигационные зоны
* Mall: Улучшем спаун зомби, чтобы сделать карту чуть сложнее

SDK Content:

* Добавлено nature/blend tooltextures added
* Добавлено cs models/textures
* Добавлено acunit01 model/texture
* Добавлено ammo_can_02 model/texture
* Добавлено patio_chair model/texture

Обновление Left 4 Dead 2 (13/01/2010)

13. januar 2010 —
waqueN |
0 kommentarer

Список изменений:

Игровой процесс:

* Исправлена ошибка, из-за которой на последнюю обойму с улучшенными пулями не воздействовал эффект улучшения;
* Выжившие, на которых запрыгнул Жокей во всех без исключения случаях будут подсвечиваться для команды Заражённых;
* Исправлен эксплойт, который позволял игрокам за Жокея мгновенно восстанавливать свои способности;
* Исправлена ошибка, из-за которой таймер способностей Громилы не сбрасывался при убийстве Выжившего с низким уровнем здоровья на третьем ударе;
* Громила получает небольшие повреждения при пробеге через физические объекты.

Подбор игроков:
#

* Исправлен механизм запросов, посылаемых мастер-сервером на групповые сервера;
* Исправлена сортировка в интерфейсе групповых серверов;
* Повышена производительность обновления интерфейса групповых серверов.

Разное:
#

* В ПК версии шейдер воды теперь поддерживает режим разделённого экрана;
* Различные исправления субтитров;
* Обновлены иконки в области уведомлений;
* Исправлена ошибка с таймером у Выживших, которая проявлялась при вызове голосования на рестарт раунда.

Изменения SDK/L4D2-LD/Hammer:
#

* При просмотре файлов func_instance, теперь будет возвращаться правильный относительный путь к текущей bsp. Это позволит дизайнерам уровней использовать части из основной игры в DLC картах без ручной правки имён файлов;
* В base.fgd изменён skybox по-умолчанию на существующий в L4D2;
* В fgd добавлена env_instructor_hint, и соответствующие иконки содержимого и игры;
* Исправлен URL Deadline;
* Добавлена отсутствующая VMT для env_instructor_hint;
* Поддержка дополнений L4D — восстановлена модифицированная VMT для delivery van;
* Поддержка дополнений L4D — восстановлена отсутствующая shelves metal 3;
* Поддержка дополнений L4D — восстановлен переключатель генератора прожекторного освещения;
* Поддержка дополнений L4D — восстановлено недостающее содержимое самолёта;
* Обновлена VBSP для правильной обработки примеров в примерах;
* Исправлена ошибка, из-за которой переключение в полноэкранный режим просмотра в Hammer приводило к перезапуску программы.

Источник