Alert Overflow v1.0 -
paulor - 08.12.2012
* Comentбrio
Essa include serve para Avisar vocк caso vocк ultrapasse os Limites determinados pelo SAMP, Exemplo: Objetos, TextDraws, TextLabel e etc..
Sem nada para fazer, Resolvi fazer essa Simples e Ъtil include.
*Como usar ?
pawn Код:
#include a_samp
#include AlertOf
Lembre-se de sempre deixar esta Include abaixo de Todas outras..
Agora se vocк preferir pode desativar qualquer verificaзгo, Basta fazer o seguinte!
pawn Код:
#define OfObject false //Coloque false para Desativar Tal verificaзгo.
* Funзхes
pawn Код:
AlertOf(); //Coloque no final do OnGameModeInit
AlertPlayerOf(playerid); //Coloque no final do OnPlayerConnect
* Creditos
Paulo - Criador
Equipe SA-MP(Passado\Presente\Futuro) - SAMP.
* Download
PasteBin
Sites******
* Observaзгo
Qualquer BUG me contatar por MP ou pelo Post mesmo! Ficarei agradecido.
Dъvidas, Pergunte no Post!
Bom jogo!
Respuesta: Alert Overflow v1.0 -
ipsBruno - 08.12.2012
Legal!
O problema й que as funзхes da SA:MP trabalham com slots. Logo vocк tem 300 mil objetos e deleta id zero.
Usando sua biblioteca, ele vai criar outro objeto, com id 0 (logo que й o slot livre). Assim vai acusar que tem 1 objeto criado, mesmo que tenha 300 mil deles nos outros slots.
Portanto tem que refazer a include hookando todas funзхes e criando uma variбvel para cada coisa e incrementar ela ao deletar/criar objetos, textdraws .. etc!
Teste esse cуdigo e verб que estou certo:
pawn Код:
new objetos[10];
objetos[0] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[1] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[2] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[3] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[4] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[5] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[6] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[7] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[8] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
objetos[9] = CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1) ;
//10 objetos criados!
DestroyObject(objetos[2]) ;
// agora sгo 9 objetos
printf("existem %d objetos", CreateObject(1000, 0.1, 0.1, 0.1, 0.0, 0.0, 0.1));
// "existem 3 objetos"
Tem que refazer o script todo, eu aguardo!
Boa sorte
Re: Alert Overflow v1.0 -
Sky™ - 08.12.2012
Parabens!
Re: Alert Overflow v1.0 -
Don_Speed - 08.12.2012
Tem coisa ai desnecessaria!
Exemplo MaxPlayers pra que
Ja existe definiзao pra isso!
Re: Respuesta: Alert Overflow v1.0 -
paulor - 08.12.2012
Quote:
Originally Posted by ipsBruno
Legal!
O problema й que as funзхes da SA:MP trabalham com slots. Logo vocк tem 300 mil objetos e deleta id zero.
Usando sua biblioteca, ele vai criar outro objeto, com id 0 (logo que й o slot livre). Assim vai acusar que tem 1 objeto criado, mesmo que tenha 300 mil deles nos outros slots.
Portanto tem que refazer a include hookando todas funзхes e criando uma variбvel para cada coisa e incrementar ela ao deletar/criar objetos, textdraws .. etc!
No aguardo!
|
Й, eu fiz mais para avisar caso ultrapasse o Limite, assim o Usuбrio ficaria sabendo e deletaria o que ele achasse melhor, Vlw ae..
@Sky
Vlw.
@Don
Aquela definiзгo й para quem Usa mais que 500 Slots, pois tem uma maneira que contatar o Kalcor e pedir mais Slots..
@Bruno EDIT
Entгo cara, eu pensei nesse caso, mais fiquei pensando, porque ele deletaria o objeto no mesmo lugar em que criou ? nгo faz sentido, mais se ele fazer isso, irб bugar..
Respuesta: Re: Respuesta: Alert Overflow v1.0 -
ipsBruno - 08.12.2012
Quote:
Originally Posted by paulor
Й, eu fiz mais para avisar caso ultrapasse o Limite, assim o Usuбrio ficaria sabendo e deletaria o que ele achasse melhor, Vlw ae..
@Sky
Vlw.
@Don
Aquela definiзгo й para quem Usa mais que 500 Slots, pois tem uma maneira que contatar o Kalcor e pedir mais Slots..
|
Mas vai dar erro! Tem que refazer o script da forma que eu falei. Hookando todas funзхes e incrementado em uma variбvel cada vez que criar um objeto.
Re: Alert Overflow v1.0 -
LuxuN - 08.12.2012
Sim isso deve mostrar uns erros durante seu funcionamento "Hookando" todas as funзхes deve resolver!
mesmo assim continua sendo muito util!
Respuesta: Alert Overflow v1.0 -
ipsBruno - 08.12.2012
Aqui um exemplo:
pawn Код:
new objetosCriados = 0;
DestroyObjectPaulor(modelid) {
objetosCriados --;
return DestroyObject(modelid);
}
CreateObjectPaulor(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance = 350.0) {
if(objetosCriados < MAX_OBJECTS ) {
objetosCriados ++;
return CreateObject(modelid, X, Y, Z, rX, rY, rZ, DrawDistance) ;
}
print(" Foi atingido o nъmero de objetos criados em "MAX_OBJECTS" objetos");
return -1 ;
}
#define CreateObject \
CreateObjectPaulor
#define DestroyObject\
DestroyObjectPaulor
Sу fazer pra tudo agora! Boa sorte Paulor!
Re: Respuesta: Alert Overflow v1.0 -
Don_Speed - 08.12.2012
Quote:
Originally Posted by paulor
@Don
Aquela definiзгo й para quem Usa mais que 500 Slots, pois tem uma maneira que contatar o Kalcor e pedir mais Slots..
|
Isto apenas para servidores da russia pois nenhum brasileiro chega pelo menos a metade do que tem na russia!
Re: Alert Overflow v1.0 -
paulor - 08.12.2012
Sim Bruno eu entendi, mais veja comigo:
OnGameModeInit й executado em Ms, dai o Cara cria seus Objetos lб e jб os Destroi, isso nгo tem sentido pois o Objeto nгo apareceria, Mais caso alguйm faзa o que й muito Improvбvel, irб bugar...
@Don
Isso se chama Prevenзгo cara..