Ir para conteúdo
BAIXAR NOVO COUNTER-STRIKE 1.6 CLASSIC FULL GRÁTIS ATUALIZADO 2024 ×

Plugin - Reciclador de espaço AllocString


yRestrict

Posts Recomendados

[Propósito]
Quando criamos entidades, o método geral é como:

nova iEntity = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));

Quando usamos alguns nativos de fakemeta, como set_pev, o módulo chama automaticamente EngFunc_AllocString para colocar a corda na memória.

Observe o EngFunc_AllocString, ele age como : novo char[strlen(szValue)+1];
Mas sem apagar a operação.
Esta operação de amento ilimitado finalmente levará a Cache_TryAlloc erro e, em seguida, o servidor falha.

[Método]
Então, aqui é melhor reciclar esses ponteiros de corda.
1.Gancho EngFunc_AllocString
2.Coloca nova sequência na memória usando chamada original e armazenar o resultado
3.Quando precisarmos da mesma string, retorne o resultado da chamada

anterior[Installion]
Já que register_forward não pode ligar chamadas da engfunc, orpheu (ou outro módulo) é necessário, que pode ser baixado emhttps://forums.alliedmods.net/showthread.php?t=116393

Baixe x_stringman.sma e compile-o... e instalá-lo.

E você precisa das informações de função (sem necessidade de assinatura), coloque o arquivo AllocString em cstrike/addons/amxmodx/configs/orpheu/functions
 

DOWNLOAD

AllocString.zip

x_stringman.sma

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...