HotVision // dziala dla gracza ze 'boo...
ogieR8
30.04.2012
~ Witam. Łamigłówką przyznam jest dla mnie dość plugin http://amxx.pl/topic...yli-termowizja/, gdyż chciałbym go zrobić jako moc dla klasy, ale nie umiem wyłapać odpowiednich ku temu momentów na if'y, mógłby to ktoś zrobić, że ma się taki termowizor gdy zmienna[id] = true ? ;x Na pewno wielu użytkownikom się to przyda, chociażby po to jak pisali, na perk/klasę do cod'a
Pozdrawiam.
Pozdrawiam.
Droso
30.04.2012
register_forward(FM_EmitSound, "EmitSound")
public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch ) { if(equal(szSound, "items/nvg_on.wav")) { OnNVGToggle[id] = true; // zmienna return FMRES_SUPERCEDE; } if(equal(szSound, "items/nvg_off.wav")) { OnNVGToggle[id] = false; // zmienna return FMRES_SUPERCEDE; } }Działa na 100% mam to w Crysis 2 modzie
Albo można to zrobić na wykrycie komendy nightvision.
Chociaż nie polecam, bo raczej już tego nie wyłączysz
ogieR8
30.04.2012
Dziekuje Sprawdze - jak mi zadziała to plusik będzie, bo jest za co
Pozdrawiam, a teraz spadam na grilla, wiec jak cos to potem sie wypowiem co z działaniem.
Tak już to w kilku funkcjach widziałem, może ktoś by zrobił tutorial z EmitSound (taki kompletny, z wszystkimi jego zastosowaniami i możliwościami) ? Bo equal znam itd, ale ciekawi mnie cała ta funkcja, widzę z daleka, że można tym nieźle operować dźwiękami, więc może się przydać
Użytkownik ogieR- edytował ten post 30.04.2012 20:41
Pozdrawiam, a teraz spadam na grilla, wiec jak cos to potem sie wypowiem co z działaniem.
Tak już to w kilku funkcjach widziałem, może ktoś by zrobił tutorial z EmitSound (taki kompletny, z wszystkimi jego zastosowaniami i możliwościami) ? Bo equal znam itd, ale ciekawi mnie cała ta funkcja, widzę z daleka, że można tym nieźle operować dźwiękami, więc może się przydać
Użytkownik ogieR- edytował ten post 30.04.2012 20:41
Droso
30.04.2012
Krótko mówiąc przechwytuję nazwę dźwięku aktualnie granego.
Potem sprawdzamy w equal nazwę np. dźwięk noktowizora włączanego i wykonujemy funkcję.
Potem sprawdzamy w equal nazwę np. dźwięk noktowizora włączanego i wykonujemy funkcję.
ogieR8
30.04.2012
To wiem, ale ogólnie poradnik o EmitSound, bo widzę z parametrów, że nieźle można się tym pobawić ; d (soundami)
// ale jednak brakuje tego tutaj. Jak jest dźwięk - zmienna, okey. ALE : gdzie że jak true to HotVision sie wlacza ? Wlasnie tego co nie podałeś to mam problem. Bo ta zmienna to tylko po to, ze potem dam np., że jak player_class[id] == Mag (np) to ma termowizjer, a reszta pod 'n' ma zwykly noktowizor ;x Chyba mnie nie dokonca zrozumiales.
Użytkownik ogieR- edytował ten post 30.04.2012 21:31
// ale jednak brakuje tego tutaj. Jak jest dźwięk - zmienna, okey. ALE : gdzie że jak true to HotVision sie wlacza ? Wlasnie tego co nie podałeś to mam problem. Bo ta zmienna to tylko po to, ze potem dam np., że jak player_class[id] == Mag (np) to ma termowizjer, a reszta pod 'n' ma zwykly noktowizor ;x Chyba mnie nie dokonca zrozumiales.
Użytkownik ogieR- edytował ten post 30.04.2012 21:31
Droso
01.05.2012
To czemu nie zrobisz tak
Wykorzystaj ten kod na górze i tego emit sound + publica i gotowe.
Możesz też założyć sztucznego noktowizora, lecz nie zadziała to na termowizje.
If(OnNVGToggle[id] == false){ client_cmd(id, "nightvision"); // jeżeli jest false włącza noktowizor. }Rozumiem, że chcesz zrobić coś takiego wpisujesz Noktowizor = true; to się włącza.
Wykorzystaj ten kod na górze i tego emit sound + publica i gotowe.
Możesz też założyć sztucznego noktowizora, lecz nie zadziała to na termowizje.
radim
01.05.2012
Bodajże jemu chodzi oto, że np. jak tworzysz klasę do codmod'a to jest zmienna ma_klase, którą trzeba dodać do każdego skilla, gdyż bez tej zmiennej każda klasa będzie miała skilla ( w tym przypadku termowizje )
Droso
01.05.2012
#include <amxmodx> #include <amxmisc> #include <fakemeta_util> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "hubert" new bool:OnNVGToggle[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_forward(FM_EmitSound, "EmitSound") } public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch ) { if(equal(szSound, "items/nvg_on.wav")) { OnNVGToggle[id] = true; return FMRES_SUPERCEDE; } if(equal(szSound, "items/nvg_off.wav")) { OnNVGToggle[id] = false; return FMRES_SUPERCEDE; } return FMRES_IGNORED; } stock CreateVision(const index = 0, bool:vision = true) { if(OnNVGToggle[index] == false && vision == true) client_cmd(index, "nightvision"); if(OnNVGToggle[index] == true && vision == false) client_cmd(index, "nightvision"); }Użycie
CreateVision(index, bool:)
np.
CreateVision(id, true); - włącza noktowizor
CreateVision(id, false); - wyłącza noktowizor
@up To niech nie daje noktowizora? Klasie, która go mieć nie może?
Albo niech wyłącza noktowizor powyższym kodem.
ogieR8
01.05.2012
Nie wiem, czy ja nie ogarniam, chodź przyznam nie spałem i przymulam, ale nie ogarniam. Jak zablokuje klasom noktowizor, ale dam jednej klasie moc termowizji, to to bedzie dzialac według kodu wyżej ? Nie czaję teraz nic, sorry. Opisze to inaczej, są 2 opcje
1. Nikt nie ma noktowizora, chyba że klasa == Mag, wtedy on ma termowizjer
2. Noktowizory sa, tylko termowizjer sie wlacza tylko tym, ktorzy mają klasę Mag.
Obojętnie które, a ja to jutro ew. sprawdzę, bo dziś zamulam strasznie.
1. Nikt nie ma noktowizora, chyba że klasa == Mag, wtedy on ma termowizjer
2. Noktowizory sa, tylko termowizjer sie wlacza tylko tym, ktorzy mają klasę Mag.
Obojętnie które, a ja to jutro ew. sprawdzę, bo dziś zamulam strasznie.
ogieR8
05.05.2012
Refresh ;x Powtórzę : jeśli ktoś ma 'zmienna[index]=true' to ma HOTVISION, a jesli gracz nie ma 'zmianna[index] to albo w ogóle mu nie działa noktowizor, albo ma noktowizor, ale tylko gracze ze zeminna maja HOTVISION
Zalezy mi bardzo.
Zalezy mi bardzo.
Droso
05.05.2012
Nie zrobisz takiego czegoś chyba, że będziesz edytował Hotvision.Refresh ;x Powtórzę : jeśli ktoś ma 'zmienna[index]=true' to ma HOTVISION, a jesli gracz nie ma 'zmianna[index] to albo w ogóle mu nie działa noktowizor, albo ma noktowizor, ale tylko gracze ze zeminna maja HOTVISION
Zalezy mi bardzo.
zrób tak
w plugin_int()
register_clcmd("nighvision", "blokuj");
i potem
public blokuj(id){ if(jezeli nie ma klasy/itemu){ return PLUGIN_HANDLED } }Po prostu zablokuj noktowizor dla nie mających itemu/klasy