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.
|
Podbijanie bytu [gracza]
#1
Napisano 22.11.2012 00:19
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.
#4
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
#5
Napisano 22.11.2012 12:56
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 veloctyPodkreś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
Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !
#6
Napisano 22.11.2012 13:08
Gdzie ja użyłem niby +jump ?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 veloctyPodkreś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.
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);
#7
Napisano 22.11.2012 14:54
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
#8
Napisano 22.11.2012 15:29
Mój efekt nie miał podbijać do góry kilka razy tylko 1 raz.@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
#9
Napisano 22.11.2012 15:40
Przecież to jest dokładnie to samo co@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
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);
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#10
Napisano 22.11.2012 16:16
#11
Napisano 22.11.2012 16:39
Nie bo zamienił = na +=Przecież to jest dokładnie to samo co@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 wyzejnew 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);
#12
Napisano 22.11.2012 16:40
#13
Napisano 22.11.2012 16:49
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.Nie bo zamienił = na +=Przecież to jest dokładnie to samo co@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 wyzejnew 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);
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
Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !
#14
Napisano 22.11.2012 17:29
Akurat w tym przypadku jest to czysta "kosmetyka", chyba nie muszę tłumaczyć dlaczego.Nie bo zamienił = na +=
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#15
Napisano 22.11.2012 18:26
#16
Napisano 22.11.2012 18:37
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.
#17
Napisano 22.11.2012 18:38
/* 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); } } } }
If you can dream it, you can do it.
#18
Napisano 22.11.2012 18:39
Nie wmówisz mi i innym "ogarniętym" w temacie, że w tym kodzie"+" 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
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 =
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#19
Napisano 22.11.2012 18:47
#20
Napisano 22.11.2012 18:51
P.S to nie możliwe
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