Porque me abre la casa que no es
#1

Bueno, he echo un sistema de robar casas, y bueno, cuando forzo la puerta, me abre la de LS, cuando la que quiero abirir es la de los santos, porque me pasa esto?


pawn Код:
CMD:forzar(playerid, params[])
{
//News//
new nivel = Info[playerid][pLadronc];
new string[160];
//===================================================================================//
//==============================Casa Corona==========================================//
//===================================================================================//
if(!IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541))
    {
       if(Info[playerid][pLevel] < 6) return SendClientMessageEx(playerid, COLOR_GRAD2, "Sуlo los usuarios mayor a nivel 6 pueden robar las casas");
       if(PuertaCorona == 1) return SendClientMessage(playerid, COLOR_WHITE, "Los vecinos estбn alerta, no puedes forzar aъn.");
        {
        if(IsPlayerInAnyVehicle(playerid)) { SendClientMessageEx(playerid, COLOR_WHITE, "Debes estar de pie en la puerta para forzar"); return 1; }
          if(nivel >= 0 && nivel <= 49)
          {
              //Mensajes
              GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",20000,3);
              SendClientMessage(playerid, COLOR_WHITE, "Estбs forzando la cerradura, espera {0071FF}20 segundos");
              format(string, sizeof(string), "* %s saco un martillo y comenzу a romper la puerta de la casa.", GetPlayerNameEx(playerid));
              ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
              //Variables
              PuertaCorona = 1;
              Info[playerid][pEstadoC] = 1;
              //Sonido
              PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
              Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
              //Animaciones y objetos
              SetPlayerAttachedObject(playerid,4,18635,6,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000);
              ApplyAnimation(playerid,"BASEBALL","bat_part",4.1,1,1,0,0,0);
              //Timers
              KillTimer(Timer_CasaCorona[playerid]); //Matar Tiempo de forzar
              KillTimer(Timer_CasaCoronaAbrir[playerid]); //Matar Tiempo de forzar
              Timer_CasaCoronaAbrir[playerid] = SetTimer("AbrirPuertaCorona", 1200*1000, 1); //Volver a abrir puerta
              Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerraduraCoronaL1",20000,0,"i",playerid); //Tiempo forzando
          }
          if(nivel >= 50 && nivel <= 99)
          {
              //Mensajes
              GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",15000,3);
              SendClientMessage(playerid, COLOR_WHITE, "Estбs forzando la cerradura, espera {0071FF}15 segundos");
              format(string, sizeof(string), "* %s saco un martillo y comenzу a romper la puerta de la casa.", GetPlayerNameEx(playerid));
              ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
              //Variables
              PuertaCorona = 1;
              Info[playerid][pEstadoC] = 1;
              //Sonido
              PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
              Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
              //Animaciones y objetos
              SetPlayerAttachedObject(playerid,4,18635,6,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000);
              ApplyAnimation(playerid,"BASEBALL","bat_part",4.1,1,1,0,0,0);
              //Timers
              KillTimer(Timer_CasaCorona[playerid]); //Matar Tiempo de forzar
              KillTimer(Timer_CasaCoronaAbrir[playerid]); //Matar Tiempo de forzar
              Timer_CasaCoronaAbrir[playerid] = SetTimer("AbrirPuertaCorona", 1200*1000, 1); //Volver a abrir puerta
              Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerraduraCoronaL2",15000,0,"i",playerid); //Tiempo forzando
          }
          if(nivel >= 100 && nivel <= 99999)
          {
              //Mensajes
              GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",12000,3);
              SendClientMessage(playerid, COLOR_WHITE, "Estбs forzando la cerradura, espera {0071FF}12 segundos");
              format(string, sizeof(string), "* %s saco un destornillador y comenzo a quitar la cerradura.", GetPlayerNameEx(playerid));
              ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
              //Variables
              PuertaCorona = 1;
              Info[playerid][pEstadoC] = 1;
              //Sonido
              PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
              Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
              //Animaciones y objetos
              SetPlayerAttachedObject(playerid,4,18644, 5, 0.083000, 0.000000, -0.005000, -157.299957, -16.300003, -161.600021, 1.000000, 1.000000, 1.000000, 0, 0);
              ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.1,0,0,0,0,13000,0);
              //Timers
              KillTimer(Timer_CasaCorona[playerid]); //Matar Tiempo de forzar
              KillTimer(Timer_CasaCoronaAbrir[playerid]); //Matar Tiempo de forzar
              Timer_CasaCoronaAbrir[playerid] = SetTimer("AbrirPuertaCorona", 1200*1000, 1); //Volver a abrir puerta
              Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerraduraCoronaL3",12000,0,"i",playerid); //Tiempo forzando
              }
         }
    }
//======================================================================================//
//===================================Casa Garcia========================================//
//======================================================================================//
else if(!IsPlayerInRangeOfPoint(playerid,2,-2396.2637,39.5586,35.8910))
{
       if(Info[playerid][pLevel] < 6) return SendClientMessageEx(playerid, COLOR_GRAD2, "Sуlo los usuarios mayor a nivel 6 pueden robar las casas");
       if(PuertaGarcia == 1) return SendClientMessage(playerid, COLOR_WHITE, "Los vecinos estбn alerta, no puedes forzar aъn.");
        {
        if(IsPlayerInAnyVehicle(playerid)) { SendClientMessageEx(playerid, COLOR_WHITE, "Debes estar de pie en la puerta para forzar"); return 1; }
          if(nivel >= 0 && nivel <= 49)
          {
              //Mensajes
              GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",20000,3);
              SendClientMessage(playerid, COLOR_WHITE, "Estбs forzando la cerradura, espera {0071FF}20 segundos");
              format(string, sizeof(string), "* %s saco un martillo y comenzу a romper la puerta de la casa.", GetPlayerNameEx(playerid));
              ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
              //Variables
              PuertaGarcia = 1;
              Info[playerid][pEstadoC] = 1;
              //Sonido
              PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
              Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
              //Animaciones y objetos
              SetPlayerAttachedObject(playerid,4,18635,6,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000);
              ApplyAnimation(playerid,"BASEBALL","bat_part",4.1,1,1,0,0,0);
              //Timers
              KillTimer(Timer_CasaGarcia[playerid]); //Matar Tiempo de forzar
              KillTimer(Timer_CasaGarciaAbrir[playerid]); //Matar Tiempo de forzar
              Timer_CasaGarciaAbrir[playerid] = SetTimer("AbrirPuertaGarcia", 1200*1000, 1); //Volver a abrir puerta
              Timer_CasaGarcia[playerid] = SetTimerEx("ForzandoCerraduraGarciaL1",20000,0,"i",playerid); //Tiempo forzando
          }
          if(nivel >= 50 && nivel <= 99)
          {
              //Mensajes
              GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",15000,3);
              SendClientMessage(playerid, COLOR_WHITE, "Estбs forzando la cerradura, espera {0071FF}15 segundos");
              format(string, sizeof(string), "* %s saco un martillo y comenzу a romper la puerta de la casa.", GetPlayerNameEx(playerid));
              ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
              //Variables
              PuertaGarcia = 1;
              Info[playerid][pEstadoC] = 1;
              //Sonido
              PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
              Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
              //Animaciones y objetos
              SetPlayerAttachedObject(playerid,4,18635,6,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000);
              ApplyAnimation(playerid,"BASEBALL","bat_part",4.1,1,1,0,0,0);
              //Timers
              KillTimer(Timer_CasaGarcia[playerid]); //Matar Tiempo de forzar
              KillTimer(Timer_CasaGarciaAbrir[playerid]); //Matar Tiempo de forzar
              Timer_CasaGarciaAbrir[playerid] = SetTimer("AbrirPuertaGarcia", 1200*1000, 1); //Volver a abrir puerta
              Timer_CasaGarcia[playerid] = SetTimerEx("ForzandoCerraduraGarciaL2",15000,0,"i",playerid); //Tiempo forzando
          }
          if(nivel >= 100 && nivel <= 99999)
          {
              //Mensajes
              GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",12000,3);
              SendClientMessage(playerid, COLOR_WHITE, "Estбs forzando la cerradura, espera {0071FF}12 segundos");
              format(string, sizeof(string), "* %s saco un destornillador y comenzo a quitar la cerradura.", GetPlayerNameEx(playerid));
              ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
              //Variables
              PuertaGarcia = 1;
              Info[playerid][pEstadoC] = 1;
              //Sonido
              PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
              Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
              //Animaciones y objetos
              SetPlayerAttachedObject(playerid,4,18644, 5, 0.083000, 0.000000, -0.005000, -157.299957, -16.300003, -161.600021, 1.000000, 1.000000, 1.000000, 0, 0);
              ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.1,0,0,0,0,13000,0);
              //Timers
              KillTimer(Timer_CasaGarcia[playerid]); //Matar Tiempo de forzar
              KillTimer(Timer_CasaGarciaAbrir[playerid]); //Matar Tiempo de forzar
              Timer_CasaGarciaAbrir[playerid] = SetTimer("AbrirPuertaGarcia", 1200*1000, 1); //Volver a abrir puerta
              Timer_CasaGarcia[playerid] = SetTimerEx("ForzandoCerraduraGarciaL3",12000,0,"i",playerid); //Tiempo forzando
              }
         }
    }
    return 1;
}
Reply
#2

Te abre la de ls y enrealidad la que quieres abrir es la de los santos mmmm interesante.
Reply
#3

No jota, el comando teine dos casas, una en LS y otra en SF

pawn Код:
if(!IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541)) //LS
else if(!IsPlayerInRangeOfPoint(playerid,2,-2396.2637,39.5586,35.8910)) //SF
Reply
#4

Quote:

Bueno, he echo un sistema de robar casas, y bueno, cuando forzo la puerta, me abre la de LS, cuando la que quiero abirir es la de los santos, porque me pasa esto?

me abre la de LS, cuando la que quiero abirir es la de los santos

Edit: no deberнa de ser asн?:

pawn Код:
if(IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541))
Porque usas el: !
Reply
#5

LOL, disculpa me abre la de Los Santos cuando quiero abrir la de San fierro, osea fuerzo y todo la puerta, pero enves de hacer el timer de SF hace el de LS

pawn Код:
Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerraduraCoronaL1",20000,0,"i",playerid); //Tiempo forzando
me hace ese, y no deberia.. he compilado mas de 10 veces buscando la forma de como repararlo pero nada, me sigue igual.
Reply
#6

Quote:
Originally Posted by Metzone
Посмотреть сообщение
LOL, disculpa me abre la de Los Santos cuando quiero abrir la de San fierro, osea fuerzo y todo la puerta, pero enves de hacer el timer de SF hace el de LS

pawn Код:
Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerraduraCoronaL1",20000,0,"i",playerid); //Tiempo forzando
me hace ese, y no deberia.. he compilado mas de 10 veces buscando la forma de como repararlo pero nada, me sigue igual.
El problema que veo es que estбs poniendo una condicional que indica que: aprueba si no estб en йsa coordenada

pawn Код:
if(!IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541))// si no estб en 1712.5415,-2099.9934,13.9541 se aprueba la condicional.
Deberнa de ser asн:
pawn Код:
if(IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541))// Si estб en 1712.5415,-2099.9934,13.9541 se aprueba йsta condicional.
Tienes puesto un signo de admiraciуn ! y йsta se usa para comprobar que dos variables no sean las mismas.
Reply
#7

