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

Sprawdzenie czy ent nie zostanie stworzony w ścianie/innym encie


Najlepsza odpowiedź Asiap, 25.05.2015 23:01

mozna sprawdzic odleglosc od sciany

stock SprawdzPrzeszkode(Float:fOrigin[3], Float:fOdleglosc)
{
	new Float:fStart[3], Float:fEnd[3];

	for(new i; i < 3; i++)
	{
		fStart[i] = fEnd[i] = fOrigin[i];
	}

	fStart[0] += fOdleglosc;
	fEnd[0] -= fOdleglosc;
	if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
	{
		return PLUGIN_CONTINUE;
	}

	fStart[0] -= fOdleglosc;
	fStart[1] += fOdleglosc;
	fEnd[0] += fOdleglosc;
	fEnd[1] -= fOdleglosc;

	if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
	{
		return PLUGIN_CONTINUE;
	}

	return PLUGIN_HANDLED;
}

przyklad:

public Test(id)
{
	new Float:fOrigin[3];
	pev(id, pev_origin, fOrigin);

	if(!SprawdzPrzeszkode(fOrigin, 100.0))
	{
		client_print(id, print_chat, "Brak przeszkody (sciany)");
	}
	else
	{
		client_print(id, print_chat, "Jest przeszkoda (sciana)");
	}
}
Przejdź do postu


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

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 25.05.2015 15:05

Witam,

jak w temacie...

 

Mam origins, movetype TOSS, solid TRIGGER i

engfunc(EngFunc_SetSize,entit,{-1.1, -1.1, -1.1},{1.1, 1.1, 1.1});

  • +
  • -
  • 0

#2 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 25.05.2015 23:01   Najlepsza odpowiedź

mozna sprawdzic odleglosc od sciany

stock SprawdzPrzeszkode(Float:fOrigin[3], Float:fOdleglosc)
{
	new Float:fStart[3], Float:fEnd[3];

	for(new i; i < 3; i++)
	{
		fStart[i] = fEnd[i] = fOrigin[i];
	}

	fStart[0] += fOdleglosc;
	fEnd[0] -= fOdleglosc;
	if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
	{
		return PLUGIN_CONTINUE;
	}

	fStart[0] -= fOdleglosc;
	fStart[1] += fOdleglosc;
	fEnd[0] += fOdleglosc;
	fEnd[1] -= fOdleglosc;

	if(engfunc(EngFunc_PointContents, fStart) != CONTENTS_EMPTY && engfunc(EngFunc_PointContents, fEnd) != CONTENTS_EMPTY)
	{
		return PLUGIN_CONTINUE;
	}

	return PLUGIN_HANDLED;
}

przyklad:

public Test(id)
{
	new Float:fOrigin[3];
	pev(id, pev_origin, fOrigin);

	if(!SprawdzPrzeszkode(fOrigin, 100.0))
	{
		client_print(id, print_chat, "Brak przeszkody (sciany)");
	}
	else
	{
		client_print(id, print_chat, "Jest przeszkoda (sciana)");
	}
}

Użytkownik Asiap edytował ten post 25.05.2015 23:01

  • +
  • -
  • 1

#3 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.05.2015 07:29

A jeżeli chce sprawdzić czy jest w ścianie to odległość podaje 0.0?
  • +
  • -
  • 0




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

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