44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
| """
 | |
| Created by: Joris Bontje <jbontje@suespammers.org>
 | |
| 
 | |
| This script implements the apply event for mailboxes. When a mailbox is
 | |
| opened, check the player's mail and create objects if necessary.
 | |
| """
 | |
| 
 | |
| import Crossfire
 | |
| import CFMail
 | |
| 
 | |
| activator = Crossfire.WhoIsActivator()
 | |
| mail = CFMail.CFMail()
 | |
| whoami = Crossfire.WhoAmI()
 | |
| 
 | |
| total = mail.countmail(activator.Name)
 | |
| 
 | |
| if total > 0:
 | |
|     activator.Write("You have %d mail!" % total)
 | |
|     elements = mail.receive(activator.Name)
 | |
|     for element in elements:
 | |
|         type, fromname, message = element
 | |
|         if type == 1:
 | |
|             msgob = whoami.CreateObject('scroll')
 | |
|             msgob.Name = "mail F: %s T: %s" % (fromname, activator.Name)
 | |
|             msgob.NamePl = msgob.Name
 | |
|             msgob.Message = message
 | |
|             msgob.Value = 0
 | |
|         elif type == 2:
 | |
|             msgob = whoami.CreateObject('note')
 | |
|             msgob.Name = 'newspaper D: '+fromname
 | |
|             msgob.NamePl = 'newspapers D: '+fromname
 | |
|             msgob.Message = message
 | |
|             msgob.Value = 0
 | |
|         elif type == 3:
 | |
|             msgob = whoami.CreateObject('diploma')
 | |
|             msgob.Name = 'warning F: '+fromname+' T: '+activator.Name
 | |
|             msgob.NamePl = 'warnings F: '+fromname+' T: '+activator.Name
 | |
|             msgob.Message = message
 | |
|             msgob.Value = 0
 | |
|         else:
 | |
|             Crossfire.Log(Crossfire.LogError, 'ERROR: unknown mailtype\n')
 | |
| else:
 | |
|     activator.Write("You haven't got any mail.")
 |