[Ayuda] Con MoveObject
#1

Serй breve, tengo una barra que abre y sirve bien pero la animaciуn de movimiento no sale, a lo que me refiero es que cuando abre se va directo hacia donde deberнa abrirse pero muy rбpido.. no se abre lentamente como los otros objetos.

A continuaciуn les dejo el cуdigo:

pawn Код:
new BarrierLSPD;

public OnGameModeInit()
{
        BarrierLSPD = CreateObject(968, 1544.71228, -1630.80835, 13.16060,   0.00000, -90.00000, -90.00000);
        return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((newkeys & KEY_CROUCH) && !(oldkeys & KEY_CROUCH))
{
    if(Informacion[playerid][Faccion] == 1)
    {
        if(IsPlayerInRangeOfPoint(playerid, 10.0, 1544.70496, -1630.79773, 12.96850))
        {
            MoveObject(BarrierLSPD, 1544.71228, -1630.80835, 13.16060, 3.0, 0.00000, 0.00000, -90.00000);
            SetTimerEx("CloseBarrier", 6000, false, "i", playerid);
                }
    }
}

return 1;
}

public CloseBarrier(playerid)
{
    MoveObject(BarrierLSPD, 1544.71228, -1630.80835, 13.16060, 3.0, 0.00000, -90.00000, -90.00000);
    return 1;
}
Espero y me puedan decir cual es el error, ya intente de todo asta cambiar el 3.0 a diferentes valores y nada :/ gracias de antemano.
Reply
#2

PHP код:
new BarrierLSPD;
public 
OnGameModeInit(){
    
BarrierLSPD CreateObject(9681544.71228, -1630.8083513.16060,   0.00000, -90.00000, -90.00000);
    
    return 
true;
}
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys){
    if((
newkeys KEY_CROUCH) && !(oldkeys KEY_CROUCH)){
        if(
Informacion[playerid][Faccion] == 1){
            if(
IsPlayerInRangeOfPoint(playerid10.01544.70496, -1630.7977312.96850)){
                 
MoveObject(BarrierLSPD1544.71228, -1630.8083513.16060+000.1000.10.000000.00000, -90.00000);
                   
SetTimerEx("CloseBarrier"6000false"i"playerid);
             }
        }
    }
    
    return 
true;
}
public 
CloseBarrier(playerid){
    
MoveObject(BarrierLSPD1544.71228, -1630.8083513.16060-000.1000.10.00000, -90.00000, -90.00000);
    return 
true;

NOTA: lo que debes hacer es colocar en la velocidad el tiempo de 000.1 y sumarle 000.1 a la coordenada Z para subir la barrera, para cuando baja , lo mismo pero le restas. (no recuerdo si era 000.1 o 000.2, prueba).

saludos.
Reply
#3

Quote:
Originally Posted by OTACON
Посмотреть сообщение
PHP код:
new BarrierLSPD;
public 
OnGameModeInit(){
    
BarrierLSPD CreateObject(9681544.71228, -1630.8083513.16060,   0.00000, -90.00000, -90.00000);
    
    return 
true;
}
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys){
    if((
newkeys KEY_CROUCH) && !(oldkeys KEY_CROUCH)){
        if(
Informacion[playerid][Faccion] == 1){
            if(
IsPlayerInRangeOfPoint(playerid10.01544.70496, -1630.7977312.96850)){
                 
MoveObject(BarrierLSPD1544.71228, -1630.8083513.16060+000.1000.10.000000.00000, -90.00000);
                   
SetTimerEx("CloseBarrier"6000false"i"playerid);
             }
        }
    }
    
    return 
true;
}
public 
CloseBarrier(playerid){
    
MoveObject(BarrierLSPD1544.71228, -1630.8083513.16060-000.1000.10.00000, -90.00000, -90.00000);
    return 
true;

NOTA: lo que debes hacer es colocar en la velocidad el tiempo de 000.1 y sumarle 000.1 a la coordenada Z para subir la barrera, para cuando baja , lo mismo pero le restas. (no recuerdo si era 000.1 o 000.2, prueba).

saludos.
Muchas gracias man, funciono muy bien con 000.1
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)