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

[ROZWIĄZANE] Fukcja przyciągania gracza przenosi do ściany


Najlepsza odpowiedź MarWit, 16.04.2013 20:31

Następnym razem nie będę pisał kodu bez kompilacji .x Błąd pewnie leży w złych typach argumentów ( power ). Poprawny kod:

stock pullIt( id, iEnt, Float: fSpeed )
{
    new Float: fOrigin[ 2 ][ 3 ];

    pev( id, pev_origin, fOrigin[ 0 ] );
    pev( iEnt, pev_origin, fOrigin[ 1 ] )

    new Float: fDistance = floatsqroot(
        floatpower( fOrigin[ 0 ][ 0 ] - fOrigin[ 1 ][ 0 ], 2.0 ) +
        floatpower( fOrigin[ 0 ][ 1 ] - fOrigin[ 1 ][ 1 ], 2.0 ) +
        floatpower( fOrigin[ 0 ][ 2 ] - fOrigin[ 1 ][ 2 ], 2.0 )
    );

    fOrigin[ 0 ][ 0 ] = ( ( fOrigin[ 0 ][ 0 ] - fOrigin[ 1 ][ 0 ] ) * fSpeed ) / fDistance;
    fOrigin[ 0 ][ 1 ] = ( ( fOrigin[ 0 ][ 1 ] - fOrigin[ 1 ][ 1 ] ) * fSpeed ) / fDistance;
    fOrigin[ 0 ][ 2 ] = ( ( fOrigin[ 0 ][ 2 ] - fOrigin[ 1 ][ 2 ] ) * fSpeed ) / fDistance;

    set_pev( iEnt, pev_velocity, fOrigin[ 0 ] );
}
Przejdź do postu


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

#1 Raen

    Wszechwiedzący

  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 16.04.2013 16:15

Witam.

Jako iż nie mogę otworzyć tamtego tematu piszę tutaj otóż fukcja którą MarVit podał w tym temacie:

amxx.pl/topic/110609-funkcja-przyciągnięcia-gracza-do-gracza/

Działa, przenosi gracza tyle że nie do mnie a w ściane w róg mapy... Id gracza pobieram w ten sposób

if(pull[id])
            {
                new trafiony, body;
                get_user_aiming(id, trafiony, body); //trafiony = id gracza, na ktorego patrzymy
                pullIt(id, trafiony, 200);
            }


  • +
  • -
  • 0

angel-little.png


#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 16.04.2013 20:31   Najlepsza odpowiedź

Następnym razem nie będę pisał kodu bez kompilacji .x Błąd pewnie leży w złych typach argumentów ( power ). Poprawny kod:

stock pullIt( id, iEnt, Float: fSpeed )
{
    new Float: fOrigin[ 2 ][ 3 ];

    pev( id, pev_origin, fOrigin[ 0 ] );
    pev( iEnt, pev_origin, fOrigin[ 1 ] )

    new Float: fDistance = floatsqroot(
        floatpower( fOrigin[ 0 ][ 0 ] - fOrigin[ 1 ][ 0 ], 2.0 ) +
        floatpower( fOrigin[ 0 ][ 1 ] - fOrigin[ 1 ][ 1 ], 2.0 ) +
        floatpower( fOrigin[ 0 ][ 2 ] - fOrigin[ 1 ][ 2 ], 2.0 )
    );

    fOrigin[ 0 ][ 0 ] = ( ( fOrigin[ 0 ][ 0 ] - fOrigin[ 1 ][ 0 ] ) * fSpeed ) / fDistance;
    fOrigin[ 0 ][ 1 ] = ( ( fOrigin[ 0 ][ 1 ] - fOrigin[ 1 ][ 1 ] ) * fSpeed ) / fDistance;
    fOrigin[ 0 ][ 2 ] = ( ( fOrigin[ 0 ][ 2 ] - fOrigin[ 1 ][ 2 ] ) * fSpeed ) / fDistance;

    set_pev( iEnt, pev_velocity, fOrigin[ 0 ] );
}

MarWit (16.04.2013 20:34):
Zaktualizowałem także tamten temat.

  • +
  • -
  • 2

marwit-0.png


#3 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 16.04.2013 21:29

Wszystko działa jak nalezy ;) Dzięki!


  • +
  • -
  • 0

angel-little.png





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

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