FranklinRoosevelt Posted January 19, 2015 Share Posted January 19, 2015 Всем привет, я вот попробовал удалить стандартные объекты с интерьера (мебель), но ничего не получилось, удалял в мап эдиторе вот такой код получился: "editor_main"> "removeWorldObject (LOW_COUCH_1) (1)" radius="3.5078673" interior="0" model="1763" lodModel="0" posX="221.77013" posY="1289.4447" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (COFFEE_SWANK_1) (1)" radius="2.8326304" interior="0" model="2236" lodModel="0" posX="224.77013" posY="1289.4447" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (CJ_TV_TABLE4) (1)" radius="3.3244874" interior="0" model="2315" lodModel="0" posX="226.77013" posY="1293.4447" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (LOW_CONSOLE) (1)" radius="2.3575516" interior="0" model="1719" lodModel="0" posX="226.58794" posY="1292.4835" posZ="1081.769" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (CJ_TELE_1) (1)" radius="2.45737" interior="0" model="2318" lodModel="0" posX="226.51474" posY="1293.5071" posZ="1081.8754" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (LOW_SINGLE_1) (1)" radius="2.9219837" interior="0" model="1759" lodModel="0" posX="222.77013" posY="1293.4447" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (int2lasmone01) (1)" radius="7.8918309" interior="0" model="14719" lodModel="0" posX="218.74219" posY="1290.8203" posZ="1082.8672" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (CJ_HIFI_TABLE) (1)" radius="2.8360684" interior="0" model="2346" lodModel="0" posX="233.5963" posY="1290.4606" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (CJ_HIFI_TABLE) (2)" radius="2.8360684" interior="0" model="2346" lodModel="0" posX="233.5963" posY="1290.4606" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (LOW_HI_FI_1) (1)" radius="2.6332061" interior="0" model="2103" lodModel="0" posX="233.4379" posY="1289.9298" posZ="1081.8923" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (SWANK_BED_5) (1)" radius="4.2708411" interior="0" model="2090" lodModel="0" posX="232.5963" posY="1289.4606" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (LOW_CABINET_2) (1)" radius="2.7152104" interior="0" model="2095" lodModel="0" posX="230.5963" posY="1287.4606" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (LOW_CABINET_2) (2)" radius="2.7152104" interior="0" model="2095" lodModel="0" posX="233.5963" posY="1287.4606" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (CJ_BEDROOM1_W) (1)" radius="3.5607553" interior="0" model="2330" lodModel="0" posX="229.5963" posY="1287.4606" posZ="1081.1547" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (int2lasmone01) (2)" radius="7.8918309" interior="0" model="14719" lodModel="0" posX="218.74219" posY="1290.8203" posZ="1082.8672" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (int2lasmone02) (1)" radius="5.9548655" interior="0" model="14720" lodModel="0" posX="216.55469" posY="1292.2188" posZ="1081.1172" rotX="0" rotY="0" rotZ="0"> "removeWorldObject (Gen_doorEXT03) (1)" radius="3.4582796" interior="0" model="1498" lodModel="0" posX="223.17831" posY="1286.7255" posZ="1082.6317" rotX="0" rotY="0" rotZ="0"> И сам код удаления (стандартный код с эдитора): function onResourceStartOrStop ( ) for _, object in ipairs ( getElementsByType ( "removeWorldObject", source ) ) do local model = getElementData ( object, "model" ) local lodModel = getElementData ( object, "lodModel" ) local posX = getElementData ( object, "posX" ) local posY = getElementData ( object, "posY" ) local posZ = getElementData ( object, "posZ" ) local interior = getElementData ( object, "interior" ) or 0 local radius = getElementData ( object, "radius" ) if ( eventName == "onResourceStart" ) then removeWorldModel ( model, radius, posX, posY, posZ, interior ) removeWorldModel ( lodModel, radius, posX, posY, posZ, interior ) else restoreWorldModel ( model, radius, posX, posY, posZ, interior ) restoreWorldModel ( lodModel, radius, posX, posY, posZ, interior ) end end if (eventName == "onResourceStart" and get(getResourceName(getThisResource())..".useLODs")) then for i, object in ipairs(getElementsByType("object", source)) do local objID = getElementModel(object) local lodModel = LOD_MAP[objID] if (lodModel) then local x,y,z = getElementPosition(object) local rx,ry,rz = getElementRotation(object) local lodObj = createObject(lodModel,x,y,z,rx,ry,rz,true) setElementInterior(lodObj, getElementInterior(object) ) setElementDimension(lodObj, getElementDimension(object) ) setElementParent(lodObj, object) setLowLODElement(object, lodObj) table.insert(usedLODModels, lodModel) end end end end addEventHandler ( "onResourceStart", resourceRoot, onResourceStartOrStop ) addEventHandler ( "onResourceStop", resourceRoot, onResourceStartOrStop ) Здесь я заметил что interior="0" вместо interior="1" т.к. сам инт. находится в 1 инт. мире, я заменил всё, но кое-какие объекты удалились, а некоторые остались: Что удалилось: А что осталось: Я подумал возможно в радиусе ошибка увеличил его на 10 ед., но ничего не изменилось. Потом написал вот такой код и удалились только двери (id 1498): -- server side local objectListSafe_1 = {1498, 14720, 14719, 2330, 2095, 2090, 2103, 2346, 1759, 2318, 1719, 2315, 2236, 1763} -- объекты которые используются в этом интерьере. function deleteALLObjectInSAFE_HOUSE1(player) local x,y,z = getElementPosition(player) local interior = getElementInterior(player) for i=1,#objectListSafe_1 do local modelID = objectListSafe_1[i] removeWorldModel(modelID, 100, x, y, z, interior) end end addCommandHandler('delSafe', deleteALLObjectInSAFE_HOUSE1) Что я не так сделал? Link to comment
Scripting Moderators Sarrum Posted January 19, 2015 Scripting Moderators Share Posted January 19, 2015 Может setInteriorFurnitureEnabled? Link to comment
FranklinRoosevelt Posted January 19, 2015 Author Share Posted January 19, 2015 Может setInteriorFurnitureEnabled? Спасибо, не знал об этой функции, сейчас буду пробовать. 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