HaloShadoW
Участник
- Сообщения
- 28
- Реакции
- 1
Может кто знает, есть ли такой плагин, который блокирует,что бы КТ не могли убить Т с ножа и любого оружия и наоборот. Или серверная команда, или как-то по другому это реализовать.
public void OnPluginStart()
{
HookEvent("player_spawn", Event_PlayerSpawn);
}
public void Event_PlayerSpawn(Event hEvent, const char[] sName, bool bDontBroadcast)
{
int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
if(GetClientTeam(iClient) == 2) SetEntProp(iClient, Prop_Data, "m_takedamage", 0, 1);
}
Может прописать Т беск. хп? Ну или что б вообще не могли убить?
Вот бессмертие для Т,использую для своего маньяк сервера.C-подобный:public void OnPluginStart() { HookEvent("player_spawn", Event_PlayerSpawn); } public void Event_PlayerSpawn(Event hEvent, const char[] sName, bool bDontBroadcast) { int iClient = GetClientOfUserId(hEvent.GetInt("userid")); if(GetClientTeam(iClient) == 2) SetEntProp(iClient, Prop_Data, "m_takedamage", 0, 1); }
А вам нужно,что бы никто не убил друг друга?Тогда получается Т могут убить КТ.
А вам нужно,что бы никто не убил друг друга?
[Any] Set players health (with Spawn Health) - AlliedModders , [Any] Deluxe Godmode - AlliedModders
Во 2 плагине все по кварам сделать можно,по сути как вы и просите.
#include <sdkhooks>
bool g_bLate;
public APLRes AskPluginLoad2(Handle hMySelf, bool bLate, char[] szError, int iMaxErrLength) {
g_bLate = bLate;
}
public void OnPluginStart() {
if (!g_bLate)
return;
for (int iClient = MaxClients; iClient != 0; --iClient)
if (IsClientInGame(iClient))
OnClientPutInServer(iClient);
}
public void OnClientPutInServer(int iClient) {
if (IsFakeClient(iClient))
return;
SDKHook(iClient, SDKHook_OnTakeDamage, OnTakeDamage);
}
public Action OnTakeDamage(int iClient, int &iAttacker, int &iInflictor, float &flDamage, int &iDamageType) {
if (0 < iAttacker <= MaxClients && IsClientInGame(iAttacker)) {
return Plugin_Stop;
}
return Plugin_Continue;
}
PHP:#include <sdkhooks> bool g_bLate; public APLRes AskPluginLoad2(Handle hMySelf, bool bLate, char[] szError, int iMaxErrLength) { g_bLate = bLate; } public void OnPluginStart() { if (!g_bLate) return; for (int iClient = MaxClients; iClient != 0; --iClient) if (IsClientInGame(iClient)) OnClientPutInServer(iClient); } public void OnClientPutInServer(int iClient) { if (IsFakeClient(iClient)) return; SDKHook(iClient, SDKHook_OnTakeDamage, OnTakeDamage); } public Action OnTakeDamage(int iClient, int &iAttacker, int &iInflictor, float &flDamage, int &iDamageType) { if (0 < iAttacker <= MaxClients && IsClientInGame(iAttacker)) { return Plugin_Stop; } return Plugin_Continue; }
@HaloShadoW, не даёт игрокам дамажить друг друга, но при этом разрешает дамаг от самой карты.