Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

wyłączony +attack i +attack2 dla noża


  • Zamknięty Temat jest zamknięty
13 odpowiedzi w tym temacie

#1 berix

    Wszechwidzący

  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:254
  • Lokalizacja:Ruda sl (slaskie)
Offline

Napisano 15.11.2008 00:50

Witam w jaki sposób moge usnąc komedny +attack i +attack2 dla noża lub wyłączyć dźwięki machania i uderznia z nozą zarówno dla +attack jak i +attack2.
Będe wdzieczny za wszelką pomoc
  • +
  • -
  • 0

#2 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 15.11.2008 09:14

#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
    register_plugin("a", "b", "c")
    register_forward(FM_PlayerPreThink, "fwdPrethink")
   
}

public fwdPreThink(id){
   new wpn = get_user_weapon(id)
    new button = pev(id, pev_button)
    if(wpn == CSW_KNIFE && button & IN_ATTACK)
        return FMRES_SUPERCEDE
    return FMRES_IGNORED
}

nie powinno stawiać oporu O:)

co do soundu to mozna to zrobic w ten sposob:

#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
	register_plugin("a", "b", "c")
	register_forward(FM_EmitSound, "fwdEmitSound")
}

public fwdEmitSound(ent, chan, const sound[])
{
	if(equali(sound, "sciezka do dzwieku"))
		return FMRES_SUPERCEDE
	return FMRES_IGNORED
}

  • +
  • -
  • 0

#3 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2008 09:19

darkman użyl engine a nie FM ^_- :o
  • +
  • -
  • 0

#4 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 15.11.2008 09:21

w drugim już FM xP
  • +
  • -
  • 0

#5 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 15.11.2008 10:08

grankee, ty nie powinieneś marudzić tak na engine - jedynie wypada sie starać by używać engine lub FM (to lub to).

Ważniejsza rzecz którą już powinien zauważyć, to ze CurWeapon nie ma prawa przechwycić +attack i +attack2 noża.

Event CurWeapon jest tylko wywoływany przy zmianie broni lub przy zmianie liczby naboi. Naprawdę polecam poradnik EVENTY
  • +
  • -
  • 0

#6 emblaze

    Koniec z cs/amxx

  • Użytkownik

Reputacja: 167
Profesjonalista

  • Postów:973
  • Lokalizacja:Mój steam: emblaze_95
Offline

Napisano 15.11.2008 10:45

mam pytanie do drugiego kodu czy on wyłącza dany dzwiek ?? bo jak tak to by wyłączył dzwiek counter terrorist win !! i terrorist win !! ?? ??
  • +
  • -
  • 0

#7 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 15.11.2008 12:59

grankee, ty nie powinieneś marudzić tak na engine - jedynie wypada sie starać by używać engine lub FM (to lub to).

Ważniejsza rzecz którą już powinien zauważyć, to ze CurWeapon nie ma prawa przechwycić +attack i +attack2 noża.

Event CurWeapon jest tylko wywoływany przy zmianie broni lub przy zmianie liczby naboi. Naprawdę polecam poradnik EVENTY


A no, tak to jest jak sie na szybko robi :D
Poprawiony kod w 2 poście

EDIT:

mam pytanie do drugiego kodu czy on wyłącza dany dzwiek ?? bo jak tak to by wyłączył dzwiek counter terrorist win !! i terrorist win !! ?? ??


tak, musisz tylko odpowiednie ścieżki podać
  • +
  • -
  • 0

#8 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2008 16:57

Miczu zaofftopowałem :X chodziło mi o to, że jak się darkmana pytam czasem i daje kawałek kodu w engine to on mi daje kod w FM :D pierwszy raz widzę, żeby w engine coś robił.
  • +
  • -
  • 0

#9 berix

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:254
  • Lokalizacja:Ruda sl (slaskie)
Offline

Napisano 16.11.2008 00:24

#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
register_plugin("a", "b", "c")
register_forward(FM_PlayerPreThink, "fwdPrethink")

}

public fwdPreThink(id){
new wpn = get_user_weapon(id)
new button = pev(id, pev_button)
if(wpn == CSW_KNIFE && button & IN_ATTACK)
return FMRES_SUPERCEDE
return FMRES_IGNORED
}


niestey ten kod pluginu nie działa, ale wpadłem na nowy pomysł jakby mogł kto mi pomóc aby dźwkięki noża (machanie, uderzenie) były szłyszane tylko przrez prywatna osobe
1
a nie
0

  • +
  • -
  • 0

