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

Odrzut


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

#1 WazzaP

    Super Hero

  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 04.01.2011 12:00

Witam.
"Kolega" zapodał mi takie .sma aby na nożu był odrzut, ale on coś nie chce działać..
Pomożecie?

/* AMX Mod script.
*
* HE-CONC 1.0
*  by ThantiK
*
*
* Description:
*  Remember CONC jumping in TFC? -- This adds the knockback to the HE 'nades
*  its great to set higher or lower depending on your wants.  But definately
*  adds some spunk to the game.
*  
* Commands:
*  CVAR - knife_push, set higher or lower depending on the effect you want.
*
* Special Thanks:
*  JGHG for the help with setting velocity, and for the code on getting HE coords.
*  Ryan (War3 Expansion guy) for the mathematics and velocity stocks.
*/

#include <amxmodx> 
#include <amxmisc> 
#include <engine> 

#define SPEED 800.0

public plugin_init() { 
    register_plugin("HE Knockback", "1.0", "ThantiK")
    register_event("Damage", "knifedamage_event", "b", "2!0", "4!0", "5!0", "6!0")
    register_cvar("knife_push","2.0")
} 

stock get_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3] )
{
    new Float:fEntOrigin[3];
    entity_get_vector( ent, EV_VEC_origin, fEntOrigin );

    // Velocity = Distance / Time

    new Float:fDistance[3];
    fDistance[0] = fEntOrigin[0] - fOrigin[0];
    fDistance[1] = fEntOrigin[1] - fOrigin[1];
    fDistance[2] = fEntOrigin[2] - fOrigin[2];

    new Float:fTime = ( vector_distance( fEntOrigin,fOrigin ) / fSpeed );

    fVelocity[0] = fDistance[0] / fTime;
    fVelocity[1] = fDistance[1] / fTime;
    fVelocity[2] = fDistance[2] / fTime;

    return ( fVelocity[0] && fVelocity[1] && fVelocity[2] );
}


// Sets velocity of an entity (ent) away from origin with speed (speed)

stock set_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed )
{
    new Float:fVelocity[3];
    get_velocity_from_origin( ent, fOrigin, fSpeed, fVelocity )

    entity_set_vector( ent, EV_VEC_velocity, fVelocity );

    return ( 1 );
} 

public hedamage_event(id) {
    new MAXPLAYERS
    MAXPLAYERS = get_maxplayers()

    new inflictor = entity_get_edict(id, EV_ENT_dmg_inflictor)
    if (inflictor <= MAXPLAYERS)
        return PLUGIN_CONTINUE

    new classname2[8]
    entity_get_string(inflictor, EV_SZ_classname, classname2, 7)
    if (!equal(classname2, "grenade"))
        return PLUGIN_CONTINUE

    new Float:upVector[3]
    upVector[0] = float(read_data(4))
    upVector[1] = float(read_data(5))
    upVector[2] = float(read_data(6))

    new damagerept = read_data(2)
    set_velocity_from_origin(id, upVector, get_cvar_float("he_push")*damagerept)

    return PLUGIN_CONTINUE
}


  • +
  • -
  • 0

#2 byCZUS

    Listonosz

  • Support Team

Reputacja: 752
Guru

  • Postów:459
  • GG:
  • Steam:steam
  • Lokalizacja:GW
Offline

Napisano 04.01.2011 15:38

A ja mam coś takiego:
tylko cvar amx_knife_knockback musi być dość wysoki, przetestuj.

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

#define PLUGIN "Knife KnockBack"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.0.1"

new g_pCvarKnockBack

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

g_pCvarKnockBack = register_cvar("amx_knife_knockback", "10")

RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage", 1)
}

