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] Jak zablokować wybuch HE ?


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

#1 Pan PrO

    Wszechpomocny

  • Użytkownik

Reputacja: 99
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 23.11.2012 22:36

Witam. Czy istnieje jakaś funkcja która blokuje wybuch HE jeśli np. Nie spełnimy jakiegoś warunku ??
  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 23.11.2012 23:48

Jeżeli chodzi o ukrycie wybuchu to możesz to zrobić poprzez operacje na message jeśli chcesz całkowicie zablokować wybuch to zmieniasz parametr nextthink( pev_nextthink ) tak jak ja robiłem to tutaj http://amxx.pl/topic/60297-kaboom/ tylko w innym zastosowaniu ;)
  • +
  • -
  • 1

#3 Pan PrO

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 99
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 24.11.2012 10:46

Mam kod który blokuje wybuch HE a jeśli gracz zginie to HE automatycznie wybucha ale nie wiem czemu nie działa



RegisterHam(Ham_Touch, "grenade", "fwTouch");
register_think("grenade", "ThinkGranade");


public ThinkGranade(ent)
{
new id = entity_get_edict(ent, EV_ENT_owner);
if(is_valid_ent(ent))
{
if(!is_user_alive(id))
vExplode(ent);
else entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.5);
}
}

public fwTouch(ent, id)
{
if(!is_valid_ent(ent))
return HAM_IGNORED;

static szModel[64];
pev(ent, pev_model, szModel, charsmax(szModel));
if(equal(szModel,"models/w_hegrenade.mdl") && is_user_alive(id))
{
entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.5);
return HAM_SUPERCEDE;
}
else vExplode(ent);

return HAM_IGNORED;
}

public grenade_throw(id, gid, wid)
{

if(!is_valid_ent(gid))
return PLUGIN_CONTINUE;

if(!is_user_alive(id))
return PLUGIN_CONTINUE;

entity_set_float(gid, EV_FL_nextthink, get_gametime()+0.5);

return PLUGIN_CONTINUE;
}

vExplode(this,bool:bSmoke = false)
{
set_pev(this,pev_dmgtime,get_gametime());
if(bSmoke) set_pev(this,pev_flags,pev(this,pev_flags) | FL_ONGROUND);
dllfunc(DLLFunc_Think, this);
}

Użytkownik Pan PrO edytował ten post 24.11.2012 10:47

  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 24.11.2012 13:52

usun kod funkcji vExplode oraz kod z nią związany
  • +
  • -
  • 0

#5 Pan PrO

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 99
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 24.11.2012 14:17

Dalej wybucha :/



RegisterHam(Ham_Touch, "grenade", "fwTouch");
register_think("grenade", "ThinkGranade");


public ThinkGranade(ent)
{
new id = entity_get_edict(ent, EV_ENT_owner);
if(is_valid_ent(ent))
{
if(is_user_alive(id))
entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.5);
}
}

public fwTouch(ent, id)
{
if(!is_valid_ent(ent))
return HAM_IGNORED;

static szModel[64];
pev(ent, pev_model, szModel, charsmax(szModel));
if(equal(szModel,"models/w_hegrenade.mdl") && is_user_alive(id))
{
entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.5);
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}

public grenade_throw(id, gid, wid)
{

if(!is_valid_ent(gid))
return PLUGIN_CONTINUE;

if(!is_user_alive(id))
return PLUGIN_CONTINUE;

entity_set_float(gid, EV_FL_nextthink, get_gametime()+0.5);

return PLUGIN_CONTINUE;
}

Użytkownik Pan PrO edytował ten post 24.11.2012 14:19

  • +
  • -
  • 0

#6 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 24.11.2012 15:13

może Zrób taska co sekunde który usuwa byt z modelem rzuconego granatu? Przeszłoby to?
  • +
  • -
  • 0

#7 Pan PrO

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 99
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 24.11.2012 15:26

a ja chcę mieć taki efekt że gdy rzucę HE to odbije się od ścian lub podłogi i będzie sobie leżeć a gdy ktoś mnie zabije to HE wybuchnie
  • +
  • -
  • 0

#8 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

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

Napisano 24.11.2012 16:23

Wydaje się, że styknie.

#include < amxmodx >
#include < hamsandwich >
#include < fakemeta >

new Array:gaMyCoolGrenades[ 33 ];
new gszGrenadeTemp[ 33 ];

public plugin_init()
{
register_plugin( "Granade, the Avenger", "0.1", "MarWit" );

RegisterHam( Ham_Think, "grenade", "hamGrenadeThink" )
RegisterHam( Ham_Killed, "player", "hamPlayerKilled" );

for( new i = 0; i < 32; i++ )
gaMyCoolGrenades[ i ] = ArrayCreate();
}

public plugin_end()
for( new i = 0; i < 32; i++ ) ArrayDestroy( gaMyCoolGrenades[ i ] );

public hamGrenadeThink( iGrenade )
{
pev( iGrenade, pev_model, gszGrenadeTemp, 32 );

if( containi( gszGrenadeTemp, "w_hegren" ) == -1 )
return HAM_IGNORED;

ArrayPushCell( gaMyCoolGrenades[ pev( iGrenade, pev_owner ) ], iGrenade );

return HAM_SUPERCEDE;
}

public hamPlayerKilled( id, iAttacker, bShouldgibs )
{
while( ArraySize( gaMyCoolGrenades[ id ] ) )
{
ExecuteHam( Ham_Think, ArrayGetCell( gaMyCoolGrenades[ id ], 0 ) ); // BOOM, BOOM, BOOM !
ArrayDeleteItem( gaMyCoolGrenades[ id ], 0 );
}
}

  • +
  • -
  • 1

marwit-0.png


#9 Pan PrO

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 99
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 24.11.2012 18:34

Działa wielkie dzięki.
  • +
  • -
  • 0

#10 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

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

Napisano 24.11.2012 18:57

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

marwit-0.png





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

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