[AYUDA]їComo pasar a la siguiente cбmara y volver si quiero?
#1

Hola amigos! Encontrй un FS que son 4 cбmaras de seguridad...


Estб muy bueno, la cosa es la siguiente :

El FS tiene 4 flechas, cada flecha, es una cбmara, pero yo lo que quiero hacer es sacar la flecha de arriba y la de abajo (facil) y hacer que la flecha izquiera y la derecha muevan diferentes cбmaras.

(acб ven como es):



Bueno, como dije, este FS tiene solamente 4 cбmaras, mi idea es poner al menos 10 camaras, y que con la flecha de la derecha vayas de la 1 a la 10 y con la de la izquierda, vuelvas de la 10 a la 1. Es decir, estoy en la cбmara 5 y paso a la 6, peero entonces quiero volver a la 5, apreto la flecha izquierda y vuelvo. Asн seria.


El sistema que emplea para hacer click a la flecha :


Quote:

if(clickedid == TextdrawLeft){
SetPlayerCameraPos(playerid,1813.000,-1939.000,38.000);
SetPlayerCameraLookAt(playerid,1816.000,-1923.000,26.000);
PlayerPlaySound(playerid, 21000, 0, 0, 0);
return 1;
}
else if(clickedid == TextdrawRight){
SetPlayerCameraPos(playerid,1023.000,-1116.000,70.000);
SetPlayerCameraLookAt(playerid,1032.000,-1121.000,68.000);
PlayerPlaySound(playerid, 21000, 0, 0, 0);
return 1;
}

Reply
#2

Debes de usar variables!
Reply
#3

Quote:
Originally Posted by adri1
Посмотреть сообщение
Debes de usar variables!
No me dices mucho con eso ):
Reply
#4

pawn Код:
new CamaraSiguiente[MAX_PLAYERS];

switch(CamaraSiguiente[playerid]) {
    case 0: {
    CamaraSiguiente[playerid]++;
    //ACA LA FUNCIN DE LA CAMARA 1
    }
    case 1: {
    CamaraSiguiente[playerid]++;
    //ACA LA FUNCIN DE LA CAMARA 2
    }
    case 2: {
    CamaraSiguiente[playerid]++;
    //ACA LA FUNCIN DE LA CAMARA 3
    }
    case 3: {
    CamaraSiguiente[playerid]=0;
    //ACA LA FUNCIN DE LA CAMARA 4 , ETC...
    }
}
Reply
#5

Quote:
Originally Posted by OTACON
Посмотреть сообщение
pawn Код:
new CamaraSiguiente[MAX_PLAYERS];

switch(CamaraSiguiente[playerid]) {
    case 0: {
    CamaraSiguiente[playerid]++;
    //ACA LA FUNCIN DE LA CAMARA 1
    }
    case 1: {
    CamaraSiguiente[playerid]++;
    //ACA LA FUNCIN DE LA CAMARA 2
    }
    case 2: {
    CamaraSiguiente[playerid]++;
    //ACA LA FUNCIN DE LA CAMARA 3
    }
    case 3: {
    CamaraSiguiente[playerid]=0;
    //ACA LA FUNCIN DE LA CAMARA 4 , ETC...
    }
}
Quedarнa asн ?

Quote:

else if(clickedid == TextdrawRight){

new CamaraSiguiente[MAX_PLAYERS];

switch(CamaraSiguiente[playerid]) {
case 0: {
CamaraSiguiente[playerid]++;
//ACA LA FUNCIN DE LA CAMARA 1
}
case 1: {
CamaraSiguiente[playerid]++;
//ACA LA FUNCIN DE LA CAMARA 2
}
case 2: {
CamaraSiguiente[playerid]++;
//ACA LA FUNCIN DE LA CAMARA 3
}
case 3: {
CamaraSiguiente[playerid]=0;
//ACA LA FUNCIN DE LA CAMARA 4 , ETC...
}
}
return 1;
}

Reply
#6

Quote:
Originally Posted by Leososa
Посмотреть сообщение
Quedarнa asн ?
si, pero el new CamaraSiguiente colocalo arriba de todo, debajo de los includes.
Reply
#7

Deja el cуdigo de los TextDraws y creo algo decente.
Reply
#8

Quote:
Originally Posted by OTACON
Посмотреть сообщение
si, pero el new CamaraSiguiente colocalo arriba de todo, debajo de los includes.
Y para el de volver?
Reply
#9

Quote:
Originally Posted by OTACON
Посмотреть сообщение
si, pero el new CamaraSiguiente colocalo arriba de todo, debajo de los includes.
ahm....lo estoy armando asн :


pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
new CamaraSiguiente[MAX_PLAYERS];
{
    if(clickedid == TextdrawLeft){
    switch(CamaraSiguiente[playerid]) {
        case 0: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1536.0740, -1574.2463, -10);
        SetPlayerCameraPos(playerid, 1536.0740, -1574.2463, 79.0498);
        SetPlayerCameraLookAt(playerid, 1536.1016, -1575.2502, 78.2048);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
        case 1: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1411.1177, -1670.9492, -10);
        SetPlayerCameraPos(playerid, 1411.1177, -1670.9492, 40.1561);
        SetPlayerCameraLookAt(playerid, 1411.7242, -1671.7493, 39.9011);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
        case 2: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1562.5229, -1675.1454, -10.0338);
        SetPlayerCameraPos(playerid, 1562.5229, -1675.1454, 61.0338);
        SetPlayerCameraLookAt(playerid, 1561.5195, -1675.1298, 60.1438);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
        case 3: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1833.7505, -1837.3197, -10.0412);
        SetPlayerCameraPos(playerid, 1833.7505, -1837.3197, 28.0412);
        SetPlayerCameraLookAt(playerid, 1832.9574, -1837.9335, 27.8662);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
    return 1;
        }
        else if(clickedid == TextdrawRight){
        SetPlayerCameraPos(playerid,1023.000,-1116.000,70.000);
        SetPlayerCameraLookAt(playerid,1032.000,-1121.000,68.000);
    PlayerPlaySound(playerid, 21000, 0, 0, 0);
    return 1;
        }
pero no sй como hacer para que al apretar el derecho vuelva las cбmaras hacia atrбs. їAlguna idea?

Quote:
Originally Posted by Leososa
Посмотреть сообщение
ahm....lo estoy armando asн :


pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
new CamaraSiguiente[MAX_PLAYERS];
{
    if(clickedid == TextdrawLeft){
    switch(CamaraSiguiente[playerid]) {
        case 0: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1536.0740, -1574.2463, -10);
        SetPlayerCameraPos(playerid, 1536.0740, -1574.2463, 79.0498);
        SetPlayerCameraLookAt(playerid, 1536.1016, -1575.2502, 78.2048);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
        case 1: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1411.1177, -1670.9492, -10);
        SetPlayerCameraPos(playerid, 1411.1177, -1670.9492, 40.1561);
        SetPlayerCameraLookAt(playerid, 1411.7242, -1671.7493, 39.9011);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
        case 2: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1562.5229, -1675.1454, -10.0338);
        SetPlayerCameraPos(playerid, 1562.5229, -1675.1454, 61.0338);
        SetPlayerCameraLookAt(playerid, 1561.5195, -1675.1298, 60.1438);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
        case 3: {
        CamaraSiguiente[playerid]++;
        SetPlayerPos(playerid, 1833.7505, -1837.3197, -10.0412);
        SetPlayerCameraPos(playerid, 1833.7505, -1837.3197, 28.0412);
        SetPlayerCameraLookAt(playerid, 1832.9574, -1837.9335, 27.8662);
        SetPlayerInterior(playerid,0);
        TogglePlayerControllable(playerid, 0);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
        }
    return 1;
        }
        else if(clickedid == TextdrawRight){
        SetPlayerCameraPos(playerid,1023.000,-1116.000,70.000);
        SetPlayerCameraLookAt(playerid,1032.000,-1121.000,68.000);
    PlayerPlaySound(playerid, 21000, 0, 0, 0);
    return 1;
        }
pero no sй como hacer para que al apretar el derecho vuelva las cбmaras hacia atrбs. їAlguna idea?
No sй que hice mal. Pero me crashea el pawno al compilar.


HELP ME PLS
Reply
#10

pawn Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    new CamaraSiguiente[MAX_PLAYERS];
   
    if(clickedid == TextdrawLeft)
    {
        switch(CamaraSiguiente[playerid])
        {
            case 0:
            {
                CamaraSiguiente[playerid]++;
                SetPlayerPos(playerid, 1536.0740, -1574.2463, -10);
                SetPlayerCameraPos(playerid, 1536.0740, -1574.2463, 79.0498);
                SetPlayerCameraLookAt(playerid, 1536.1016, -1575.2502, 78.2048);
                SetPlayerInterior(playerid,0);
                TogglePlayerControllable(playerid, 0);
                PlayerPlaySound(playerid, 21000, 0, 0, 0);
            }
            case 1:
            {
                CamaraSiguiente[playerid]++;
                SetPlayerPos(playerid, 1411.1177, -1670.9492, -10);
                SetPlayerCameraPos(playerid, 1411.1177, -1670.9492, 40.1561);
                SetPlayerCameraLookAt(playerid, 1411.7242, -1671.7493, 39.9011);
                SetPlayerInterior(playerid,0);
                TogglePlayerControllable(playerid, 0);
                PlayerPlaySound(playerid, 21000, 0, 0, 0);
            }
            case 2:
            {
                CamaraSiguiente[playerid]++;
                SetPlayerPos(playerid, 1562.5229, -1675.1454, -10.0338);
                SetPlayerCameraPos(playerid, 1562.5229, -1675.1454, 61.0338);
                SetPlayerCameraLookAt(playerid, 1561.5195, -1675.1298, 60.1438);
                SetPlayerInterior(playerid,0);
                TogglePlayerControllable(playerid, 0);
                PlayerPlaySound(playerid, 21000, 0, 0, 0);
            }
            case 3:
            {
                CamaraSiguiente[playerid]++;
                SetPlayerPos(playerid, 1833.7505, -1837.3197, -10.0412);
                SetPlayerCameraPos(playerid, 1833.7505, -1837.3197, 28.0412);
                SetPlayerCameraLookAt(playerid, 1832.9574, -1837.9335, 27.8662);
                SetPlayerInterior(playerid,0);
                TogglePlayerControllable(playerid, 0);
                PlayerPlaySound(playerid, 21000, 0, 0, 0);
            }
        }
    }
    else if(clickedid == TextdrawRight)
    {
        SetPlayerCameraPos(playerid,1023.000,-1116.000,70.000);
        SetPlayerCameraLookAt(playerid,1032.000,-1121.000,68.000);
        PlayerPlaySound(playerid, 21000, 0, 0, 0);
    }
    return 1;
}
1є: Te faltaban llaves.
2є: Te organizй el cуdigo correctamente.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)