#10 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 16.11.2008 13:40

tak, musisz tylko odpowiednie ścieżki podać

Dobra, nie bądź taki cwany, te dźwięki o które się pytał nie są wysyłane przez "emit_sound" więc z tym nic nie zrobi.

Poza tym widzę tutaj taką jak zawsze, fachową pomoc :D

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Nowy Plugin"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_forward(FM_PlayerPreThink, "PlayerPreThink")
	register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1)
	// Add your code here..
}

public PlayerPreThink(id)
{	
	if(!is_user_alive(id))
		return FMRES_IGNORED
	
	if(get_user_weapon(id) != CSW_KNIFE)
		return FMRES_IGNORED
	
	set_pev(id, pev_button, pev(id,pev_button) & ~IN_ATTACK)
	set_pev(id, pev_button, pev(id,pev_button) & ~IN_ATTACK2)
	
	return FMRES_HANDLED
}

public UpdateClientData_Post(id, sendweapons, cd_handle)
{
	
	if(!is_user_alive(id))
		return FMRES_IGNORED
	
	if(get_user_weapon(id) != CSW_KNIFE)
		return FMRES_IGNORED
	
	set_cd(cd_handle, CD_ID, 0)       
	
	return FMRES_HANDLED
}


#11 berix

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:254
  • Lokalizacja:Ruda sl (slaskie)
Offline

Napisano 16.11.2008 15:01

hmm działa ta wersja, lecz przy cvarze
cl_righthand 1
postac ma noz w lewej rece a przy
cl_righthand 0
w prawej, a standardowo jest na odwrót
  • +
  • -
  • 0

#12 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 16.11.2008 15:19

Seba, dobry cod, nawet nie powinno byc problemow z animacja gdy dajesz update CD, ale musze sie niezgodzic z twoim strierdzeniem co do emita ;-)

emit_sound ( index, channel, sample[], Float:vol, Float:att,flags, pitch )

#define CHAN_AUTO
#define CHAN_WEAPON
#define CHAN_VOICE
#define CHAN_ITEM
#define CHAN_BODY
#define CHAN_STREAM
#define CHAN_STATIC
#define CHAN_NETWORKVOICE_BASE
#define CHAN_NETWORKVOICE_END

Funkcja emit_sound jest zapewne funkcja silnika hl1, a amxx tylko sie do niego podpina. Wszyskie dzwieki slyszane 'publicznie' w grze uzywaja tego zapewnie - czyli pikniecie przy IN_USE, tupniecie gdy upadasz, dzwiek wystrzelonej broni. Kozystaja one tylko z odpowiedniego kanalu ;-)
  • +
  • -
  • 0

#13 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 18.11.2008 18:27

http://forums.allied... ... =sendaudio

To zacznij sie zgadzać.

[ Dodano: 18-11-2008, 18:27 ]

hmm działa ta wersja, lecz przy cvarze
Kod:
cl_righthand 1
postac ma noz w lewej rece a przy
Kod:
cl_righthand 0
w prawej, a standardowo jest na odwrót

Bo ten kod blokuje animację również, a w silniku HL1 domyślnie broń jest w lewej ręce.

tupniecie gdy upadas

Wiedz że kroki też nie.

#14 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 18.11.2008 19:04

Oczywista rzecza jest, ze dzwiek ctwin.wav/terwin.wav nie jest przez emita. Emit obsluguje wszystkie dzwieki "przeszczenne", czyli te ktore maja konkretny kierunek wydawania dzwieku. Np. dzwiek udezania noza o cos, jest przestrzenny - jak jestes blisko to mozesz uslyszec gdzie (w jakim kierunku) to sie stalo.

[ Dodano: 18-11-2008, 21:14 ]
##############

Kroki i tupniecia nie, bo jak by sie dobrze nad tym zastanowic to za duzo danych trzeba byloby niepotrzebnie wysylac z serwera, ale:
#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta> 
 
public plugin_init() { 
    register_forward(FM_EmitSound, "block_sound") 
} 
 
public block_sound(entity, channel, const sound[]) { 
     
    client_print(0,print_chat,"%s",sound)
}
i wynik pracy ;-)
Dołączona grafika Tak samo emity to wybuch granatu, dzwiek odbicia sie granatu od przeszkody, dzwieki towarzyszace kumno aminucju, broni, podniesienia broni etc...
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych