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.
|
Rzut entem, efekt franatu
#1
Napisano 18.09.2019 10:14
Pozdrawiam
#2
Napisano 18.09.2019 10:22
public spawn_crowbar(const id) { new iEntity; new Float:where[3]; iEntity = create_entity("info_target"); set_pev(iEntity, pev_classname, g_szClassNameCrowbar); set_pev(iEntity, pev_solid, SOLID_TRIGGER); set_pev(iEntity, pev_movetype, MOVETYPE_BOUNCE); entity_set_model(iEntity, CrowbarModels[2]); pev(id, pev_origin, where); where[2] += 50.0; where[0] += random_float(-20.0, 20.0); where[1] += random_float(-20.0, 20.0); entity_set_origin(iEntity, where); where[0] = 0.0; where[2] = 0.0; where[1] = random_float(0.0, 180.0); entity_set_vector(iEntity, EV_VEC_angles, where); velocity_by_aim(id, 200, where); entity_set_vector(iEntity, EV_VEC_velocity, where); }
register_touch(g_szClassNameCrowbar, "worldspawn", "CrowbarTouch"); public CrowbarTouch(const id, const world) { new Float:velocity[3]; new Float:volume; entity_get_vector(id, EV_VEC_velocity, velocity); velocity[0] = (velocity[0] * 0.45); velocity[1] = (velocity[1] * 0.45); velocity[2] = (velocity[2] * 0.45); entity_set_vector(id, EV_VEC_velocity, velocity); volume = get_speed(id) * 0.005; if (volume > 1.0) volume = 1.0; if (volume > 0.1) emit_sound(id, CHAN_AUTO, "debris/metal2.wav", volume, ATTN_NORM, 0, PITCH_NORM); }
Może Ci sie przyda
Użytkownik TibacK edytował ten post 18.09.2019 10:24
#3
Napisano 18.09.2019 11:16
#4
#5
Napisano 19.09.2019 14:58
Chodzi o to ?
Chodzi mi na przykładzie.
Aby rakieta w cod mod nie leciała prosto tylko taką parabole żeby miała jak granat.
Tam gdzie celuje celownikiem to tam leci zachowując efekt rzuconego granatu.
#6
Napisano 19.09.2019 15:45
To może coś takiego?
https://forums.allie...ead.php?t=98032
pev_friction i pev_gravity chyba trzeba ustawić.
A sprawdzałeś nadawanie entowi MOVETYPE_TOSS?
#7
Napisano 19.09.2019 20:29
Ja używam takiego kodu, dzięki któremu ent leci jak granat:
public granat(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED; new Float:origin[3],Float:velocity[3],Float:angles[3]; engfunc(EngFunc_GetAttachment, id, 0, origin,angles) pev(id,pev_angles,angles) new ent = create_entity("info_target") set_pev(ent, pev_classname, "granat") set_pev(ent, pev_solid, SOLID_BBOX) set_pev(ent, pev_movetype, MOVETYPE_TOSS) set_pev(ent, pev_mins, { -0.1, -0.1, -0.1 }) set_pev(ent, pev_maxs, { 0.1, 0.1, 0.1 }) entity_set_model(ent, "models/grenade.mdl") set_pev(ent, pev_origin, origin) set_pev(ent, pev_angles, angles) set_pev(ent, pev_owner, id) velocity_by_aim(id, 1000, velocity) set_pev(ent, pev_velocity, velocity) /* (tutaj ten pasek za lecącym entem xd) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) // Temporary entity ID write_short(ent) // Entity write_short(sTrail) // Sprite index write_byte(10) // Life write_byte(2) // Line width write_byte(255) // Red write_byte(255) // Green write_byte(255) // Blue write_byte(255) // Alpha message_end(); */ return PLUGIN_CONTINUE; }
A i jeszcze w sumie zapomniałem dodać, że on po zetknięciu z ziemią nie poturla się po niej, zgaduję, że chcesz to wykorzystać do rzutu pokeballem do pokemoda więc w sumie to może być wystarczające.
TibacK (wczoraj, 11:32):
Hmm, musisz jeszcze zobaczyć czy trzeba ustawić pev_owner, pamiętam, że miałem problem z tym, bo byt jakby zawieszał się na mojej głowie (nie pamiętam dokładnie)
Zawieszał się zapewne na głowie przez to:
register_touch(g_szClassNameCrowbar, "worldspawn", "CrowbarTouch");
Lepszym rozwiązaniem byłoby:
register_touch(g_szClassNameCrowbar, "*", "CrowbarTouch");
A dobra, przeczytałem na początku, że na czyjejś głowie a to na twojej
Użytkownik wonsz żeczny edytował ten post 19.09.2019 20:42
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych