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

liczba pomiędzy dwiema innymi ( po środku )np. gdy origin = 0


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

#1 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 17.12.2014 15:02

*
Popularny

Przy okazji pisania komuś pluginu w ramach pomocy musiałem zrobić prostą funkcję, która umożliwiła mi ustalenia originu entu.

 

Chciałem sprawdzić odległość między bytem func_breakable a graczem, niestety func_breakable-w moim przypadku kratka wentylacyjna na nuku miała origin 0 więc musiałem go ustalić korzystając z absmin i absmax, a dokładniej musiałem odnieść się do punktu leżącego w samym środku, który to był dla mnie originem. Potrzebowałem między trzema elementami absmin i absmax ustalić punkt środkowy czyli połowę, do tego zrobiłem prostą funkcję, która zwraca mi tablicę ze środkami.

wartosc_srodkowa(const Float:liczba1[3],const Float:liczba2[3],Float:wynik[3])
{
	new Float:roznica
	for(new a=0;a<3;a++)
	{
		roznica=liczba1[a]-liczba2[a]
		if(roznica==0)
		{
			wynik[a]=0.0
			continue
		}
		wynik[a]=(roznica>0)?(liczba1[a]-(roznica/2)):(liczba2[a]-(floatabs(roznica)/2))
	}
}

Dla jasności jeśli podamy dwie tablica o wartościach

tabmin[3]={10,20,30}

tabmax[3]={20,40,60}

 

to zwroci nam wynik {15,30,45}

 

Oczywiście działa też dla liczb ujemnych i kombinacji ujemnych i dodatnich


  • +
  • -
  • 5

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 22.12.2014 11:15

Bardzo ładnie ale aż prosi się o użycie xs :P
  • +
  • -
  • 0

#3 grankee

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 24.12.2014 11:35

Teraz widzę, że taka funkcja już istnieje :D

stock xs_vec_cross(const Float:vec1[], const Float:vec2[], Float:out[])
{
	out[0] = vec1[1]*vec2[2] - vec1[2]*vec2[1];
	out[1] = vec1[2]*vec2[0] - vec1[0]*vec2[2];
	out[2] = vec1[0]*vec2[1] - vec1[1]*vec2[0];
}

Prawdopodobnie robi to samo co moja:D No, ale ja już tak mam, że zamiast dokładnie poszukać to zrobię coś od nowa. Tylko czemu w dokumentacji ani mru mru o tym...


  • +
  • -
  • 2

#4 KarlikAśki

    Wszechwidzący

  • Użytkownik

Reputacja: 30
Życzliwy

  • Postów:269
  • Imię:Jakub
  • Lokalizacja:Gdańsk
Offline

Napisano 25.01.2015 09:00

Dzięki tego właśnie szukałem zara wykorzystam to ,ale podam że to twojego autorstwo.


  • +
  • -
  • 0




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

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