←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Velocity - byaim i ustawianie.

  • +
  • -
KariiO - zdjęcie KariiO 08.04.2012

prędkość może być taka jak velocitybyaim czyli 1500 ?

przy okazji bo tak tworze byt(kod z diablo):

public command_arrow(id) 
{
new ktory[33] = 1


new Float: Origin[3], Float: Velocity[3], Float: vAngle[3], Ent

entity_get_vector(id, EV_VEC_origin , Origin)
entity_get_vector(id, EV_VEC_v_angle, vAngle)

Ent = create_entity("info_target")

if (!Ent) return PLUGIN_HANDLED

entity_set_string(Ent, EV_SZ_classname, "xbow_arrow")
entity_set_model(Ent,"models/diablomod/Crossbow_bolt.mdl")

new Float:MinBox[3] = {-2.8, -2.8, -0.8}
new Float:MaxBox[3] = {2.8, 2.8, 2.0}
entity_set_vector(Ent, EV_VEC_mins, MinBox)
entity_set_vector(Ent, EV_VEC_maxs, MaxBox)

vAngle[0]*= -1
Origin[2]+=10

entity_set_origin(Ent, Origin)
entity_set_vector(Ent, EV_VEC_angles, vAngle)

entity_set_int(Ent, EV_INT_effects, 2)
entity_set_int(Ent, EV_INT_solid, 1)
entity_set_int(Ent, EV_INT_movetype, 5)
entity_set_edict(Ent, EV_ENT_owner, id)
new Float:dmg = 400.0
entity_set_float(Ent, EV_FL_dmg,dmg)

set_rendering (Ent,kRenderFxGlowShell, 255,0,0, kRenderNormal,56)

return PLUGIN_HANDLED
}
Może jakiś pomysł jak go mogę skrócić ? Bo na 4 enty to troche linijek sie posypie ;P
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 08.04.2012

prędkość może być taka jak velocitybyaim czyli 1500 ?

tak
wrzuć to sobie w funkcje w parametrach przekazuj velocity do ustawienia
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 08.04.2012

Zamiast
entity_set_vector(Ent, EV_VEC_mins, MinBox)
entity_set_vector(Ent, EV_VEC_maxs, MaxBox)

możesz dać
entity_set_size(Ent, MinBox, MaxBox);


I nie tworzy się zmiennych w ten sposób
new ktory[33] = 1

ta jedynka jest nie potrzebna i nic nie daje.
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 08.04.2012

Zamiast

entity_set_vector(Ent, EV_VEC_mins, MinBox)
entity_set_vector(Ent, EV_VEC_maxs, MaxBox)

możesz dać
entity_set_size(Ent, MinBox, MaxBox);


I nie tworzy się zmiennych w ten sposób
new ktory[33] = 1

ta jedynka jest nie potrzebna i nic nie daje.

Wiem :)
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 14.04.2012

Zrobiłem ale coś nie działa ;/ Może ktoś wskazać błąd?

public czterynoze(id) 
{
new ent[4]
new Float:Angles[3],Float:vecprosto[3],Float:vectyl[3],Float:vecprawo[3],Float:veclewo[3]
new Float:MinBox[3] = {-2.8, -2.8, -0.8}
new Float:MaxBox[3] = {2.8, 2.8, 2.0}
new Float: Origin[3], Float: vAngle[3], Ent

entity_get_vector(id, EV_VEC_origin , Origin)
entity_get_vector(id, EV_VEC_v_angle, vAngle)
vAngle[0]*= -1
Origin[2]+=10

for(new i=0;i<4;++i)
{
ent[i] = create_entity("info_target")
entity_set_string(ent[i], EV_SZ_classname, "xbow_arrow")
entity_set_model(ent[i],"models/diablomod/Crossbow_bolt.mdl")
entity_set_size(ent[i],MinBox, MaxBox);
entity_set_origin(ent[i], Origin)
entity_set_vector(ent[i], EV_VEC_angles, vAngle)
entity_set_int(ent[i], EV_INT_effects, 2)
entity_set_int(ent[i], EV_INT_solid, 1)
entity_set_int(ent[i], EV_INT_movetype, 5)
entity_set_edict(ent[i], EV_ENT_owner, id)
new Float:dmg = 400.0
entity_set_float(ent[i], EV_FL_dmg,dmg)
}

set_rendering (Ent,kRenderFxGlowShell, 255,0,0, kRenderNormal,56)


pev(id,pev_v_angle,Angles)

angle_vector (Angles,1, vecprosto)
angle_vector (Angles,2,vecprawo)

xs_vec_neg(vecprosto,vectyl)
xs_vec_neg(vecprawo,veclewo)

xs_vec_mul_scalar(vecprosto , 1500.0 ,vecprosto )
xs_vec_mul_scalar( vectyl , 1500.0 ,vectyl )
xs_vec_mul_scalar( veclewo , 1500.0 ,veclewo)
xs_vec_mul_scalar( vecprawo , 1500.0 ,vecprawo)
set_pev(ent[0] , pev_velocity , vecprosto ); 
set_pev(ent[1] , pev_velocity , vectyl ); 
set_pev(ent[2] , pev_velocity , veclewo ); 
set_pev(ent[3] , pev_velocity , vecprawo ); 
return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 16.04.2012

ref
Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 17.04.2012

Również dołączam się do pytania, przyda się to na pewno, a skoro już tacy experci tego forum rozkminiają to, to może ktoś mi powiedzieć jak zrobić odrzut z broni, np shot ? Np dostane w prawy bark, to odlatuje w lewo i tak zależnie z której strony dostane. Jest to mozliwe ? Wiem, ze podobne cos mają 'lekkie klasy' zombie, ale nie umiem szczerze.. Chyba autor nie obrazi się, że dorzucam pytanie jedno.
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 18.04.2012

up
odpowiednie ustawianie pev_punchangle , pev_view_ofs , pev_angles ( możesz sobie wybrać )

co do tematu
jakieś logi są ? co się dzieje po użyciu funkcji
Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 18.04.2012

Dzięki za podpowiedź, jednakże nie rozkminiam, mógłbyś mi podać kod na odrzut według lecących kul trafionych w ofiarę ? Ja se już warunki broni zrobie bo to lajt, ale ogólnie tych kątów, odrzutów, przesunięć gracza mało ogarniam w scriptingu ;/
Użytkownik ogieR- edytował ten post 18.04.2012 23:13
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 18.04.2012

najprosciej jest wziść event traceattack tam chyba dostawalo sie wektor wystarczylo go zwiększyć i juz
Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 20.04.2012

Tobie też dzięki, już wiem conieco, gdzie, ale nie wiem jeszcze jak. Mógłbym prosić o kod ? Byłbym bardzo wdzięczny, jeśli chodzi, że chce gotowca i 'pocałować w d*pę', to nie o to chodzi, ja się bardziej wolę uczyć w praktyce, jak widzę ten kod, wtedy rozkminiam linijka po linijce, testuje na innych przykładach i wtedy ew. opanuję to w traceattack.
Odpowiedz