added get_cmdaccess()
This commit is contained in:
parent
2df8b4269e
commit
3c379469d5
|
@ -26,6 +26,7 @@ Core_Natives()
|
||||||
register_native("fsqroot", "__fsqroot")
|
register_native("fsqroot", "__fsqroot")
|
||||||
register_native("fpower", "__fpower")
|
register_native("fpower", "__fpower")
|
||||||
register_native("flog", "__flog")
|
register_native("flog", "__flog")
|
||||||
|
register_native("get_cmdaccess", "__get_cmdaccess")
|
||||||
}
|
}
|
||||||
|
|
||||||
public __VelocityByAim(plid, num)
|
public __VelocityByAim(plid, num)
|
||||||
|
@ -180,3 +181,19 @@ public Float:__flog(plid, num)
|
||||||
|
|
||||||
return floatlog(value, base)
|
return floatlog(value, base)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//get_cmdaccess(cmd[], accessflags[], len)
|
||||||
|
public __get_cmdaccess(plid, num)
|
||||||
|
{
|
||||||
|
new command[32], accessflags[32]
|
||||||
|
new ret
|
||||||
|
|
||||||
|
get_string(1, command, 31)
|
||||||
|
|
||||||
|
if ((ret=get_cmdaccess(command, accessflags, 31)))
|
||||||
|
{
|
||||||
|
set_string(2, accessflags, get_param(3))
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
|
@ -52,56 +52,87 @@ stock numtostr(num,string[],len)
|
||||||
stock strtonum(const string[])
|
stock strtonum(const string[])
|
||||||
return str_to_num(string);
|
return str_to_num(string);
|
||||||
|
|
||||||
stock build_path(path[], len, {Float,_}:... ) {
|
stock build_path(path[], len, {Float,_}:... )
|
||||||
|
{
|
||||||
format_args(path, len, 2)
|
format_args(path, len, 2)
|
||||||
new pathlen = strlen(path)
|
new pathlen = strlen(path);
|
||||||
new basedir[32]
|
new basedir[32];
|
||||||
if(containi(path, "$basedir") != -1) {
|
if (containi(path, "$basedir") != -1)
|
||||||
get_localinfo("amxx_basedir", basedir, 31)
|
{
|
||||||
if(!basedir[0]) copy(basedir, 31, "addons/amxmodx")
|
get_localinfo("amxx_basedir", basedir, 31);
|
||||||
if((pathlen+strlen(basedir)-strlen("$basedir")) < len) {
|
if (!basedir[0])
|
||||||
|
{
|
||||||
|
copy(basedir, 31, "addons/amxmodx");
|
||||||
|
}
|
||||||
|
if ((pathlen+strlen(basedir)-strlen("$basedir")) < len)
|
||||||
|
{
|
||||||
replace(path, len, "$basedir", basedir)
|
replace(path, len, "$basedir", basedir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
new dir[64], subdir[63]
|
new dir[64], subdir[63];
|
||||||
if(containi(path, "$configdir") != -1) {
|
if (containi(path, "$configdir") != -1)
|
||||||
|
{
|
||||||
get_localinfo("amxx_configsdir", dir, 63)
|
get_localinfo("amxx_configsdir", dir, 63)
|
||||||
if(!dir[0]) format(dir, 63, "%s/configs", basedir)
|
if (!dir[0])
|
||||||
if((pathlen+strlen(basedir)-strlen("$configdir")) < len) {
|
{
|
||||||
|
format(dir, 63, "%s/configs", basedir)
|
||||||
|
}
|
||||||
|
if ((pathlen+strlen(basedir)-strlen("$configdir")) < len)
|
||||||
|
{
|
||||||
replace(path, len, "$configdir", dir)
|
replace(path, len, "$configdir", dir)
|
||||||
}
|
}
|
||||||
dir[0] = '^0'
|
dir[0] = '^0'
|
||||||
}
|
}
|
||||||
if(containi(path, "$langdir") != -1) {
|
if (containi(path, "$langdir") != -1)
|
||||||
get_localinfo("amxx_datadir", subdir, 63)
|
{
|
||||||
if(!subdir[0]) format(subdir, 63, "%s/data", basedir)
|
get_localinfo("amxx_datadir", subdir, 63);
|
||||||
format(dir, 63, "%s/amxmod-lang", subdir)
|
if (!subdir[0])
|
||||||
if((pathlen+strlen(basedir)-strlen("$langdir")) < len) {
|
{
|
||||||
replace(path, len, "$langdir", dir)
|
format(subdir, 63, "%s/data", basedir);
|
||||||
}
|
}
|
||||||
dir[0] = '^0'
|
format(dir, 63, "%s/amxmod-lang", subdir);
|
||||||
|
if ((pathlen+strlen(basedir)-strlen("$langdir")) < len)
|
||||||
|
{
|
||||||
|
replace(path, len, "$langdir", dir);
|
||||||
}
|
}
|
||||||
if(containi(path, "$modulesdir") != -1) {
|
dir[0] = '^0''
|
||||||
get_localinfo("amxx_modules", dir, 63)
|
|
||||||
if(!dir[0]) format(dir, 63, "%s/modules", basedir)
|
|
||||||
if((pathlen+strlen(basedir)-strlen("$modulesdir")) < len) {
|
|
||||||
replace(path, len, "$modulesdir", dir)
|
|
||||||
}
|
}
|
||||||
dir[0] = '^0'
|
if (containi(path, "$modulesdir") != -1)
|
||||||
|
{
|
||||||
|
get_localinfo("amxx_modules", dir, 63);
|
||||||
|
if (!dir[0])
|
||||||
|
{
|
||||||
|
format(dir, 63, "%s/modules", basedir);
|
||||||
}
|
}
|
||||||
if(containi(path, "$pluginsdir") != -1) {
|
if ((pathlen+strlen(basedir)-strlen("$modulesdir")) < len)
|
||||||
get_localinfo("amx_pluginsdir", dir, 63)
|
{
|
||||||
if(!dir[0]) format(dir, 63, "%s/plugins", basedir)
|
replace(path, len, "$modulesdir", dir);
|
||||||
if((pathlen+strlen(basedir)-strlen("$pluginsdir")) < len) {
|
|
||||||
replace(path, len, "$pluginsdir", dir)
|
|
||||||
}
|
}
|
||||||
dir[0] = '^0'
|
dir[0] = '^0';
|
||||||
}
|
}
|
||||||
if(containi(path, "$logdir") != -1) {
|
if (containi(path, "$pluginsdir") != -1)
|
||||||
get_localinfo("amx_logs", dir, 63)
|
{
|
||||||
if(!dir[0]) format(dir, 63, "%s/logs", basedir)
|
get_localinfo("amx_pluginsdir", dir, 63);
|
||||||
if((pathlen+strlen(basedir)-strlen("$logdir")) < len) {
|
if( !dir[0])
|
||||||
replace(path, len, "$logdir", dir)
|
{
|
||||||
|
format(dir, 63, "%s/plugins", basedir);
|
||||||
|
}
|
||||||
|
if ((pathlen+strlen(basedir)-strlen("$pluginsdir")) < len)
|
||||||
|
{
|
||||||
|
replace(path, len, "$pluginsdir", dir);
|
||||||
|
}
|
||||||
|
dir[0] = '^0';
|
||||||
|
}
|
||||||
|
if (containi(path, "$logdir") != -1)
|
||||||
|
{
|
||||||
|
get_localinfo("amx_logs", dir, 63);
|
||||||
|
if (!dir[0])
|
||||||
|
{
|
||||||
|
format(dir, 63, "%s/logs", basedir)
|
||||||
|
}
|
||||||
|
if ((pathlen+strlen(basedir)-strlen("$logdir")) < len)
|
||||||
|
{
|
||||||
|
replace(path, len, "$logdir", dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 1
|
return 1
|
||||||
|
@ -127,5 +158,24 @@ stock is_user_authorized(id)
|
||||||
|
|
||||||
stock angle_to_vector(Float:vector[3], FRU, Float:ret[3])
|
stock angle_to_vector(Float:vector[3], FRU, Float:ret[3])
|
||||||
{
|
{
|
||||||
return angle_vector(vector, FRU, ret)
|
return angle_vector(vector, FRU, ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
get_cmdaccess(cmd[], accessflags[], len)
|
||||||
|
{
|
||||||
|
new num = get_concmdsnum(-1);
|
||||||
|
new command[32], info[3];
|
||||||
|
new flags;
|
||||||
|
|
||||||
|
for (new i=0; i<num; i++)
|
||||||
|
{
|
||||||
|
get_concmd(i, command, 31, flags, info, 2, -1);
|
||||||
|
if (equal(command, cmd))
|
||||||
|
{
|
||||||
|
get_flags(flags, accessflags, len);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user