10-02-2013, 03:08 AM
I've been trying to replicate the mechanics of the elevator switch in Machine for Pigs, but am having a small problem with one of the scripts. Here's what the switch script looks like so far:
My problem is with the afPosZ portion of the AddAttachedPropToProp script, which in game seems to be permanently set as thought it were at 0. When I change the X and Y floats, it moves the static lever around, but changing the Z float doesn't move it at all. While it's like this, as soon as I pull the switch into position, the static switch just appears in the middle of the elevator panel, instead of in the slot like it's supposed to.
PHP Code:
void ElevatorDescent (string &in asEntity, int alState)
{
if (alState == 1)
{
AddAttachedPropToProp("elevator_pod_1", "ElevatorSwitchStatic", "elevator_switch_static.ent", 0.06f, -1.842f, -0.068f, 0.0f, 0.0f, 0.0f);
PlaySoundAtEntity("", "church_draw_lever_open.snt", "ElevatorSwitchSource", 0.0f, false);
SetEntityActive("ElevatorSwitch", false);
SetMoveObjectState("elevator_door_right_1", 0);
SetMoveObjectState("elevator_door_left_1", 0);
PlaySoundAtEntity("", "reactor_elevator_door_close_3D.snt", "ElevatorDoorSource", 0.0f, false);
PlaySoundAtEntity("", "reactor_elevator_door_close_2D.snt", "ElevatorDoorSource", 0.0f, false);
AddTimer("ElevatorMoves", 3.5f, "ElevatorMoves");
}
}
My problem is with the afPosZ portion of the AddAttachedPropToProp script, which in game seems to be permanently set as thought it were at 0. When I change the X and Y floats, it moves the static lever around, but changing the Z float doesn't move it at all. While it's like this, as soon as I pull the switch into position, the static switch just appears in the middle of the elevator panel, instead of in the slot like it's supposed to.