[Tutorial] [TUT] Portхes Automбticos Reservados
#1

Estou aqui com o objetivo de ensinar a vocк como fazer um portгo automatico para seu time.

Necessбrio:

Coordenadas do portгo aberto;
Coordenadas do portгo fechado;
5 minutos para ler e executar o que estб aqui.

Comeзando:

Coloque isso no inicio do seu gamemode se vocк nгo tiver:
pawn Код:
new gTeam[MAX_PLAYERS]; /*Isso serб para definir os times.*/
Agora adicione as news tambйm no inicio do gamemode:
pawn Код:
new portaocop,portaocop2; /*Isto й sу um exemplo, pode mudar de acordo com sua necessidade*/
Ainda no Inicio do GameMode Adicione Isto:
pawn Код:
forward ChecarPortao(); /*Forward para o public funcionar corretamente.*/
Agora procure no seu gamemode o public OnGameModeInit.

Depois e achar o public OnGameModeInit, coloque no inicio do public um Timer:
pawn Код:
SetTimer("ChecarPortao", 1000, true); /*Para checar a cada segundo se а alguem perto do portгo*/
Depois de colocar o Timer procure o objeto correspondente ao seu portгo fechado e coloque o que hб no new, Ex:
pawn Код:
portaocop = CreateObject(971, 1544.7706298828, -1625.9729003906, 15.702730178833, 0.000000, 0.000000, 89.325012207031);
portaocop2 = CreateObject(971, 1588.6604003906, -1638.0908203125, 13.757768630981, 0.000000, 0.000000, 0.000000);
Lembrando que o CreateObject й Com as Coordenadas do Seu Portгo.

Agora vб bem no fim de seu gamemode e adicione um novo public:
pawn Код:
public ChecarPortao() /*O Timer Serб Direcionado Para Cб, E Farб o Que Tem Aqui.*/
Agora em baixo do novo public adicione:
pawn Код:
{
    new P1, P2; //Novos news para abrir e fechar os portхes
    for(new playerid;playerid<MAX_PLAYERS;playerid++)//Loop
    {
    if(gTeam[playerid] == TIME) /*Mude o "TIME" para o ID do seu time ou o Nome Definido!*/if(IsPlayerInRangeOfPoint(playerid,10.0,1544.7706298828, -1625.9729003906, 15.702730178833)) P1=1; //Aqui a coordenada do 1° portгo fechado.
    if(gTeam[playerid] == TIME) /*Mude o "TIME" para o ID do seu time ou o Nome Definido!*/if(IsPlayerInRangeOfPoint(playerid,10.0,1588.6604003906, -1638.0908203125, 13.757768630981)) P2=1; //Aqui a coordenada do 2° portгo fechado
    }
    if(P1)MoveObject(portaocop,1544.7705078125, -1625.97265625, 7.452730178833, 2.5); //Aqui se estiver alguem perto do portгo e for do time certo, o portгo se abrirб!(Coordenadas do portгo aberto)
    else MoveObject(portaocop,1544.7706298828, -1625.9729003906, 15.702730178833, 2.5); //Caso ele se afaste de mais o portгo irб fechar.(Coordenadas do portгo fechado)
    if(P2)MoveObject(portaocop2,1588.66015625, -1638.0908203125, 7.2577686309814, 2.5);//Aqui se estiver alguem perto do portгo e for do time certo, o portгo se abrirб!(Coordenadas do portгo aberto)
    else MoveObject(portaocop2,1588.6604003906, -1638.0908203125, 13.757768630981, 2.5);//Caso ele se afaste de mais o portгo irб fechar. (Coordenadas do portгo fechado)
}

//PS: 2.5 й a velocidade com que o portгo se fecha ou se abre.
Este й o fim do tutorial, espero que tenha gostado, e que tenha sido util.

Duvidas? Achou Erros? Nгo tenha vergonha de postar, sua crнtica serб bem vinda e se achou algum erro irei arrumar.

PS: Sim eu sei que jб hб um tutorial disso aqui, mas ele nгo funciona.

Crйditos a mim por desenvolver todo o tutorial.
Ao Dark Team por me ensinar a fazer os portхes.
Reply
#2

Bom Tuto vou usar no meu RPG.
Vlws
Reply
#3

Quote:
Originally Posted by Lipepva
Bom Tuto vou usar no meu RPG.
Vlws
Nads, estou aqui pra ajudar, e foi com esse proposito que postei
Reply
#4

Sim ele funciona, mas oq vale й ajudar

@EDIT: ao menos aqui sim o.O
Reply
#5

