Skocz do zawartości
BobPixel

[Rozwiązane] Plugin na obrażenia

Rekomendowane odpowiedzi

Cześć

Szukam pluginu na "zmniejszenie" obrażeń od upadku o jakieś 50% czy coś w tym stylu.

 

Pozdrawiam ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
public OnClientPutInServer(client)
{
	SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public OnClientDisconnect(client)
{
	SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(client, &attacker, &inflictor, &Float:damage, &damagetype)
{
	if (damagetype & DMG_FALL) {
    	damage *= 0.5; 
     	return Plugin_Changed;
    }
	return Plugin_Continue;
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • Lubię to! 1
  • Dobry pomysł! 1
#include <sdkhooks>

#pragma semicolon 1
#pragma newdecls required

float g_fPercentages;

public void OnPluginStart()
{
	ConVar cvar = CreateConVar("sm_reduce_fall_damage", "0.50", "Ile procent obrażeń ma zadać", 0); cvar.AddChangeHook(OnCvarChange);
	g_fPercentages = cvar.FloatValue;

	AutoExecConfig(true, "Reduce_Fall_Damage");
}

public void OnCvarChange(ConVar cvar, char[] oldValue, char[] newValue)
{
	g_fPercentages = StringToFloat(newValue);
}

public void OnClientPutInServer(int client)
{
	SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype) 
{
	if(!IsValidClient(attacker))
		return Plugin_Continue;

	if(damagetype & DMG_FALL)
	{
		damage *= g_fPercentages; 
		return Plugin_Changed;
	}

	return Plugin_Continue;
}

bool IsValidClient(int client)
{
	return (1 <= client <= MaxClients && IsClientInGame(client));
}

 

Edytowane przez Master
Przez MAGNET,

To chyba dobry pomysł, aby wrzucić to jako osobny plugin :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Pomoc udzielona

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...