bool:equalInfo(info[]) {
new infoName[64], sign[3], value[32], valueNow[32], intValue, intValueNow;
parse(info, infoName, 63, sign, 2, value, 31);
if(!strlen(sign))
return false;
infoName[0] == '%' ?
get_time(infoName, valueNow, 31) :
get_localinfo(infoName, valueNow, 31);
intValueNow = str_to_num(valueNow);
intValue = str_to_num(value);
new bool:eq;
if((strlen(value) && !intValue) || (strlen(valueNow) && !intValueNow))
eq = equal(value, valueNow) != 0; else
eq = intValue == intValueNow;
new bool:bt = intValueNow > intValue;
new bool:lt = intValueNow < intValue;
if(equal(sign, "!=") || equal(sign, "<>"))
return !eq;
if(sign[0] == '=')
return eq;
return (sign[0] == '<' ? lt : bt) || (sign[1] == '=' ? eq : false);
}