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

Jak sprawić, by spadł?


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

#1 GoldeN

    Wszechmogący

  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 10.02.2011 19:52

Witam. Jak zrobić, aby ten model spadał z wysokości 300.0 na ziemie?


 public glaz(id)
{
new Float:origin[3], Float:angle[3];

entity_get_vector(id,EV_VEC_origin,origin)

new ent = create_entity("info_target")

entity_set_origin(ent,origin);

entity_set_float(ent,EV_FL_takedamage,DAMAGE_NO)
entity_set_float(ent,EV_FL_health,100.0)

entity_get_vector(id, EV_VEC_angles, angle);
angle[0] = 0.0;
entity_set_vector(ent, EV_VEC_angles, angle);

entity_set_string(ent,EV_SZ_classname,"glaz");
entity_set_model(ent,"models/big_rock.mdl");
entity_set_int(ent,EV_INT_solid, SOLID_NOT)

entity_set_byte(ent,EV_BYTE_controller1,125);
entity_set_byte(ent,EV_BYTE_controller2,125);
entity_set_byte(ent,EV_BYTE_controller3,125);
entity_set_byte(ent,EV_BYTE_controller4,125);

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

entity_set_float(ent,EV_FL_animtime,2.0)
entity_set_float(ent,EV_FL_framerate,1.0)
entity_set_int(ent,EV_INT_sequence,0);

drop_to_floor(ent)
}

Użytkownik GoldeN edytował ten post 10.02.2011 19:52


#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 10.02.2011 20:20

Na ten przykład:
entity_set_int(ent, EV_INT_movetype, MOVETYPE_BOUNCE)
ale może inny movetype będzie cie zadowalał.
  • +
  • -
  • 1

#3 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 10.02.2011 20:25


#include <xs>

public glaz(id)
{
new Float:fStartOrigin[3],Float:fEndOrigin[3] Float:fAngle[3];

entity_get_vector(id,EV_VEC_origin,fStartOrigin)

xs_vec_copy(fStartOrigin,fEndOrigin)

fEndOrigin[2] += 300.0;

new Float:fRet[3];
new trace = fm_trace_line(id,fStartOrigin,fEndOrigin,fRet)

if(trace){
return PLUGIN_CONTINUE;
}

new ent = create_entity("info_target")

entity_set_origin(ent,origin);

entity_set_float(ent,EV_FL_takedamage,DAMAGE_NO)
entity_set_float(ent,EV_FL_health,100.0)

entity_get_vector(id, EV_VEC_angles, fAngle);
fAngle[0] = 0.0;
entity_set_vector(ent, EV_VEC_angles, fAngle);

entity_set_string(ent,EV_SZ_classname,"glaz");
entity_set_model(ent,"models/big_rock.mdl");
entity_set_int(ent,EV_INT_solid, SOLID_NOT)
entity_set_int(ent,EV_INT_movetype,MOVETYPE_TOSS)
entity_set_int(ent,EV_FL_gravity,1.0)

entity_set_byte(ent,EV_BYTE_controller1,125);
entity_set_byte(ent,EV_BYTE_controller2,125);
entity_set_byte(ent,EV_BYTE_controller3,125);
entity_set_byte(ent,EV_BYTE_controller4,125);

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

entity_set_float(ent,EV_FL_animtime,2.0)
entity_set_float(ent,EV_FL_framerate,1.0)
entity_set_int(ent,EV_INT_sequence,0);
return PLUGIN_CONTINUE;
}

stock fm_trace_line(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]){
engfunc(EngFunc_TraceLine, start, end, ignoreent == -1 ? 1 : 0, ignoreent, 0);

new ent = get_tr2(0, TR_pHit);
get_tr2(0, TR_vecEndPos, ret);

return pev_valid(ent) ? ent : 0;
}

  • +
  • -
  • 2

#4 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 10.02.2011 20:38


#include <xs>

public glaz(id)
{
new Float:fStartOrigin[3],Float:fEndOrigin[3] Float:fAngle[3];

entity_get_vector(id,EV_VEC_origin,fStartOrigin)

xs_vec_copy(fStartOrigin,fEndOrigin)

fEndOrigin[2] += 300.0;

new Float:fRet[3];
new trace = fm_trace_line(id,fStartOrigin,fEndOrigin,fRet)

if(trace){
return PLUGIN_CONTINUE;
}

new ent = create_entity("info_target")

entity_set_origin(ent,origin);

entity_set_float(ent,EV_FL_takedamage,DAMAGE_NO)
entity_set_float(ent,EV_FL_health,100.0)

entity_get_vector(id, EV_VEC_angles, fAngle);
fAngle[0] = 0.0;
entity_set_vector(ent, EV_VEC_angles, fAngle);

entity_set_string(ent,EV_SZ_classname,"glaz");
entity_set_model(ent,"models/big_rock.mdl");
entity_set_int(ent,EV_INT_solid, SOLID_NOT)
entity_set_int(ent,EV_INT_movetype,MOVETYPE_TOSS)
entity_set_int(ent,EV_FL_gravity,1.0)

entity_set_byte(ent,EV_BYTE_controller1,125);
entity_set_byte(ent,EV_BYTE_controller2,125);
entity_set_byte(ent,EV_BYTE_controller3,125);
entity_set_byte(ent,EV_BYTE_controller4,125);

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

entity_set_float(ent,EV_FL_animtime,2.0)
entity_set_float(ent,EV_FL_framerate,1.0)
entity_set_int(ent,EV_INT_sequence,0);
return PLUGIN_CONTINUE;
}

stock fm_trace_line(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]){
engfunc(EngFunc_TraceLine, start, end, ignoreent == -1 ? 1 : 0, ignoreent, 0);

new ent = get_tr2(0, TR_pHit);
get_tr2(0, TR_vecEndPos, ret);

return pev_valid(ent) ? ent : 0;
}


Zmieniłem z:

entity_set_int(ent,EV_FL_gravity,1.0)


Na:

entity_set_int(ent,EV_FL_gravity,1)


Ale wogóle. nie wyświetla się efekt.

@Edit:

Pojawia się, ale na ziemi i w dużej odległości od gracza.

Użytkownik GoldeN edytował ten post 10.02.2011 20:40


#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 10.02.2011 20:49

entity_set_origin(ent,origin);

na
entity_set_origin(ent,fEndOrigin);

  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 10.02.2011 20:54

Okej, ale ten model nie ląduje centralnie na ziemi, tylko na wysokości głowy.

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 11.02.2011 00:37

powinno byc
entity_set_float(ent, EV_FL_gravity, 1.0)
dziwne :D
  • +
  • -
  • 0

#8 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 11.02.2011 00:41

powinno byc
entity_set_float(ent, EV_FL_gravity, 1.0)
dziwne :D


Ale wyskakuj tag mistmatch, a jak zrobić, aby ten model był na ziemi?
I drugie pytanie, jak mogę zrobić, aby model podążał za kimś?




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

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