Unlock AND drop.
410 {
413 {
414
416 GetInventory().GetCurrentInventoryLocation(inventoryLocation);
417 parent.GetInventory().SetSlotLock(inventoryLocation.
GetSlot(),
false);
418
419
420 if (
g_Game.IsMultiplayer())
421 {
422 parent.GetInventory().DropEntity(
InventoryMode.SERVER, parent,
this);
423 }
424 else
425 {
426 parent.GetInventory().DropEntity(
InventoryMode.LOCAL, parent,
this);
427 }
428
430 if (player)
431 {
432 groundPos = player.GetPosition();
433 }
434 else
435 {
437 if (parent.MemoryPointExists(
slotName))
438 {
439 groundPos = parent.ModelToWorld(parent.GetMemoryPointPos(
slotName));
440 }
441 else
442 {
444 }
445 }
446
448 PlaceOnSurface();
449
453
454 if (!isInsideLock)
455 {
457 }
458 else
459 {
461 }
462
464
465
467 }
468 }
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
class BaseBuildingBase extends ItemBase bsbDebugPrint(string s)
PlayerSpawnPreset slotName
void CheckLockedStateServer(bool insideLock=false)
LockAction m_LockActionPerformed
override void SetTakeable(bool pState)
proto native int GetSlot()
returns slot id if current type is Attachment
static proto native owned string GetSlotName(int id)
converts slot_id to string
provides access to slot configuration
static bool IsBaseBuildingLogEnable()
proto native void SetPosition(vector position)
Set the world position of the Effect.
vector GetPosition()
Get the world position of the Effect.