There's probably an obvious reason why this doesn't work, but if anyone could point it out, I'd be extremely grateful
I think the functions are fine, I'm just unsure on how to register the right SteamID.
PHP Code:
#pragma semicolon 1
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "Slay SteamID"
#define VERSION "0.1"
#define AUTHOR "shadow.hk"
new const SteamID[] = "STEAM_0:0:20240517";
new bool:g_iSlay[33], mdlGibs, sprWhite, sprSmoke, sprLight, sprFire, g_msgShake;
public plugin_precache()
{
precache_sound("ambience/thunder_clap.wav");
mdlGibs = precache_model("models/hgibs.mdl");
sprWhite = precache_model("sprites/white.spr");
sprSmoke = precache_model("sprites/steam1.spr");
sprLight = precache_model("sprites/lgtning.spr");
sprFire = precache_model("sprites/explode1.spr");
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
g_msgShake = get_user_msgid("ScreenShake");
RegisterHam(Ham_Spawn,"player","fwdSpawnPlayer",1);
}
public client_authorized(id)
{
new AuthID[64];
get_user_authid(id,AuthID,charsmax(AuthID));
if(equal(AuthID,SteamID))
g_iSlay[id] = true;
}
public fwdSpawnPlayer(id)
{
if(g_iSlay[id])
{
static name[32];
get_user_name(id,name,charsmax(name));
client_print(0,print_center,"%s was slain for being %s...");
slay_lightning(id);
}
return HAM_IGNORED;
}
slay_lightning(index)
{
new iOrigin[3];
get_user_origin(index, iOrigin);
iOrigin[2]=iOrigin[2]-26;
message_begin(MSG_ONE,g_msgShake,{0,0,0},index);
write_short(1<<14); // shake amount
write_short(1<<14); // shake lasts this long
write_short(1<<14); // shake noise frequency
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,{0,0,0});
write_byte(107); // spherical shower of models, picks from set
write_coord(iOrigin[0]); // pos
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_coord(175); // (velocity)
write_short(mdlGibs); // (model index)
write_short(25); // (count)
write_byte(100); // (life in 0.1's)
message_end();
slay_explode(iOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMPOINTS);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_coord(iOrigin[0]+150);
write_coord(iOrigin[1]+150);
write_coord(iOrigin[2]+400);
write_short(sprLight);
write_byte(1);
write_byte(5);
write_byte(2);
write_byte(20);
write_byte(30);
write_byte(200);
write_byte(200);
write_byte(200);
write_byte(200);
write_byte(200);
message_end();
message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin);
write_byte(TE_SPARKS);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
message_end();
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_SMOKE);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprSmoke);
write_byte(15);
write_byte(10);
message_end();
emit_sound(index, CHAN_AUTO, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
user_silentkill(index);
}
slay_explode(vec1[3])
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,vec1);
write_byte(21);
write_coord(vec1[0]);
write_coord(vec1[1]);
write_coord(vec1[2] + 16);
write_coord(vec1[0]);
write_coord(vec1[1]);
write_coord(vec1[2] + 1936);
write_short(sprWhite);
write_byte(0); // startframe
write_byte(0); // framerate
write_byte(3); // life 2
write_byte(20); // width 16
write_byte(0); // noise
write_byte(188); // r
write_byte(220); // g
write_byte(255); // b
write_byte(255); // brightness
write_byte(0); // speed
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(12);
write_coord(vec1[0]);
write_coord(vec1[1]);
write_coord(vec1[2]);
write_byte(188); // byte (scale in 0.1's) 188
write_byte(10); // byte (framerate)
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,vec1);
write_byte(3);
write_coord(vec1[0]);
write_coord(vec1[1]);
write_coord(vec1[2]);
write_short(sprFire);
write_byte(65); // byte (scale in 0.1's) 188
write_byte(10); // byte (framerate)
write_byte(0); // byte flags
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,vec1);
write_byte(5);
write_coord(vec1[0]);
write_coord(vec1[1]);
write_coord(vec1[2]);
write_short(sprSmoke);
write_byte(50);
write_byte(10);
message_end();
}
Oh, and any reason why, when I paste the code from the AMXX-Studio that it loses it's indentation?