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

Rzut entem, efekt franatu


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

#1 NiczegoWinien

    Wszechpomocny

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 18.09.2019 10:14

Wita. Jak w temacie. Potrzebuję kodu który zachowa parabole lotu taka jak ma granat. Czyli z miejsca gdzie stoimy, leci tam gdzie celujemy.
Pozdrawiam
  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

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


Rivit (18.09.2019 10: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)

Użytkownik TibacK edytował ten post 18.09.2019 10:24

  • +
  • -
  • 1

#3 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 18.09.2019 11:16

Ok dzięki. Będę w domu to zobaczę co da się zrobić.
  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 19.09.2019 03:51

Chodzi o to ? https://www.youtube....h?v=RzXca9lTRBA


  • +
  • -
  • 0

#5 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

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.
  • +
  • -
  • 0

#6 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

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?


  • +
  • -
  • 0

#7 wonsz żeczny

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:254
  • Imię:Wonsz
  • Lokalizacja:Żeka
Offline

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

  • +
  • -
  • 1




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

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