I did, and I am working on it.. It should be pretty simple.. Hopefully wont take too long
Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
// Sprites
new g_sprLight
new g_sprSmoke
// Sound Files
new g_szSndThunder[] = "ambience/thunder_clap.wav"
public plugin_init()
{
register_plugin("God Like Player", "0.5", "Garrett")
register_clcmd("say givemegod", "saygod", ADMIN_KICK, "-gives player godmode")
}
public plugin_precache()
{
g_sprLight = precache_model( "sprites/lgtning.spr" )
g_sprSmoke = precache_model( "sprites/steam1.spr" )
precache_sound( g_szSndThunder )
return PLUGIN_CONTINUE
}
public saygod(id)
{
if( !(get_user_flags(id)&ADMIN_KICK) )
{
client_print(id, print_chat, "[AMXX] HAHAHA nice try!")
return PLUGIN_HANDLED
}
set_user_godmode(id, 1)
client_print(id, print_chat, "[AMXX] You are now in god mode!")
ThrowLightning( id )
return PLUGIN_HANDLED
}
stock ThrowLightning( id )
{
if( is_user_alive(id) )
{
new vec1[3], vec2[3]
get_user_origin( id, vec1 ) // Body Origin
vec1[2] -= 26 // Feet Origin
// make lightning look like it comes from sky..
vec2[0] = vec1[0] + 150
vec2[1] = vec1[1] + 150
vec2[2] = vec1[2] + 400
// Some Thunder Sound...
emit_sound( id, CHAN_ITEM, g_szSndThunder, 1.0, ATTN_NORM, 0, PITCH_NORM )
//Lightning
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( 0 )
write_coord( vec2[0] )
write_coord( vec2[1] )
write_coord( vec2[2] )
write_coord( vec1[0] )
write_coord( vec1[1] )
write_coord( vec1[2] )
write_short( g_sprLight )
write_byte( 1 ) // framestart
write_byte( 5 ) // framerate
write_byte( 2 ) // life
write_byte( 20 ) // width
write_byte( 30 ) // noise
write_byte( 200 ) // r, g, b
write_byte( 200 ) // r, g, b
write_byte( 200 ) // r, g, b
write_byte( 200 ) // brightness
write_byte( 200 ) // speed
message_end()
//Sparks
message_begin( MSG_PVS, SVC_TEMPENTITY, vec1 )
write_byte( 9 )
write_coord( vec1[0] )
write_coord( vec1[1] )
write_coord( vec1[2] )
message_end()
//s2smoke
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, vec1 )
write_byte( 5 )
write_coord( vec1[0] )
write_coord( vec1[1] )
write_coord( vec1[2] )
write_short( g_sprSmoke )
write_byte( 10 )
write_byte( 10 )
message_end()
}
return
}