pawn Код:
#define CASA_CORONA 1
#define CASA_GARCIA 2

new
    bool:RoboCasas[2] = {false, ...};

CMD:forzar(playerid, params[])
{
    new
        seconds = 20,
        house;

    if(Info[playerid][pLevel] < 6)
        return SendClientMessageEx(playerid, COLOR_GRAD2, "Sуlo los usuarios mayor a nivel 6 pueden robar las casas");

    if(IsPlayerInAnyVehicle(playerid))
        return SendClientMessageEx(playerid, COLOR_WHITE, "Debes estar de pie en la puerta para forzar");

    // CORONA
    if(IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541)){
        house = CASA_CORONA;
    }
    // GARCIA
    else if(IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541)){
        house = CASA_GARCIA;
    }
    else
    {
        // Ninguna casa..
        return 1;
    }
    if(RoboCasas[house] == true)
        return SendClientMessage(playerid, COLOR_WHITE, "Los vecinos estбn alerta, no puedes forzar aъn.");

    new
        string[128];

    format(string, sizeof(string), "* %s saco un martillo y comenzу a romper la puerta de la casa.", GetPlayerNameEx(playerid));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    Info[playerid][pEstadoC] = 1
    PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
    Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
    SetPlayerAttachedObject(playerid,4,18635,6,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000);
    ApplyAnimation(playerid,"BASEBALL","bat_part",4.1,1,1,0,0,0);
    KillTimer(Timer_CasaCorona[playerid]); //Matar Tiempo de forzar
    KillTimer(Timer_CasaCoronaAbrir[playerid]); //Matar Tiempo de forzar
    GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",1000*seconds, 3);
    format(string, sizeof(string), "Estбs forzando la cerradura, espera {0071FF}%d segundos", seconds);
    SendClientMessage(playerid, COLOR_WHITE, string);
   
    RoboCasas[house] = true;
    switch(Info[playerid][pLadronc]){
        case 0 .. 49:{
            seconds = 20;
        }
        case 50 .. 99:{
            seconds = 15;
        }
        default:{
            if(nivel > 99){
               seconds = 12;
            }
        }
    }
    Timer_CasaCoronaAbrir[playerid] = SetTimerEx("AbrirPuerta", 1200*1000, false, "d", house);
}

forward ForzandoCerradura(playerid, houseid); public ForzandoCerradura(playerid, houseid)
{
    // Codigo..
}

forward AbrirPuerta(playerid, houseid); public AbrirPuerta(playerid, houseid)
{
    // Codigo..
}
No entendн muy bien tu sistema, habнan cosas de las que yo dudaba si te habias equivocado o no, intйntalo asн :P
Reply
#8

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
pawn Код:
#define CASA_CORONA 1
#define CASA_GARCIA 2

new
    bool:RoboCasas[2] = {false, ...};

