int TempColorArray[] = {0, 0, 0, 0}; //temp array since you can't return arrays
public Plugin myinfo = { name = "Nade Tails", author = "InternetBully, H3Bus", version = "2.1", description = "Adds tails to projectiles", url = "https://forums.alliedmods.net/showthread.php?p=2321825#post2321825" };
public void OnPluginStart() { RegConsoleCmd("sm_tails", Cmd_Tails, "Toggles grenade tails."); RegAdminCmd("sm_tailsmenu", Cmd_tail_menu, ADMFLAG_KICK, "Admin menu to toggle Nade Tails on players");
//CVARs g_Enabled = CreateConVar("sm_tails_enabled", "1", "Enables Nade Tails (0/1)."); g_AllowPlayers = CreateConVar("sm_tails_allowplayers", "1", "Allow players to use nade tails with !tails (0/1)"); g_DefaultAlpha = CreateConVar("sm_tails_defaultalpha", "255", "Default alpha for trails (0 is invisible, 255 is solid)."); g_DefaultOn = CreateConVar("sm_tails_defaulton", "1", "Tails on for all users, Set to 0 to require user to type !tails to use");
//Projectiles to put tails on g_EnableHETails = CreateConVar("sm_tails_hegrenade", "1", "Enables Nade Tails on HE Grenades (0/1)."); g_EnableFlashTails = CreateConVar("sm_tails_flashbang", "1", "Enables Nade Tails on Flashbangs (0/1)."); g_EnableSmokeTails = CreateConVar("sm_tails_smoke", "1", "Enables Nade Tails on Smoke Grenades (0/1)."); g_EnableDecoyTails = CreateConVar("sm_tails_decoy", "1", "Enables Nade Tails on Decoy Grenades (0/1)."); g_EnableMolotovTails = CreateConVar("sm_tails_molotov", "1", "Enables Nade Tails on Molotovs (0/1)."); g_EnableIncTails = CreateConVar("sm_tails_incendiary", "1", "Enables Nade Tails on Incendiary Grenades (0/1).");
//TE_SetupBeamFollow CVARs -- Colors g_HEColor = CreateConVar("sm_tails_hecolor", "red", "Tail color on HE Grenades. (use named colors like \"Aqua\" or \"Black\" or use RGBA like \"255 20 147 225\""); g_FlashColor = CreateConVar("sm_tails_flashcolor", "white", "Tail color on Flashbangs. (use named colors like \"Aqua\" or \"Black\" or use RGBA like \"255 20 147 225\""); g_SmokeColor = CreateConVar("sm_tails_smokecolor", "green", "Tail color on Smoke Grenades. (use named colors like \"Aqua\" or \"Black\" or use RGBA like \"255 20 147 225\""); g_DecoyColor = CreateConVar("sm_tails_decoycolor", "Purple", "Tail color on Decoy Grenades. (use named colors like \"Aqua\" or \"Black\" or use RGBA like \"255 20,147 225\""); g_MolotovColor = CreateConVar("sm_tails_molotovcolor", "orange", "Tail color on Molotovs. (use named colors like \"Aqua\" or \"Black\" or use RGBA like \"255 20 147 225\""); g_IncColor = CreateConVar("sm_tails_inccolor", "orange", "Tail color on Incendiary Grenades. (use named colors like \"Aqua\" or \"Black\" or use RGBA like \"255 20 147 225\"");
//size and time g_TailTime = CreateConVar("sm_tails_tailtime", "7.0", "Time the tail stays visible."); g_TailFadeTime = CreateConVar("sm_tails_tailfadetime", "1", "Time for tail to fade over."); g_TailWidth = CreateConVar("sm_tails_tailwidth", "4.0", "Width of the tail.");
}
public void OnClientPutInServer(int client) { Tails[client] = false; }
public Action Cmd_tail_menu(int client, int args) { if (client == 0) { ReplyToCommand(client, "%t", "Command is in-game only"); return Plugin_Handled; } if(GetConVarBool(g_DefaultOn)) { ReplyToCommand(client, "Nade Tails is already enabled for everyone, not launching menu"); return Plugin_Handled; } Cmd_TailMenu(client); return Plugin_Handled; }
for (int i = 1; i <= MaxClients; i++) { if (!IsClientConnected(i) || IsClientInKickQueue(i)) continue; IntToString(GetClientUserId(i), user_id, sizeof(user_id)); GetClientName(i, name, sizeof(name)); Format(display, sizeof(display), "%s", name); AddMenuItem(menu, user_id, display); }
DisplayMenu(menu, client, MENU_TIME_FOREVER); }
public int mh_TailMenu(Handle menu, MenuAction action, int param1, int param2) { switch (action) { case MenuAction_Select: { //param1 is client, param2 is item
public void OnEntityCreated(int entity, const char[] classname) { if(GetConVarBool(g_Enabled) && IsValidEntity(entity)) SDKHook(entity, SDKHook_SpawnPost, OnEntitySpawned); //don't draw tails if we disable the plugin while people have tails enabled }
public void OnEntitySpawned(int entity) { if(!IsValidEdict(entity)) return;