pawno.foroactivo.com.es


 
ÍndiceÍndice  CalendarioCalendario  FAQFAQ  BuscarBuscar  MiembrosMiembros  Grupos de UsuariosGrupos de Usuarios  RegistrarseRegistrarse  ConectarseConectarse  

Comparte | 
 

 [Tutorial] Como abrir portones con las teclas

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Admin
Admin
avatar

Mensajes : 88
Fecha de inscripción : 29/05/2010

MensajeTema: [Tutorial] Como abrir portones con las teclas   Dom Mayo 30, 2010 5:29 am

ola, est tutorial lo ago a pticion de denys15, es lo mismo q hacer un porton normal sino q sin comando....

1. Creamos el porton, va a ser con un timer para q c cierre, entoncs qdaria asi ej:

al principio de tdo


Código:

#define COLOR_GREY 0xAFAFAFAA
#define COLOR_RED 0xFF6347AA

new porton;
forward portont(playerid);


en OnGameModeInit creamos el porton y lo definimos


Código:
porton = CreateObject(980, 1590.098145, -1638.104614, 15.224251, 0.000000, 0.000000, 0.000000);//


2.vamos al callback OnPlayerKeyStateChange


Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{


3. definimos la tecla con la q vamos a abrir el porton, en est caso la letra H:


Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_CROUCH)
{




- el KEY_CROUCH significa la letra H so kieren saber las id de las otras teclas vayan al wiki samp....

4. ahora comenzamos a crear el porton, si lo keremos hacerdesde una alguna posicion hacemos a lgo cmo esto:


Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_CROUCH)
{
if (PlayerToPoint(30, playerid,1580.8282,-1629.1621,13.3828))
{

Nota: si no tienen la funcion definida aka la djo:


Spoiler:
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);//esto va al principio

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);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}

5. seguimos, ahora si vamos acrear el porton


Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_CROUCH)
{
if (PlayerToPoint(30, playerid,1580.8282,-1629.1621,13.3828))
{
SetTimer("portont", 12000, 0);
MoveObject(porton, 1590.098145, -1638.104614, 9, 3.0);
SendClientMessage(playerid, COLOR_RED,"Las Rejas estas abiertas y se serraran en 7 segundos");
}
else
{
SendClientMessage(playerid, COLOR_GREY,"Estas demasiado lejos para abrir la puerta.");
}
return 1;
}
return 1;
}



ahora les explixo el moveobject al lado idce porton, porton es la puerta q definimos, asi la puede mover, la puerta se va a mover acia abajo porq cambiamos la coordenada Z q es el umero 9 ants era -15.224251 el 3.0 de lo ultimo es la velocidad a la q c va a mover el porton, el settimer es el tiempo q ahy q esperar para q c cierre el porton, uds puedn modificarlo...

6. ahora a definir el timer de la puerta


Código:
public portont(playerid)
{
MoveObject(porton,1590.098145, -1638.104614, 15.224251, 2.5);
return 1;
}


ahy las coordenadas son la posicion original de la puerta...

tutorial echo por mi...

y listo creo q eso es tdo, si ahy algun error o falta algo solo avisenme....

aka djo un FS d prueba, la puerta esta en lspd:

megaupload.com CMU06C11


Última edición por Trenico el 17 May 2010, 20:57, editado 3 veces en total
Volver arriba Ir abajo
Ver perfil de usuario http://pawno.foroactivo.com.es
 
[Tutorial] Como abrir portones con las teclas
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Como abrir una carta sin que se note
» [Tutorial] Como jugar a juegos de Nintendo DS en el móvil
» COMO ABRIR FARO DELANTERO DE COUPE PARA PINTARLO
» algo para abrir el apetito a mi bebe de 15 meses?
» Tutorial abrigo de porteo

Permisos de este foro:No puedes responder a temas en este foro.
pawno.foroactivo.com.es :: Tutoriales-
Cambiar a: