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

Podbijanie bytu [gracza]


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

#1 Krytykiewicz

    Zaawansowany

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:114
  • Lokalizacja:Stąd
Offline

Napisano 22.11.2012 00:19

Witam serdecznie,

Jak zrobić, czego użyć, aby strzelając do bytu w tym przypadku mam na myśli gracza podbiło go lekko do góry? Jaka funkcja odpowiada za to?

Pozdrawiam i liczę na pomoc.
  • +
  • -
  • 0

#2 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 22.11.2012 00:30

http://amxx.pl/topic...erk-skok-wroga/
O coś takiego Ci chodzi czy nie?
  • +
  • -
  • 0

#3 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 22.11.2012 08:28

Lub za pomocą pev i set_pev + velocity
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#4 Krytykiewicz

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:114
  • Lokalizacja:Stąd
Offline

Napisano 22.11.2012 11:08

http://amxx.pl/topic...erk-skok-wroga/
O coś takiego Ci chodzi czy nie?


Dokładnie tak. Podbijanie do góry właśnie jest zależne od broni z jakiej ten gracz dostaje. Najlepiej ukazuje to filmik dodany przez Mr. Szybcior. Ponieważ jak strzelamy do gracza cały czas to do podnosi właśnie wyżej i wyżej. O taki efekt chodzi! :)

Użytkownik Krytykiewicz edytował ten post 22.11.2012 11:10

  • +
  • -
  • 0

#5 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 22.11.2012 12:56

Fili "wywołał" podskok poprzez wpisanie graczowi o id ofiary w damage(id) komendy +jump (czyli skok)
Za to Mr.Szybcior użył zapewne velocit'ów.
Kod na podbicie do góry, wybija na wysokość przybliżoną do zwyczajnego podskoku. (engine)
new Float:velocity[3];
entity_get_vector(id,EV_VEC_velocity,velocity); // pobiera vector, w tym przypadku nasze velocity
velocity[2] = random_float(265.0,285.0); // "moc" wybicia DO GÓRY, losuje z liczbę zmiennoprzecinkową w przedziale 265.0 do 285.0
entity_set_vector(id,EV_VEC_velocity,velocity); // ustawia vector, w tym przypadku velocty
Podkreśliłem "do góry" gdyż trzeci elemnt tablicy velocity odpowiada za wybicie do góry, natomiast velocity[0] za przód i tył a velocity[1] za prawo i lewo.


@down
Upss. Widocznie pomyliłem Twój plugin z jakimś innym bo wiem, że był taki gdzie wywoływał skok gracza poprzez +jump, taka przeróbka wyrzucenia broni gdzie było poprzez "drop" ;x

Użytkownik radim edytował ten post 22.11.2012 13:11

  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#6 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 22.11.2012 13:08

Fili "wywołał" podskok poprzez wpisanie graczowi o id ofiary w damage(id) komendy +jump (czyli skok)
Za to Mr.Szybcior użył zapewne velocit'ów.
Kod na podbicie do góry, wybija na wysokość przybliżoną do zwyczajnego podskoku. (engine)

new Float:velocity[3];
entity_get_vector(id,EV_VEC_velocity,velocity); // pobiera vector, w tym przypadku nasze velocity
velocity[2] = random_float(265.0,285.0); // "moc" wybicia DO GÓRY, losuje z liczbę zmiennoprzecinkową w przedziale 265.0 do 285.0
entity_set_vector(id,EV_VEC_velocity,velocity); // ustawia vector, w tym przypadku velocty
Podkreśliłem "do góry" gdyż trzeci elemnt tablicy velocity odpowiada za wybicie do góry, natomiast velocity[0] za przód i tył a velocity[1] za prawo i lewo.

Gdzie ja użyłem niby +jump ?


new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] = random_float(500.0,600.0);
set_pev(this, pev_velocity, velocity);

  • +
  • -
  • 0

#7 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 22.11.2012 14:54

@raadim i Fili:P, nie lepiej dodac velocity , zamiast 'ustawic jego wartosc', bo zalozyciel tematu chce, aby gracz podskakiwal coraz wyzej i wyzej, czyli lepiej zrobić (w przypadku filipa)
new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] += random_float(500.0,600.0); //o ta linijke mi chodzi
set_pev(this, pev_velocity, velocity);

zamiast tego, co podal wyzej
  • +
  • -
  • 1

#8 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 22.11.2012 15:29

@raadim i Fili:P, nie lepiej dodac velocity , zamiast 'ustawic jego wartosc', bo zalozyciel tematu chce, aby gracz podskakiwal coraz wyzej i wyzej, czyli lepiej zrobić (w przypadku filipa)

new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] += random_float(500.0,600.0); //o ta linijke mi chodzi
set_pev(this, pev_velocity, velocity);

zamiast tego, co podal wyzej

Mój efekt nie miał podbijać do góry kilka razy tylko 1 raz.
  • +
  • -
  • 0

#9 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 22.11.2012 15:40

@raadim i Fili:P, nie lepiej dodac velocity , zamiast 'ustawic jego wartosc', bo zalozyciel tematu chce, aby gracz podskakiwal coraz wyzej i wyzej, czyli lepiej zrobić (w przypadku filipa)

new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] += random_float(500.0,600.0); //o ta linijke mi chodzi
set_pev(this, pev_velocity, velocity);

zamiast tego, co podal wyzej

Przecież to jest dokładnie to samo co
new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] = random_float(500.0,600.0);
set_pev(this, pev_velocity, velocity);

  • +
  • -
  • 1

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


#10 Krytykiewicz

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:114
  • Lokalizacja:Stąd
Offline

Napisano 22.11.2012 16:16

W take damge czy trace attack dać ten kod?
  • +
  • -
  • 0

#11 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 22.11.2012 16:39

@raadim i Fili:P, nie lepiej dodac velocity , zamiast 'ustawic jego wartosc', bo zalozyciel tematu chce, aby gracz podskakiwal coraz wyzej i wyzej, czyli lepiej zrobić (w przypadku filipa)

new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] += random_float(500.0,600.0); //o ta linijke mi chodzi
set_pev(this, pev_velocity, velocity);

zamiast tego, co podal wyzej

Przecież to jest dokładnie to samo co
new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] = random_float(500.0,600.0);
set_pev(this, pev_velocity, velocity);

Nie bo zamienił = na +=
  • +
  • -
  • 0

#12 nPaul

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Imię:Piotr
  • Lokalizacja:United Kingdom / Hereford
Offline

Napisano 22.11.2012 16:40

TakeDamage
  • +
  • -
  • 0

#13 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 22.11.2012 16:49

@raadim i Fili:P, nie lepiej dodac velocity , zamiast 'ustawic jego wartosc', bo zalozyciel tematu chce, aby gracz podskakiwal coraz wyzej i wyzej, czyli lepiej zrobić (w przypadku filipa)

new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] += random_float(500.0,600.0); //o ta linijke mi chodzi
set_pev(this, pev_velocity, velocity);

zamiast tego, co podal wyzej

Przecież to jest dokładnie to samo co
new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] = random_float(500.0,600.0);
set_pev(this, pev_velocity, velocity);

Nie bo zamienił = na +=

Fili akurat przy velocity nie ma najmniejszego znaczenia.. Sebul wyjąłeś mi to prosto z ust, miałem to pisać ale zszedłem z kompa.

Ja bym to umieścił w evencie damage, a nie w kanapce (hamsandwich). Czemu ? Kanapka zazwyczaj służy do zmieniania dmg, wpływanie w jakiś sposób na nie, natomiast register_event służy do wykrywania momentu/zdarzenia kiedy obrażenia zostały zadane.
register_event("Damage", "Damage", "b", "2!=0")

public Damage(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;

new kid = get_user_attacker(id) // Gracz atakujacy

if(!is_user_alive(kid))
return PLUGIN_CONTINUE;


if(get_user_team(id) != get_user_team(kid) && id != kid)
{
new Float:velocity[3];
entity_get_vector(id,EV_VEC_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
entity_set_vector(id,EV_VEC_velocity,velocity);
}
}

Użytkownik radim edytował ten post 22.11.2012 16:50

  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#14 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 22.11.2012 17:29

Nie bo zamienił = na +=

Akurat w tym przypadku jest to czysta "kosmetyka", chyba nie muszę tłumaczyć dlaczego.
  • +
  • -
  • 0

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


#15 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 162
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 22.11.2012 18:26

"+" zawsze ma znaczenie ponieważ jak gracz podskoczy a wtedy w niego strzeli ktos to będzie np. startowe veloe[2] np. 200 + jeszcze tamto losowe, wiec wtedy wyżej go podbije
sebul (22.11.2012 18:42):
Czytaj dokładniej.

  • +
  • -
  • 1

#16 Krytykiewicz

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:114
  • Lokalizacja:Stąd
Offline

Napisano 22.11.2012 18:37

Właśnie jest pewien problem, ponieważ gdy dam kod:

new Float:velocity[3]; entity_get_vector(id,EV_VEC_velocity,velocity); velocity[2] = random_float(265.0,285.0); entity_set_vector(id,EV_VEC_velocity,velocity);


lub ten co dał sebul bez + to działa tylko wtedy, gdy gracz podskoczy. Czyli mam dodać ten +? Jak zrobić też, aby to wszystko było zależne od broni.
  • +
  • -
  • 0

#17 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 22.11.2012 18:38

A gdyby zrobić coś takiego ?
/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Administrator"

new Float:g_Velo[33];

public plugin_init(){
    register_plugin(PLUGIN, VERSION, AUTHOR);
    register_event("Damage", "Damage", "b", "2!=0");
}
public Damage(id){
    if(is_user_alive(id)){
        new kid = get_user_attacker(id);

        if(is_user_alive(kid)){

            if(g_Velo[id] == 50.0){
                g_Velo[id] = 0.0;
            }

            g_Velo[id] += 10.0;

            if(get_user_team(id) != get_user_team(kid) && id != kid){
                new Float:velocity[3];
                entity_get_vector(id, EV_VEC_velocity, velocity);
                velocity[2] = (265.0 + g_Velo[id]);
                entity_set_vector(id, EV_VEC_velocity, velocity);
            }
        }
    }
}

  • +
  • -
  • 1

If you can dream it, you can do it.


#18 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 22.11.2012 18:39

"+" zawsze ma znaczenie ponieważ jak gracz podskoczy a wtedy w niego strzeli ktos to będzie np. startowe veloe[2] np. 200 + jeszcze tamto losowe, wiec wtedy wyżej go podbije

Nie wmówisz mi i innym "ogarniętym" w temacie, że w tym kodzie
new Float:velocity[3];
velocity[0]=0.0;
velocity[1]=0.0;
velocity[2]=0.0;
set_pev(this, pev_velocity, velocity);
velocity[2] = random_float(500.0,600.0);
set_pev(this, pev_velocity, velocity);

jest różnica w działaniu, w zależności od tego czy damy samo = czy += ;>

Napiszę to tak, jeśli "zmienna = 0" to "zmienna += 100" da nam 100, więc równie dobrze może być samo =

  • +
  • -
  • 1

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


#19 Krytykiewicz

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:114
  • Lokalizacja:Stąd
Offline

Napisano 22.11.2012 18:47

No właśnie nie ma różnicy, bo sprawdzałem i wszystkie kody działają wtedy, gdy gracz podskoczy. Twój też speedkill. Bardzo dziękuję za zaangażowanie i każda pomoc się dla mnie liczy ! :)
  • +
  • -
  • 0

#20 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 22.11.2012 18:51

To działa w końcu tylko jak gracz podskoczy?

P.S to nie możliwe :D
  • +
  • -
  • 0

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!





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

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