Script Sample 1

Top  Previous  Next

script1.talk

_______________________________________________________

// Script for Region Check 1.0

// by Oscar (14 APR 2004)

   // This is a more complex example than the Keypad 1.0

   // Please note that you should look at tutorial that examines the lines

   // otherwise it may be too overwhelming

  

   // This script runs automatically after you load the Component

   // You can bypass the script when you hold SHIFT

  

   // Component access to the objects:

      // in order to know which objects belongs to the component

      // three array variables are filled up:menusInBlackBox,   vmgsInBlackBox, moviesInBlackBox

     

      // menusInBlackBox retuns the number of menus in box and

      // menusInBlackBox[1] returns what is the order number relative to project of the first menu in box

      // see this example below:

      /*

  print "Number of Menus in this Component: ",menusInBlackBox

  for menu=1 to menusInBlackBox

  print "Menu #",menu," in Component is a Menu #",menusInBlackBox[menu]," in a whole project"

  next menu

  */*/

      // note, the number returned by vmgsInBlackBox[x] is in range 1...255,

      // while all Menu functions uses vmg in range 10001-10255

      // that means you have to add 10000 or use function VMG(vmgsInBlackBox[x])

  

region=1

regionzero=1

input "This is a region code check component.","Allowed Region (1..6)",region,"Region Free players are set to play all regions","CHECK:Allow Region Free",regionzero," ","(c) Oscar 2004"

// terminate script if pressed cancel

if bCancelInput then

   end

endif

// see note in header about componnent

// since it is VMG, we need to use VMG() function to get the correct menu number

commandobject = VMG(vmgsInBlackBox[1])

// remove all precommands

MenuRemovePRECommands(commandobject)

// get region info of player from sprm

MenuAddPRECommand(commandobject,"GPRM1 = SPRM20")

// regions are set as bits, it means region 1 = 1, region2 = 2 region3 = 4; region 4 = 8

regiontab[0] = 0

regiontab[1] = 1

regiontab[2] = 2

regiontab[3] = 4

regiontab[4] = 8

regiontab[5] = 16

regiontab[6] = 32

trace regionzero

// find the PGC of 'Wrong Region' VMG menu (# 2 in component)

// because DVD-lab has first VMG dummy we need to have +1

sPGCWrong = STR(vmgsInBlackBox[2]+1)

// disallow region zero

if (regionzero==0) then

   sLine = "if (GPRM1 == 0) LinkPGCN "+sPGCWrong

   MenuAddPRECommand(commandobject, sLine)

endif

// test the main region  

sLine = "if (GPRM1 != "STR(regiontab[region]) +") LinkPGCN "+sPGCWrong

MenuAddPRECommand(commandobject, sLine)

// Set first Play and Title button to our Command object

LinkFPtoMenu(commandobject) // First Play to menu

LinkTBtoMenu(commandobject) // Title Button to menu

// Now try to link end of command object to VTSM or VMG

nVMGc = MenuGetVMGCount()

nVTSMc = MenuGetCount()

if (nVTSMc>0) then

   MenuEndLink(commandobject, 1)

endif

// prefer VMG

// we have right now at least 2 VMGs already (this component) so check for 3 VMG's or more

if (nVMGc>2) then

   MenuEndLink(commandobject, VMG(1))

endif

  

Created with DVD-lab Pro