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

Byt obok mnie, nie we mnie.


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

#1 Ixik

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Mateusz
  • Lokalizacja:Warszawa
Offline

Napisano 14.12.2012 01:34

Witam, tworzę enta w taki oto sposób:

public CreateNPC(id)
{
new Float:fOrigin[3];
get_user_origin(id, OriginCien[id]);

IVecFVec(OriginCien[id], fOrigin);

iEnt[id] = create_entity("info_target")

fOrigin[2] += 40.0;

entity_set_int(iEnt[id], EV_INT_movetype, MOVETYPE_FOLLOW)
entity_set_int(iEnt[id], EV_INT_solid, SOLID_BBOX)
entity_set_edict(iEnt[id], EV_ENT_aiment, id)

entity_set_edict(iEnt[id], EV_ENT_owner, id);

entity_set_origin(iEnt[id],fOrigin);
entity_set_float(iEnt[id], EV_FL_ltime, halflife_time() + 10 + 0.5);
entity_set_float(iEnt[id],EV_FL_takedamage,1.0)
entity_set_float(iEnt[id],EV_FL_health,get_user_health(id) + 0.0)

new szModel[ 64 ] , szAllPath[ 256 ];
cs_get_user_model( id , szModel , charsmax( szModel ));
formatex( szAllPath , charsmax( szAllPath ) , "models/player/%s/%s.mdl" , szModel , szModel );

entity_set_string(iEnt[id],EV_SZ_classname,"NPC");
entity_set_model(iEnt[id],szAllPath);
entity_set_int(iEnt[id],EV_INT_solid, 2)

new Float:maxs[3] = {16.0,16.0,36.0}
new Float:mins[3] = {-16.0,-16.0,-36.0}
entity_set_size(iEnt[id],mins,maxs)

entity_set_int(iEnt[id],EV_INT_sequence,1);

drop_to_floor(iEnt[id])

entity_set_float(iEnt[id],EV_FL_nextthink,halflife_time() + 0.5);
}


Jest tutaj nadane:

entity_set_int(iEnt[id], EV_INT_movetype, MOVETYPE_FOLLOW)
entity_set_int(iEnt[id], EV_INT_solid, SOLID_BBOX)
entity_set_edict(iEnt[id], EV_ENT_aiment, id)


Okej, NPC się tworzy, podąża za graczem. Ale jak zrobić, by ent stał obok mnie, a nie we mnie?
  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

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

Napisano 14.12.2012 08:00

Musisz zmienić jego pozycje: http://amxx.pl/topic...ser-origin-set/
  • +
  • -
  • 0

If you can dream it, you can do it.


#3 Ixik

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Mateusz
  • Lokalizacja:Warszawa
Offline

Napisano 14.12.2012 12:25

To nic nie da, bo wcześniej zrobiłem
get_user_origin(id, Origin, 3)
czyli tam gdzie celuje, następnie tą zmienną ustawiłem bytowi miejsce położenia ale byt dalej był "we mnie".
  • +
  • -
  • 0

#4 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 14.12.2012 16:22

To nic nie da, bo wcześniej zrobiłem

get_user_origin(id, Origin, 3)
czyli tam gdzie celuje, następnie tą zmienną ustawiłem bytowi miejsce położenia ale byt dalej był "we mnie".

To widocznie źle zrobiłeś, choć i tak tym sposobem byt znajdował by się zapewne w ścianie.
Możesz użyć tego -> http://amxx.pl/topic...rzedza-graczem/
  • +
  • -
  • 0

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





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

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