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


Dodatki SourceMod














