Cześć posiadam plugin by DarkGL tzn admin aim, jak zrobić żeby zwykły użytkownik mogł go używać?
Proszę o modyfikacje
Kto pomoże daje 5 like'ow
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "Shot Administration"
#define VERSION "1.2"
#define AUTHOR "Nomexous & DarkGL"
/*
Version 1.0
- Initial release.
Version 1.1
- Small optimization with the menu.
Version 1.2
- Optymalized
*/
new bool:bAim[33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("amx_admin_aim", "conjure_menu", ADMIN_SLAY, "Displays admin aim menu.")
register_forward(FM_TraceLine, "fw_traceline")
register_forward(FM_TraceHull, "fw_tracehull", 1)
}
public client_disconnect(id) bAim[id] = false;
public conjure_menu(id, level, cid)
{
if (cmd_access(id, level, cid, 1))
{
build_menu(id)
}
return PLUGIN_HANDLED
}
// For some reason, they don't allow default argument items in public functions.
stock build_menu(id, page = 0)
{
new menu = menu_create("Admin Aim menu", "menu_handler")
static players[32], num, szName[64], cmd[5], itemtxt[60]
get_players(players, num)
for (new i = 0; i < num; i++)
{
if(!is_user_connected(players[i])) continue;
get_user_name(players[i], szName, charsmax(szName))
num_to_str(players[i],cmd,charsmax(cmd));
formatex(itemtxt, 59, "%s %s", szName, bAim[players[i]] ? "\yON":"\rOFF")
menu_additem(menu, itemtxt, cmd)
}
menu_display(id, menu, page)
}
public menu_handler(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu)
return ;
}
static cmd[5], callback, access, pid
menu_item_getinfo(menu, item, access, cmd, 4, _, _, callback)
pid = str_to_num(cmd)
if (is_user_connected(pid))
{
bAim[pid] = !bAim[pid];
}
menu_destroy(menu)
build_menu(id, item / 7)
}
public fw_traceline(Float:start[3], Float:end[3], conditions, id, ptr)
{
return process_trace(id, ptr)
}
public fw_tracehull(Float:start[3], Float:end[3], conditions, hull, id, ptr)
{
return process_trace(id, ptr)
}
public process_trace(id, ptr)
{
if (!is_user_alive(id) || !bAim[id]) return FMRES_IGNORED
new target = get_tr2(ptr, TR_pHit)
if (!is_user_alive(target)) return FMRES_IGNORED
new Float:origin[3], Float:angles[3]
engfunc(EngFunc_GetBonePosition, target, 8, origin, angles)
set_tr2(ptr, TR_vecEndPos, origin)
set_tr2(ptr, TR_iHitgroup, HIT_HEAD)
return FMRES_IGNORED
}
Użytkownik xXxBoy4GirlxXx edytował ten post 21.11.2014 21:38


Dodatki SourceMod




Temat jest zamknięty










