[Tutorial] Criando Portao Basico com uso de KEY
#1

Bom 1 vamos comecar pela Variavel Logico
pawn Код:
new Portaotuto; //aki o nomedo portao ea Variavel!!!
bom agora vamos Criar o Object = Portao!!!

Код:
	Portaotuto = CreateDynamicObject(980, X,Y,Z);//Portaotuto poi o nome da variavel usada acima!! XYZ as Cordenadas/// 980 o Modelo do Portao
Tudo ok ate aki!!!

Agora vamos criar o Comando que Ira Abrir o Portao! em OnPlayerCommand
pawn Код:
if(strcmp(cmdtext, "/portaotutoa", true) == 0){//CMD PARA ABRIR
        MoveObject(Portaotuto, X, Y, Z, 2.0);// Aqui sao as Cordenadas do Portao aberto eo 2.0 a velocidade
        SendClientMessage(playerid, 0x00000FF00, "Portaotuto Aberto.");//Mensagem que ira aparecer para o Player que ira abrir o Portao
        return 1;}
Agora vamos Fazer mesma coisa soque para Fechar o Portao!! em OnPlayerCommand

pawn Код:
if(strcmp(cmdtext, "/portaotutof", true) == 0){//COMANDO QUE IRA ABRIRA O PORTAO!!
        MoveObject(Portaotuto, X, Y, Z, 2.0);// Aqui sao as Cordenadas do Portao Fechado sera o msm que voce coloco no CreateDynamicObject eo 2.0 a velocidade
        SendClientMessage(playerid, 0x00000FFFF, "Portaotuto Fechado!!!.");//Mensagem que ira aparecer para o Player que ira Fechar  o Portao
        return 1;}
QUEM NAO FOR COLOCAR KEY PULE ESSE PASSO

Para quem quiser colocar com Key estarei Disponibilizando!! EM OnPlayerKeyStateChange

Aki utilizei a Key F para abrir
pawn Код:
if (newkeys==KEY_SECONDARY_ATTACK){//Key que usara para abrir!!!
if(PlayerToPoint(3.0, playerid, X,Y,Z)){//Cordenadas que o Player tera para abrir o portao!!
MoveObject(Portaotuto, X, Y, Z, 2.0);}//Cordenadas Que ira abrir o Portao
return 1;}
Agora a KEY para Fechar o Portao EM OnPlayerKeyStateChange

Aki utilizei a KEY "N" para fechar o portao!!
pawn Код:
if (newkeys==KEY_NO){//Key que usara para abrir!!!
if(PlayerToPoint(3.0, playerid, X,Y,Z)){//Cordenadas que o Player tera para fechar o portao a mesma a key acima!!
MoveObject(Portaotuto, X, Y, Z, 2.0);}//Cordenadas Que ira fechar o Portao
return 1;}

Код:
 LEMBRANDO ESSE EO BASICO SE EU FIZER O AVANCADO SERIA MULTI GRANDE PREFIRI 
FAZER O BASICO VOU FAZER O AVANCADO EM VIDEO
acaso quem nao tenha a Stock PlayerToPoint quase imposivel '-' esta aki

pawn Код:
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        tempposx = (oldposx -x);
        tempposy = (oldposy -y);
        tempposz = (oldposz -z);
        if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
        {
            return 1;
        }
    }
    return 0;
}
Reply
#2

Quote:
Originally Posted by MonFiTy
Посмотреть сообщение
acaso quem nao tenha a Stock PlayerToPoint quase imposivel '-' esta aki

pawn Код:
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        tempposx = (oldposx -x);
        tempposy = (oldposy -y);
        tempposz = (oldposz -z);
        if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
        {
            return 1;
        }
    }
    return 0;
}
https://sampwiki.blast.hk/wiki/IsPlayerInRangeOfPoint
Reply
#3

esqueci de colocar a WIki iCastel Vlw'-'
Reply
#4

Tem como melhorar isso.

Cade a explicaзгo de CreateDynamicObject
Poderia explicar com SetTimer tambйm.

IsPlayerInRangeOfPoint...

Dъvida:
Se criou o objeto com CreateDynamicObject, o certo nгo seria MoveDynamicObject?

Se eu fosse novato eu me perderia no Dynamic por nгo conhecer a streamer, nгo explico oque realmente й a Key.
Tem para melhorar muito.
4/10
Reply
#5

Alucard fis o Basico vou fazer o AVANCADO vai conter tudo SetTimer Uso de msm key para abrir e fechar Explicacao Mais Panoramicas
Reply
#6

Quote:
Originally Posted by MonFiTy
Посмотреть сообщение
Alucard fis o Basico vou fazer o AVANCADO vai conter tudo SetTimer Uso de msm key para abrir e fechar Explicacao Mais Panoramicas
Era melhor ter postado o avanзado, pois existem vбrios tutoriais de como criar portхes.
E vamos ser sinceros, estгo bem melhor que esse, poste o avanзado
Reply
#7

Da pra melhorar muito!
Reply
#8

3/10
Reply
#9

Quote:
Originally Posted by Schocc
Посмотреть сообщение
3/10
Se este tutorial fosse postado hoje, sua nota, neste caso seria 2/10.

Luis Miki, nao й sу porque vocк entende de um assunto que sai dando nota baixa.

Todo o tutorial tem sua finalidade.

Se ele postou, ele quer ajudar alguйm.

Nao to pagando de justiceiro, afinal, quem sou eu para ser um manjador dos paranauк ?

Veja os tutoriais antigos do Fуrum SA-MP, veja a possнvel "baixa qualidade" que eles tinham e veja as notas que eles levaram.

Й isso que tenho a dizer, Luнs.

@Tуpico: Vai ajudar muitos novatos +REP
Reply
#10

Quote:
Originally Posted by BielCOP
Посмотреть сообщение
Luis Miki,

Й isso que tenho a dizer, Luнs.
WTF


..

Poderia ter melhorado, mas fico bom..
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)