Подскажите, есть ли какая-нибудь возможность сделать в кооперативе для живых игроков команды Зараженных ночное зрение? Дело в том, что оно есть в версусе, когда играешь призраком или уже живой, то в темноте дается дополнительное освещение. Но вот, если человек играет за зараженных в кооперативе, то такой подсветки нет, и каждая комната без окон становится очень темной. Кто-нибудь знает, может есть оффсет какой-то или что-то еще? Спасибо!
Ночное зрение у Особых Зараженных
#1
Отправлено 11 Апрель 2020 - 20:31
#2
Отправлено 12 Апрель 2020 - 5:40
public void OnPluginStart() { RegConsoleCmd("sm_da", nv); } public Action nv (int client, int args) { static bool awdas; awdas = !awdas; SetEntProp (client, Prop_Send, "m_bHasNightVision", view_as<int>(awdas)); SetEntProp (client, Prop_Send, "m_bNightVisionOn", view_as<int>(awdas)); }
Не проверял, но должно помочь
Сообщение отредактировал BHaType: 12 Апрель 2020 - 8:00
- 8rutu5 и Goldfish это нравится
#3
Отправлено 12 Апрель 2020 - 14:28
public void OnPluginStart() { RegConsoleCmd("sm_da", nv); } public Action nv (int client, int args) { static bool awdas; awdas = !awdas; SetEntProp (client, Prop_Send, "m_bHasNightVision", view_as<int>(awdas)); SetEntProp (client, Prop_Send, "m_bNightVisionOn", view_as<int>(awdas)); }Не проверял, но должно помочь
За вариант спасибо, хоть что-то, слегка помогает. Но принцип, к сожалению, другой. Данные оффсеты скорее дают эффект настоящего ночного видения, но для заразы в коопе, например, закрытые комнаты не освещаются. То есть просто, будто светлая пелена на экран накладывается. А в версусе именно, как-будто спрайт какой-то освещающий что ли, накладывается. Он работает как фонарик у сурвов. Ладно, буду думать, что можно сделать. За вариант спасибо. Хотя бы что-то.
Сообщение отредактировал 8rutu5: 12 Апрель 2020 - 14:29
#4
Отправлено 12 Апрель 2020 - 15:38
Разобрался как сделать. Нашел из одного старого плагина на работу с фонариком у сурвов и сделал под себя. Может кому пригодится.
Сообщение отредактировал 8rutu5: 12 Апрель 2020 - 15:39
- Slaven555, dragokas и Goldfish это нравится
#5
Отправлено 12 Апрель 2020 - 16:29
Разобрался как сделать. Нашел из одного старого плагина на работу с фонариком у сурвов и сделал под себя. Может кому пригодится.
static const String: NETPROP_CTERROR_PLAYER[] = "CTerrorPlayer";static const String: NETPROP_FLASHLIGHT[] = "m_fEffects";static const FLASHLIGHT_STATE_ON = 4;static g_iFlashlight_Offset = 0;public OnPluginStart(){g_iFlashlight_Offset = FindSendPropInfo(NETPROP_CTERROR_PLAYER, NETPROP_FLASHLIGHT);HookEvent("player_spawn", EventHook:Respawning_Event, EventHookMode_Post);}public Action:Respawning_Event(Handle:event, const String:name[], bool:dontBroadcast){int client = GetClientOfUserId(GetEventInt(event, "userid"));if (IsClientInGame(client))if (GetClientTeam(client) == 3)if (!IsFakeClient(client))CreateTimer(0.1, EnableInfectedFlashLight, client);}public Action:EnableInfectedFlashLight(Handle:timer, client){SetEntData(client, g_iFlashlight_Offset, FLASHLIGHT_STATE_OFF);SetEntData(client, g_iFlashlight_Offset, FLASHLIGHT_STATE_ON);}
та ты там что играешь за заразу в коопе чтоли или я неправильно понял? ХД
- RyanAnderson это нравится
#6
Отправлено 12 Апрель 2020 - 17:18
та ты там что играешь за заразу в коопе чтоли или я неправильно понял? ХД
Да, я для своего сервера внутри коопного режима сделал кастомный. Один начинает за зараженных. Каждого кого он убьет - становится Зараженным тоже и играет с ним в команде, помогая добить оставшихся Выживших.
- RyanAnderson это нравится
#7
Отправлено 12 Апрель 2020 - 17:38
Да, я для своего сервера внутри коопного режима сделал кастомный. Один начинает за зараженных. Каждого кого он убьет - становится Зараженным тоже и играет с ним в команде, помогая добить оставшихся Выживших.
Я так понял за любого зараженного можно играть? И проблем никаких нету в плане стабильности, вылетов.. ?
#8
Отправлено 12 Апрель 2020 - 19:02
Я так понял за любого зараженного можно играть? И проблем никаких нету в плане стабильности, вылетов.. ?
С Танком много костылей там воротить приходится. А так в целом все играбельно, главное реализовать возможность респауна не автоматического, а как в версусе через призрак и все)
- Goldfish это нравится
#9
Отправлено 13 Апрель 2020 - 10:20
Да, я для своего сервера внутри коопного режима сделал кастомный. Один начинает за зараженных. Каждого кого он убьет - становится Зараженным тоже и играет с ним в команде, помогая добить оставшихся Выживших.
интересная идея чтобы не скучать в наблюдении) спасательные туалеты получается к жизни сурвов уже не возвращают?
#10
Отправлено 13 Апрель 2020 - 11:10
интересная идея чтобы не скучать в наблюдении) спасательные туалеты получается к жизни сурвов уже не возвращают?
Нет) после смерти игрок до конца игры остаётся в команде заражённых. Там кварами можно, кстати, еще воскресение отключить, ну и death check тоже, чтобы карта не началась сначала после смерти всех выживших. В целом прикольно режим получился, но, к сожалению, мне с балансом трудно работать, так как многие кооперы в этом режиме только учатся играть как за заразу так и против нее, когда там сильные игроки. Но в целом, плюс-минус играбельно.
#11
Отправлено 13 Апрель 2020 - 14:09
Нет) после смерти игрок до конца игры остаётся в команде заражённых. Там кварами можно, кстати, еще воскресение отключить, ну и death check тоже, чтобы карта не началась сначала после смерти всех выживших. В целом прикольно режим получился, но, к сожалению, мне с балансом трудно работать, так как многие кооперы в этом режиме только учатся играть как за заразу так и против нее, когда там сильные игроки. Но в целом, плюс-минус играбельно.
тоже такая изначальная идея была заняться версусом да и мне само по себе играть за заразу пок айфу, но сравнив кооп и сражение решил все таки заняться коопом,береженого бох бережет))
может если можно совместно поучаствуем в разработке твоего проекта? =D
Сообщение отредактировал Goldfish: 13 Апрель 2020 - 14:12
#12
Отправлено 13 Апрель 2020 - 15:29
тоже такая изначальная идея была заняться версусом да и мне само по себе играть за заразу пок айфу, но сравнив кооп и сражение решил все таки заняться коопом,береженого бох бережет))
может если можно совместно поучаствуем в разработке твоего проекта? =D
Скрытый текст
Да без проблем, только рад буду помощи) но вся проблема в том, что этот режим интегрирован в мой основной большой плагин, а он приватный) то есть с ним работаю только я сам) так что даже не знаю, но как вариант, могу попробовать поделиться кодом этого режима убрав оттуда привязку особенностей моего сервера и сделать отдельным плагином для всех ну и может идеи какие-то предложить интересные да и просто поиграешь, потестируешь. Любая помощь приоодится
- Goldfish это нравится
#13
Отправлено 16 Апрель 2020 - 17:39
Разобрался как сделать. Нашел из одного старого плагина на работу с фонариком у сурвов и сделал под себя. Может кому пригодится.
Спасибо, реально работает.
Сообщение отредактировал Slaven555: 16 Апрель 2020 - 17:39
#14
Отправлено 17 Апрель 2020 - 0:27
главное реализовать возможность респауна не автоматического, а как в версусе через призрак и все)
Можно вот так
#include <sourcemod> #include <sdktools> Handle g_hGhost; public void OnPluginStart() { RegConsoleCmd("aaaaa", asd); StartPrepSDKCall(SDKCall_Player); PrepSDKCall_SetSignature(SDKLibrary_Server, "@_ZN13CTerrorPlayer17OnEnterGhostStateEv", 0); g_hGhost = EndPrepSDKCall(); } public Action asd (int client, int args) { SDKCall(g_hGhost, client); }
- 8rutu5 и Goldfish это нравится
#15
Отправлено 17 Апрель 2020 - 1:13
Можно вот так
#include <sourcemod> #include <sdktools> Handle g_hGhost; public void OnPluginStart() { RegConsoleCmd("aaaaa", asd); StartPrepSDKCall(SDKCall_Player); PrepSDKCall_SetSignature(SDKLibrary_Server, "@_ZN13CTerrorPlayer17OnEnterGhostStateEv", 0); g_hGhost = EndPrepSDKCall(); } public Action asd (int client, int args) { SDKCall(g_hGhost, client); }
Спасибо, это все уже у меня реализовано)
#16
Отправлено 26 Январь 2023 - 9:28
public void OnPluginStart() { RegConsoleCmd("sm_da", nv); } public Action nv (int client, int args) { static bool awdas; awdas = !awdas; SetEntProp (client, Prop_Send, "m_bHasNightVision", view_as<int>(awdas)); SetEntProp (client, Prop_Send, "m_bNightVisionOn", view_as<int>(awdas)); }Не проверял, но должно помочь
Спасибо за скрипт, работает, но есть один момент, при старте каждой карты надо вводить !da 2 раза, так как с первого не включает и сам не стартует
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных