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

Blokada używania LPM na nożu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 12.11.2012 21:30

Witam, nieudolnie próbuję to zrobić, teoretycznie zablokowałem, lecz nie mogę zrobić to na broń - nóż (pisząc teraz sobie uświadomiłem jak to mogę zrobić xD), lecz mój kod działa średnio poprawnie, tzn. blokuje, ale jak się użyje czasem PPM to przy próbie użycia LPM wcina mi się animacja z PPM (proszę o poprawienie mojego kodu lub poprawny gotowy i jakieś nawet minimalne omówienie)


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


#define PLUGIN "New Plugin"
#define AUTHOR "Unknown"
#define VERSION "1.0"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
// Add your own code here
register_forward(FM_PlayerPreThink, "fwPreThink");
}

public fwPreThink(id){
if(!is_user_alive(id) && !(get_user_weapon(id) & CSW_KNIFE))
return PLUGIN_CONTINUE

new bitButton = pev(id, pev_button);
if(bitButton & IN_ATTACK)
set_pev(id, pev_button, bitButton &= ~IN_ATTACK);

return PLUGIN_CONTINUE
}

(to był raczej ten kod, bo długo się z tym bawiłem, lecz późno w nocy na wyłączonym myśleniu :D )
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 12.11.2012 21:40

Sposoby masz dwa:

#include < amxmodx >
#include < hamsandwich >
#include < fakemeta >

public plugin_init( )
RegisterHam( Ham_Item_Deploy, "weapon_knife", "hamKnifeDeploy" );

public hamKnifeDeploy( id )
set_pdata_float( id, 46, 9999.0, 4 )



#include < amxmodx >
#include < hamsandwich >

public plugin_init( )
RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_knife", "hamKnifePrimAtt" );

public hamKnifePrimAtt( iWeapon )
return HAM_SUPERCEDE;



  • +
  • -
  • 1

marwit-0.png


#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 12.11.2012 21:48

Lub jeśli już chcesz to blokować za pomocą thinka, to
public fwPreThink(id){
if(!is_user_alive(id) || get_user_weapon(id) != CSW_KNIFE)
return PLUGIN_CONTINUE;

static bitButton; bitButton = pev(id, pev_button);
if(bitButton & IN_ATTACK)
set_pev(id, pev_button, bitButton & ~IN_ATTACK);

return PLUGIN_CONTINUE;
}

tylko nie jestem pewny, czy to aby przypadkiem nie blokuje tylko animacji. W każdym razie chyba lepiej jest to robić za pomocą "kanapki".
MarWit (12.11.2012 21:55):
To blokuje tylko strzał, animacji nie tyka ;P ( edytujesz w końcu bit klikniętych przycisków )
sebul (12.11.2012 22:05):
A no machnąłem się, nawet w diablo kusza ma jakieś tam animacje.

  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 12.11.2012 22:14

@MarWit ten pierwszy nie satysfakcjonuje mnie, niby działa wyśmienicie, lecz jeżeli użyjemy PPM to blokada z LPM znika
co do drugiego to testuje pod swoje upodobania jak na razie i jest dobrze (choć czasem animację LPM odtwarza, ale aż tak bardzo mi to nie przeszkadza póki co)

sebul, wolę nie używać prethinka :D

wyklepałem sobie jakiś tam kod (chcę aby LPM można było użyć co sekundę)

#include < amxmodx >
#include < hamsandwich >

#define XO_WEAPON 4
#define m_pPlayer 41
#define m_iId 43

new Float: czasy[33]

public plugin_init( )
{
register_plugin("kni", "0.1", "K!113r")
RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_knife", "hamKnifePrimAtt" );
}
public hamKnifePrimAtt( iWeapon )
{
static id
id = get_pdata_cbase(iWeapon, m_pPlayer, XO_WEAPON)
new Float: czas = get_gametime()
if(czasy[id] >= czas)
{
return HAM_SUPERCEDE;
}
else
{
czasy[id] = czas + 1.0
}

return PLUGIN_CONTINUE
}


Testowałem sobie na local'u i wszystko ładnie śmiga gdy cały czas trzymamy ten LPM, lecz gdy go krótko wciskamy (taki napad padaczki, nawet nie za bardzo szybkiej) to dźwięku i dmg nie zadaje, ale animację odtwarza i tu mnie to trochę gryzie :(

Użytkownik K!113r edytował ten post 12.11.2012 22:31

  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 12.11.2012 22:33

@UP, U can do it:

#include < amxmodx >
#include < hamsandwich >
#include < fakemeta >

public plugin_init( )
RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_knife", "hamKnifePrimAtt" );

public hamKnifePrimAtt( iWeapon )
{
set_pdata_float( pev( iWeapon, pev_owner ), 46, 99999.0, 4 )
return HAM_SUPERCEDE;
}

  • +
  • -
  • 0

marwit-0.png


#6 K!113r

    Teraz to chyba Sławek kek

  • Autor tematu
  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 12.11.2012 22:55

Dalej to nic nie zmienia, w kombinacji takiej jak wyżej napisałem, aby cios LPM był możliwy minimalnie za sekundę, lecz dalej działa tylko poprawnie (z animacjami) gdy trzymam LPM lub gdy wcisnę LPM i potem jeszcze raz za sekundę, czy zmiana wyświetlanej klatki byłoby dobrym rozwiązaniem, czy jest jakieś inne?
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować





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

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