Difference for python/IPO/say.py from version 1.7 to 1.8


version 1.7 version 1.8
Line 43
 
Line 43
 # Post office sack name (one word without space)  # Post office sack name (one word without space)
 sackName = 'package'  sackName = 'package'
   
 import CFPython  import Crossfire
 import string  import string
 import CFLog  import CFLog
   
 activator=CFPython.WhoIsActivator()  activator=Crossfire.WhoIsActivator()
 activatorname=CFPython.GetName(activator)  activatorname=activator.Name
 whoami=CFPython.WhoAmI()  whoami=Crossfire.WhoAmI()
 x=CFPython.GetXPosition(activator)  x=activator.X
 y=CFPython.GetYPosition(activator)  y=activator.Y
   
 log = CFLog.CFLog()  log = CFLog.CFLog()
 text = string.split(CFPython.WhatIsMessage())  text = string.split(Crossfire.WhatIsMessage())
   
 if text[0] == 'help' or text[0] == 'yes':  if text[0] == 'help' or text[0] == 'yes':
  message = 'How can I help you ? Here is a quick list of commands:\n\n- pen   (%s platinum)\n- literacy    (%s platinum)\n- mailscroll <friend>   (%s platinum)\n- bag <friend>   (%s platinum)\n- package <friend>   (%s platinum)\n- carton <friend>   (%s platinum)\n- send <friend>\n- receive'%(priceWritingPen,priceScrollOfLiteracy,priceMailScroll,priceBag,pricePackage,priceCarton)   message = 'How can I help you ? Here is a quick list of commands:\n\n- pen   (%s platinum)\n- literacy    (%s platinum)\n- mailscroll <friend>   (%s platinum)\n- bag <friend>   (%s platinum)\n- package <friend>   (%s platinum)\n- carton <friend>   (%s platinum)\n- send <friend>\n- receive'%(priceWritingPen,priceScrollOfLiteracy,priceMailScroll,priceBag,pricePackage,priceCarton)
  CFPython.Say(whoami,message)   whoami.Say(message)
          
   
 elif text[0] == 'pen':  elif text[0] == 'pen':
  if (CFPython.PayAmount(activator, priceWritingPen*priceFactor)):   if (activator.PayAmount(priceWritingPen*priceFactor)):
  CFPython.Say(whoami, 'Here is your IPO Writing Pen')   whoami.Say('Here is your IPO Writing Pen')
  id = CFPython.CreateObject('writing pen', (x, y))   id = activator.Map.CreateObject('writing pen', x, y)
  CFPython.SetName(id, 'IPO Writing Pen')   id.Name='IPO Writing Pen'
  CFPython.SetValue(id, 0)   id.Value=0
  else:   else:
  CFPython.Say(whoami, 'You need %s platinum for an IPO Writing Pen'%priceWritingPen)   whoami.Say('You need %s platinum for an IPO Writing Pen'%priceWritingPen)
   
 elif text[0] == 'literacy':  elif text[0] == 'literacy':
  if (CFPython.PayAmount(activator,priceScrollOfLiteracy*priceFactor)):   if (activator.PayAmount(priceScrollOfLiteracy*priceFactor)):
         CFPython.Say(whoami, 'Here is your IPO Scroll of Literacy')          whoami.Say('Here is your IPO Scroll of Literacy')
         id = CFPython.CreateObject('scroll of literacy', (x, y))          id = activator.Map.CreateObject('scroll of literacy', x, y)
  CFPython.SetName(id, 'IPO Scroll of Literacy')   id.SetName='IPO Scroll of Literacy'
  CFPython.SetValue(id, 0)   id.SetValue=0
  else:   else:
  CFPython.Say(whoami, 'You need %s platinum for an IPO Scroll of Literacy'%priceScrollOfLiteracy)   whoami.Say('You need %s platinum for an IPO Scroll of Literacy'%priceScrollOfLiteracy)
   
   
 elif text[0] == 'mailscroll':  elif text[0] == 'mailscroll':
  if len(text)==2:   if len(text)==2:
  if log.info(text[1]):   if log.info(text[1]):
  if (CFPython.PayAmount(activator, priceMailScroll*priceFactor)):   if (activator.PayAmount(priceMailScroll*priceFactor)):
  CFPython.Say(whoami, 'Here is your mailscroll')   whoami.Say('Here is your mailscroll')
  id = CFPython.CreateObject('scroll', (x, y))   id = activator.Map.CreateObject('scroll', x, y)
  CFPython.SetName(id, 'mailscroll T: '+text[1]+' F: '+ activatorname)   id.Name='mailscroll T: '+text[1]+' F: '+ activatorname
  CFPython.SetValue(id, 0)   id.Value=0
  else:   else:
  CFPython.Say(whoami, 'You need %s platinum for a mailscroll'%priceMailScroll)   whoami.Say('You need %s platinum for a mailscroll'%priceMailScroll)
  else:   else:
  CFPython.Say(whoami, 'I don\'t know any %s'%text[1])   whoami.Say('I don\'t know any %s'%text[1])
   
  else:   else:
  CFPython.Say(whoami, 'Usage "mailscroll <friend>"')   whoami.Say('Usage "mailscroll <friend>"')
   
   
 elif text[0] == 'mailwarning':  elif text[0] == 'mailwarning':
  if (CFPython.IsDungeonMaster(activator)):   if (activator.IsDungeonMaster):
  if len(text)==2:   if len(text)==2:
  if log.info(text[1]):   if log.info(text[1]):
  CFPython.Say(whoami, 'Here is your mailwarning')   whoami.Say('Here is your mailwarning')
  id = CFPython.CreateObject('diploma', (x, y))   id = activator.Map.CreateObject('diploma', x, y)
  CFPython.SetName(id, 'mailwarning T: '+text[1]+' F: '+ activatorname)   id.Name='mailwarning T: '+text[1]+' F: '+ activatorname
  CFPython.SetValue(id, 0)   id.Value=0
  else:   else:
  CFPython.Say(whoami, 'I don\'t know any %s'%text[1])   whoami.Say('I don\'t know any %s'%text[1])
   
  else:   else:
  CFPython.Say(whoami, 'Usage "mailwarning <foo>"')   whoami.Say('Usage "mailwarning <foo>"')
  else:   else:
  CFPython.Say(whoami, 'You need to be DM to be able to use this command')   whoami.Say('You need to be DM to be able to use this command')
   
 elif text[0] == 'bag' or text[0] == 'package' or text[0] == 'carton':  elif text[0] == 'bag' or text[0] == 'package' or text[0] == 'carton':
  if (len(text) == 2):   if (len(text) == 2):
