15.04.2014, 13:51
(
Последний раз редактировалось [rG]Cold; 15.04.2014 в 19:09.
)
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:
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);
}
}