bool CScript::registerNatives(const AMX_NATIVE_INFO* list)
{
err = amx_Register(&amx, list, -1);
if (err != AMX_ERR_NONE)
{
Error(this->err);
return false;
}
int num = -1;
amx_NumNatives(&amx, &num);
printf("Registered %i native functions.\n", num);
return true;
}
void print(char* string)
{
printf(string);
}
void print_int(int value)
{
printf("%i\n", value);
}
void print_float(float value)
{
printf("%f\n", value);
}
static cell AMX_NATIVE_CALL n_print_int(AMX* amx, const cell* params)
{
print_int((int)params[1]);
return 1;
}
static cell AMX_NATIVE_CALL n_print_float(AMX* amx, const cell* params)
{
print_float(amx_ctof(params[1]));
return 1;
}
static cell AMX_NATIVE_CALL n_print(AMX* amx, const cell* params)
{
char output[128];
print_int((int)params[1]);
//printf("output is %s", output);
return 1;
}
const AMX_NATIVE_INFO print_Natives[] =
{
{ "print_int", n_print_int },
{ "print_float", n_print_float },
{ "printx", n_print },
{NULL,NULL}
/* terminator */
};