BreakIn System
#1

Hi!
I made this script,where you need a screwdriver to break in some house.
When you manage to break a house's door,you get teleported in front of the door and a pickup appears.
So the pickup apperas at every house that i made,when it should only appear at the house that i am at.
It also teleports me at another house's door ,when it should teleport me in front of the house that i am at....
I'd appreciate the help!

Anyway,here's the script:

pawn Код:
#define HOUSE_X         playerToPoint[i][0]
#define HOUSE_Y         playerToPoint[i][1]
#define HOUSE_Z         playerToPoint[i][2]

#define pPOS_X          playerPos[i][0]
#define pPOS_Y          playerPos[i][1]
#define pPOS_Z          playerPos[i][2]
#define pPOS_A          playerPos[i][3]

#define IN_X            playerTpPos[i][0]
#define IN_Y            playerTpPos[i][1]
#define IN_Z            playerTpPos[i][2]
#define IN_A            playerTpPos[i][3]
#define OUT_X           playerTpPos[i][4]
#define OUT_Y           playerTpPos[i][5]
#define OUT_Z           playerTpPos[i][6]
#define OUT_A           playerTpPos[i][7]

#define pIN_X           pickupTP[i][0]
#define pIN_Y           pickupTP[i][1]
#define pIN_Z           pickupTP[i][2]
#define pOUT_X          pickupTP[i][3]
#define pOUT_Y          pickupTP[i][4]
#define pOUT_Z          pickupTP[i][5]

new Float:playerPos[2][4] = //(Player position after using the screwdriver || X,Y,Z,Angle)
{
    {-2027.7780,-44.0188,38.7863,358.8119},
    {-2710.8962,970.0823,54.4609,183.7947}
};
new Float:playerTpPos[2][8] = //(InsideX,InsideY,InsideZ,InsideAngle,OutsideX,OutsideY,OutsideZ,OutsideAngle)
{
    {2324.4482,-1146.7660,1050.7101,359.8780,-2027.8738,-44.4026,38.5394,182.4035},  //House
    {223.8521,1240.0090,1082.1406,89.2855,-2710.8865,970.8662,54.4609,2.0596}           //House2

};
new Float:playerToPoint[2][3] = //(X,Y,Z)
{
        {-2027.7928,-40.6043,38.8047},       //House1
        {-2710.8066,967.4759,54.4609}       //House2

};
new Float:pickupTP[2][6] = //(InPickupX,InPickupY,InPickuPZ,OutPickupX,OutPickupY,OutPickuPZ)
{
    {2324.4287,-1149.3912,1050.7101,-2027.7651,-40.6079,38.8047},
    {226.7887,1239.9053,1082.1406,-2710.8066,967.4759,54.4609}
};

new pInID[sizeof(pickupTP)];
new pOutID[sizeof(pickupTP)];

public OnPlayerPickUpPickup(playerid, pickupid)
{
    for(new i=0; i<sizeof(pickupTP); i++)
    {
        if(pickupid == pInID[i])
        {
            SetPlayerPos(playerid,IN_X,IN_Y,IN_Z);
            SetPlayerFacingAngle(playerid,IN_A);
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid,12);
            DestroyPickup(pInID[i]);
        }
        else if(pickupid == pOutID[i])
        {
            SetPlayerPos(playerid,OUT_X,OUT_Y,OUT_Z);
            SetPlayerFacingAngle(playerid,OUT_A);
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid,0);
            DestroyPickup(pOutID[i]);
        }
    }

forward RobHouse(playerid);
public RobHouse(playerid)
{
    for(new i=0; i<sizeof(pickupTP); i++)
    {
        pInID[i] = CreatePickup(PICKUP_MODEL, 1, pOUT_X, pOUT_Y, pOUT_Z+0.2, 0);
        pOutID[i] = CreatePickup(PICKUP_MODEL, 1, pIN_X, pIN_Y, pIN_Z+0.2, 0);
        HasScrewdriver[playerid] --;
        SetPlayerPos(playerid,pPOS_X,pPOS_Y,pPOS_Z);
        SetPlayerFacingAngle(playerid,pPOS_A);
        SetCameraBehindPlayer(playerid);
    }
}
Reply
#2

*bump*
Reply
#3

I believe it has something to do with the loop. I'll let you know.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)