CMD:forzar(playerid, params[])
{
    new
        string[160],
        seconds = 20;

    if(IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541) || IsPlayerInRangeOfPoint(playerid,2,-2396.2637,39.5586,35.8910))
    {
        if(Info[playerid][pLevel] < 6)
            return SendClientMessageEx(playerid, COLOR_GRAD2, "Sуlo los usuarios mayor a nivel 6 pueden robar las casas");

        if(RoboCasas[CASA_CORONA] == true)
            return SendClientMessage(playerid, COLOR_WHITE, "Los vecinos estбn alerta, no puedes forzar aъn.");

        if(IsPlayerInAnyVehicle(playerid))
            return SendClientMessageEx(playerid, COLOR_WHITE, "Debes estar de pie en la puerta para forzar");

        format(string, sizeof(string), "* %s saco un martillo y comenzу a romper la puerta de la casa.", GetPlayerNameEx(playerid));
        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        Info[playerid][pEstadoC] = 1
        PlayerPlaySound(playerid,1002,0.0,0.0,0.0);
        Timer_Telefono[playerid] = SetTimerEx("Reproducir", 1000, true, "i", playerid);
        SetPlayerAttachedObject(playerid,4,18635,6,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000);
        ApplyAnimation(playerid,"BASEBALL","bat_part",4.1,1,1,0,0,0);
        KillTimer(Timer_CasaCorona[playerid]); //Matar Tiempo de forzar
        KillTimer(Timer_CasaCoronaAbrir[playerid]); //Matar Tiempo de forzar
        GameTextForPlayer(playerid, "~y~FORZANDO PUERTA",1000*seconds, 3);
        format(string, sizeof(string), "Estбs forzando la cerradura, espera {0071FF}%d segundos", seconds);
        SendClientMessage(playerid, COLOR_WHITE, string);
        // CORONA
        if(IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541))
        {
            RoboCasas[CASA_CORONA] = true;
            switch(Info[playerid][pLadronc]){
                case 0 .. 49:{
                    seconds = 20;
                    Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerradura",1000*seconds,false,"id",playerid, CASA_CORONA); //Tiempo forzando
                }
                case 50 .. 99:{
                    seconds = 15;
                    Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerradura",1000*seconds,false,"id",playerid, CASA_CORONA); //Tiempo forzando
                }
                default:{
                    if(nivel > 99){
                        seconds = 12;
                        Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerradura",1000*seconds,false,"id",playerid, CASA_CORONA);
                    }
                }
            }
            Timer_CasaCoronaAbrir[playerid] = SetTimerEx("AbrirPuerta", 1200*1000, false, "d", CASA_CORONA);
        }
        // GARCIA
        else if(IsPlayerInRangeOfPoint(playerid,2,1712.5415,-2099.9934,13.9541))
        {
            RoboCasas[CASA_GARCIA] = true;
            switch(Info[playerid][pLadronc]){
                case 0 .. 49:{
                    seconds = 20;
                    Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerradura",1000*seconds,false,"id",playerid, CASA_GARCIA); //Tiempo forzando
                }
                case 50 .. 99:{
                    seconds = 15;
                    Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerradura",1000*seconds,false,"id",playerid, CASA_GARCIA); //Tiempo forzando
                }
                default:{
                    if(nivel > 99){
                        seconds = 12;
                        Timer_CasaCorona[playerid] = SetTimerEx("ForzandoCerradura",1000*seconds,false,"id",playerid, CASA_GARCIA);
                    }
                }
            }
            Timer_CasaCoronaAbrir[playerid] = SetTimerEx("AbrirPuerta", 1200*1000, false, "d", CASA_GARCIA);
        }
    }
}

forward ForzandoCerradura(playerid, houseid); public ForzandoCerradura(playerid, houseid)
{
    // Codigo..
}

forward AbrirPuerta(playerid, houseid); public AbrirPuerta(playerid, houseid)
{
    // Codigo..
}
No entendн muy bien tu sistema, habнan cosas de las que yo dudaba si te habias equivocado o no, intйntalo asн :P
Que bonito seсor profesor con el copy paste.
Reply
#9

Jotajeda: Tambiйn lo tenia asн como dices, es lo primero que hizй, pense que funcionaria pero no, me abria la de LS, alfinal puse ese y nada, no me abria.

Zume: Un poco lioso ese comando, pero lo probarй, ahora te digo si funcionу.
Reply
#10

Quote:
Originally Posted by Metzone
Посмотреть сообщение
Jotajeda: Tambiйn lo tenia asн como dices, es lo primero que hizй, pense que funcionaria pero no, me abria la de LS, alfinal puse ese y nada, no me abria.

Zume: Un poco lioso ese comando, pero lo probarй, ahora te digo si funcionу.
Si no te abrнa es por el rango que estб en 2, ponlo en 10. y revisa que las coordenadas estйn bien.
Edit, tu comando estб mal hecho, ya te lo paso bien.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)