←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Szybkość ataku nożem

Zablokowany

Zaszka - zdjęcie Zaszka 14.07.2011

Czy ma ktoś funkcje by szybciej atakować nożem?

Widziałem dzisiaj na serverze, że był plugin na noże i było tam nóż xxx szybkość ataku 0.2 itd i szybciej się atakowało nożem.
Poszukałem trochę ale nie znalazłem. Jedynie co to szybkość strzelania z broni ale podobno na nóż jest coś innego.

Proszę was o pomoc bo już nie wiem gdzie szukać.
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 15.07.2011

proszę


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

public plugin_init() {
register_plugin("Knife Speed", "1.0", "MarWit")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "Knife_PrimaryAttack_Post", 1)
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "Knife_SecondaryAttack_Post", 1)
}

public Knife_PrimaryAttack_Post(this)
{
static id;
id = get_pdata_cbase(this, 41, 4);
new Float:Delay = get_pdata_float(this, 46, 4) * 0.3; //Tu zmieniasz szybkosc (im mniejsza wartosc tym szybciej)
set_pdata_float(this, 46, Delay, 4);
set_pdata_float(this, 47, Delay, 4);
set_pdata_float(this, 48, Delay, 4);
new Float:g_angle[3] = {0.0,0.0,0.0};
set_pev(id,pev_punchangle,g_angle);
}

public Knife_SecondaryAttack_Post(this)
{
static id;
id = get_pdata_cbase(this, 41, 4);
new Float:Delay = get_pdata_float(this, 46, 4) * 0.3; //Tu zmieniasz szybkosc (im mniejsza wartosc tym szybciej)
set_pdata_float(this, 46, Delay, 4);
set_pdata_float(this, 47, Delay, 4);
set_pdata_float(this, 48, Delay, 4);
new Float:g_angle[3] = {0.0,0.0,0.0};
set_pev(id,pev_punchangle,g_angle);
}


Działa to tylko na noże.
Odpowiedz

Zaszka - zdjęcie Zaszka 15.07.2011

Bardzo dziękuje, wszystko działa!
Oczywiście plusik za poświęcenie czasu.
Odpowiedz

mierzwi - zdjęcie mierzwi 15.07.2011

tak małe pytanie, punchangle to do animacji (tzn zeby sie wyzerowałą czy coś w tym stylu tak?)
Odpowiedz

  • +
  • -
diablix - zdjęcie diablix 16.07.2011

Punchangle to nachylenie (3 elementy - osie X Y Z)
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 16.07.2011

Punchagle to rozrzut broni (tak jak mówi diablix w osiach X,Y i Z), wyzerowalem je gdyz po przyspieszeniu ataku stworzył sie rozrzut na nożu
Użytkownik MarWit edytował ten post 16.07.2011 10:32
Odpowiedz

  • +
  • -
diablix - zdjęcie diablix 16.07.2011

Rozrzut broni to pushangle, nachylenie to punchangle
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 16.07.2011

nie ma takiej stałej jak pev_pushangle, więc raczej nie masz racji
Odpowiedz

  • +
  • -
diablix - zdjęcie diablix 16.07.2011

To może mi się coś pomyliło bo wiem że punchangle używałem żeby zmienić nachylenie broni (coś ala DarkGL'a sprint)
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 16.07.2011

nie prosciej tak:

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

public plugin_init() {
        register_plugin("Knife Speed", "1.0", "MarWit")
        RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "Knife_Attack_Post", 1)
        RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "Knife_Attack_Post", 1)
}

public Knife_Attack_Post(this)
{
        static id;
        id = get_pdata_cbase(this, 41, 4);
        new Float:Delay = get_pdata_float(this, 46, 4) * 0.3; //Tu zmieniasz szybkosc (im mniejsza wartosc tym szybciej)
        set_pdata_float(this, 46, Delay, 4);
        set_pdata_float(this, 47, Delay, 4);
        set_pdata_float(this, 48, Delay, 4);
        new Float:g_angle[3] = {0.0,0.0,0.0};
        set_pev(id,pev_punchangle,g_angle);
}
Odpowiedz

  • +
  • -
MarWit - zdjęcie MarWit 17.07.2011

G[o]Q, na upartego to można zrobić jeszcze łatwiej Dołączona grafika


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

public plugin_init() {
register_plugin("Knife Speed", "1.0", "MarWit")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "Knife_Attack_Post", 1)
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "Knife_Attack_Post", 1)
}

public Knife_Attack_Post(this)
{
static id;
id = get_pdata_cbase(this, 41, 4);
set_pdata_float(this, 46, (get_pdata_float(this, 46, 4) * 0.3), 4);
set_pdata_float(this, 47, (get_pdata_float(this, 47, 4) * 0.3), 4);
set_pdata_float(this, 48, (get_pdata_float(this, 48, 4) * 0.3), 4);
set_pev(id,pev_punchangle,{0.0,0.0,0.0});
}

Użytkownik MarWit edytował ten post 17.07.2011 14:52
Odpowiedz
Zablokowany