Line 128
 
Line 129
  max = 100000   max = 100000
  item = 'r_sack'   item = 'r_sack'
   
  if ( CFPython.PayAmount(activator, price*priceFactor) ):   if ( activator.PayAmount(price*priceFactor) ):
  box = CFPython.CreateObject(item, (x, y))   box = activator.Map.CreateObject(item, x, y)
  CFPython.SetName(box, sackName + ' T: ' + text[1] + ' F: ' + activatorname)   box.Name=sackName + ' T: ' + text[1] + ' F: ' + activatorname
  CFPython.SetWeightLimit(box, max)   box.WeightLimit=max
  CFPython.SetStrength(box, 0)   box.Strength=0
  CFPython.Say(whoami, 'Here is your %s'%text[0])   whoami.Say(whoami, 'Here is your %s'%text[0])
  CFPython.InsertObjectInside(box, activator)   activator.InsertObject(box)
  else:   else:
  CFPython.Say(whoami, 'You need %s platinum to buy a %s'%( price, text[0] ) )   whoami.Say('You need %s platinum to buy a %s'%( price, text[0] ) )
   
  else:   else:
  CFPython.Say(whoami, 'I don\'t know any %s'%text[1])   whoami.Say('I don\'t know any %s'%text[1])
   
  else:   else:
  CFPython.Say(whoami, 'Send a %s to who?'%text[0] )   whoami.Say('Send a %s to who?'%text[0] )
   
 elif text[0] == 'send':  elif text[0] == 'send':
  if len(text) == 2:   if len(text) == 2:
  inv = CFPython.CheckInventory(activator,sackName)   inv = activator.CheckInventory(sackName)
  map = 0   map = 0
  if inv != 0:   if inv != 0:
  while inv != 0:   while inv != 0:
  next = CFPython.GetNextObject(inv)   next = inv.Below
  text2=string.split(CFPython.GetName(inv))   text2=string.split(inv.Name)
  if text2[0]==sackName and text2[1]=='T:' and text2[3]=='F:' and text2[2] == text[1]:   if text2[0]==sackName and text2[1]=='T:' and text2[3]=='F:' and text2[2] == text[1]:
  map = CFPython.ReadyMap(storage_map)   map = Crossfire.ReadyMap(storage_map)
  if map == 0:   if map == 0:
  CFPython.Say(whoami, 'I\'m sorry but the post can\'t send your package now.')   whoami.Say('I\'m sorry but the post can\'t send your package now.')
  else:   else:
  CFPython.Teleport(inv, map, storage_x, storage_y)   inv.Teleport(map, storage_x, storage_y)
  CFPython.Say(whoami, 'Package sent')   whoami.Say('Package sent')
  inv = next   inv = next
  else:   else:
  CFPython.Say(whoami, 'No package to send.')   whoami.Say('No package to send.')
  else:   else:
  CFPython.Say(whoami, 'Send packages to who?')   whoami.Say('Send packages to who?')
 elif text[0] == 'receive':  elif text[0] == 'receive':
  map = CFPython.ReadyMap(storage_map)   map = Crossfire.ReadyMap(storage_map)
  if ( map != 0 ):   if ( map != 0 ):
  item = CFPython.GetObjectAt(map, storage_x, storage_y)   item = map.GetObjectAt(storage_x, storage_y)
  count = 0   count = 0
  while item != 0:   while item != 0:
  previous = CFPython.GetPreviousObject(item)   previous = item.above
  text2 = string.split(CFPython.GetName(item))   text2 = string.split(item.Name)
  if ( len(text2) == 5 ) and ( text2[0] == sackName ) and ( text2[2] == activatorname ):   if ( len(text2) == 5 ) and ( text2[0] == sackName ) and ( text2[2] == activatorname ):
  CFPython.InsertObjectInside(item,activator)   activator.InsertObjectInside(item)
  count = count + 1   count = count + 1
  item = previous   item = previous
  if ( count == 0 ):   if ( count == 0 ):
  CFPython.Say(whoami, 'No package for you, sorry.')   whoami.Say('No package for you, sorry.')
  else:   else:
  CFPython.Say(whoami, 'Here you go.')   whoami.Say('Here you go.')
  else:   else:
  CFPython.Say(whoami, 'Sorry, our package delivery service is currently in strike. Please come back later.')   whoami.Say('Sorry, our package delivery service is currently in strike. Please come back later.')
 else:  else:
  CFPython.Say(whoami, 'Do you need help?')   whoami.Say('Do you need help?')
   Crossfire.setReturnValue(1)
   


Legend:
line(s) removed in v.1.7 
line(s) changed
 line(s) added in v.1.8

File made using version 1.96 of cvs2html by leaf at 2006-02-15 17:29