Quote:
Originally Posted by stonerbrasil
Sim ele funciona, mas oq vale й ajudar

@EDIT: ao menos aqui sim o.O
Nгo sei se percebeu, os tutoriais sгo os mesmos, eu fiz ele e postei na comunidade PT-BR e depois resolvi postar aqui.

O que eu falo que nгo funciona й este aqui.
Reply
#6

deu este erro aqui

Код:
C:\Documents and Settings\RICARDO31\Ambiente de trabalho\SAMP 0.3 Server\gamemodes\pb.pwn(1471) : warning 235: public function lacks forward declaration (symbol "ChecarPortao")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
Reply
#7

Quote:
Originally Posted by Rick_DR
deu este erro aqui

Код:
C:\Documents and Settings\RICARDO31\Ambiente de trabalho\SAMP 0.3 Server\gamemodes\pb.pwn(1471) : warning 235: public function lacks forward declaration (symbol "ChecarPortao")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
Isso й porque falta o forward.
Reply
#8

Bom Tuto, mais nгo defniste a Public Adicional!

Topo GM:

pawn Код:
forward ChecarPortao();
Reply
#9

Nice
Reply
#10

Desculpa pessoal, nгo vi que faltava o forward, agora estб corrigido. Obrigado por avisarem.
Reply
#11

De Nada Gato...
Reply
#12

Quote:
Originally Posted by DraKoN
De Nada Gato...
Cantada de gay...Sу o que faltava '¬¬

vcnгoconsegueleristo
Reply
#13

Quote:
Originally Posted by Ricardo_Saddler
Quote:
Originally Posted by DraKoN
De Nada Gato...
Cantada de gay...Sу o que faltava '¬¬

vcnгoconsegueleristo
EITA !
Reply
#14

cara, eh o seguinte, ele ta compilando e tal, mas eh eu abrir o serevr e diz:
Script[gamemodes/B.A.S.E..amx]: Run time error 19: "File or function is not found"
Porque isso?
Olha como ta todo code:
pawn Код:
//------------------------------ Mover Rampa
new Rampa;
forward ChecarPortao();
//----
//--------------------------------- Mover Rampa
SetTimer("ChecarPortao", 1000, true);
//--------------------------------- Objeto da Rampa
Rampa = CreateObject(3406,375.63082886,-2078.44970703,4.90666199,0.00000000,0.00000000,0.00000000); //mover esta em baixo
//----------------------------- Mover Rampa - Public
public ChecarPortao()
{
    new P1; //Novos news para abrir e fechar os portхes
    for(new playerid; playerid<MAX_PLAYERS;playerid++)
    {
        if(IsPlayerInRangeOfPoint(playerid,10.0,1544.7706298828, -1625.9729003906, 15.702730178833)) P1=1; //Aqui a coordenada do 1° portгo fechado.
    }
    if(P1)MoveObject(Rampa,375.68881226,-2078.46704102,207.40837097, 2.5); //Aqui se estiver alguem perto do portгo e for do time certo, o portгo se abrirб!(Coordenadas do portгo aberto)
    else MoveObject(Rampa,375.63082886,-2078.44970703,4.90666199, 2.5); //Caso ele se afaste de mais o portгo irб fechar.(Coordenadas do portгo fechado)
    return 1;//com ou sem esse return da na mesma
}
Porque da erro no samp-server ? PS: compila sem erro nem warning.
Descobri que o problema й no public, pois retirei ele e nao deu o erro, mas o que hб de erradp ?
Reply
#15

Faz tempo que nгo respondo ake! Mas to sempre acompanhando! Vi uma dъvida no meu topic e tive que vim responder! Mas sinceramente! Nгo vejo nada de errado no code o_O!Daki a poko vem um ***** e te responder hehe! (Torзa pra ele nгo te largar uma cantada)! Desculpe nгo poder ajudar :\
Reply
#16

bom, alguns comments sobre esse tut, o meu erro era pq meu samp nao reconhece o q eh IsPlayerInRangeOfPoint, isso acontecia no console do 0.2x, agora q mudei para o 0.3a nao acontece mais, so um erro o forwrad esta errado
vc botou:
pawn Код:
forward ChecarPortao;

enquanto seria

forward ChecarPortao();
Reply
#17

Ok, Obrigado! Arrumado!
Reply
#18

tipo eu quero colocar como portao de 1 org como faзo? tipo FA
Reply
#19

Agora esto indo pra escola =P, quando eu voltar eu edito o post e te respondo! Postei pra nгo pensar que vou esquecer '='
Reply
#20

simples mais ajuda muito ^^
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)