Portal SAMP
[Ajuda] Mover objeto constantemente - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Mover objeto constantemente (/showthread.php?tid=785)



Mover objeto constantemente - bruno. - 16/02/2021

Eu quero fazer que um trem que tenho (map) fique se movendo durante o tempo todo na avenida de LS, eu fiz usando a OnGamemodeInit com um settimer ( Com 25s ) para a funcao com os moveobject, mas se eu entrar depois dos 25s o objeto nao se move, e caso eu entre dentre os 25s ele se move mas se eu me desconectar e entrar denovo ele fica congelado a onde eu desconectei.

Alguem pode me ajudar? obrigado.

Código PHP:
// OnGameModeInit

hook OnGameModeInit()
{
    //Aqui vem os CreateObject.
    VTrem SetTimer("MoverTrem1"25000false);

    return 1;
}

//Publics

public MoverTrem1()
{
    MoveObject(gAirportGate[0], 2042.3516000,1683.8585000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[1], 2040.6523000,1689.0587000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[2], 2040.6523000,1689.0587000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[3], 2042.3516000,1694.1583000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[4], 2042.7998000,1688.4601000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[5], 2042.3516000,1682.0587000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[6], 2042.3516000,1685.6583000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[7], 2042.3516000,1692.3585000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[8], 2042.3516000,1695.9591000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[9], 2037.6563000,1683.7589000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[10], 2037.6563000,1694.1583000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[11], 2039.3545000,1689.0587000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[12], 2037.0566000,1688.3585000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[13], 2039.3545000,1689.0587000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[14], 2037.6563000,1682.0587000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[15], 2037.6563000,1685.6583000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[16], 2037.6563000,1692.3585000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[17], 2037.6563000,1695.9591000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[18], 2041.1523000,1692.5587000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[19], 2041.1523000,1685.5587000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[20], 2042.4512000,1696.4591000,12.9000000SpeedTrem);
    MoveObject(gAirportGate[21], 2042.4512000,1692.7589000,12.9000000SpeedTrem);
    MoveObject(gAirportGate[22], 2037.4561000,1680.3585000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[23], 2038.8545000,1685.5587000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[24], 2038.8545000,1692.5587000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[25], 2039.9531000,1688.1583000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[26], 2042.4512000,1682.9591000,11.8000000SpeedTrem);
    MoveObject(gAirportGate[27], 2041.5527000,1684.1583000,5.2000000SpeedTrem);
    MoveObject(gAirportGate[28], 2041.5527000,1678.1583000,5.3000000SpeedTrem);
    MoveObject(gAirportGate[29], 2038.5000000,1693.7609000,5.3000000SpeedTrem);
    MoveObject(gAirportGate[30], 2038.4551000,1699.8585000,5.3000000SpeedTrem);
    //MoveObject(gAirportGate, 2067.0000000,1686.2000000,34.2000000, 5.00);
    SetTimer("MoverTrem2"135000false);
    return 1;
}

public 
MoverTrem2()
{
    MoveObject(gAirportGate[0], 2042.3516000,1065.9980000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[1],  2040.6523000,1071.1982000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[2], 2040.6523000,1071.1982000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[3], 2042.3516000,1076.2979000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[4], 2042.7998000,1070.5996000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[5], 2042.3516000,1064.1982000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[6], 2042.3516000,1067.7979000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[7], 2042.3516000,1074.4980000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[8], 2042.3516000,1078.0986000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[9], 2037.6563000,1065.8984000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[10], 2037.6563000,1076.2979000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[11], 2039.3545000,1071.1982000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[12], 2037.0566000,1070.4980000,12.2000000SpeedTrem);
    MoveObject(gAirportGate[13], 2039.3545000,1071.1982000,9.8000000SpeedTrem);
    MoveObject(gAirportGate[14], 2037.6563000,1064.1982000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[15], 2037.6563000,1067.7979000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[16], 2037.6563000,1074.4980000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[17], 2037.6563000,1078.0986000,12.7000000SpeedTrem);
    MoveObject(gAirportGate[18], 2041.1523000,1074.6982000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[19], 2041.1523000,1067.6982000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[20], 2042.4512000,1078.5986000,12.9000000SpeedTrem);
    MoveObject(gAirportGate[21], 2042.4512000,1074.8984000,12.9000000SpeedTrem);
    MoveObject(gAirportGate[22], 2037.4561000,1062.4980000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[23], 2038.8545000,1067.6982000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[24], 2038.8545000,1074.6982000,8.6000000SpeedTrem);
    MoveObject(gAirportGate[25], 2039.9531000,1070.2979000,12.3000000SpeedTrem);
    MoveObject(gAirportGate[26], 2042.4512000,1065.0986000,11.8000000SpeedTrem);
    MoveObject(gAirportGate[27], 2041.5527000,1066.2979000,5.2000000SpeedTrem);
    MoveObject(gAirportGate[28], 2041.5527000,1060.2979000,5.3000000SpeedTrem);
    MoveObject(gAirportGate[30], 2038.4551000,1081.9980000,5.3000000SpeedTrem);
    SetTimer("MoverTrem1"135000false);

    return 
1;




RE: Mover objeto constantemente - xbruno1000x - 16/02/2021

Teu timer está setado para não ser infinito. Para fazer o que deseja, ao invés de false, deveria usar true.

Código:
VTrem = SetTimer("MoverTrem1", 25000, true);



RE: Mover objeto constantemente - bruno. - 17/02/2021

(16/02/2021 22:03)xbruno1000x Escreveu: Teu timer está setado para não ser infinito. Para fazer o que deseja, ao invés de false, deveria usar true.

Código:
VTrem = SetTimer("MoverTrem1", 25000, true);

Testei aqui, botei como true e no MoverTrem2 usei um KillTimer e funcionou! valeu cara.