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

[ROZWIĄZANE] Kształt stożka.


  • Zamknięty Temat jest zamknięty
14 odpowiedzi w tym temacie

#1 Kukol

    Zaawansowany

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 19.10.2011 21:52

Cześć.. Mam problem. Mam ent który leci tam gdzie wskażę celownikiem. A jak zrobić, by 3 takie same enty leciały, ale:

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 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 19.10.2011 23:17

Nie trzeba, ja mam swój plugin i w nim nie ma nic innego jak tworzenie jednej kulki która leci tam gdzie celuje, a jak stworzyć 3 tak jak pisałem w 1 poście?

#3 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 20.10.2011 13:05

stwórz 3 enty, dla 1 i 3 zmień drogę o +/- ile tam będziesz chciał.

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 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 20.10.2011 14:21

Tak, wiem, ale nie wiem o ile mam zmienić te koordy i które. Bo pierwszy byt robię za pomocą
velocity_by_aim(id, 700, nVelocity);


i potem set_pev(ent, pev_velocity, XXX);

Ale nie wiem jak mam ustawić te koordy.

#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

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])
  • +
  • -
  • 1

#6 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 20.10.2011 19:35

Zrobiłem tak:

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 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 20.10.2011 19:38

usuń

VelocityByAim(id, 1000 , fVeloc);

  • +
  • -
  • 1

#8 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 20.10.2011 20:09

Wybuchają zanim zdążą wylecieć. ;/

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 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 20.10.2011 20:11

kod który dałeś nie ma nic wspólnego z wybuchem
  • +
  • -
  • 1

#10 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 20.10.2011 20:19

Dobra, teraz nie wybucha, ale w ogóle nie leci, stoi w miejscu.

Mam tak:

Wklejka: 131914577918069

Ale dalej w ogóle nie leci.

Użytkownik Kukol edytował ten post 20.10.2011 22:23


#11 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 21.10.2011 12:31

mój błąd
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]);
}

  • +
  • -
  • 2

#12 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 21.10.2011 12:44

Prawie. ;d

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 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 21.10.2011 14:41

w kodzie masz
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
  • +
  • -
  • 1

#14 Kukol

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 21.10.2011 15:24

Elegancko, wszystko działa, dziękuję bardzo.

#15 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 21.10.2011 15:24

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 1




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

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