Перейти к содержанию

ryancoolround

Администратор
  • Постов

    7 073
  • Зарегистрирован

  • Посещение

  • Победитель дней

    546

Весь контент ryancoolround

  1. Описание: Наверно я самый первый человек, кто не будет любить данный плагин. Ибо я этим трюком постоянно пользуюсь. Плагин не будет позволять игрокам быстро подниматься по лестнице, когда они используют комбинацию клавиш, «wa», «wd», «as» или «sd». Это делается отключением левой (a) и правой (d) клавиш, когда люди поднимаются по лестнице, используя ВВЕРХ (w) и ВНИЗ (s). В общем от многих слышал что это немного раздражает, особенно в тех местах где не работает анти блок. CVars: preventfastladderclimbversion - проверка версии preventfastladderclimb 1 - включен ли плагин по умолчанию preventfastladderclimb.smx preventfastladderclimb.sp
  2. level/gnomeftw.wav Лежит в папке с игрой.
  3. Turtle Rock Studios продолжает интриговать нас новыми деталями своей попытки повторить успех великой Left 4 Dead 2. Если они реально занимаются внуком всеми любимой Left 4 Dead 2, то уже можно делать какие то предположения, исходя из тех кусочков информации, которыми с нами делятся. Ниже видео, если оно относится к той самой Back 4 Blood, то можно предположить, что ребята записывали анимацию аналога Курильщика из Left 4 Dead 2. Который, как я себе нафантазировал, будет хватать бегущую жертву, чем то похожим на длинный язык веревку за ногу, жертва будет падать, делая в воздухе сальто. Что же, я продолжаю следить за работой студии. А вы, накидайте ваших теорий и предположений. 1708963662743.mp4
  4. Если в Google по первой ссылки скачать расширение Left 4 Downtown 2 (0.5.4.2) и загрузить его на сервер myArena, то в итоге вы можете получить следующую ошибку: <FAILED> file "left4downtown.ext.2.l4d2.so": /game/left4dead2/addons/sourcemod/extensions/left4downtown.ext.2.l4d2.so: undefined symbol: g_pMemAlloc site:forums.alliedmods.net Данная версия расширение избавляет вас от этой ошибки. Описание: Left 4 Downtown 2 - это расширение, которое в основном используют для разблокировки максимального количества слотов игроков на сервере Так же, это расширение добавляет цели для команд в Sourcemod, таких как @survivors и @infected. Ну и соответственно, с помощью этого расширения в плагины можно принести новые новаторские решения. Установка: Извлеките содержимое архива и поместите его в /left4dead2/addons/sourcemod Сделайте рестарт сервера Использование: просто установите CVAR l4d_maxplayers на то, что вы хотите, в server.cfg (например, l4d_maxplayers 12 ) или -1, чтобы отключить переопределение. Вы также можете установить -maxplayers или + maxplayers из командной строки вместо использования CVAR. Чтобы использовать специальные цели, просто используйте их в команде. например sm_kick @infected или !slay @survivors ConVars: l4d_maxplayers left4downtown_version Возможности разработчиков: Left 4 Downtown 2 предоставляет большое количество полезных форвардов для разработчиков плагинов L4D2. Ниже приводится список некоторых форвардов. /** * @brief Called whenever ZombieManager::SpawnTank(Vector&,QAngle&) is invoked * @remarks Not invoked if z_spawn tank is used and it gives a ghosted/dead player tank * * @param vector Vector coordinate where tank is spawned * @param qangle QAngle where tank will be facing * @return Pl_Handled to block tank from spawning, Pl_Continue otherwise. */ forward Action:L4D_OnSpawnTank(const Float:vector[3], const Float:qangle[3]); /** * @brief Called whenever ZombieManager::SpawnWitch(Vector&,QAngle&) is invoked * * @param vector Vector coordinate where witch is spawned * @param qangle QAngle where witch will be facing * @return Pl_Handled to block witch from spawning, Pl_Continue otherwise. */ forward Action:L4D_OnSpawnWitch(const Float:vector[3], const Float:qangle[3]); /** * @brief Called whenever ZombieManager::SpawnWitchBride(Vector&,QAngle&) is invoked * * @param vector Vector coordinate where witch is spawned * @param qangle QAngle where witch will be facing * @return Pl_Handled to block witch from spawning, Pl_Continue otherwise. */ forward Action:L4D_OnSpawnWitchBride(const Float:vector[3], const Float:qangle[3]); /** * @brief Called whenever ZombieManager::SpawnSpecial(ZombieClassType,Vector&,QAngle&) is invoked * @remarks Only used for bot special spawns (not players) * * @param zombieClass Zombie class that will be spawned. * @param vector Vector coordinate where special will be spawned * @param qangle QAngle where spcial will be facing * @return Pl_Handled to block special from spawning, * Pl_Changed to change the zombie class type to spawn, Pl_Continue otherwise. */ forward Action:L4D_OnSpawnSpecial(&zombieClass, const Float:vector[3], const Float:qangle[3]); /** * @brief Called whenever CTerrorGameRules::ClearTeamScores(bool) is invoked * @remarks This resets the map score at the beginning of a map, and by checking * the campaign scores on a small timer you can see if they were reset as well. * * @param newCampaign if true then this is a new campaign, if false a new chapter * @return Pl_Handled to block scores from being cleared, Pl_Continue otherwise. */ forward Action:L4D_OnClearTeamScores(bool:newCampaign); /** * @brief Called whenever CTerrorGameRules::SetCampaignScores(int,int) is invoked * @remarks The campaign scores are updated after the 2nd round is completed * * @param scoreA score of logical team A * @param scoreB score of logical team B * @return Pl_Handled to block campaign scores from being set, Pl_Continue otherwise. */ forward Action:L4D_OnSetCampaignScores(&scoreA, &scoreB); /** * @brief Called whenever CDirector::OnFirstSurvivorLeftSafeArea is invoked * @remarks A versus round is started when survivors leave the safe room, or force started * after 90 seconds regardless. * * @param client the survivor that left the safe area first * * @return Pl_Handled to block round from being started, Pl_Continue otherwise. */ forward Action:L4D_OnFirstSurvivorLeftSafeArea(client); /** * @brief Called whenever CDirector::GetScriptValue(const char*, int) is invoked * @remarks A script value is map specific * * @param key the script's key name * @param retVal what to override the return value with * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnGetScriptValueInt(const String:key[], &retVal); /** * @brief Called whenever CDirector::GetScriptValue(const char*, float) is invoked * @remarks A script value is map specific * * @param key the script's key name * @param retVal what to override the return value with * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnGetScriptValueFloat(const String:key[], &Float:retVal); /** * @brief Called whenever CDirector::GetScriptValue(const char*, const char*, char*, int) is invoked * @remarks A script value is map specific * * @param key the script's key name * @param defaultVal default key return, usually empty * @param retVal returned String * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnGetScriptValueString(const String:key[], const String:defaultVal[], String:retVal[128]); /** * @brief Called whenever CTerrorPlayer::OnEnterGhostState(CTerrorPlayer*) is invoked * @remarks This happens when a player enters ghost mode (or in finales auto-materialized) * * @param client the client that has entered ghost mode */ forward L4D_OnEnterGhostState(client); /** * @brief Called whenever CDirector::TryOfferingTankBot is invoked * @remarks Is used for displaying the "X gets Tank" window and transferring Tank control * * @return Pl_Handled to block window from showing and to keep Tank Bot, Pl_Continue otherwise */ forward Action:L4D_OnTryOfferingTankBot(tank_index, &bool:enterStasis); /** * @brief Called whenever CDirector::OnMobRushStart(void) is invoked * @remarks called on random hordes, mini- and finale hordes, and boomer hordes, causes Zombies to attack * Not called on "z_spawn mob", hook the console command and check arguments to catch plugin mobs * This function is used to reset the Director's natural horde timer * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D_OnMobRushStart(); /** * @brief Called whenever ZombieManager::SpawnITMob(int) is invoked * @remarks called on boomer hordes, increases Zombie Spawn Queue * * @param amount Amount of Zombies to add to Queue * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D_OnSpawnITMob(&amount); /** * @brief Called whenever ZombieManager::SpawnMob(int) is invoked * @remarks called on natural hordes & z_spawn mob, increases Zombie Spawn * Queue, triggers player OnMobSpawned (vocalizations), sets horde * direction, and plays horde music. * * @param amount Amount of Zombies to add to Queue * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D_OnSpawnMob(&amount); /** * @brief Called whenever CTerrorPlayer::OnShovedBySurvivor(CTerrorPlayer, Vector&) is invoked * @remarks L4D2 only uses this on Special Infected * * @param client the client that did the shoving * @param victim the client that was shoved (CAUTION: retrieved from function pointer, dont meddle with it) * @param vector Vector Angle of Shoveforce * * @return Pl_Handled to block melee effect (staggering), Pl_Continue otherwise. */ forward Action:L4D_OnShovedBySurvivor(client, victim, const Float:vector[3]); /** * @brief Called whenever CTerrorPlayer::GetCrouchTopSpeed() is invoked * * @param target the client that its being called on (not changible) * @param retVal what to override the return value with * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnGetCrouchTopSpeed(target, &Float:retVal); /** * @brief Called whenever CTerrorPlayer::GetRunTopSpeed() is invoked * * @param target the client that its being called on (not changible) * @param retVal what to override the return value with * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnGetRunTopSpeed(target, &Float:retVal); /** * @brief Called whenever CTerrorPlayer::GetWalkTopSpeed() is invoked * * @param target the client that its being called on (not changible) * @param retVal what to override the return value with * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnGetWalkTopSpeed(target, &Float:retVal); /** * @brief Called whenever CTerrorGameRules::HasConfigurableDifficultySetting() is invoked * @remarks used to deny/allow difficulty changes in different game modes * * @param retVal what to override the return value with. 1 to allow difficulty configuration, 0 to deny. * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnHasConfigurableDifficulty(&retVal); /** * @brief Called whenever CTerrorGameRules::GetSurvivorSet(void) is invoked * * @param retVal what to override the return value with * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnGetSurvivorSet(&retVal); /** * @brief Called whenever CTerrorGameRules::FastGetSurvivorSet(void) is invoked * * @param retVal what to override the return value with * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D_OnFastGetSurvivorSet(&retVal); /** * @brief Called whenever CDirectorVersusMode::GetMissionVersusBossSpawning() is invoked * @remarks Passed values are from the map's Mission Keyvalues. If those keyvalues don't exist, they are from cvar and other globals * * @param spawn_pos_min Minimum spawn position (percent of flow distance) for bosses * @param spawn_pos_max Maximum spawn position (perfect of flow distance) for bosses * @param tank_chance Chance for a tank to spawn on this map * @param witch_chance Chance for a witch to spawn on this map * * @return Pl_Handled to block reading map data, Pl_Changed to use overwritten values from plugin, Pl_Continue to continue to read from mission data. */ forward Action:L4D_OnGetMissionVSBossSpawning(&Float:spawn_pos_min, &Float:spawn_pos_max, &Float:tank_chance, &Float:witch_chance); /** * @brief Called whenever CThrow::ActivateAbility(void) is invoked * @remarks Called when a tank throws a rock. Blocking this call will * keep the tank from throwing a rock. * * @param ability ability_throw entity index * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D_OnCThrowActivate(ability); /** * @brief Called whenever InfectedShoved::OnShoved(Infected *, CBaseEntity *) is invoked * @remarks Called when common Infected are about to get shoved * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D_OnInfectedShoved(infected, entity); /** * @brief Called whenever CTerrorMeleeWeapon::StartMeleeSwing(CTerrorPlayer *, bool) is invoked * @remarks Called when a player uses his melee Weapons primary attack. This is before the game * reads the melee weapon data (model etc) and decides if he CAN attack at all. * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D_OnStartMeleeSwing(client, bool:boolean); /** * @brief Called whenever CDirectorScriptedEventManager::SendInRescueVehicle(void) is invoked * @remarks Called when the last Finale stage is reached and the Rescue Means becomes 'available'. * Take note this forward WILL fire upon using the native of the same function. * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D2_OnSendInRescueVehicle(); /** * @brief Called whenever CDirectorScriptedEventManager::ChangeFinaleStage is invoked * * @param FinaleStageType integer value * @remarks some values for FinaleStageType: 1 - Finale Started; 6 - Rescue Vehicle Ready; 7 - Zombie Hordes; 8 - Tank; 10 - Combat Respite (nothing spawns) * @remarks SendInRescueVehicle does not depend on Finale Stage being 6, that only signals endless Hordes/Tanks * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D2_OnChangeFinaleStage(&finaleType, const String:arg[]); /** * @brief Called whenever CDirectorVersusMode::EndVersusModeRound(bool) is invoked * * @param countSurvivors True if the survival multiplier count needs to be nonzero. I guess. * @remarks Not sure what bool does exactly yet. Just monitor it. If true, survivors will be counted for multiplier. If false, survival multiplier will be set to 0. * @remarks A lot of Score calculations happen on this function, and the round-end scoreboard comes up doing this. Don't block unless you're sure you can reproduce this logic. * * @return Pl_Handled to block, Pl_Continue otherwise */ forward Action:L4D2_OnEndVersusModeRound(bool:countSurvivors); /** * @brief Called when CBaseAnimating::SelectWeightedSequence(int Activity) is invoked with tank attack activity * @remarks Called whenever a tank uses his primary (punch) or secondary (throw) attack * * @param client the client that is playing as tank * @param sequence current selected sequence for attack, option to override the return value with it * @remarks sequences(punches): 40(uppercut), 43(right hook), 45(left hook), 46 and 47 (pounding the ground) * @remarks sequences(throws): 48(undercut), 49(1handed overhand), 50(throw from the hip), 51(2handed overhand) * * @return Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D2_OnSelectTankAttack(client, &sequence); /** * @brief Called when CTerrorPlayer::OnRevived(void) is invoked * @remarks Called post-revive so all data values are post-revive status. * * @param client the client that has been revived * * @noreturn Pl_Handled to override return value, Pl_Continue otherwise. */ forward Action:L4D2_OnRevived(client); Natives: /** * @brief Get the current campaign scores stored in the Director * @remarks The campaign scores are updated after L4D_OnSetCampaignScores * * @deprecated This will set the scores to -1 for both sides on L4D2, * this function is no longer supported. * * @param scoreA score of logical team A * @param scoreB score of logical team B * @return 1 always */ #pragma deprecated Use GetTeamScore and OnClearTeamScores instead native L4D_GetCampaignScores(&scoreA, &scoreB); /** * @brief Get the team scores for the current map * @remarks The campaign scores are not set until the end of round 2, * use L4D_GetCampaignScores to get them earlier. * * @deprecated This function can be called through SDKTools using CTerrorGameRules, * and so you should switch off to using SDKTools instead of this native. * * @param logical_team 0 for A, 1 for B * @param campaign_score true to get campaign score instead of map score * @return the logical team's map score * or -1 if the team hasn't played the round yet, * or the team's campaign score if campaign_score = true */ native L4D_GetTeamScore(logical_team, campaign_score=false); /** * @brief Restarts the setup timer (when in scavenge mode) * @remarks If game has already started, the setup timer will show, * but it still won't go back into setup. */ native L4D_ScavengeBeginRoundSetupTime(); /** * @brief Restarts the round, switching the map if necessary * @remarks Set the map to the current map to restart the round * * @param map the mapname it should go to after the round restarts * @return 1 always */ native L4D_RestartScenarioFromVote(const String:map[]); /** * @brief Removes lobby reservation from a server * @remarks Sets the reservation cookie to 0, * it is safe to call this even if it's unreserved. */ native L4D_LobbyUnreserve(); /** * @brief Checks if the server is currently reserved for a lobby * @remarks Server is automatically unreserved if it hibernates or * if all players leave. * * @deprecated This will always return false on L4D2 or on Linux. * * @return true if reserved, false if not reserved */ #pragma deprecated This will always return false on L4D2 or on Linux. native bool:L4D_LobbyIsReserved(); /** * @brief Gets the max versus completion score for the map * @remarks Requires GameRules to be initialized--map must be loaded * Seems to be updated before OnMapStart * * * @return The map's max completion distance (map distance score) */ native L4D_GetVersusMaxCompletionScore(); /** * @brief Sets the max versus completion score for the map * @remarks Requires GameRules to be initialized--map must be loaded * Seems to be updated before OnMapStart and checked on round_start * * @param score The versus max completion score to set for the round */ native L4D_SetVersusMaxCompletionScore(score); /** * @brief Tells if the Mission (map) is the final map of the campaign * * @return true if the map is the last map of the campaign (finale) */ native bool:L4D_IsMissionFinalMap(); /** * @brief Resets the natural mob (horde) timer * @remarks Requires the Director to be available--map must be started * * @noreturn */ native L4D_ResetMobTimer(); /** * @brief Notifies the CGameRulesProxy that the game state has been changed * @remarks Use this function before changing networked members of GameRules, * like with L4D_SetVersusMaxCompletionScore() * * @noreturn */ native L4D_NotifyNetworkStateChanged(); /** * @brief Trigger's a target player's stagger behavior * @remarks Works on any CTerrorPlayer--survivor or infected. * * @param target Player to stagger * @param source_ent Source of the stagger (another player, etc) * @param source_vector Source location of the stagger. If NULL_VECTOR, origins of source_ent is used. * @noreturn */ native L4D_StaggerPlayer(target, source_ent, Float:source_vector[3]); /** * @brief Get the time remaining before the next director horde. * @remarks This timer is used for scripted event hordes and natural timed hordes * * @return Time remaining before next director horde */ #pragma deprecated Use L4D2_CTimerGetRemainingTime(L4D2CT_MobSpawnTimer) native Float:L4D_GetMobSpawnTimerRemaining(); /** * @brief Get the duration the horde timer was set to after the last horde * @remarks This timer is used for scripted event hordes and natural timed hordes * * @return Total time from last horde to next horde. */ #pragma deprecated Use L4D2_CTimerGetCountdownDuration(L4D2CT_MobSpawnTimer) native Float:L4D_GetMobSpawnTimerDuration(); /** * @brief Get the remaining spawn time for an SI * @remarks This is meant for Special infected in ghost mode in versus. * * @return Time (seconds) until the SI will spawn. */ native Float:L4D_GetPlayerSpawnTime(player); /** * @brief Calls CDirectorScriptedEventManager::SendInRescueVehicle(void) * * @remarks will fire the forward of the same function * * @noreturn */ native L4D2_SendInRescueVehicle(); /** * @brief Calls CDirectorScriptedEventManager::ChangeFinaleStage(CDirectorScriptedEventManager::FinaleStageType,char const*) * * @param FinaleStageType integer value * @remarks some values for FinaleStageType: 1 - Finale Started; 6 - Rescue Vehicle Ready; 7 - Zombie Hordes; 8 - Tank; 10 - Combat Respite (nothing spawns) * @remarks * @remarks will fire the forward of the same function * * @noreturn */ native L4D2_ChangeFinaleStage(finaleType, const String:arg[]); /** * @brief Calls ZombieManager::SpawnTank(Vector&,QAngle&) * * @param vector Vector coordinate where the tank will be spawned * @param qangle QAngle where the tank will be facing * @return Entity index of the spawned tank */ native L4D_SpawnTank(const Float:vector[3], const Float:qangle[3]); /** * @brief Calls ZombieManager::SpawnSpecial(ZombieClassType,Vector&,QAngle&) * @remarks Only used for bot special spawns (not players) * * @param vector Vector coordinate where the SI will be spawned * @param qangle QAngle where the SI will be facing * @return Entity index of the spawned SI */ native L4D_SpawnSpecial(zombieClass, const Float:vector[3], const Float:qangle[3]); /** * @brief Calls ZombieManager::SpawnWitch(Vector&,QAngle&) * * @param vector Vector coordinate where the witch will be spawned * @param qangle QAngle where the witch will be facing * @return Entity index of the spawned witch */ native L4D_SpawnWitch(const Float:vector[3], const Float:qangle[3]); /** * @brief Calls ZombieManager::SpawnWitchBride(Vector&,QAngle&) * * @param vector Vector coordinate where the witch bride will be spawned * @param qangle QAngle where the witch bride will be facing * @return Entity index of the spawned witch bride */ native L4D_SpawnWitchBride(const Float:vector[3], const Float:qangle[3]); Заметки: Максимальное количество игроков, о котором сообщает HLSW, будет автоматически меняться без использования sv_visiblemaxplayers (вы все равно можете использовать sv_visiblemaxplayers, как обычно, чтобы переопределить его по любой причине). По умолчанию команды по-прежнему привязаны к 4 зараженным, 4 выжившим, поэтому необходимы другие плагины, чтобы использовать дополнительные слоты. Что бы использовать корректно l4d_maxplayers разблокируйте необходимое количество слотов у вашего провайдера. left4downtown2-v0.5.4.2.zip
  5. Так проверить это захотелось.
  6. В этой теме я буду писать о ошибках, и путях как я их решал, по мере их поступления. Это мне пригодится в дальнейшем, что бы не сидеть по 5 часов в Goggle. Само собой вы можете дополнять эту тему. А я время от времени буду редактировать пост. Предупреждения: warning 204: symbol is assigned a value that is never used: Переменная объявлена, но нигде не используется. Можно смело удалить строку. warning 217: loose indentation Нарушена табуляция. Добавьте перед строкой 4 пробела. И убедитесь что между предыдущей и этой строкой стоит пропуск. warning 234: symbol "FCVAR_PLUGIN" is marked as deprecated: No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk. Нажимаете Ctrl + F, в окне поиска ищете "FCVAR_PLUGIN", найденное заменяете на 0 или на FCVAR_NONE. Так же "FCVAR_PLUGIN" можно стереть. Спасибо @BLOODY BLADE warning 234: symbol "FloatMul" is marked as deprecated: This native is internal implementation. For multiplication use the '*' operator. О! Интересное предупреждение, которое заставило меня думать часа 3. В итоге башка раскалывается, но я вроде нашел решение. Соответственно, перейдя на строку с предупреждением, мы видим код подобного типа: PushforceAngles[0] = FloatMul(Cosine(DegToRad(FiringAngles[1])), force); В SM 1.10 эта строка должна выглядеть следующим образом: PushforceAngles[0] = Cosine(DegToRad(FiringAngles[1])) * force; А строка: resulting[0] = FloatAdd(current[0], PushforceAngles[0]); Упрощается до такого результата resulting[0] = current[0] + PushforceAngles[0]; Ошибки: error 157: 'object' is a reserved keyword Попробуйте скомпилировать плагин на версии Sourcemod 1.6.
  7. Кстати, достаточно интересный вопрос, обновят ли базу античита?
  8. Что то меня потянуло в тему азарта и рандома. В общем, суть плагина в том, что игрок в чате вводит команду !gift и получает после этого случайный подарок. Плагин работает один раз за жизнь персонажа, то есть, если один раз набрать !gift, то в следующий раз его можно будет использовать только после следующего респавна. Игрок может получить: Дополнительное хп Калашников Буст к скорости Молотов Ничего Дебафф к скорости Дебафф к хп Таблетки Плагин компилировался на версии SM 1.10.0.6492 Установка: Скомпилируйте .sp файл и поместите его в /left4dead2/addons/sourcemod/plugins Или поместите уже готовый .smx файл в /left4dead2/addons/sourcemod/plugins Сделайте рестарт сервера. gift.smx gift.sp
  9. Хотя Overkill’s The Walking Dead гораздо больше своим геймплеем напоминает дилогию PayDay, многие сравнивают ее с Left 4 Dead, даром что хит Valve по-прежнему остается главной кооперативной игрой про зомби даже через десять лет после релиза. Объясняю вкратце, почему Left 4 Dead 2 — куда лучший выбор для любителей зомби-экшенов. В L4D2 все равны. Не имеет значения, играете вы два часа или две тысячи, — ваш герой будет абсолютно таким же, как у остальных, — стопроцентно боеспособным. В OTWD для достижения этого надо тратить много часов, и люди с лишним свободным временем будут иметь преимущество. L4D2 — это насыщенный геймплей и ничего больше. OTWD — подталкивает игроков к унылому сбору ресурсов, которые идут на поддержание и развитие лагеря, плюс еще надо заниматься менеджментом самого лагеря и его безликих обитателей. В L4D2 можно мгновенно влиться в игру на любой карте, в OTWD поиск партнеров потребует времени. L4D2 максимально динамична. Каждый этап в ней пробегается за 5-10 минут, и поражение откидывает назад совсем на немного. Сама игра мотивирует двигаться вперед быстро, и простые зомби тому не препятствие. OTWD медленна, требует стелса, а уровни очень большие и затянутые. L4D2 — игра про особенных зараженных со своими уникальными умениями. Простые зомби — массовка, и раскидывать их очень просто, а вот обездвиживающие особые зараженные — гвоздь программы: встречи с ними яркие и сложные. OTWD же заваливает бесконечным пушечным мясом: зомби в ней одинаковые, но чрезмерно живучие. Кооперативная кампания в L4D2 — это только разминка. Самая суть игры — в versus-режиме, где две команды по очереди отыгрывают роли зараженных и выживших. Когда на вашу группу нападают не рандомные глупые боты, а скоординированная команда, играть становится в разы интереснее. Что уж говорить про организацию слаженных атак на выживших при игре за зомби! В OTWD никакого versus-режима нет: игра ограничивается длинным кооперативным гриндом.
  10. Найдена новая пасхалка! Оторванная конечность указывает на логотип Left 4 Dead 2!

    Аннотация 2020-08-31 072518.png

     

  11. Гномика и Клоуна вам в активность, с добрым утром!

    szymon-wajner-left4dead2-text-mini.jpg

  12. На этот раз дяде Нику не повезло, я все тесты проделывал на нем. Этот плагин устанавливает цвет и прозрачность игроков в зависимости от его здоровья. Кстати, этот плагин полностью настраивается с помощью конфиг файла. Это особенно полезно для серверов Сражения на реализме. Компиляция была произведена на SM 1.10.0.6492 Установка: Скомпилировать .sp файл и поместить плагин в /left4dead2/addons/sourcemod/plugins Либо уже готовый .smx файл поместить в /left4dead2/addons/sourcemod/plugins Файл coloredhealth.txt поместить в /left4dead2/addons/sourcemod/configs Сделать рестарт сервера. coloredhealth.smx coloredhealth.sp coloredhealth.txt
  13. Коротко о последней деятельности компании Valve.
  14. И еще один плагин на Motd который отказался у меня работать.

  15. Когда я говорил про рекламу, я имел ввиду нечто другое.
  16. Я на пару дней свалю с ноутбуком в другой город. Максимум что смогу сделать, это тупо флудить в темах.

  17. В связи с этим удалил битые аватарки в профилях, ваши кружочки профилей были подменены автоматически на картинку с Плевальщицей.
  18. Это технически невозможно, Xbox 360 уже работает на пределе своих возможностей с существующим уже для игры контентом, поэтому добавление большего количества контента, скорее всего, нарушит игру на консолях.
  19. ryancoolround

    Black4Jack

    Плагин дает возможность сыграть в азартную игру со ставками в виде своего ХП. Команды: !bj, !21 - Взять еще карту !pass - Хватит В /left4dead2/cfg/sourcemod генерируется l4d2_Black4Jack.cfg файл со следующим содержимым: // This file was auto-generated by SourceMod (v1.10.0.6492) // ConVars for plugin "l4d2_Black4Jack.smx" // Сколько ХП ставит игрок // - // Default: "20" black_jack_bet "20" // Сколько максимум ХП может быть у игрока // - // Default: "1000" black_jack_health "1000" Плагин компилировался на версии SM 1.10.0.6492. Установка: Плагину требуется colors.inc который надо поместить в scripting\include. Поместите .sp файл в папку со своими скриптами и скомпилируйте плагин - или скачайте готовый .smx файл Перезапустите сервер l4d2_Black4Jack.sp l4d2_Black4Jack.smx
  20. ryancoolround

    Colors (1.2.3)

    Подключение в настоящее время не поддерживается авторами, но прекрасно работает и прекрасно справляется со своей задачей. ЦВЕТА В ЧАТЕ Функции для удобного управления цветом в чате Описание: Это подключение позволяет разработчикам легко управлять раскраской чата в различных модах, использовать теги цвета, использовать теги в переводах и автоматически заменять цвета в модах, которые их не поддерживают (любой цвет, который не поддерживается, будет заменен зеленым цветом). Функции: CPrintToChat CPrintToChatAll CPrintToChatEx CPrintToChatAllEx CRemoveTags CSkipNextClient Какой то код: /** * Prints a message to a specific client in the chat area. * Supports color tags. * * @param client Client index. * @param szMessage Message (formatting rules). * @return No return * * On error/Errors: If the client is not connected an error will be thrown. */ stock CPrintToChat(client, const String:szMessage[], any:...) /** * Prints a message to all clients in the chat area. * Supports color tags. * * @param client Client index. * @param szMessage Message (formatting rules) * @return No return */ stock CPrintToChatAll(const String:szMessage[], any:...) Возможные теги: {default}, {green}, {lightgreen}, {red}, {blue}, {olive}. Регулярные цвета: default, green (yellow в L4D), olive. Командные цвета: lightgreen, red, blue. Примечания: В сообщении можно использовать только один командный цвет (например lightgreen, red или blue). В hl2dm цвета для классического deathmatch и командного deathmatch разные. Если какой-то цвет не поддерживается модом, он будет автоматически заменен на зеленый. Вы можете использовать эти функции вместо функции SM по умолчанию, они поддерживают форматирование (% d,% s,% t и так далее) Зеленый цвет - желтый в L4D и L4D2. Для правильной работы красного и синего цветов в каждой команде должен быть хотя бы один игрок. В противном случае эти теги будут заменены на зеленый. colors.inc
  21. Информация по Xbox. К сожалению, Xbox не сможет обрабатывать содержимое этого обновления, поэтому оно будет доступно только для ПК. Изначально сообщество хотело, чтобы оно появилось и на xbox, но в нем слишком много ограничений, которые в конечном итоге сделали это невозможным.
×
×
  • Создать...