[Pytanie/Prośba] Modyfikacja pluginu "...
Najlepsza odpowiedź
ogieR8
07.12.2014 21:18
Tutaj masz funkcję, którą testowałem i działała poprawnie
if(get_user_team(id) != get_user_team(victim)) { if(fm_is_ent_visible(id, victim)) hs?client_print(id, print_chat, "hs - widzimy"):client_print(id, print_chat, "kill - widzimy") if(!fm_is_ent_visible(id, victim)) hs?client_print(id, print_chat, "hs - NIE widzimy") : client_print(id, print_chat, "kill - NIE widzimy") }
client_print opisują Ci co się wtedy dzieje, zamień je sobie operacje z statami, np:
if(fm_is_ent_visible(id, victim)) hs?set_user_frags(id, frags+2):set_user_frags(id, frags+1) if(!fm_is_ent_visible(id, victim)) hs?set_user_frags(id, frags+4):set_user_frags(id, frags+3)Przejdź do postu

he1st
07.12.2014
Witajcie. Jako, że nie jestem zbyt zaawansowany w edytowaniu pluginów zwracam się do was z pytaniem jak mogę przerobić ten plugin, aby znajdowało się w nim:
Zabicie HS - 2 Fragi
Zabicie Skanem - 3 Fragi
Zabicie Skanem + HS - 4 fragi.
SMA wam podrzucam. Jak coś zawsze możecie mi sugerować rozwiązanie. Może w końcu czegoś się nauczę
Załączone pliki
ogieR8
07.12.2014
Bullet Damage (Ulepszony, poprawiony, zmiana kolorów, DHUD)
W tym pluginie masz cvar:
Bullet_Damage_ShowWalls ;- 0 : wyłączone (domyślnie) ;- 1 : pokazuj obrażenia przez ścianę .
Powinieneś dać radę wyciągnąć z niego funkcję odpowiadającą za strzały przenikające przez byty (ściany) i jeśli gracz w eventcie DeathMsg spełni ten warunek to dodaj mu te fragi, a jeśli spełni ten i dodatkowo zabije strzałem w głowę - dodam kolejne
he1st
07.12.2014
Bullet Damage (Ulepszony, poprawiony, zmiana kolorów, DHUD)
W tym pluginie masz cvar:
Bullet_Damage_ShowWalls ;- 0 : wyłączone (domyślnie) ;- 1 : pokazuj obrażenia przez ścianę .Powinieneś dać radę wyciągnąć z niego funkcję odpowiadającą za strzały przenikające przez byty (ściany) i jeśli gracz w eventcie DeathMsg spełni ten warunek to dodaj mu te fragi, a jeśli spełni ten i dodatkowo zabije strzałem w głowę - dodam kolejne
Zobaczę ten sposób, tymczasem:
Próbowałem zrobić coś z entem
if(!fm_is_ent_visible(id, victim))
Ale coś mi nie idzie...
Użytkownik MS.Zer0. edytował ten post 07.12.2014 19:20
he1st
07.12.2014
Masz w załączniku
A to moje aktualne podboje. (No Laugh please)
#include <amxmodx>#include <amxmisc>#include <fun>#include <fakemeta>#include <fakemeta_util>new hs_killsnew wallhskillpublic plugin_init(){register_plugin("X-Kills","1.3","Mini_Midget")register_event("DeathMsg","deathmsg","ae")hs_kills = register_cvar("amx_hskills", "2")wallhskill = register_cvar("amx_wallhskill", "4")}public deathmsg(id){new id = read_data(1)new victim = read_data(2)new headshot = read_data(3)new frags = get_user_frags(id)new hsKills = get_pcvar_num(hs_kills) -1new wallHSkill = get_pcvar_num(wallhskill) -3if (!is_user_alive(id) || !headshot )return PLUGIN_CONTINUEif (get_user_team(id) == get_user_team(victim))set_user_frags(id, frags - hsKills)elseset_user_frags(id, frags + hsKills)if(!fm_is_ent_visible(id, victim) && get_user_team(id) == get_user_team(victim))set_user_frags(id, frags - wallHSkill)elseset_user_flags(id, frags + wallHSkill)return PLUGIN_CONTINUE}poprawiłem kod, bo dałem stary@EDITDZIAŁAJĄ MI 4 FRAGI ZA ZABICIE SKANEM W GŁOWĘ. TERAZ TYLKO SAMO ZABICIE PRZEZ ŚCIANĘ![]()
Użytkownik MS.Zer0. edytował ten post 07.12.2014 20:11
Najlepsza odpowiedź
ogieR8
07.12.2014
Tutaj masz funkcję, którą testowałem i działała poprawnie
if(get_user_team(id) != get_user_team(victim)) { if(fm_is_ent_visible(id, victim)) hs?client_print(id, print_chat, "hs - widzimy"):client_print(id, print_chat, "kill - widzimy") if(!fm_is_ent_visible(id, victim)) hs?client_print(id, print_chat, "hs - NIE widzimy") : client_print(id, print_chat, "kill - NIE widzimy") }
client_print opisują Ci co się wtedy dzieje, zamień je sobie operacje z statami, np:
if(fm_is_ent_visible(id, victim)) hs?set_user_frags(id, frags+2):set_user_frags(id, frags+1) if(!fm_is_ent_visible(id, victim)) hs?set_user_frags(id, frags+4):set_user_frags(id, frags+3)
he1st
08.12.2014
Tutaj masz funkcję, którą testowałem i działała poprawnie
if(get_user_team(id) != get_user_team(victim)) { if(fm_is_ent_visible(id, victim)) hs?client_print(id, print_chat, "hs - widzimy"):client_print(id, print_chat, "kill - widzimy") if(!fm_is_ent_visible(id, victim)) hs?client_print(id, print_chat, "hs - NIE widzimy") : client_print(id, print_chat, "kill - NIE widzimy") }client_print opisują Ci co się wtedy dzieje, zamień je sobie operacje z statami, np:
if(fm_is_ent_visible(id, victim)) hs?set_user_frags(id, frags+2):set_user_frags(id, frags+1) if(!fm_is_ent_visible(id, victim)) hs?set_user_frags(id, frags+4):set_user_frags(id, frags+3)
4-krotny frag za skan + HS działa i twoim i moim sposobem. Tak samo podwójny.
To teraz tylko się pomęczyć z normalnym skanem i wszyscy będą Happy.
ogieR8
08.12.2014
Zapewniam, że działało u mnie na serwerze, testowałem najpierw na PodBOT'ach 2.5, a później z kumplem Wiadomości wypisywało względem warunków zabicia, z jednym małym minusem funkcji fm_is_ent_visible.. nie ważne czy zabiłem przez ściane czy normalnie, jeśli połowę człowieka widziałem, to aktywowała się funkcja tak, jakby to byłoby normalne (widzialny = bez skana), ale to w tej funkcji normalne.
Symulacja:
siwe tło - ściana
białe tło - przestrzeń 'pusta'
czerwona kropka - śmiertelny strzał
1. bez skana
2. bez skana (visible średnio się nadaję do tego rozwiązania, ponieważ widzimy byt, jednakże według Twoich założeń w pluginie powinno zaliczyć to do skana)
3. skan
he1st
08.12.2014
Zapewniam, że działało u mnie na serwerze, testowałem najpierw na PodBOT'ach 2.5, a później z kumplem
Wiadomości wypisywało względem warunków zabicia, z jednym małym minusem funkcji fm_is_ent_visible.. nie ważne czy zabiłem przez ściane czy normalnie, jeśli połowę człowieka widziałem, to aktywowała się funkcja tak, jakby to byłoby normalne (widzialny = bez skana), ale to w tej funkcji normalne.
Symulacja:
siwe tło - ściana
białe tło - przestrzeń 'pusta'czerwona kropka - śmiertelny strzał
1. bez skana
2. bez skana (visible średnio się nadaję do tego rozwiązania, ponieważ widzimy byt, jednakże według Twoich założeń w pluginie powinno zaliczyć to do skana)
3. skan
Dokładnie tak liczy. Tylko nie umiem zrobić tej funkcji tak, aby działał sam skan bez HS. Reszta działa poprawnie
ogieR8
08.12.2014
hs?gdy_walnie_hs:gdy_nie_walnie_hs..
if(hs) gdy_walnie_hs
else gdy_nie_walnie_hs
Podałem Ci to już.
No i jeden z tych warunków musisz umieścić, jeśli gracz nie widzi ent'a, to chyba wiadome.
psilocybe
08.12.2014
fm_is_ent_visible ?
Zalicza skany gdy ich nie ma w wielu przypadkach, sprawdź sobie jego zawodne działanie.
W pluginie Toasty Walls jest to bardziej dopracowane, wyciągnij sobie co potrzebujesz albo dopisz czego Ci tam brakuje.
he1st
09.12.2014
Skończyłem. Wszystko działa poprawnie. Miałem problem i problemu nie ma. Dzięki wielkie
ogieR-Użytkownik MS.Zer0. edytował ten post 09.12.2014 12:05