Skocz do zawartości
regi669

[Rozwiązane] NoFallDamage

Rekomendowane odpowiedzi

Witam, mam chciałbym ustawić pluign na nofalldamage "https://forums.alliedmods.net/showthread.php?p=2316188
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!" pod flagę, jednak niewiem jak się do tego zabrać, Byłbym wdzięczny gdyby ktoś pokazał mi jak coś takiego zrobić, próbowałem ustawić sprawdzanie czy gracz jest vipem, jednak dalej każdy gracz na serwerze posiadał tą opcję.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
public Action OnTakeDamage(int client, int &attacker, int &inflictor, float &damage, int &damagetype) 
{
    if (damagetype & DMG_FALL && GetUserFlagBits(client) & ADMFLAG_RESERVATION)
        return Plugin_Handled;
    
    return Plugin_Continue;
}

 

 && GetUserFlagBits(client) & ADMFLAG_RESERVATION - tą funkcją sprawdzisz, czy gracz ma daną flagę i do efektu dojdzie tylko wtedy, gdy rzeczywiście ją posiada. 

 

Spis flag:

 https://wiki.alliedmods.net/Checking_Admin_Flags_(SourceMod_Scripting)
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

https://wiki.alliedmods.net/Adding_Admins_(SourceMod)
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Edytowane przez Gość

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki wielkie, ja wcześniej próbowałem zrobić dodatkową funkcję która sprawdza czy gracz ma flagę, teraz wszystko działa 🙂

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

Ależ to też możesz zrobić, i jest to całkiem fajne rozwiązanie 🙂

 

W tym przypadku :

public Action OnTakeDamage(int client, int &attacker, int &inflictor, float &damage, int &damagetype) 
{
    if (damagetype & DMG_FALL && maFlage(client)
        return Plugin_Handled;
    
    return Plugin_Continue;
}

stock bool maFlage(int client)
{
	if(GetUserFlagBits(client) & ADMFLAG_RESERVATION)
		return true;
	return false;
}

 

Edytowane przez Gość
literufka

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Działałoby gdybym dobrze zadeklarował tą funkcję xD, zapomniałem dopisać (client) w warunku if, mój błąd

Edytowane przez regi669
Błąd

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Problem został rozwiązany

Jeżeli się z tym nie zgadzasz, raportuj ten post

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ę...