stormzzz Posted February 28, 2021 Share Posted February 28, 2021 Well, could someone help me make a script to leave a frozen door preventing it from being opened and making it defrost by a bind. Only people who are in the Group / ACL would be able to open and close the door. If anyone can help me... Link to comment
Haxardous Posted March 5, 2021 Share Posted March 5, 2021 -- to set the door frozen, you can use setElementFrozen. local object = createObject(1499, 20, 30, 2.1) function freezeDoor() setElementFrozen(object, true) end -- you can use bindKey() to toggle it. -- https://wiki.multitheftauto.com/wiki/BindKey -- you can use if statement for hasObjectPermissionTo() and create a colshape if the player is in distance to check if he has permission to open the door or not. -- https://wiki.multitheftauto.com/wiki/HasObjectPermissionTo Link to comment
greentumbleweed Posted March 6, 2021 Share Posted March 6, 2021 This is server side and it's never been tested. It's a frame work you can build off of. If you need help feel free to ask Also please put <oop>true</oop> in the meta.xml file local distanceFromDoor = 20 local key = 'L' local Doors = {} Doors.__index = Doors local collection = {} function Door.new(objectid, x, y, z, rx, ry, rz, locked) if objectid and x and y and z then local self = setmetatable({},Door) self.id = objectid self.position = Vector3( x, y, z ) self.rotation = Vector3 ( rx, ry, rz ) or Vector3 ( 0, 0, 0 ) self.locked = locked or false self.obj = Object( self.id, self.position, self.rotation ) collection[#collection+1] = self return self end end function doorToggle(door) door.locked = not door.locked end setTimer(function() for i=1,#collection do if collection[i].locked then setElementFrozen(collection[i].obj,true) else setElementFrozen(collection[i].obj,false) end for e, plr in pairs(getElementsByType('player')) do local distance = getDistanceBetweenPoints3D(plr.position, collection[i].position) if distance < distanceFromDoor then bindKey(plr, key, 'down', doorToggle, collection[i]) else unbindKey(plr, key, 'down' doorToggle, collection[i]) end end end end, 50, 0) Example: local mydoor = Door.new( 1499,0 , 0, 3 )-- create the door mydoor.locked = true-- lock the door mydoor.locked = false-- unlock the door Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now