
Z gory thx...
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.
|
Napisano 08.10.2010 21:32
Napisano 08.10.2010 22:03
Napisano 08.10.2010 22:08
#include < amxmodx >
#include < engine >
#include < fakemeta >
new light;
new g_thunderbolt[ 33 ];
new piorun[33];
public plugin_precache( ) {
light = precache_model("sprites/piorunek.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 ) && piorun[client] == 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, iMakerOrigin, 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( )
}
Napisano 08.10.2010 22:29
if( !is_user_alive( client ) )
return;
if( !is_user_alive( client ) )
return PLUGIN_CONTINUE;
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, iMakerOrigin, iVictimOrigin );
g_thunderbolt[ client ]++;
}
new entPlayer;
entPlayer = -1;
new iVictimOrigin[ 3 ];
while( ( entPlayer = find_ent_in_sphere( client, iMakeOriginSe, 550.0 ) ) != 0 )
{
if( IsPlayer( entPlayer ) && entPlayer != client )
{
get_user_origin( entPlayer, iVictimOrigin );
CreateBolt( entPlayer, iMakerOrigin, iVictimOrigin );
change_health( entPlayer, -80, 0, "world" );
g_thunderbolt[ client ]++;
}
}
public MakeThunderBolt( client ) {
if( g_thunderbolt[ client ] == 2 )
return;
public MakeThunderBolt( client ) {
if( ( !is_user_alive( client ) ) || ( g_thunderbolt[ client ] == 2 ) )
return;
#define IsPlayer(%1) (1 <= %1 <= g_MaxPlayers)
new g_MaxPlayers;
g_MaxPlayers = get_maxplayers( );
Użytkownik Ortega edytował ten post 08.10.2010 22:43
Napisano 08.10.2010 22:31
change_health( entPlayer, -80, client, "world" );
change_health( entPlayer, -80, 0, "world" );
Użytkownik Screeaam... edytował ten post 08.10.2010 22:34
Napisano 08.10.2010 22:37
Napisano 08.10.2010 22:47
Napisano 08.10.2010 22:54
CreateBolt( entPlayer, iVictimOrigin );
CreateBolt( iPlayer, iVictim[3] ) {
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( 0 )
write_coord( iVictim[ 0 ] ) //x
write_coord( iVictim[ 1 ] ) //y
write_coord( iVictim[ 2 ] ) //z
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( )
}
Napisano 08.10.2010 23:04
public fw_PlayerPreThink( client ) {
if( !is_user_alive( client ) )
return PLUGIN_CONTINUE;
if ( ( get_user_button( client ) & IN_USE ) && piorunek[client] == 1 )
{
MakeThunderBolt( client );
}
return PLUGIN_CONTINUE;
}
public MakeThunderBolt( client ) {
if( ( !is_user_alive( client ) ) || ( g_thunderbolt[ client ] == 17 ) )
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;
new iVictimOrigin[ 3 ];
while( ( entPlayer = find_ent_in_sphere( client, iMakeOriginSe, 550.0 ) ) != 0 )
{
if( IsPlayer( entPlayer ) && entPlayer != client )
{
get_user_origin( entPlayer, iVictimOrigin );
CreateBolt( iVictimOrigin );
change_health( entPlayer, -80, 0, "world" );
g_thunderbolt[ client ]++;
}
}
}
CreateBolt( iVictim[3] ) {
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( 0 )
write_coord( iVictim[ 0 ] )
write_coord( iVictim[ 1 ] )
write_coord( iVictim[ 2 ] + 700)
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( )
}
Użytkownik Screeaam... edytował ten post 09.10.2010 21:08
0 użytkowników, 0 gości, 0 anonimowych