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

ryancoolround

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

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

  • Посещение

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

    546

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

  1. Файл .smx компилировался на версии SM 1.10.0.6492 Файл .sp оптимизирован для идеальной компиляции на версии SM 1.10.0.6492 Изменено описание плагина Описание кваров переведено на русский Исправлено предупреждение 234, которое возникает при компиляции на версии SM 1.10.0.6492 Исправлено предупреждение 217, которое возникает при компиляции на версии SM 1.10.0.6492 DistanceMeter.smx DistanceMeter.sp
  2. Описание: Расширяет переменную mp_friendlyfire до индивидуальной настройки для каждого игрока. Плагин компилировался на версии SM 1.10.0.6492 Автоматически генерируется следующий CFG файл: // This file was auto-generated by SourceMod (v1.10.0.6492) // ConVars for plugin "SetFF.smx" // Включите для всех дружественный огонь. // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" sm_setff_everyone "1" // Скрывает уведомление об изменении значений mp_friendlyfire. // - // Default: "0" // Minimum: "0.000000" // Maximum: "1.000000" sm_setff_hide_ff "0" // Скрывает уведомление об изменении значений sv_tags. // - // Default: "0" // Minimum: "0.000000" // Maximum: "1.000000" sm_setff_hide_tags "0" // Скрывает сообщения о командных атаках, если ваш мод их поддерживает. // - // Default: "0" // Minimum: "0.000000" // Maximum: "1.000000" sm_setff_hide_teamattack "0" // Выберите, когда FF будет сброшен для выбранного игрока: [-1] Никогда не сбрасывается, [0] Сбрасывается при смерти, [1] Сбрасывается при отключенЊ// - // Default: "-1" // Minimum: "-1.000000" // Maximum: "2.000000" sm_setff_resetmethod "-1" // Изменяет целевое поведение плагина: 0 - позволяет цели атаковать всех товарищей по команде, 1 - позволяет атаковать цель всеми товарищами по // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" sm_setff_target "1" Команды: sm_setff @all либо ник игрока sm_unsetff @all либо ник игрока Плагину для корректной работы необходим файл перевода common.phrases, который идет в стандартной сборке SM. Так же в плагине присутствуют специфические евенты для других модов: // hook TF2-specific events HookEventEx("teamplay_restart_round", Event_SortFFReset, EventHookMode_Post); HookEventEx("arena_win_panel", Event_SortFFReset, EventHookMode_Post); // hook DOD-specific events HookEventEx("dod_round_win", Event_SortFFReset, EventHookMode_Post); Установка: Скомпилируйте .sp файл и поместите скомпилированный плагин в /left4dead2/addons/sourcemod/plugins Либо поместите уже наш собранный .smx файл в /left4dead2/addons/sourcemod/plugins Сделайте рестарт сервера SetFF.smx SetFF.sp
  3. Описание: Наверно я самый первый человек, кто не будет любить данный плагин. Ибо я этим трюком постоянно пользуюсь. Плагин не будет позволять игрокам быстро подниматься по лестнице, когда они используют комбинацию клавиш, «wa», «wd», «as» или «sd». Это делается отключением левой (a) и правой (d) клавиш, когда люди поднимаются по лестнице, используя ВВЕРХ (w) и ВНИЗ (s). В общем от многих слышал что это немного раздражает, особенно в тех местах где не работает анти блок. CVars: preventfastladderclimbversion - проверка версии preventfastladderclimb 1 - включен ли плагин по умолчанию preventfastladderclimb.smx preventfastladderclimb.sp
  4. level/gnomeftw.wav Лежит в папке с игрой.
  5. Turtle Rock Studios продолжает интриговать нас новыми деталями своей попытки повторить успех великой Left 4 Dead 2. Если они реально занимаются внуком всеми любимой Left 4 Dead 2, то уже можно делать какие то предположения, исходя из тех кусочков информации, которыми с нами делятся. Ниже видео, если оно относится к той самой Back 4 Blood, то можно предположить, что ребята записывали анимацию аналога Курильщика из Left 4 Dead 2. Который, как я себе нафантазировал, будет хватать бегущую жертву, чем то похожим на длинный язык веревку за ногу, жертва будет падать, делая в воздухе сальто. Что же, я продолжаю следить за работой студии. А вы, накидайте ваших теорий и предположений. 1708963662743.mp4
  6. Если в 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
  7. Так проверить это захотелось.
  8. В этой теме я буду писать о ошибках, и путях как я их решал, по мере их поступления. Это мне пригодится в дальнейшем, что бы не сидеть по 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.
  9. Кстати, достаточно интересный вопрос, обновят ли базу античита?
  10. Что то меня потянуло в тему азарта и рандома. В общем, суть плагина в том, что игрок в чате вводит команду !gift и получает после этого случайный подарок. Плагин работает один раз за жизнь персонажа, то есть, если один раз набрать !gift, то в следующий раз его можно будет использовать только после следующего респавна. Игрок может получить: Дополнительное хп Калашников Буст к скорости Молотов Ничего Дебафф к скорости Дебафф к хп Таблетки Плагин компилировался на версии SM 1.10.0.6492 Установка: Скомпилируйте .sp файл и поместите его в /left4dead2/addons/sourcemod/plugins Или поместите уже готовый .smx файл в /left4dead2/addons/sourcemod/plugins Сделайте рестарт сервера. gift.smx gift.sp
  11. Хотя 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-режима нет: игра ограничивается длинным кооперативным гриндом.
  12. Найдена новая пасхалка! Оторванная конечность указывает на логотип Left 4 Dead 2!

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

     

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

    szymon-wajner-left4dead2-text-mini.jpg

  14. На этот раз дяде Нику не повезло, я все тесты проделывал на нем. Этот плагин устанавливает цвет и прозрачность игроков в зависимости от его здоровья. Кстати, этот плагин полностью настраивается с помощью конфиг файла. Это особенно полезно для серверов Сражения на реализме. Компиляция была произведена на 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
  15. Коротко о последней деятельности компании Valve.
  16. И еще один плагин на Motd который отказался у меня работать.

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

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