[Ajuda] Logica dentro da casa
#1

To com um problema no meu /entrar
Na parte de casas, que eu criei, eu fiz pra que cada casa

houseid = HouseInfo[houseid][ID];

Tive-se um virtual world, tipo casa id 1, virtual world = 1, pra qm tiver no msm interior nгo ver outro em outro virtual world, mas tem um problema na hora de sair da casa, vc entra numa casa e sai em outra pq a posiзгo й a mesma, como eu mudaria essa logica pra checar o id,vw sei lб pra jogar ele de volta pra posiзгo de entrada da casa, vк se vcs entendem


pawn Код:
// casas
            for(new houseid; houseid < MAX_HOUSES; houseid++)
            {
                if (PlayerToPoint(3.0, playerid, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ]  ))
                {
                    if(HouseInfo[houseid][Locked] == 0) {
                        SetPlayerVirtualWorld(playerid, HouseInfo[houseid][ID]);
                        SetPlayerPos(playerid, HouseInfo[houseid][InPosX], HouseInfo[houseid][InPosY], HouseInfo[houseid][InPosZ] );
                        SetPlayerInterior(playerid, HouseInfo[houseid][Interior]);
                    }
                    else {
                        GameTextForPlayer(playerid, "~R~LOCKED", 5000, 1);
                    }
                }
                //houseid = HouseInfo[houseid][ID];
                else if (PlayerToPoint(3.0, playerid, HouseInfo[houseid][InPosX], HouseInfo[houseid][InPosY], HouseInfo[houseid][InPosZ] ))
                {
                    SetPlayerPos(playerid, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ]  );
                    SetPlayerInterior(playerid, 0);
                    SetPlayerVirtualWorld(playerid, 0);
                }
            }
Reply
#2

pawn Код:
new bool:pesquisa;
for(new houseid; houseid < MAX_HOUSES; houseid++)  {
    if(PlayerToPoint(3.0, playerid, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ]))  {
        if(HouseInfo[houseid][Locked] == 0) {
            SetPlayerVirtualWorld(playerid, HouseInfo[houseid][ID]);
            SetPlayerPos(playerid, HouseInfo[houseid][InPosX], HouseInfo[houseid][InPosY], HouseInfo[houseid][InPosZ] );
            SetPlayerInterior(playerid, HouseInfo[houseid][Interior]);
            SetPVarInt(playerid, "internal_id", houseid);
        } else {
            GameTextForPlayer(playerid, "~R~LOCKED", 5000, 1);
        }
        pesquisa = true;
        break;
    }
}

new houseid = GetPVarInt(playerid, "internal_id");
if(PlayerToPoint(3.0, playerid, HouseInfo[houseid][InPosX], HouseInfo[houseid][InPosY], HouseInfo[houseid][InPosZ])) && (!pesquisa))  {
    SetPlayerPos(playerid, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ]  );
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
}
Lembre-se de atribuir o houseid na pvar "internal_id" ao jogador que da spawn dentro da casa, caso contrбrio, ele nгo vai conseguir sair dela
Reply
#3

Quote:
Originally Posted by DrTHE
Посмотреть сообщение
pawn Код:
new bool:pesquisa;
for(new houseid; houseid < MAX_HOUSES; houseid++)  {
    if(PlayerToPoint(3.0, playerid, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ]))  {
        if(HouseInfo[houseid][Locked] == 0) {
            SetPlayerVirtualWorld(playerid, HouseInfo[houseid][ID]);
            SetPlayerPos(playerid, HouseInfo[houseid][InPosX], HouseInfo[houseid][InPosY], HouseInfo[houseid][InPosZ] );
            SetPlayerInterior(playerid, HouseInfo[houseid][Interior]);
            SetPVarInt(playerid, "internal_id", houseid);
        } else {
            GameTextForPlayer(playerid, "~R~LOCKED", 5000, 1);
        }
        pesquisa = true;
        break;
    }
}

new houseid = GetPVarInt(playerid, "internal_id");
if(PlayerToPoint(3.0, playerid, HouseInfo[houseid][InPosX], HouseInfo[houseid][InPosY], HouseInfo[houseid][InPosZ])) && (!pesquisa))  {
    SetPlayerPos(playerid, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ]  );
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
}
Lembre-se de atribuir o houseid na pvar "internal_id" ao jogador que da spawn dentro da casa, caso contrбrio, ele nгo vai conseguir sair dela
vlw ! +rep!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)