[Tutorial] Como criar portгo que abre com Buzina
#1

Parte #1

pawn Код:
#define Amarelo 0xFFFF00AA // Definimos a cor amarela

new
    Portao // Criamos a variavel portгo
;
Parte #2

Vai na callback [ OnGameModeInit ]

pawn Код:
Portao = CreateObject ( Modelo, X, Y, Z, ROTX, ROTY, ROTZ ) ; // Coloque aqui as coordenadas do Portгo
// Exemplo
pawn Код:
Portao = CreateObject ( 980, 1546.8681640625, -1627.3585205078, 15.156204223633, 0, 0, 90 ) ;
980 = ID do Portгo
1546.8681640625 = Coordenada X
-1627.3585205078 = Coordenada Y
15.156204223633 = Coordenada Z
0 = Rotaзгo X
0 = Rotaзгo X
90 = Rotaзгo Z

Parte #3

Agora criando o comando, irei fazer em zcmd e strcmp

pawn Код:
if ( strcmp ( "/abrirportao", cmdtext, true, 10 ) == 0 ) // Aqui й o nome do comando no caso o meu serб /abrirportao
{
    if ( IsPlayerInRangeOfPoint ( playerid, 10.0, X, Y, Z )) // Coordenada do Local para usar o comando
    {
        MoveObject ( Portao, X, Y, Z, 3.0 ) ; // Coordenada do Portгo Aberto
        SetTimerEx ( "FecharPortao", 5000, false, "i", Portao ) ; // Tempo para fechar o portгo, troque 5000 pelo tempo que vocк quiser, 5000 = 5 segundos
        SendClientMessage ( playerid, Amarelo, "[ Tutorial ]: @Sellen" ) ; // Aqui o texto que vocк quiser
        GameTextForPlayer ( playerid, "~b~ Tutorial", 5000, 1); // 5000 = O Tempo para terminar   1 = Tipo da Fonte
    }
    else return SendClientMessage ( playerid, Amarelo, "[ ERRO ]: Vocк nгo estб no local de abrir o portгo" ) ;
    return 1;
}
pawn Код:
COMMAND:abrirportao( playerid ) // Aqui й o nome do comando no caso o meu serб /abrirportao
{
    if ( IsPlayerInRangeOfPoint ( playerid, 10.0, X, Y, Z )) // Coordenada do Local para usar o comando
    {
        MoveObject ( Portao, X, Y, Z, 3.0 ) ; // Coordenada do Portгo Aberto
        SetTimerEx ( "FecharPortao", 5000, false, "i", Portao ) ; // Tempo para fechar o portгo, troque 5000 pelo tempo que vocк quiser, 5000 = 5 segundos
        SendClientMessage ( playerid, Amarelo, "[ Tutorial ]: @Sellen" ) ; // Aqui o texto que vocк quiser
        GameTextForPlayer ( playerid, "~b~ Tutorial", 5000, 1); // 5000 = O Tempo para terminar   1 = Tipo da Fonte
    }
    else return SendClientMessage ( playerid, Amarelo, "[ ERRO ]: Vocк nгo estб no local de abrir o portгo" ) ;
    return 1;
}
X, Y, Z = Coordenada, vocк tem que trocar para a sua
3.0 = Velocidade do Portгo para se mover

Parte #4
Agora vai no final do game mode ou no comeзo e faz isto

pawn Код:
forward FecharPortao ( ) ; public FecharPortao ( ) ;
{
    MoveObject ( Portao, X, Y, Z, 3.0 ) ; // Coloque a Coordenada do Portгo Fechado, 3.0 = Tempo para fechar
    return 1;
}
Parte #5
Agora vai na callback OnPlayerKeyStateChange
pawn Код:
public OnPlayerKeyStateChange ( playerid, newkeys, oldkeys )
{
    if ( ( newkeys == KEY_CROUCH ) ) // KEY_CROUCH й a tecla "H" ou "CTRL"
    {
        OnPlayerCommandText ( playerid, "/abrirportao" ) ; // Aqui o Comando em STRCMP
        cmd_abrirportao( playerid ) ; // Aqui o Comando em ZCMD
    }
Espero que tenham gostado, se gostou comente
Reply
#2

pawn Код:
forward FecharPortao ( portaoid ) ; public FecharPortao ( portaoid ) ;
Isso nгo vai dar certo...

--

Diminui a fonte, estб exageradamente grande.
Reply
#3

pawn Код:
forward FecharPortao ( ) ; public FecharPortao ( ) ;
Vai dar errado..

Explique melhor, diminua a fonte pois o windows jб vem com lupa (para os segos, й claro).
Reply
#4

o lenght nгo й 10
pawn Код:
cmdtext, true, 10 ) == 0 )
E encaminhe a funзгo publica FecharPortao no topo do gm.

@edit Fora isso gostei +rep
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)