SSGamers - Fique atualizado
Chegou o novo tema 6.1.3 / SSGames - Servidores online de qualidade - Inscreva-se Ja! é entre para nossa comunidade! - Ouça nossa web radio -Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

MapAndreas Include

Weslley_Script
SS - Fundador
SS - Fundador
Weslley_Script
Steam Steam : WeslleySSGames
Zello : WeslleySSGames
Mensagens : 9109
Moedas : 1024576
Data de inscrição : 06/10/2011
Idade : 24
Localização : Brasil

Mensagem por Weslley_Script em Dom 11 Jan 2015 - 1:05

prefácio

Eu amo o plugin MapAndreas , mas eu acho tão infeliz que ele usa ~ 70 MB de de memória RAM , então eu comecei a visitar o assunto e descobri que você pode realmente obter os mesmos resultados usando fseek , definindo o indicador de posição do arquivo usando um pequeno cálculo em vez de alocar todo o mapa para a memória.

características

Este incluem tem exatamente as mesmas características que o plugin MapAndreas e é tão preciso - simplesmente não há diferença em termos de funcionamento entre eles :

[ TTable ]

MapAndreas Plugin
MapAndreas Incluir
O uso da memória
~ 70 MB RAM
nada *
exatidão

EXATAMENTE a mesma precisão que o plugin
atuação
O plugin é muito rápido ( porque os dados são alocados na memória do primeiro e tem o C ++ vantagem de desempenho )
Este incluir é mais lento do que o plugin ( obviamente, porque nós estamos usando fseek e ler tudo outra vez , mais não temos o C ++ vantagem de desempenho , neste caso)
[tr ] Inicializar tempo
Leva algum tempo para alocar a memória (~ 5 segundos)
Sem tempo de espera necessário - imediatamente pronto para uso
[/ TTable ]

* Apesar de cada script precisa de alguma memória ( dependendo do que você está usando e quanto) para executar. Suponho que isso vai usar um par de centenas de kilobytes.

Função (s)

Temos apenas uma função :
[ peão ]
estoque Float : GetPointZPos (Float const : fX , Float const : fY , e float: fZ = 0,0 );
[/ peão ]
Ele retorna o resultado e as armazena em fZ (se variável definida ) .

Exemplo ( s )

Aqui estão alguns exemplos básicos:
[ peão ]
printf ("The Z- coordenada X = 2.033,55 | Y = 1007,73 é Z = % .02f " , GetPointZPos ( 2.033,55 , 1.007,73 )) ;
[/ peão ]
Ou você pode simplesmente fazê-lo desta maneira :
[ peão ]
novo
Float : fZ
;
GetPointZPos ( 1.254,65 , -554,55 , fZ );
printf ("The Z- coordenada X = 1.254,65 | Y = -554,55 é Z = % .02f " , fZ );
[/ peão ]
resultados:

O Z- coordenada X = 2.033,55 | Y = 1007,73 é Z = 9,81
O Z- coordenada X = 1.254,65 | Y = -554,55 é Z = 67,48


notas

- Os créditos Kalcor para seu plugin do MapAndreas .
- Créditos para De [M ] no que postou um exemplo C ++ fseek lá.

baixar

MapAndreas.inc


Foreword

I love the MapAndreas plugin, but I find so unfortunate that it uses ~70 MB's of RAM memory, so I started browsing the topic and found out that you can actually get the same results using fseek by setting the position indicator of the file using a small calculation instead of allocating the whole map into the memory.

Features

This include has exactly the same features as the MapAndreas plugin and is as accurate - there's simply no difference in terms of functioning between them:

[ttable]

MapAndreas Plugin
MapAndreas Include
Memory usage
~70 MB RAM
Nothing*
Accuracy

EXACTLY the same accuracy as the plugin
Performance
The plugin is really fast (because the data is allocated in the memory first and has the C++ performance advantage)
This include is slower than the plugin (obviously because we're using fseek and read all time again plus we don't have the C++ performance advantage in this case)
[tr]Initialize time
Takes some time to allocate the memory (~5 seconds)
No waiting needed - immediately ready for use
[/ttable]

* Although every script needs some memory (depending what you're using and how much) to execute. I assume this will use a couple of hundred kilobytes.

Function(s)

We have only one function:
[pawn]
stock Float: GetPointZPos(const Float: fX, const Float: fY, &Float: fZ = 0.0);
[/pawn]
It returns the result and stores it in fZ (if variable defined).

Example(s)

Here are some basic examples:
[pawn]
printf("The Z-coordinate of X = 2033.55 | Y = 1007.73 is Z = %.02f", GetPointZPos(2033.55, 1007.73));
[/pawn]
Or you can just do it this way:
[pawn]
new
Float: fZ
;
GetPointZPos(1254.65, -554.55, fZ);
printf("The Z-coordinate of X = 1254.65 | Y = -554.55 is Z = %.02f", fZ);
[/pawn]
Results:
Código:

The Z-coordinate of X = 2033.55 | Y = 1007.73 is Z = 9.81
The Z-coordinate of X = 1254.65 | Y = -554.55 is Z = 67.48

Notes

- Os créditos Kalcor para seu plugin do MapAndreas .
- Créditos para De [M ] no que postou um exemplo C ++ fseek lá.


Download

MapAndreas.inc
SAfull.hmap



MapAndreas Include D07Xwqb
MapAndreas Include Yjab9HN

^
subir
Data/hora atual: Qui 6 Ago 2020 - 18:32