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

Gracz jest w prostopadłościanie ( miejscu )


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

#1 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 07.11.2012 20:22

Przedstawiam stock dzięki któremu sprawdzamy czy gracz znajduje się w powierzchni miejsca od A do B. Czyli czy gracz jest w strefie.
public is_in_sphere( index, Float:startOrigin[ 3 ], Float:endOrigin[ 3 ] )
{
new Float:origin[ 3 ];
new wariant[ 3 ];
pev( index, pev_origin, origin );
for( new i = 0; i < 3; i++ )
{
if( startOrigin[ i ] > endOrigin[ i ] )
wariant[ i ] = 1;
if( startOrigin[ i ] < endOrigin[ i ] )
wariant[ i ] = 2;
if( startOrigin[ i ] == endOrigin[ i ] )
wariant[ i ] = 3;
switch( wariant[ i ] )
{
case 1:
if( !(origin[ i ] <= startOrigin[ i ] && origin[ i ] >= endOrigin[ i ] ) )
return 0;
case 2:
if( !(origin[ i ] >= startOrigin[ i ] && origin[ i ] <= endOrigin[ i ] ) )
return 0;
case 3:
if( !(origin[ i ] == startOrigin[ i ] && origin[ i ] == endOrigin[ i ] ) )
return 0;
}
}

return 1;
}

index - id gracza
startOrigin[ 3 ] - tablica float, która przechowuję punkt początkowy naszej strefy
endOrigin[ 3 ] - tablica float, która przechowuję punkt końcowy naszej strefy
  • +
  • -
  • 1

#2 Barto_12_SAS

    mów mi Paja

  • Użytkownik

Reputacja: 44
Pomocny

  • Postów:433
  • GG:
  • Imię:Bartosz
  • Lokalizacja:Dąbrowa
Offline

Napisano 07.11.2012 20:44

No jest punkt początkowy i końcowy strefy ale to jak to wprowadzimy to ta strefa tak szerokości na mapie ma od ściany do ściany ?
  • +
  • -
  • 0

www.BartoIT.pl

:plus: - klikasz to, a dzięki temu rozwijam ten profil
Odwiedź strefę pobierania i pobierz wersję testową alfa Counter Strike: Global terror MOD


#3 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 07.11.2012 21:08

Eh... Dobrze narysuję ci to.
Fili:P - Mistrz painta :D
Dołączona grafika
  • +
  • -
  • 0

#4 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 07.11.2012 21:15

Przydatne do małych zadań :D Do większych celów box'y od R3X'a mi się bardziej podobają :P
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 07.11.2012 21:27

stock is_in_sphere( index, Float:startOrigin[ 3 ], Float:endOrigin[ 3 ] )

{

    new Float:origin[ 3 ];

    pev( index, pev_origin, origin );

    for(new i;i<3;i++)

    {

        if( origin[ i ] < startOrigin[ i ] )

            return 0;

        if( origin[ i ] > endOrigin[ i ] )

            return 0;

    }

    return 1;

}

  • +
  • -
  • 1
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#6 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 07.11.2012 21:32

Przydatne do małych zadań :D Do większych celów box'y od R3X'a mi się bardziej podobają :P

Wydaje mi się że to działa na tej samej zasadzie.

Jak się nazwać, dzięki nie myślę trzeźwo po wieczorynce :)
  • +
  • -
  • 0

#7 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 07.11.2012 21:34

W sumie nawet tak:
stock is_in_sphere( index, Float:startOrigin[ 3 ], Float:endOrigin[ 3 ] )
{
        new Float:origin[ 3 ];
        pev( index, pev_origin, origin );
        for(new i;i<3;i++)
        {
                if( ( origin[ i ] < startOrigin[ i ] ) || ( origin[ i ] > endOrigin[ i ] ) )
                        return 0;
        }
        return 1;
}

  • +
  • -
  • 1
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Online

Napisano 07.11.2012 21:44

Oba stocki które podaliście nie zadziałają jeśli podam inne przeciwległe wierzchołki niż te które narysował filip
Funkcja powinna sprawdzić punkty które dostała i odpowiednio je przekształcić do wierzchołków które oczekuje twoja funkcja
Drugi sposób to wyznaczenie równań płaszczysz wszystkich 6 płaszczyzn a potem sprawdzanie czy znak zwracany przez równanie płaszczyzny dla środka i punktu który sprawdzamy jest taki sam we wszystkich 6 przypadkach jeśli tak to punkt jest w prostopadłościanie.

is_in_sphere

:giggle:

Użytkownik DarkGL edytował ten post 07.11.2012 21:47

  • +
  • -
  • 0

#9 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 08.11.2012 18:10

Oba stocki które podaliście nie zadziałają jeśli podam inne przeciwległe wierzchołki niż te które narysował filip
Funkcja powinna sprawdzić punkty które dostała i odpowiednio je przekształcić do wierzchołków które oczekuje twoja funkcja
Drugi sposób to wyznaczenie równań płaszczysz wszystkich 6 płaszczyzn a potem sprawdzanie czy znak zwracany przez równanie płaszczyzny dla środka i punktu który sprawdzamy jest taki sam we wszystkich 6 przypadkach jeśli tak to punkt jest w prostopadłościanie.

is_in_sphere

:giggle:

Zastanawiając się w wolnych chwilach nic nie mogłem wymyślić o co ci chodzi Dark, na lekcji polskiego wszystko stało się takie ciekawe że zrozumiałem, postaram się jeszcze dziś wydać poprawkę.
  • +
  • -
  • 0

#10 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 09.11.2012 16:55

wystarczy umiejetnie uzyc ||
  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#11 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 10.11.2012 09:13

wystarczy umiejetnie uzyc ||

Już dałem przecież poprawioną wersję.
  • +
  • -
  • 0

#12 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 10.11.2012 23:19

ehh chodzilo mi o || w sensie wartosc bezwzględna xD
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#13 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 11.11.2012 09:17

ehh chodzilo mi o || w sensie wartosc bezwzględna xD

Aaaaaaaaaaaaaaa xD
  • +
  • -
  • 0




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

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