ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/deliantra/maps/python/guilds/guildbuy.py
Revision: 1.1
Committed: Sun Feb 5 00:02:09 2006 UTC (20 years, 8 months ago) by root
Content type: text/x-python
Branch point for: UPSTREAM, MAIN
Log Message:
Initial revision

File Contents

# User Rev Content
1 root 1.1 import Crossfire
2     import CFGuilds
3    
4     whoami=Crossfire.WhoAmI()
5     guildname=Crossfire.ScriptParameters() # 1 is 'apply' event
6    
7     def find_player(object):
8     while (object.Type != 1) : #1 is type 'Player'
9     object = object.Above
10     if not object:
11     return 0
12     return object
13    
14     activator=Crossfire.WhoIsActivator()
15     map = activator.Map
16    
17     players = []
18     names = []
19    
20     if (guildname):
21     #find players by coords
22     ob1=map.GetObjectAt(33,24)
23     ob2=map.GetObjectAt(33,26)
24     objects = [ob1, ob2]
25     for object in objects:
26     temp = find_player(object)
27     if temp:
28     players.append(temp)
29     players.append(activator)
30    
31     for player in players:
32     names.append(player.Name)
33    
34     if len(players) == 3:
35     print '%s,%s and %s found guild %s' %(names[0], names[1], names[2], guildname)
36    
37     CFGuilds.CFGuildHouses().establish(guildname)
38     #Masterize them
39     for player, name in zip(players, names):
40     CFGuilds.CFGuild(guildname).add_member(name, 'GuildMaster')
41     guildmarker = CFPython.CreateInvisibleObjectInside(player, guildname)
42     guildmarker.Name=guildname
43     guildmarker.Slaying='GuildMaster'
44    
45     #teleport them
46     player.Teleport(map,int(11),int(16))
47     message = "You have purchased the %s guild. Rule it wisely. (I would type 'save' right about now...)"
48    
49     else:
50     message = 'To purchase a guild requires two additional persons to stand on the alcoves above.'
51     else:
52     print 'Guild Purchase Error: %s, %s' %(guildname, activatorname)
53     message = 'Guild Purchase Error, please notify a DM'
54    
55     whoami.Write(message)
56