[Include] Criador de Portхes Automбticos [Simples]
#1

Introduзгo
Olб amigos, venho aqui trazer para vocкs uma include bem simples que eu fiz, mas que pode facilitar alguns novatos, espero que ela tambйm seja utilizada por outras pessoas, pois ela facilita muito a criar portхes em meu projeto. Como eu disse no titulo essa include й bem simples e gostaria de sugestхes para incrementar nela. Essa й minha primeira include e tambйm o primeiro projeto que eu posto, aceito sugestхes e crнticas pois usarei essas informaзхes para melhorar meu desempenho.

Descriзгo:
•Essa include possui por enquanto apenas 3 funзхes sendo elas:
•CriarPortao: Funзгo usada para criar o portгo e definir as coordenadas do portгo aberto.
•AbrirPortao: Funзгo usada para abrir o portгo jб definido.
•FecharPortao: Funзгo usada par fechar o portгo caso nгo queira usar o modo automбtico.
•Por padrгo vocк pode criar no mбximo 50 portхes, se usar mais para evitar bug o server serб desligado. Se vocк pretende criar mais 50 portхes basta alterar o valor de MAX_GATES na include
•A versгo com Streamer й a mais recomendada e requer a utilizaзгo do plugin Streamer by: Incognito.


Modo de instalaзгo:
Versгo sem streamer:
Caso use a versгo sem streamer , basta copiar a include cPortoes no pastebin, colar no bloco de notas e salvar com o nome cPortoes.inc na pasta include de seu pawno.
Apуs esse processo basta colocar no topo do seu GM:
PHP код:
#include <cPortoes> 

Versгo com streamer(Versгo Sugerida):
Caso use a versгo com streamer vocк dever baixar o plugin nesse Link e seguir o mйtodo de instalaзгo que ele ensina no post.
Apуs instalar a include e o plugin streamer basta copiar a include cPortoes no pastebin, colar no bloco de notas e salvar com o nome cPortoes.inc na pasta include de seu pawno.
Apуs esse processo basta colocar no topo do seu GM:
PHP код:
#include <cPortoes> 


Modo de uso:
Apуs instalar a include no mйtodo indicado acima vocк jб ira poder usar a include para facilitar seus projetos, o uso da include й bem simples e de fбcil entendimento, comeзaremos pela funзгo CriarPortгo.
PHP код:
 CriarPortao(ID_DO_PORTAOModelo_PortaofXfYfZrXrYrZaXaYaZ); 
Explicaзгo:
ID do portгo: Й nъmero que irб definir o portгo. Esse ID serб usado para abrir e fechar ele.
Modelo_Portao: Й o ID do objeto que vocк ira usar como portгo.
fX, fY e fZ: Sгo as coordenadas do portгo fechado, serб a posiзгo que ele ficara antes de ser aberto xD.
rX, rY e rZ: Sгo as coordenadas de rotaзгo do portгo.
aX, aY e aZ: Sгo as coordenas do portгo aberto

Logo apуs vem a funзгo AbrirPortao.
PHP код:
AbrirPorta(ID_DO_PPORTAOVELOCIDADETEMPO_ABERTO); 
Explicaзгo:
ID Do Portao:Й o ID definido ao criar o portгo.
Velocidade: Й a velocidade em que o portгo se moverб. Se esse valor for 0 ela serб definida como padrгo para 3.
Tempo Aberto: Й o tempo em segundos que o portгo ficara aberto. Caso use o tempo como 0 o portгo nгo fecharб automaticamente e serб preciso o uso da funзгo FecharPortгo.

E por fim a funзгo FecharPortao.
PHP код:
FecharPortao(ID); 
Explicaзгo:
ID: Й o Id do portгo que deverб ser fechado.
OBS: Essa funзгo sу й utilizada caso vocк use o valor 0 em TEMPO_ABERTO da funзгo AbrirPortao.


Exemplos de Uso:
Portгo Automбtico com streamer:
PHP код:
#include <streamer>
#include <cPortoes>
#define PortaoDP 1 // Recomendo definir os portхes para melhor uso da include
OnGameModeInit()
{
    
CriarPortao(PortaoDP9691539.65881, -1626.5234412.36340,   0.000000.0000090.000001539.65881, -1618.671412.36340);
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/AbrirDP"cmdtexttrue10) == 0)
    {
        
AbrirPortao(PortaoDP35);
        
SendClientMessage(playerid, -1"Portгo DP aberto por 5 segundo");
        return 
1;
    }
    return 
0;

Portгo Manual sem streamer:
PHP код:
#include <cPortoes>
#define PortaoDP 1
OnGameModeInit()
{
    
CriarPortao(PortaoDP9691539.65881, -1626.5234412.36340,   0.000000.0000090.000001539.65881, -1618.671412.36340);
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/AbrirDP"cmdtexttrue10) == 0)
    {
        
AbrirPortao(PortaoDP35);
        
SendClientMessage(playerid, -1"Portгo DP aberto por 5 segundo");
        return 
1;
    }
    if(
strcmp("/FecharDP"cmdtexttrue10) == 0)
    {
        
FecharPortao(PortaoDP);
        return 
1;
    }
    return 
0;

Conclusгo:
Enfim, como eu disse essa include й bem simples , mas ajuda bastante. Espero que tenham gostado. Pretendo lanзar futuras versхes, entгo estou disposto a ouvir sugestхes, dicas e criticas. Espero que tenham gostado , qualquer duvida basta perguntar.

Downloads:
Include Streamer by Incognito: Aqui

Include cPortoes com Streamer: Aqui

Include cPortoes sem Streamer: Aqui
Reply
#2

Hmmm... Bacana.

Parabйns.
Reply
#3

Bem nгo й de todo a melhor forma de criar um sistema desse gйnero dinвmico.

Mas para quem esta ainda a comeзar nгo esta mau. ( estude sobre enums )
Reply
#4

Faзo as palavras de PT, as minhas.
Reply
#5

Ficou bacana, parabйns.
Reply
#6

pawn Код:
CriarPortao(ID_DO_PORTAO, Modelo_Portao, fX, fY, fZ, rX, rY, rZ, aX, aY, aZ);
Qual melhoria me dб sobre o CreateObject ou CreateDynamicObject? Nenhuma. A unica forma que se dб de "mais fбcil" й a funзгo de abrir e fechar portгo, mas acho desnecessбrio pois ambos serгo faceis, isso se torna coisa de preguiзoso.

Sem ofenзa, essa include й inъtil. Desculpe a grosseria.
Reply
#7

Movimentar objeto para criar portгo jб й uma coisa simples, mas vai ajudar novatos.
Reply
#8

Quote:
Originally Posted by DannielCooper
Посмотреть сообщение
pawn Код:
CriarPortao(ID_DO_PORTAO, Modelo_Portao, fX, fY, fZ, rX, rY, rZ, aX, aY, aZ);
Qual melhoria me dб sobre o CreateObject ou CreateDynamicObject? Nenhuma. A unica forma que se dб de "mais fбcil" й a funзгo de abrir e fechar portгo, mas acho desnecessбrio pois ambos serгo faceis, isso se torna coisa de preguiзoso.

Sem ofenзa, essa include й inъtil. Desculpe a grosseria.
Em nenhum momento disse que ela traria uma melhoria a qualquer uma outra funзгo. Apenas compartilhem o metedo que fiz e uso para criar portхes em projetos. E sim , a ъnica facilidade й a de abrir e fechar portгo, e por isso coloquei o tуpico como portгo automбtico .

Espero que nгo tenha te ofendido amigo, obrigado pela critica
Reply
#9

Quote:
Originally Posted by DiegoLeo
Посмотреть сообщение
Em nenhum momento disse que ela traria uma melhoria a qualquer uma outra funзгo. Apenas compartilhem o metedo que fiz e uso para criar portхes em projetos. E sim , a ъnica facilidade й a de abrir e fechar portгo, e por isso coloquei o tуpico como portгo automбtico .

Espero que nгo tenha te ofendido amigo, obrigado pela critica
Sim, vocк nгo disse, mas se nгo hб melhorias, o que me faz trocar o meu mйtodo pelo seu ?
Reply
#10

Eu particularmente apoio a criaзгo de includes desse modo, muitas pessoas me perguntam como se faz coisas que parecem simples pra nуs. Mas para novatos, que ainda nгo tem muito conhecimento na linguagem, isso й уtimo, tanto para usar no gamemode ou script, quanto para estudar...

Enfim, rep+.

Obrigado por compartilhar com a comunidade.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)