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

Paintball - niszczy skrzynki


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

#1 M4G!K

    Profesjonalista

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:224
  • GG:
  • Imię:Bartłomiej
  • Lokalizacja:Sandomierz
Offline

Napisano 03.01.2010 21:15

Witam

Mam problem podobny do problemu z kuszą w diablo 5.9l, mianowicie w paintballu po strzale w skrzynki na bs niszczą się one.
I tutaj pytanie, czy mógłby ktoś (czy da się) przerobić to, by takowy problem nie występował. Kombinowałem, ale nic mi z tego nie wyszlo, wg. mnie odpowiada za to kod:

public fw_touch(bullet, ent)
{
	new class[20];
	pev(bullet, pev_classname, class, 19);
	if (!equali(class, "pbBullet"))
		return FMRES_IGNORED;

	new Float:origin[3], class2[20], owner = pev(bullet, pev_owner), is_ent_alive = is_user_alive(ent);
	pev(ent, pev_classname, class2, 19);
	pev(bullet, pev_origin, origin);

	if (is_ent_alive)
	{
		if (owner == ent || pev(ent, pev_takedamage) == DAMAGE_NO)
			return FMRES_IGNORED;
		if (get_user_team(owner) == get_user_team(ent))
			if (!get_pcvar_num(friendlyfire))
				return FMRES_IGNORED;

		ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(get_pcvar_num(damge)), 4098);
	}

	if (!equali(class, class2))
	{	
		set_pev(bullet, pev_velocity, Float:{0.0, 0.0, 0.0});
		set_pev(bullet, pev_classname, "pbPaint");
		set_pev(bullet, pev_solid, 0);
		set_pev(bullet, pev_movetype, 0);
		engfunc(EngFunc_SetModel, bullet, "sprites/paintball.spr");

		new a, findpb = 0;
		while (a++ < g_pbcount && !findpb)
			if (g_paintballs[a] == bullet)
				findpb = g_pbstatus[a] = 2;

		remove_task(bullet);
		remove_task(bullet+TASK_PB_RESET);

		if (get_pcvar_num(sound))
		{
			static wav[20];
			formatex(wav, 20, is_ent_alive ? "player/pl_pain%d.wav" : "misc/pb%d.wav", is_ent_alive ? random_num(4,7) : random_num(1,4));
			emit_sound(bullet, CHAN_AUTO, wav, 1.0, ATTN_NORM, 0, PITCH_NORM);
		}

		new bool:valid_surface = (is_ent_alive || containi(class2, "door") != -1) ? false : true;
		if (pev(ent, pev_health) && !is_ent_alive)
		{
			ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(pev(ent, pev_health)), 0);
			valid_surface = false;
		}
		if (valid_surface)
		{
			paint_splat(bullet);
			set_task(float(get_pcvar_num(blife)), "paint_reset", bullet+TASK_PB_RESET);
		}
		else
			paint_reset(bullet+TASK_PB_RESET);

		return FMRES_HANDLED; 
	}

	return FMRES_IGNORED;
}

Paintball pobrany z: Paintball + Paintball Gun & Mod - Nieoficjalny polski support AMX Mod X


Z góry bardzo dziękuję za pomoc
Pozdrawiam
  • +
  • -
  • 0

Najlepsze skiny cs go. Bierz udział w losowaniach i wygraj  darmowe skiny cs go!


#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.01.2010 22:38

Najpierw komentuj poszczegolne (pojedyncze) linie az przestanie psuc skrzynie (nie przejmuj sie na razie ze mod nie dziala tak jak trzeba) a jak znajdzie sie winnego to sie naprawi :F
  • +
  • -
  • 0

#3 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

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

Napisano 03.01.2010 22:50

Spróbuj:
if (pev(ent, pev_health) && !is_ent_alive)
		{
			ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(pev(ent, pev_health)), 0);
			valid_surface = false;
		}
Chociaż to tak w ciemnio strzelam ale tu się bawi nie żywym bytem ^.^
  • +
  • -
  • 1

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.01.2010 22:54

Jesli tak, to dodac && pev(ent, pev_takedamage)>0 i powinno byc dobrze chyba :F
  • +
  • -
  • 1

#5 M4G!K

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:224
  • GG:
  • Imię:Bartłomiej
  • Lokalizacja:Sandomierz
Offline

Napisano 04.01.2010 16:04

Niestety, nadal problem występuje.

Może ja źle dodaje kod?:

Ten kod:
if (pev(ent, pev_health) && pev(ent, pev_takedamage)>0 && !is_ent_alive)
		{
			ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(pev(ent, pev_health)), 0);
			valid_surface = false;
		}

Wstawiłem zamiast:
if (is_ent_alive)
	{
		if (owner == ent || pev(ent, pev_takedamage) == DAMAGE_NO)
			return FMRES_IGNORED;
		if (get_user_team(owner) == get_user_team(ent))
			if (!get_pcvar_num(friendlyfire))
				return FMRES_IGNORED;

		ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(get_pcvar_num(damge)), 4098);
	}

  • +
  • -
  • 0

Najlepsze skiny cs go. Bierz udział w losowaniach i wygraj  darmowe skiny cs go!


#6 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

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

Napisano 04.01.2010 18:48

Nie zamiast tego :F tylko zamiast
if (pev(ent, pev_health) && !is_ent_alive)
		{
			ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(pev(ent, pev_health)), 0);
			valid_surface = false;
		}
Jak nie pomoże spróbuj usunąć ten kod i tak nie jest zbyt przydatny jeśli dobrze odczytuje twoje zamiary.

Gz Vert Postów 666

Użytkownik Vertricus edytował ten post 04.01.2010 18:49
Mój 666 post ;)

  • +
  • -
  • 2

#7 M4G!K

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:224
  • GG:
  • Imię:Bartłomiej
  • Lokalizacja:Sandomierz
Offline

Napisano 04.01.2010 19:16

Dziękuję wam bardzo :) Oczywiście pomogło, działa tak jak chciałem! Dziękuje jeszcze raz :)

PS. GZ Vert, ave ;]
  • +
  • -
  • 0

Najlepsze skiny cs go. Bierz udział w losowaniach i wygraj  darmowe skiny cs go!


#8 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7 490
  • Lokalizacja:AMXX.PL
Offline

Napisano 05.01.2010 20:03

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Problem rozwiązany

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




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

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