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
Nowy Plugin

Nowy przemiot

Nowy Plugin

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

#1 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 05.09.2009 13:03

A więc chcę zrobić item który po użyciu wytrzeliwuje wiązkę światła i podrzuca gracza do góry i po chwili zmienia mu gravity na takie ze zabije go.
public item_killgrav(id)
{
	if (used_item[id])
	{
		hudmsg(id, 2.0, "Nie masz wystarczajaco mocy aby uzy przedmiotu")
		return PLUGIN_CONTINUE	
	}
	
	new target = Find_Best_Angle(id,1000.0,false)
	
	if (!is_valid_ent(target))
	{
		hudmsg(id,2.0,"Obiekt jest poza zasiegiem.")
		return PLUGIN_CONTINUE
	}
	set_task(0.2, "kill_ggrav", target, _, _, "a", 15)
	client_cmd(target,"+jump")
	client_cmd(target,"wait")
	client_cmd(target,"-jump")
	new Hit[3]
	get_user_origin(target,Hit)
	
	//Create blue beam
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
	write_byte(1)		//TE_BEAMENTPOINT
	write_short(id)		// start entity
	write_coord(Hit[0])
	write_coord(Hit[1])
	write_coord(Hit[2])
	write_short(sprite_lgt)
	write_byte(1)		// framestart
	write_byte(1)		// framerate
	write_byte(1)		// life in 0.1's
	write_byte(20)		// width
	write_byte(20)		// noise
	write_byte(0)		// red
	write_byte(255)		// green
	write_byte(255)		// blue
	write_byte(255)		// brightness
	write_byte(0)		// speed
	message_end()
	set_task(3.0, "kill_grav", target)
	set_task(5.0,"pwner",target)
	used_item[id] = true	
	return PLUGIN_HANDLED
	
}
public kill_ggrav(id)
{
	if (is_user_alive(id)) 
	set_user_gravity(id, -10.0) 
}
public kill_grav(id)
{
	if (is_user_alive(id)) set_user_gravity(id, 10.0)
}
public pwner(id)
{
	if (is_user_alive(id)) client_cmd(id,"kill")
}

Więc teoretycznie działa ale chciałbym jakoś żeby zabijało nawet jak target uderzy w wodę, więc gdzieś ale nie wiem gdzie muszę walnąć to:

set_pev(target,pev_watertype,1)

Wtedy bd mógł wywalić taska pwner

Teraz jak zamienić:

client_cmd(target,"+jump")
client_cmd(target,"wait")
client_cmd(target,"-jump")

Aby gracz po zamianie gravity nie musiał podskoczyć aby wyniosło go do góry.
Chciałbym również aby wyświetlało że ktoś zabił kogoś tj. UTIL_KILL ale nie wiem gdzie by to dać aby nie wyświetlało się po czasie a po chwili uderzenia w ziemie.

[ Dodano: 05-09-2009, 14:07 ]
Jeśli ma ktoś inny pomysł to czy pomógł by mi go jakoś zrealizować?
  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 05.09.2009 13:30

polecam Client_prethink z warunkiem, ze gracz jest ofiara tego itemu...
  • +
  • -
  • 0

#3 Vertricus

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 05.09.2009 13:59

Łatwo powiedzieć ale patrząc na mój kod widać że jeszcze nawet nie raczkuję, tak więc nie za bardzo potrafię zrozumieć jak gracz może być ofiarą itemu?
Może nie tyle co nie rozumie a nie wiem jak postawić taki warunek.
Dodatkową zmienną trzeba? Tak jak wingsach?
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Nowy Plugin

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

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