public Player_TakeDamage(id, idinflictor, idattacker, Float:flDamage, damagebits)
{
if( !idattacker
|| id == idattacker
|| idinflictor != idattacker// )
|| get_user_weapon(idattacker) != CSW_KNIFE )
{
return
}

new Float:fDir[3], Float:fOrigin[3], Float:fVelocity[3]

pev(id, pev_origin, fDir)
pev(idattacker, pev_origin, fOrigin)

xs_vec_sub(fDir, fOrigin, fDir)
xs_vec_normalize(fDir, fDir)

flDamage *= get_pcvar_num(g_pCvarKnockBack)
if( flDamage > 1500.0 )
flDamage = 1500.0

pev(id, pev_velocity, fVelocity)
xs_vec_mul_scalar(fDir, flDamage, fDir)
xs_vec_add(fVelocity, fDir, fVelocity)
set_pev(id, pev_velocity, fVelocity)
}

Użytkownik byQQ edytował ten post 04.01.2011 15:38

  • +
  • -
  • 2

Dziękuje, dobranoc.


#3 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 04.01.2011 15:49

tylko cvar amx_knife_knockback musi być dość wysoki


Możesz bardziej na Polski? ;D
  • +
  • -
  • 0

#4 byCZUS

    Listonosz

  • Support Team

Reputacja: 752
Guru

  • Postów:459
  • GG:
  • Steam:steam
  • Lokalizacja:GW
Offline

Napisano 04.01.2011 19:29

amx_knife_knockback "400" <- przykład, musisz dać by zobaczyć efekt
  • +
  • -
  • 2

Dziękuje, dobranoc.


#5 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 05.01.2011 14:04

A będzie to działać jak zamienię model na kij bejsbolowy?
  • +
  • -
  • 1

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.01.2011 16:06

Tak...
  • +
  • -
  • 2

#7 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 07.01.2011 18:09

A mógłby ktoś ustawić aby mógł to używać tylko CT?
Bo zombie jak walnie człowieka to też odrzuca :D

Użytkownik WazzaP edytował ten post 07.01.2011 19:02

  • +
  • -
  • 0

#8 Zuy Człowiek

    Pomocny

  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:48
  • Imię:Mateusz
  • Lokalizacja:Kraków
Offline

Napisano 08.01.2011 08:13

#include <amxmodx>

#include <fakemeta>

#include <hamsandwich>

#include <xs>



#define PLUGIN "Knife KnockBack"

#define AUTHOR "ConnorMcLeod"

#define VERSION "0.0.1"



new g_pCvarKnockBack



public plugin_init()

{

    register_plugin(PLUGIN, VERSION, AUTHOR)



    g_pCvarKnockBack = register_cvar("amx_knife_knockback", "10")



    RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage", 1)

}



public Player_TakeDamage(id, idinflictor, idattacker, Float:flDamage, damagebits)

{

    if(!idattacker || id == idattacker || idinflictor != idattacker || get_user_weapon(idattacker) != CSW_KNIFE || get_user_team(idattacker) != 2)

    {

        return

    }



    new Float:fDir[3], Float:fOrigin[3], Float:fVelocity[3]



    pev(id, pev_origin, fDir)

    pev(idattacker, pev_origin, fOrigin)



    xs_vec_sub(fDir, fOrigin, fDir)

    xs_vec_normalize(fDir, fDir)



    flDamage *= get_pcvar_num(g_pCvarKnockBack)

    if( flDamage > 1500.0 )

        flDamage = 1500.0



    pev(id, pev_velocity, fVelocity)

    xs_vec_mul_scalar(fDir, flDamage, fDir)

    xs_vec_add(fVelocity, fDir, fVelocity)

    set_pev(id, pev_velocity, fVelocity)

}

  • +
  • -
  • 2
Posted Image

#9 WazzaP

    Super Hero

  • Autor tematu
  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:1 161
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Łęczna
Offline

Napisano 08.01.2011 12:04

Działa :)
Dzięki :)

Użytkownik WazzaP edytował ten post 09.01.2011 18:58

  • +
  • -
  • 0




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

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