The lifts and such in Vergalid mines behave in an erratic manor and I am sorry to say I never found a good fix for them. I did hold onto some of the work I did before.
All the following applies to the very first lift you encounter in the zone. Assuming the door id's haven't changed this should still work.
player.pl
Code:
sub EVENT_CLICKDOOR
{
my $doorstate = quest::isdooropen(38);
if($doorid == 41 && !$doorstate)
{
quest::forcedooropen(38);
quest::forcedooropen(39);
quest::forcedooropen(40);
}
if($doorid == 41 && $doorstate)
{
quest::forcedoorclose(38);
quest::forcedoorclose(39);
quest::forcedoorclose(40);
}
if($doorid == 42 && !$doorstate)
{
quest::forcedooropen(38);
quest::forcedooropen(39);
quest::forcedooropen(40);
}
if($doorid == 42 && $doorstate)
{
quest::forcedoorclose(38);
quest::forcedoorclose(39);
quest::forcedoorclose(40);
}
}
required changes for player.pl to work
Code:
update doors set triggerdoor = 0 where doorid = 38 and name = 'OBJ_ELEVPLAT';
update doors set triggerdoor = 0 where doorid = 39 and name = 'OBJ_ELEVROPE';
update doors set triggerdoor = 0, opentype = 58 where doorid = 41 and name = 'OBJ_ELEVSWLEVER';
update doors set triggerdoor = 0, opentype = 58 where doorid = 42 and name = 'OBJ_ELEVSWLEVER';
The above changes should cause the lift, ropes and levers to work with each other.
If I remember correctly it was also possible to control the lifts, ropes and levers without the need for a script which is what I believe the following changes will do.
Code:
update doors set triggerdoor = 39 where doorid = 38 and name = 'OBJ_ELEVPLAT';
update doors set triggerdoor = 40 where doorid = 39 and name = 'OBJ_ELEVROPE';
update doors set triggerdoor = 38 where doorid = 41 and name = 'OBJ_ELEVSWLEVER';
update doors set triggerdoor = 0 where doorid = 42 and name = 'OBJ_ELEVSWLEVER';
The suggested change to Doors::ForceClose() is probably correct and it did improve function a bit but I think some of the lifts and such may require additional code support to make them function correctly.
The bounce effect as you put it is the same erratic behavior I saw when messing with the lifts. If that bounce effect can be removed then the rest should be pretty easy to figure out.