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

Kolizje bytów


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

#1 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

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

Napisano 17.07.2011 11:02

Jak sprawdzić czy smoke którego rzuciłem trafił w innego człowieka (nie mnie)?
  • +
  • -
  • 0

#2 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 17.07.2011 12:02

Najprościek tak (oczywiście w touchu)

new iOwner = pev(ent, pev_owner);
if(id != iOwner) client_print(iOwner, 3, "Trafiles kogos smokiem!");

  • +
  • -
  • 1

#3 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

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

Napisano 17.07.2011 12:19

dzięki, a czy możesz coś o tym napisać więcej ?
  • +
  • -
  • 0

#4 Ortega

    mów mi Orti

  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 17.07.2011 12:20

Najwydajniej i powinno działać ;) Jeśli nie to wyłącz debug i sprawdź if wyżej.
#include < amxmodx > 
#include < csx >
#include < fakemeta >
#include < hamsandwich >

#define debug 1

const OFFSET_HGRENADE = 114;

public plugin_init( ) {
RegisterHam( Ham_Touch, "grenade", "touch_Grenade" );

}

public touch_Grenade( iEnt, pTouched ) {
if( check_smgrenade( iEnt ) && is_index_player( pTouched ) )
{
if( !( pev( iEnt, pev_owner ) == pTouched ) )
{
#if debug == 1
if( !(pev( iEnt, pev_flags) & FL_ONGROUND ) )
{
//kod
}
#endif
}
}

}

stock check_smgrenade( index ) {
if( !pev_valid( index ) )
return 0;

new iData = get_pdata_int( index, OFFSET_HGRENADE );
if( iData & ( 1<<1 ) )
return CSW_SMOKEGRENADE;

return 0;
}

is_index_player( index ) {
if( !pev_valid( index ) )
return (false);

new szString[ 9 ];
pev( index, pev_classname, szString, 8 );
if( equal( szString, "player" ) )
return (true);

return (false);
}

  • +
  • -
  • 0




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

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