59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
| import Crossfire
 | |
| import CFGuilds
 | |
| 
 | |
| whoami=Crossfire.WhoAmI()
 | |
| guildname=Crossfire.ScriptParameters() # 1 is 'apply' event
 | |
| 
 | |
| def find_player(object):
 | |
|     while (object.Type != 1) : #1 is type 'Player'
 | |
|         object = object.Above
 | |
|         if not object:
 | |
|             return 0
 | |
|     return object
 | |
| 
 | |
| activator=Crossfire.WhoIsActivator()
 | |
| map = activator.Map
 | |
| 
 | |
| players = []
 | |
| names = []
 | |
| 
 | |
| if (guildname):
 | |
|     #find players by coords
 | |
|     ob1=map.ObjectAt(33,24)
 | |
|     ob2=map.ObjectAt(33,26)
 | |
|     objects = [ob1, ob2]
 | |
|     for object in objects:
 | |
|         temp = find_player(object)
 | |
|         if temp:
 | |
|             players.append(temp)
 | |
|     players.append(activator)
 | |
| 
 | |
|     for player in players:
 | |
|         names.append(player.Name)
 | |
| 
 | |
|     if len(players) == 3:
 | |
|         print '%s,%s and %s found guild %s' %(names[0], names[1], names[2], guildname)
 | |
| 
 | |
|         CFGuilds.CFGuildHouses().establish(guildname)
 | |
|         #Masterize them
 | |
|         for player, name in zip(players, names):
 | |
|             CFGuilds.CFGuild(guildname).add_member(name, 'GuildMaster')
 | |
|             guildmarker = player.CreateObject("marker")
 | |
| 	    guildmarker.Speed = 0
 | |
|             guildmarker.Name=guildname
 | |
|             guildmarker.Slaying='GuildMaster'
 | |
| 
 | |
|             #teleport them
 | |
|             player.Teleport(map,int(11),int(16))
 | |
|             message = "You have purchased the %s guild.  Rule it wisely.  (I would type 'save' right about now...)"%guildname
 | |
| 
 | |
|     else:
 | |
|         message = 'To purchase a guild requires two additional persons to stand on the alcoves above.'
 | |
| else:
 | |
|     print 'Guild Purchase Error: %s, %s' %(guildname, activatorname)
 | |
|     message = 'Guild Purchase Error, please notify a DM'
 | |
| 
 | |
| whoami.Say(message)
 | |
| 
 | |
| 
 |