Очень простая функция, которая, как понятно из названия, узнаёт размер стека у скрипта.
stock GetStackSize() { // by Daniel_Cortez (<a href="http://www.pro-pawn.ru" target="_blank">www.pro-pawn.ru</a>) const BYTES_TO_ADD = (cellbits/charbits); #emit lctrl 2 #emit move.alt #emit lctrl 3 #emit sub #emit add.c BYTES_TO_ADD #emit retn return 0; }
Полезно, если Вы устали от ложных багрепортов из-за того, что у кого-то не работает RLS и эти кто-то винят во всех его багах Ваш инклуд/плагин.
В этом случае можно сделать так, чтобы ваша работа просто не запускалась на нубомодах, в которых используется #pragma dynamic - problem solved.
// по умолчанию размер стека - 16384 байта, если больше - использовалась #pragma dynamic if(GetStackSize() > 16384) { }
Внимание! Данный способ не будет работать в фильтрскриптах - для них сервер выделяет отдельные секции стека.
Автор: Daniel_Cortez
Специально для Pro-Pawn.ruКопирование данной статьи на других ресурсах без разрешения автора запрещено.