Привет. Например я хотел бы использовать самповскую родную функцию GetPlayerMoney в плагине. Не хотелось бы использовать GDK и др.
Как это пытаюсь сделать:
// C++ int __GetPlayerMoney(int playerid, AMX *amx) { int amx_index; cell amx_retval = 0; if (!amx_FindNative(amx, "GetPlayerMoney", &amx_index)) { amx_Push(amx, playerid); amx_Exec(amx, &amx_retval, amx_index); } return (int)amx_retval; } // native PLUGIN_GetPlayerMoney(playerid); static cell AMX_NATIVE_CALL n_PLUGIN_GetPlayerMoney(AMX *amx, cell *params) { return __GetPlayerMoney(params[1], amx); } AMX_NATIVE_INFO NATIVES_LIST[] = { {"PLUGIN_GetPlayerMoney", n_PLUGIN_GetPlayerMoney}, { 0, 0 } };
// Pawn native PLUGIN_GetPlayerMoney(playerid); { new money = PLUGIN_GetPlayerMoney(playerid); return 1; } forward CallGetPlayerMoney(); public CallGetPlayerMoney() { }
В итоге в printf'е money = 1. А по задумке ф-ия должна вернуть текущие деньги игрока.
Что я делаю не так?