Если воспользоваться поиском в интернете, то можно придти к выводу о том, что специального инструмента для подобных целей не существует. Единственное, что удается найти - данную ветку, но это все под AMX для SAMP
https://github.com/Zeex/amx_assembly
При должном желании, это можно переделать под amxx для hlds и считать количество памяти, израсходованной плагином.
Лично мне удалось немного поиграться с этим делом. Продолжать колдовать не вижу смысла, ибо считаю, что экономить биты и байты, когда у тебя выделено от 2ГБ для сервера - абсолютно бесполезное дело. Но ты можешь заняться этим вопросом и написать утилиту для этих нужд.
Код:
#include <amxmodx>
#include "amx_assembly\amx_memory"
public plugin_init(){
main();
}
main() {
new testArray[3];
new firstArrAdr = ref(testArray[0]);
testArray[0] = 100;
server_print("========================================================");
server_print("Address of 0: %x", ref(testArray[0]));
server_print("Address of 1: %x", ref(testArray[1]));
server_print("Address of 2: %x", ref(testArray[2]));
server_print("Value of 0 from memory: %d", ReadAmxMemory(firstArrAdr));
WriteAmxMemory(firstArrAdr, 200);
server_print("testArray[0]: %d", testArray[0]);
server_print("========================================================");
}
Кстати, на скриншоте очень наглядно видно, что любая переменная в pawn занимает 4 байта памяти. И не важно, как хранить логику плагина - нулями или единицами в обычной переменной или создавать для этого тип bool. Но это так, к слову об оптимизаторах и оптимизации всего и вся и различных диагнозах с этим связанным