←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Piorun

Zablokowany

slowly - zdjęcie slowly 08.09.2010

Witam.
Mam pytanko jak zrobić piorun(ma być widzialny), dzięki któremu po naciśnięciu E możemy uderzyć nim przeciwnika. Dobrze by było, aby piorun uderzał w przeciwnika automatyczne, bez konieczności nacelowania.
Za pomoc z góry THX.
Odpowiedz

hardbot - zdjęcie hardbot 08.09.2010

Powycinasz sobie zdolny chłopak jesteś ;P

Załączone pliki

Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 08.09.2010

To jest Tylko piorun ??
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 08.09.2010

Jeśli masz swój sprite pioruna oraz dźwięk.
#include < amxmodx >
#include < engine >
#include < fakemeta >

new light;
new g_thunderbolt[ 33 ];

public plugin_precache( ) {
light = precache_model("sprites/jakis_spr.spr");

}

public plugin_init( ) {
register_forward( FM_PlayerPreThink, "fw_PlayerPreThink");

}

public fw_PlayerPreThink( client ) {
if( !is_user_alive( client ) )
return;

if ( ( get_user_button( client ) & IN_USE ) && g_item[33] == 1 )
{
MakeThunderBolt( client );
}
}

public MakeThunderBolt( client ) {
if( g_thunderbolt[ client ] == 2 )
return;

new iMakerOrigin[ 3 ], Float:iMakeOriginSe[3];
get_user_origin( client, iMakerOrigin );
for( new i = 0; i < 3; i++ ){
iMakeOriginSe[i] = float( iMakerOrigin[i] );
}

new entPlayer;
entPlayer = -1;

while( ( entPlayer = find_ent_in_sphere( client, iMakeOriginSe, 550.0 ) ) != 0 )
{
new iVictimOrigin[ 3 ];
get_user_origin( entPlayer, iVictimOrigin );
change_health( entPlayer, -80, client, "world" );
CreateBolt( entPlayer, iMakeOriginSe, iVictimOrigin );
g_thunderbolt[ client ]++;
}

}

CreateBolt( iPlayer, iMaker[3], iVictim[3] ) {
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( 0 )
write_coord( iMaker[ 0 ] )
write_coord( iMaker[ 1 ] )
write_coord( iMaker[ 2 ] )
write_coord( iVictim[ 0 ] )
write_coord( iVictim[ 1 ] )
write_coord( iVictim[ 2 ] )
write_short( light )
write_byte( 1 )
write_byte( 5 )
write_byte( 2 )
write_byte( 20 )
write_byte( 30 )
write_byte( 255 )
write_byte( 255 )
write_byte( 255 )
write_byte( 200 )
write_byte( 200 )
message_end( )

emit_sound( iPlayer, CHAN_STATIC, "misc/jakis_dzwiek.wav", 1.0, ATTN_NORM, 0, PITCH_NORM );

}


"jakis_spr" i "jakis_dzwiek" logicznie podmieniasz na pliki ktorę masz , change_health( entPlayer, -80, client, "world" tutaj liczba ile ma zabierać hp std. 80. g_item[33] == 1 podmieniasz na jakis warunek np. item albo moc klasy , g_thunderbolt[ client ] == 2 na liczbe ile razy moze uzyc. Aha i dodaje sobie w evencie newround g_thunderbolt[ client ] = 0; zeby resetowalo ;)
Odpowiedz

slowly - zdjęcie slowly 09.09.2010

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

dbmod_5.9.sma(10215) : warning 213: tag mismatch
Header size:          10408 bytes
Code size:           342584 bytes
Data size:           240424 bytes
Stack/heap size:      16384 bytes; max. usage is unknown, due to recursion
Total requirements:  609800 bytes

1 Warning.
Done.

Wszystko sprowadza się do tej linijki:
CreateBolt( entPlayer, iMakeOriginSe, iVictimOrigin );
Proszę o poprawę kodu...
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 09.09.2010

iMakeOriginSe

->
iMakerOrigin
Odpowiedz

slowly - zdjęcie slowly 09.09.2010

Sam do już do tego doszedłem, ale dzięki za szybką odpowiedź... :) Dostajesz repute. Mógłbym Ciebie prosić jeszcze o odpowiedź w tym temacie?
Odpowiedz

Tomi - zdjęcie Tomi 09.09.2010

SLOWLY podrzucisz sprite :)?
Odpowiedz

slowly - zdjęcie slowly 09.09.2010

Też go nie mam :/
Odpowiedz

Tomi - zdjęcie Tomi 10.09.2010

Ouć : / Hmm To skąd można go znaleść ? Bo kodzik by się przydał :) // dobre pomysły masz ^^
Odpowiedz

  • +
  • -
Weed - zdjęcie Weed 10.09.2010

Pomysly sa sciagniete z 1 z najlepszych diablo moda;]
Odpowiedz
Zablokowany