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
Modyfikacja

Przerobka HE conc jumping

Modyfikacja

  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 ZiuTeK

    Wszechwiedzący

  • Użytkownik

Reputacja: 135
Zaawansowany

  • Postów:507
  • Lokalizacja:inąd
Offline

Napisano 23.09.2010 18:19

Mam wielka prosbe, moze ktos sie tego podejmie, chcialbym przerobic plugin jak w temacie w taki sposob zeby dzialal na flashe zamiast na HE
Z tego co czytalem to pobierane sa jakos obrazenia i na tej podstawie jest obliczany kierunek i sila odrzutu
We flashach nie wiem jak to mozna by bylo zrealizowac stad moja prosba.
Jesli ktos ma jakies pomysly albo potrafi samodzielnie go przerobic będę bardzo wdzieczny.
#include <amxmodx> 
#include <amxmisc> 
#include <engine> 

#define SPEED 800.0

public plugin_init() { 
    register_plugin("HE Knockback", "1.0", "ThantiK")
    register_event("Damage", "hedamage_event", "b", "2!0", "4!0", "5!0", "6!0")
    register_cvar("he_push","20.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
}


Odswiezam, znalazlem odpowiedni plugin w z ktorego moge wykorzystac dane, jest to virussmokenade, teraz potrzebuje znalezc takie cos jak odleglosc gracza od wybuchajacego flasha, smoke-a.
W oryginalnym kodzie virussmokenade mamy:
public fw_emitsound(Ent,Channel,const Sound[],Float:Volume,Float:Attenuation,Flags,Pitch)	
{
	if(p_toggle != 1)
		return FMRES_IGNORED;
	if(!equali(Sound,"weapons/sg_explode.wav"))
		return FMRES_IGNORED;
	new Float:origin[3],i,name[32];
	pev(Ent, pev_origin, origin);
	new owner = pev(Ent,pev_owner);
	Light(origin);
	Render(Ent,kRenderFxNone,255,255,255,15);
	while((i = fm_find_ent_in_sphere(i,origin,radius)) != 0)
	{
gdzie znajduje mi graczy (i) w promieniu o wartosci radius, czy da sie jakos odkryc prawdziwa odleglosc gracza od mojego granatu bo od tego bedzie zalezala sila odpychajaca ?

Ok, jakos sobie poradzilem, na razie nie jest to jeszcze dokladnie to co chcialem ale powiedzmy, ze dziala w 50 % dziekuje za zainteresowanie tym ktorzy nad tym mysleli i temacik chyba mozna zamknac.

Ostatecznie to wyszlo w ten sposob:
http://www.youtube.com/watch?v=VhkCnRUGXpw

Użytkownik ZiuTeK edytował ten post 25.09.2010 23:55

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

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

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