Quote:
Originally Posted by Mordekay
So breaking the rules is ok because you think you are something better or what?
Stop bumping, or i will report you!
|
Please report posts that break the rules and don't reply to them. It's off putting seeing you and other like minded individuals spamming a coding forum with unhelpful posts. Let the moderators do the moderating.
Snake. This should do what you're asking for.
PHP Code:
#include <amxmodx>
#include <fakemeta>
new gRender[33][33];
public plugin_init()
{
register_plugin("Partial Render", "1.0", "Partial Cloning");
register_forward(FM_AddToFullPack, "FW_AddToFullPack", true);
register_clcmd("say /invis", "CMD_AdvancedInvisMenu");
}
public CMD_AdvancedInvisMenu(id)
{
new Menu = menu_create("Advanced Invis Menu", "AdvancedInvisHandler");
new Players[32], Num, Player, ItemName[48], PlayerName[32], Info[3];
get_players(Players, Num, "h");
for(new i; i < Num; i++)
{
Player = Players[i];
if(Player == id)
continue;
get_user_name(Player, PlayerName, charsmax(PlayerName));
num_to_str(Player, Info, charsmax(Info));
formatex(ItemName, charsmax(ItemName), "%s (%s)", PlayerName, gRender[id][Player] ? "\yInvisible\w" : "\dVisible\w");
menu_additem(Menu, ItemName, Info);
}
num_to_str(id, Info, charsmax(Info));
formatex(ItemName, charsmax(ItemName), "Make yourself (%s)", gRender[id][id] ? "\dVisible\w" : "\yInvisible\w");
menu_additem(Menu, ItemName, Info);
formatex(ItemName, charsmax(ItemName), "Make all the players (%s)", gRender[id][0] ? "\dVisible\w" : "\yInvisible\w");
menu_additem(Menu, ItemName, "0");
menu_display(id, Menu);
}
public AdvancedInvisHandler(id, Menu, Item)
{
if(Item == MENU_EXIT)
{
menu_destroy(Menu);
return PLUGIN_HANDLED;
}
new AccessValue, Info[3], ItemName[1], Callback;
menu_item_getinfo(Menu, Item, AccessValue, Info, charsmax(Info), ItemName, charsmax(ItemName), Callback);
new Target = str_to_num(Info);
if(is_user_connected(Target) || Target == 0)
gRender[id][Target] = !gRender[id][Target];
CMD_AdvancedInvisMenu(id);
menu_destroy(Menu);
return PLUGIN_HANDLED;
}
public FW_AddToFullPack(ESHandle, E, Entity, id, Flags, Player, PSet)
{
if(Player && (gRender[id][Entity] || gRender[id][0] || gRender[Entity][Entity]))
{
set_es(ESHandle, ES_RenderMode, kRenderTransTexture);
set_es(ESHandle, ES_RenderAmt, 0);
}
return FMRES_IGNORED;
}
public client_putinserver(id)
{
for(new i; i < 33; i++)
{
gRender[id][i] = 0;
gRender[i][id] = 0;
}
}