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.
|
[ROZWIĄZANE] Kształt stożka.
#1
Napisano 19.10.2011 21:52
Jeden wylatywał z mojej pozycji i leciał lekko w lewo, drugi centralnie tam gdzie patrze (celownik) a trzeci by wylatywał z mojej pozycji i leciał lekko w prawo?
Czyli tak jakby skill w kształcie stożka.
#2
Napisano 19.10.2011 23:17
#3
Napisano 20.10.2011 13:05
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#4
Napisano 20.10.2011 14:21
velocity_by_aim(id, 700, nVelocity);
i potem set_pev(ent, pev_velocity, XXX);
Ale nie wiem jak mam ustawić te koordy.
#5
Napisano 20.10.2011 14:55
public test(id){ const Float:fSpeed = 700.0; new Float:fAngles[3]; pev(id,pev_angles,fAngles) new Float:fVeloc[3][3],Float:fTmp[3],Float:fForward[3]; angle_vector(fAngles,ANGLEVECTOR_FORWARD,fForward); xs_vec_normalize(fForward,fForward); xs_vec_mul_scalar(fForward,fSpeed,fForward); xs_vec_copy(fVeloc[1],fForward); xs_vec_normalize(fForward,fForward); angle_vector(fAngles,ANGLEVECTOR_RIGHT,fTmp); xs_vec_normalize(fTmp,fTmp) for(new i = 0;i<3;i++){ fTmp[i] = fForward[i] + ( fTmp[i] * floatsin(30.0,degrees) ) } xs_vec_normalize(fTmp,fTmp); xs_vec_mul_scalar(fTmp,fSpeed,fTmp) xs_vec_copy(fVeloc[0],fTmp); angle_vector(fAngles,ANGLEVECTOR_RIGHT,fTmp); xs_vec_neg(fTmp,fTmp); xs_vec_normalize(fTmp,fTmp) for(new i = 0;i<3;i++){ fTmp[i] = fForward[i] + ( fTmp[i] * floatsin(30.0,degrees) ) } xs_vec_normalize(fTmp,fTmp); xs_vec_mul_scalar(fTmp,fSpeed,fTmp) xs_vec_copy(fVeloc[2],fTmp); }w tablicy fVeloc masz już obliczone velocity
fVeloc[0] - prawy ent
fVeloc[1] - srodkowy ent
fVeloc[2] - lewy ent
ustawiasz poprzez set_pev(idEnt,pev_velocity,fVeloc[0])
set_pev(idEnt,pev_velocity,fVeloc[1])
set_pev(idEnt,pev_velocity,fVeloc[2])
#6
Napisano 20.10.2011 19:35
Wklejka: 131913571218069
Ale wychodzi tylko jedna kulka reszta się rozwala. Ponadto stworzyłem tylko kulkę która powinna lecieć w prawo a i tak leci prosto. Może to ja źle zrobiłem?
#7
Napisano 20.10.2011 19:38
VelocityByAim(id, 1000 , fVeloc);
#8
Napisano 20.10.2011 20:09
A jak puszczę aby leciała tylko w prawo to w ogóle nie leci, stoi w miejscu.
Użytkownik Kukol edytował ten post 20.10.2011 20:11
#9
Napisano 20.10.2011 20:11
#10
Napisano 20.10.2011 20:19
Mam tak:
Wklejka: 131914577918069
Ale dalej w ogóle nie leci.
Użytkownik Kukol edytował ten post 20.10.2011 22:23
#11
Napisano 21.10.2011 12:31
public test(id){ const Float:fSpeed = 700.0; new Float:fAngles[3]; pev(id,pev_angles,fAngles) new Float:fVeloc[3][3],Float:fTmp[3],Float:fForward[3]; angle_vector(fAngles,ANGLEVECTOR_FORWARD,fForward); xs_vec_normalize(fForward,fForward); xs_vec_mul_scalar(fForward,fSpeed,fForward); xs_vec_copy(fForward,fVeloc[1]); xs_vec_normalize(fForward,fForward); angle_vector(fAngles,ANGLEVECTOR_RIGHT,fTmp); xs_vec_normalize(fTmp,fTmp) for(new i = 0;i<3;i++){ fTmp[i] = fForward[i] + ( fTmp[i] * floatsin(30.0,degrees) ) } xs_vec_normalize(fTmp,fTmp); xs_vec_mul_scalar(fTmp,fSpeed,fTmp) xs_vec_copy(fTmp,fVeloc[0]); angle_vector(fAngles,ANGLEVECTOR_RIGHT,fTmp); xs_vec_neg(fTmp,fTmp); xs_vec_normalize(fTmp,fTmp) for(new i = 0;i<3;i++){ fTmp[i] = fForward[i] + ( fTmp[i] * floatsin(30.0,degrees) ) } xs_vec_normalize(fTmp,fTmp); xs_vec_mul_scalar(fTmp,fSpeed,fTmp) xs_vec_copy(fTmp,fVeloc[2]); }
#12
Napisano 21.10.2011 12:44
Prawy ent leci dobrze, w prawo, ten co leci prosto również dobrze leci, tylko ten co ma lecieć w lewo stoi w miejscu spawnu.
#EDIT!
Jednak jest dobrze, ale czasem enty po prostu nie lecą tylko zostają w ziemi / nie mają prędkości, jak temu zapobiec?
#EDIT2!
Zauważyłem, że gdy na cs_assault z respa CT użyję enta w stronę tego takiego wejścia na górę, to jeden ent się buguje, a gdy walę w inne strony to jest ok.
Użytkownik Kukol edytował ten post 21.10.2011 13:38
#13
Napisano 21.10.2011 14:41
set_pev(ent,pev_solid,SOLID_BBOX);a to oznacza
#define SOLID_BBOX 2 /* touch on edge, block */
daj
set_pev(ent,pev_solid,SOLID_TRIGGER);co oznacza
#define SOLID_TRIGGER 1 /* touch on edge, but not blocking */
http://www.amxmodx.o...?go=module&id=3
#14
Napisano 21.10.2011 15:24
#15
Napisano 21.10.2011 15:24
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych