Jump to content

Tamriel Express Courier System


lessien881

Recommended Posts

I dont know about you but when I travel the lands of skyrim I pick up just about everything I can for alchemy. The problem is I never have a good way to store it in a central area. I have a player home I like outside of riverwood but I dont fast travel so I dont visit very often.


In Fallout NV there are mojave express drop box. You can send items from one drop box to another once you have "discovered" them and unlocked the use. Id like to see a mod like that in skyrim using the Courier system and have drop boxes in the main towns and holds that the courier delivers to. Some optional stuff would be things like, cost for shipments based on distance, chance of items being stolen the longer they sit in the box.


I went through the GECK and found the scripts used for the drop boxes in NV, I just dont know how to implement this into skyrim. I know you would put a Container, most likely a chest, in the towns you want this to work and use an edited version of this script but thats where my knowledge of this ends.


Below are the two scripts from NV that I found related to the drop box system.





scn vMojaveExpressBoxSCRIPT

int bDiscovered ;Has This box been discovered
int iMenuLevel ;Tracks Menu Level
int iButton
float fDays ; Day timer to check if the delivery is ready
int bShip ; Container is ready to ship
int bFlag ; 0 Flag Down, 1 Flag Up

begin OnLoad
if bFlag == 1
playgroup Forward 1
set bFlag to -1
else if bFlag == 0
playgroup Backward 1
set bFlag to -1
endif
end


begin onActivate
if IsActionRef Player == 0
return
endif
vMEControlBox.activate vMEControlBox 1
if This == vMEGoodSpringsRef
set vMojaveExpressControl.iCurrentContainer to 6
elseif This == vMENovacRef
set vMojaveExpressControl.iCurrentContainer to 4
elseif This == vMEVegasRef
set vMojaveExpressControl.iCurrentContainer to 2
elseif This == vMEPrimmRef1
set vMojaveExpressControl.iCurrentContainer to 5
elseif This == vMEFreesideRef
set vMojaveExpressControl.iCurrentContainer to 3
endif
if GetContainerInventoryCount > 0
set vMojaveExpressControl.bContainerFull to 1
else
set vMojaveExpressControl.bContainerFull to 0
endif
if vMojaveExpressControl.bTutorial == 0
showmessage vMojaveExpressTutorial
set vMojaveExpressControl.bTutorial to 1
set bDiscovered to 1
set vMojaveExpressControl.bSystemActive to vMojaveExpressControl.bSystemActive + 1
elseif bDiscovered == 0
set bDiscovered to 1
showmessage vMojaveExpressFirstMessage
set iMenuLevel to 1
set vMojaveExpressControl.bSystemActive to vMojaveExpressControl.bSystemActive + 1
elseif bDiscovered == 1 && vMojaveExpressControl.bSystemActive < 2
showMessage vMojaveExpressInvalid
elseif bDiscovered == 1
showMessage vMojaveExpressShippingMessage
set iMenuLevel to 1
endif
end

begin GameMode
if iMenuLevel != 0
set iButton to GetButtonPressed
if iButton == 1
if GetContainerInventoryCount == 0 ; If the container is empty
showMessage vMojaveExpressEmpty
else
removeallitems player 1 ; Give the player everything
set bFlag to 0
endif
elseif iButton > 1
vMEControlBox.Activate Player
; playGroup Right 1
set vMEControlBox.iDestination to iButton
set iMenuLevel to 0
set bShip to 1
endif
endif
if bShip == 2 && MenuMode 1008 == 0
vMEControlBox.activate vMEControlBox 1
; playGroup Left 1
set bShip to 0
endif
if bFlag == 1
playgroup Forward 1
set bFlag to -1
elseif bFlag == 0
playgroup Backward 1
set bFlag to -1
endif
end

begin MenuMode 1008
if bShip == 1
set bShip to 2
endif
end




scn vMojaveExpressControlBoxSCRIPT

int iDestination ; 2 = Vegas, 3 = Freeside, 4 = Novac, 5 = Primm, 6 = Goodsprings
ref rContainer

begin OnActivate
if IsActionRef vMEControlBox == 1 && iDestination > 1
if GetContainerInventoryCount > 0
if iDestination == 2
set rContainer to vMEVegasRef
set vMEVegasRef.bFlag to 1
elseif iDestination ==3
set rContainer to vMEFreesideRef
set vMEFreesideRef.bFlag to 1
elseif iDestination == 4
set rContainer to vMENovacRef
set vMENovacRef.bFlag to 1
elseif iDestination == 5
set rContainer to vMEPrimmRef1
set vMEPrimmRef1.bFlag to 1
elseif iDestination == 6
set rContainer to vMEGoodSpringsRef
set vMEGoodSpringsRef.bFlag to 1
endif
removeallitems rContainer 1
endif
set iDestination to 0
endif
end

;vMEGoodSpringsRef
;vMENovacRef
;vMEVegasRef
;vMEPrimmRef1
;vMEFreesideRef
;vMEControlBox




Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...