Split event files, make subdirs.
git-svn-id: svn://svn.code.sf.net/p/crossfire/code/trunk/maps@4311 282e977c-c81d-0410-88c4-b93c2d0d6712master
parent
395831dbc8
commit
d8108b3fa3
|
@ -1,14 +1,5 @@
|
|||
The script names following are reserved for global events.
|
||||
They will be triggered automatically when the event occurs.
|
||||
|
||||
EVENT_BORN - python_born.py
|
||||
EVENT_LOGIN - python_login.py
|
||||
EVENT_LOGOUT - python_logout.py
|
||||
EVENT_REMOVE - python_remove.py
|
||||
EVENT_SHOUT - python_shout.py
|
||||
EVENT_MUZZLE - python_muzzle.py
|
||||
EVENT_KICK - python_kick.py
|
||||
EVENT_MAPENTER - python_mapenter.py
|
||||
EVENT_MAPLEAVE - python_mapleave.py
|
||||
EVENT_CLOCK - python_clock.py
|
||||
EVENT_MAPRESET - python_mapreset.py
|
||||
This directory contains 2 scripts:
|
||||
* python_init.py: called when the plugin is called. Will execute scripts in
|
||||
the 'init' subdirectory.
|
||||
* python_event.py: called when a global event (except plugin init) happens. Looks for
|
||||
scripts in the revelant subdirectory (Crossfire.ScriptParameters()) and executes them.
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
# python_born.py - handler for global born event
|
||||
#
|
||||
# Copyright (C) 2002 Joris Bontje
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# The author can be reached via e-mail at jbontje@suespammers.org
|
||||
#
|
||||
#Updated to use new path functions in CFPython -Todd Mitchell
|
||||
|
||||
import Crossfire
|
||||
import CFLog
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
|
||||
log = CFLog.CFLog()
|
||||
log.create(activator.Name)
|
|
@ -0,0 +1,3 @@
|
|||
import CFGuilds
|
||||
print "Updating Guilds"
|
||||
CFGuilds.GuildUpdate()
|
|
@ -0,0 +1,27 @@
|
|||
# python_kick.py - handler for global KICK event
|
||||
#
|
||||
# Copyright (C) 2004 Todd Mitchell
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
|
||||
import Crossfire
|
||||
import CFLog
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
|
||||
log = CFLog.CFLog()
|
||||
log.kick_update(activator.Name)
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import Crossfire
|
||||
import CFLog
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
name = activator.Name
|
||||
ip = Crossfire.WhatIsMessage()
|
||||
|
||||
log = CFLog.CFLog()
|
||||
|
||||
if log.info(name):
|
||||
log.login_update(name, ip)
|
||||
else:
|
||||
log.create(name)
|
|
@ -0,0 +1,35 @@
|
|||
# mail.py - handler for init of mail system
|
||||
#
|
||||
# Copyright (C) 2002-2005 Joris Bontje and others
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# The author can be reached via e-mail at jbontje@suespammers.org
|
||||
#
|
||||
#Updated to use new path functions in CFPython -Todd Mitchell
|
||||
|
||||
import Crossfire
|
||||
import CFMail
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
name = activator.Name
|
||||
|
||||
mail = CFMail.CFMail()
|
||||
total = mail.countmail(name)
|
||||
if total > 0:
|
||||
activator.Write('You have some mail waiting for you')
|
||||
else:
|
||||
activator.Write('No mail...')
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
# python_muzzle.py - handler for global MUZZLE event
|
||||
#
|
||||
# Copyright (C) 2004 Todd Mitchell
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
|
||||
import Crossfire
|
||||
import CFLog
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
name = activator.Name
|
||||
|
||||
log = CFLog.CFLog()
|
||||
log.muzzle_update(name)
|
|
@ -0,0 +1,17 @@
|
|||
# global_event.py - this script handles all global events, except the plugin init (check plugin_init.py for that).
|
||||
#
|
||||
# This script merely looks and launches scripts in a specific subdirectory of /python/events/
|
||||
# Only .py files are considered, you can simply rename a file to disable.
|
||||
#
|
||||
# This should simplify the separation of different Python things.
|
||||
|
||||
import Crossfire
|
||||
import os
|
||||
|
||||
path = os.path.join(Crossfire.DataDirectory(), Crossfire.MapDirectory(), 'python/events', Crossfire.ScriptParameters())
|
||||
|
||||
scripts = os.listdir(path)
|
||||
|
||||
for script in scripts:
|
||||
if (script.endswith('.py')):
|
||||
execfile(os.path.join(path, script))
|
|
@ -5,6 +5,10 @@ import sys
|
|||
print "Running python initialize script."
|
||||
sys.path.insert(0, os.path.join(Crossfire.DataDirectory(), Crossfire.MapDirectory(), 'python'))
|
||||
|
||||
import CFGuilds
|
||||
print "Updating Guilds"
|
||||
CFGuilds.GuildUpdate()
|
||||
path = os.path.join(Crossfire.DataDirectory(), Crossfire.MapDirectory(), 'python/events/init')
|
||||
|
||||
scripts = os.listdir(path)
|
||||
|
||||
for script in scripts:
|
||||
if (script.endswith('.py')):
|
||||
execfile(os.path.join(path, script))
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
# python_remove.py - handler for global remove event
|
||||
#
|
||||
# Copyright (C) 2002 Joris Bontje
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# The author can be reached via e-mail at jbontje@suespammers.org
|
||||
#
|
||||
# Updated to use new path functions in CFPython and Bank
|
||||
# acount cleanup - Todd Mitchell
|
||||
|
||||
import Crossfire
|
||||
import CFBank
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
name = activator.Name
|
||||
|
||||
#If you add a new bank database add an entry here to remove their account
|
||||
#when the player quits
|
||||
bank = CFBank.CFBank('ImperialBank_DB')
|
||||
bank.remove_account(name)
|
|
@ -0,0 +1,32 @@
|
|||
# python_remove.py - handler for global remove event
|
||||
#
|
||||
# Copyright (C) 2002 Joris Bontje
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# The author can be reached via e-mail at jbontje@suespammers.org
|
||||
#
|
||||
# Updated to use new path functions in CFPython and Bank
|
||||
# acount cleanup - Todd Mitchell
|
||||
|
||||
import Crossfire
|
||||
import CFGuilds
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
name = activator.Name
|
||||
|
||||
in_guild = CFGuilds.SearchGuilds(name)
|
||||
if in_guild:
|
||||
CFGuilds.CFGuild(in_guild).remove_member(name)
|
|
@ -0,0 +1,31 @@
|
|||
# python_remove.py - handler for global remove event
|
||||
#
|
||||
# Copyright (C) 2002 Joris Bontje
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# The author can be reached via e-mail at jbontje@suespammers.org
|
||||
#
|
||||
# Updated to use new path functions in CFPython and Bank
|
||||
# acount cleanup - Todd Mitchell
|
||||
|
||||
import Crossfire
|
||||
import CFLog
|
||||
|
||||
activator = Crossfire.WhoIsActivator()
|
||||
name = activator.Name
|
||||
|
||||
log = CFLog.CFLog()
|
||||
log.remove(name)
|
Loading…
Reference in New Issue