Crossfire Server, Trunk
guildjoin.py
Go to the documentation of this file.
1 # guildjoin.py - operates perilous chair for Hall of Joining in crossfire guilds
2 #
3 # Copyright (C) 2004 Todd Mitchell
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 #
19 # The author can be reached via e-mail at temitchell@sourceforge.net
20 #
21 
22 import Crossfire
23 import CFGuilds
24 
25 def find_player(object):
26  while (object.Type != 1) : #1 is type 'Player'
27  object = object.Above
28  if not object:
29  return 0
30  return object
31 
32 activator=Crossfire.WhoIsActivator()
33 activatorname=activator.Name
34 map = activator.Map
35 whoami=Crossfire.WhoAmI()
36 
37 guildname=Crossfire.ScriptParameters() # 1 is 'apply' event
38 
39 if (guildname):
40  guild = CFGuilds.CFGuild(guildname)
41  #find players by coords
42  ob=map.ObjectAt(9,16)
43  player = find_player(ob)
44  if player: # look for player
45  charname=player.Name
46  in_guild = CFGuilds.SearchGuilds(charname)
47  if in_guild == 0:
48  if guild.info(charname):
49  #already a member
50  message = '%s is already a member.' %charname
51  else:
52  guild.add_member(charname, 'Initiate')
53  message = 'Added %s to the guild' %charname
54  else:
55  message = 'It appears that %s is already a member of the %s guild' %(charname, in_guild)
56  else:
57  message = 'No one is in the chair!'
58 else:
59  Crossfire.Log(Crossfire.LogError, 'Guild Join Error: %s' %(guildname))
60  message = 'Guild Join Error, please notify a DM'
61 
62 whoami.Say(message)
CFGuilds.SearchGuilds
def SearchGuilds(player)
Definition: CFGuilds.py:43
guildjoin.find_player
def find_player(object)
Definition: guildjoin.py:25
CFGuilds.CFGuild
Definition: CFGuilds.py:136