Daniel_Cortez
09.11.2014, 19:30
Очень простая функция, которая, как понятно из названия, узнаёт размер стека у скрипта.
stock GetStackSize()
{ // by Daniel_Cortez (www.pro-pawn.ru)
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)
{
print("Noob gamemode detected");
SendRconCommand("exit");
}
Внимание! Данный способ не будет работать в фильтрскриптах - для них сервер выделяет отдельные секции стека.
Автор: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)
Специально для Pro-Pawn.ru (http://www.pro-pawn.ru)
Копирование данной статьи на других ресурсах без разрешения автора запрещено.
stock GetStackSize()
{ // by Daniel_Cortez (www.pro-pawn.ru)
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)
{
print("Noob gamemode detected");
SendRconCommand("exit");
}
Внимание! Данный способ не будет работать в фильтрскриптах - для них сервер выделяет отдельные секции стека.
Автор: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)
Специально для Pro-Pawn.ru (http://www.pro-pawn.ru)
Копирование данной статьи на других ресурсах без разрешения автора запрещено.