uSzanowankoo! Napisano 9 Grudnia 2020 Witajcie, poszukuję pluginu, który blokowałby otrzymywanie obrażenia jednej z drużyn [dokładnie drużyna CT nie mogłaby zadawać obrażenia przeciwnikom w Terrorystach]. Potrzebuje tego na serwer Hide and Seek, by chowający się nie zabili osób z drużyny przeciwnej czyli szukających. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
ASzaz 1 Napisano 10 Grudnia 2020 Widzę, że nikt jeszcze nie odpisał 😛. Na szybko coś napisałem ale nie wiem czy będzie działać. #pragma semicolon 1 #define DEBUG #define PLUGIN_AUTHOR "ASzaz" #define PLUGIN_VERSION "0.1" #include <sourcemod> #include <sdktools> #include <cstrike> #include <sdkhooks> #pragma newdecls required int team[MAXPLAYERS + 1]; public Plugin myinfo = { name = "DMG Block", author = PLUGIN_AUTHOR, description = "Blokuje dmg dla jednej drużyny", version = PLUGIN_VERSION, url = "" }; public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype) { team[attacker] = GetClientTeam(attacker); if (team[attacker]==CS_TEAM_CT && team[victim]==CS_TEAM_T) damage = 0.0; return Plugin_Changed; } Możesz dać znać 😛 ew na pw żeby nie spamić. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Merxy 1 Napisano 10 Grudnia 2020 Tylko to trzeba najpierw zadeklarować. public void OnPluginStart() { for(int i = 1; i <= MaxClients; i++) { if(IsClientInGame(i)) { SDKHook(i, SDKHook_OnTakeDamage, OnTakeDamage); } } } public void OnClientPutInServer(int i) { SDKHook(i, SDKHook_OnTakeDamage, OnTakeDamage); } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
uSzanowankoo! Napisano 12 Grudnia 2020 Z tego co widzę nie to nie działa 😕 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Grafit Napisano 12 Grudnia 2020 (edytowane) #include <sourcemod> #include <cstrike> #include <sdktools> #include <sdkhooks> bool g_iJestWlaczony = false; public void OnPluginStart() { HookEvent("round_start", Start); HookEvent("player_hurt", Hurt); } public Action Start(Event event, char[] name, bool dontBroadcast) { g_iJestWlaczony = false; CreateTimer(2.0, GodMode); } public Action GodMode(Handle timer) { g_iJestWlaczony = true; } public Action Hurt(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt ("userid")); new gValue = GetEntProp(client, Prop_Data, "m_takedamage", 1); if(!g_iJestWlaczony && gValue && GetClientTeam(client) == CS_TEAM_T) { SetEntProp(client, Prop_Data, "m_takedamage", 0, 1) // to raczej blokue dmg a to nizej nie jesli nie bedzie dzialac to zamien z linijka nizej } else { SetEntProp(client, Prop_Data, "m_takedamage", 2, 1) } return Plugin_Continue; } // masz taki plugin moze on zadziala tylko zmien czas w timerze na np 1000 Edytowane 12 Grudnia 2020 przez Grafit Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach