Update of the maps for CFPython version 2.0.

Update of the IPO-related scripts.
Gros - 18/10/2005


git-svn-id: svn://svn.code.sf.net/p/crossfire/code/trunk/maps@3899 282e977c-c81d-0410-88c4-b93c2d0d6712
master
gros 2005-10-18 18:13:28 +00:00
parent 4af63ec919
commit 3b77421609
43 changed files with 684 additions and 467 deletions

View File

@ -713,9 +713,11 @@ y 26
end end
arch sign arch sign
name Petitions for the DM name Petitions for the DM
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Petitions board slaying /python/IPO/board.py
name Petitions board
end
msg msg
I am a talking board, designed for leaving messages for the DM. I am a talking board, designed for leaving messages for the DM.
If you don't know what to say, say help. If you don't know what to say, say help.
@ -2473,8 +2475,10 @@ y 28
end end
arch chicken arch chicken
name The Great Chicken Oracle name The Great Chicken Oracle
event_say_plugin Python arch event_say
event_say /python/IPO/seen.py title Python
slaying /python/IPO/seen.py
end
msg msg
@match * @match *
The Great Chicken Oracle is out of service. Buk Buk Buka. The Great Chicken Oracle is out of service. Buk Buk Buka.
@ -2799,10 +2803,14 @@ x 13
y 28 y 28
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -4248,9 +4256,11 @@ y 26
end end
arch sign arch sign
name DM Message Board name DM Message Board
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options DM board slaying /python/IPO/board.py
name DM board
end
msg msg
I am a talking board, designed for inter-DM messages. I am a talking board, designed for inter-DM messages.
If you don't know what to say, say help. If you don't know what to say, say help.

View File

@ -2905,8 +2905,10 @@ end
arch man arch man
name Accountant name Accountant
name_pl Accountant name_pl Accountant
event_say /python/IPO/banksay.py arch event_say
event_say_plugin Python slaying /python/IPO/banksay.py
title Python
end
x 9 x 9
y 7 y 7
end end

View File

@ -411,10 +411,14 @@ x 2
y 18 y 18
end end
arch mailbox arch mailbox
event_close /python/IPO/send.py arch event_close
event_close_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py title Python
event_apply_plugin Python end
arch event_apply
slaying /python/IPO/receive.py
title Python
end
x 2 x 2
y 18 y 18
material 0 material 0
@ -579,10 +583,14 @@ x 3
y 18 y 18
end end
arch mailbox arch mailbox
event_close /python/IPO/send.py arch event_close
event_close_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py title Python
event_apply_plugin Python end
arch event_apply
slaying /python/IPO/receive.py
title Python
end
x 3 x 3
y 18 y 18
material 0 material 0
@ -653,8 +661,10 @@ end
arch guildmaster arch guildmaster
name postmaster name postmaster
name_pl postmaster name_pl postmaster
event_say /python/IPO/say.py arch event_say
event_say_plugin Python slaying /python/IPO/say.py
title Python
end
x 4 x 4
y 3 y 3
end end
@ -731,10 +741,14 @@ x 4
y 18 y 18
end end
arch mailbox arch mailbox
event_close /python/IPO/send.py arch event_close
event_close_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py title Python
event_apply_plugin Python end
arch event_apply
slaying /python/IPO/receive.py
title Python
end
x 4 x 4
y 18 y 18
material 0 material 0
@ -899,10 +913,14 @@ x 5
y 18 y 18
end end
arch mailbox arch mailbox
event_close /python/IPO/send.py arch event_close
event_close_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py title Python
event_apply_plugin Python end
arch event_apply
slaying /python/IPO/receive.py
title Python
end
x 5 x 5
y 18 y 18
material 0 material 0

View File

@ -436,10 +436,12 @@ end
arch merchant arch merchant
name Bank Accountant name Bank Accountant
name_pl Bank Accountant name_pl Bank Accountant
event_say /python/IPO/banksay.py
event_say_plugin Python
x 2 x 2
y 8 y 8
arch event_say
title Python
slaying /python/IPO/banksay.py
end
end end
arch dungeon_magic arch dungeon_magic
x 2 x 2

View File

@ -115,10 +115,14 @@ x 1
y 4 y 4
end end
arch mailbox arch mailbox
event_close /python/IPO/send.py arch event_close
event_close_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py title Python
event_apply_plugin Python end
arch event_apply
slaying /python/IPO/receive.py
title Python
end
x 1 x 1
y 4 y 4
material 0 material 0
@ -175,8 +179,10 @@ msg
Seems the mail's down... sorry, come Seems the mail's down... sorry, come
back once the required law is passed. back once the required law is passed.
endmsg endmsg
event_say /python/IPO/say.py arch event_say
event_say_plugin Python slaying /python/IPO/say.py
title Python
end
x 2 x 2
y 2 y 2
level 115 level 115
@ -498,9 +504,11 @@ msg
I am a talking board, please say something to me. I am a talking board, please say something to me.
If you don't know what to say, say help. If you don't know what to say, say help.
endmsg endmsg
event_say /python/IPO/board.py arch event_say
event_say_plugin Python slaying /python/IPO/board.py
event_say_options Brest board title Python
name Brest board
end
x 7 x 7
y 4 y 4
end end

View File

@ -3066,8 +3066,10 @@ y 17
end end
arch courier arch courier
name Bank of Skud Representative name Bank of Skud Representative
event_say_plugin Python arch event_say
event_say /python/IPO/banksay.py title Python
slaying /python/IPO/banksay.py
end
name_pl Bank of Skud Representative name_pl Bank of Skud Representative
x 8 x 8
y 17 y 17

View File

@ -3026,10 +3026,14 @@ x 6
y 46 y 46
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -3611,10 +3615,14 @@ x 7
y 46 y 46
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -4053,10 +4061,14 @@ x 8
y 46 y 46
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -4574,10 +4586,14 @@ x 9
y 46 y 46
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -7041,10 +7057,14 @@ x 14
y 21 y 21
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1

View File

@ -1227,9 +1227,10 @@ y 15
end end
arch slotmachine3 arch slotmachine3
name GoldFinger name GoldFinger
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying slaying /python/casino/goldslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 7 x 7
@ -1285,8 +1286,10 @@ y 23
end end
arch c_woman arch c_woman
name Ruby name Ruby
event_say_plugin Python arch event_say
event_say /python/IPO/banksay.py title Python
slaying /python/IPO/banksay.py
end
msg msg
@match * @match *
Sorry I'm on my break. Sorry I'm on my break.
@ -1588,8 +1591,10 @@ y 12
end end
arch slotmachine2 arch slotmachine2
name TheMagistrate name TheMagistrate
event_apply_plugin Python arch event_apply
event_apply /python/casino/imperialslots.py title Python
slaying /python/casino/imperialslots.py
end
msg msg
Imperial banknotes only! Imperial banknotes only!
endmsg endmsg
@ -1617,9 +1622,10 @@ y 16
end end
arch slotmachine2 arch slotmachine2
name BigNugget name BigNugget
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying slaying /python/casino/goldslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 9 x 9
@ -2042,9 +2048,10 @@ y 15
end end
arch slotmachine3 arch slotmachine3
name GoldBrick name GoldBrick
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying slaying /python/casino/goldslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 11 x 11
@ -2424,9 +2431,10 @@ end
arch slotmachine3 arch slotmachine3
name Silverado name Silverado
face slotmachine2.111 face slotmachine2.111
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying slaying /python/casino/silverslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 12 x 12
@ -2671,8 +2679,10 @@ end
arch slotmachine2 arch slotmachine2
name WolvesBane name WolvesBane
face slotmachine1.111 face slotmachine1.111
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying /python/casino/silverslots.py
end
x 13 x 13
y 24 y 24
end end
@ -3448,8 +3458,10 @@ y 24
end end
arch slotmachine1 arch slotmachine1
name Starlight name Starlight
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying /python/casino/silverslots.py
end
x 17 x 17
y 24 y 24
end end
@ -3746,9 +3758,10 @@ y 25
end end
arch slotmachine3 arch slotmachine3
name WhiteLightning name WhiteLightning
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying slaying /python/casino/silverslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 18 x 18
@ -3935,9 +3948,10 @@ y 13
end end
arch slotmachine2 arch slotmachine2
name DwarfHorde name DwarfHorde
event_apply_plugin Python arch event_apply
event_apply /python/casino/diamondslots.py title Python
slaying slaying /python/casino/diamondslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 19 x 19
@ -3953,9 +3967,10 @@ y 15
end end
arch slotmachine3 arch slotmachine3
name GoldenShower name GoldenShower
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying slaying /python/casino/goldslots.py
end
food 0 food 0
x 19 x 19
y 15 y 15
@ -4068,8 +4083,10 @@ x 19
y 26 y 26
end end
arch cobblestones2 arch cobblestones2
event_say_plugin Python arch event_say
event_say casinodoor.py title Python
slaying casinodoor.py
end
x 19 x 19
y 27 y 27
end end
@ -4357,9 +4374,10 @@ end
arch slotmachine2 arch slotmachine2
name KingMaker name KingMaker
face slotmachine1.111 face slotmachine1.111
event_apply_plugin Python arch event_apply
event_apply /python/casino/imperialslots.py title Python
slaying slaying /python/casino/imperialslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 21 x 21
@ -4393,9 +4411,11 @@ end
arch slotmachine2 arch slotmachine2
name Moria name Moria
face slotmachine1.111 face slotmachine1.111
event_apply_plugin Python arch event_apply
event_apply /python/misc/CFInsulter.py title Python
event_apply_options shakespear slaying /python/misc/CFInsulter.py
name shakespear
end
msg msg
You hear angry muttering coming from inside this slotmachine. You hear angry muttering coming from inside this slotmachine.
Perhaps it is broken. Perhaps it is broken.
@ -4827,9 +4847,10 @@ y 13
end end
arch slotmachine2 arch slotmachine2
name MineShaft name MineShaft
event_apply_plugin Python arch event_apply
event_apply /python/casino/diamondslots.py title Python
slaying slaying /python/casino/diamondslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 23 x 23
@ -4845,9 +4866,10 @@ y 15
end end
arch slotmachine3 arch slotmachine3
name MidasTouch name MidasTouch
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying slaying /python/casino/goldslots.py
end
food 0 food 0
last_sp 1 last_sp 1
x 23 x 23

View File

@ -1680,9 +1680,11 @@ y 13
end end
arch sign arch sign
name Petitions for the DMs name Petitions for the DMs
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Petitions board slaying /python/IPO/board.py
name Petitions board
end
msg msg
I am a talking board, designed for leaving messages for the DMs. I am a talking board, designed for leaving messages for the DMs.
If you don't know what to say, say help. If you don't know what to say, say help.

View File

@ -2240,9 +2240,11 @@ y 2
end end
arch c_man arch c_man
name Rudy name Rudy
event_say_plugin Python arch event_say
event_say /python/misc/CFInsulter.py title Python
event_say_options texas slaying /python/misc/CFInsulter.py
name texas
end
x 13 x 13
y 2 y 2
end end

View File

@ -139,9 +139,11 @@ y 8
end end
arch sign arch sign
name Navar Message Board name Navar Message Board
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Navar board slaying /python/IPO/board.py
name Navar board
end
msg msg
I am a talking board, please say something to me. I am a talking board, please say something to me.
If you don't know what to say, say help. If you don't know what to say, say help.
@ -304,8 +306,10 @@ y 2
end end
arch c_woman arch c_woman
name Babs name Babs
event_say_plugin Python arch event_say
event_say /python/IPO/say.py title Python
slaying /python/IPO/say.py
end
msg msg
@match * @match *
I'm on a break. I'm on a break.
@ -616,10 +620,14 @@ x 8
y 4 y 4
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1

View File

@ -1068,8 +1068,10 @@ y 5
end end
arch c_man arch c_man
name Sal name Sal
event_say_plugin Python arch event_say
event_say /python/IPO/banksay.py title Python
slaying /python/IPO/banksay.py
end
msg msg
@match * @match *
Sorry the abacus is down at the moment... Sorry the abacus is down at the moment...

View File

@ -177,8 +177,10 @@ y 11
end end
arch pirate_lass arch pirate_lass
name Cindy Loo name Cindy Loo
event_say_plugin Python arch event_say
event_say /python/IPO/seen.py title Python
slaying /python/IPO/seen.py
end
msg msg
@match * @match *
I ain't seen nuthin. I ain't seen nuthin.

View File

@ -7988,8 +7988,10 @@ arch slotmachine3
name Imps and Devils name Imps and Devils
name_pl Silver Sliver name_pl Silver Sliver
slaying silvercoin slaying silvercoin
event_apply /python/casino/silverslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/silverslots.py
title Python
end
food 0 food 0
x 30 x 30
y 27 y 27
@ -8363,8 +8365,10 @@ end
arch slotmachine2 arch slotmachine2
name Yellow Dog name Yellow Dog
name_pl Golden Nugget name_pl Golden Nugget
event_apply /python/casino/goldslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/goldslots.py
title Python
end
food 0 food 0
x 31 x 31
y 27 y 27
@ -8701,8 +8705,10 @@ end
arch slotmachine2 arch slotmachine2
name Golden Nugget name Golden Nugget
name_pl Golden Nugget name_pl Golden Nugget
event_apply /python/casino/goldslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/goldslots.py
title Python
end
food 0 food 0
x 32 x 32
y 25 y 25
@ -8730,8 +8736,10 @@ end
arch slotmachine2 arch slotmachine2
name Golden Nugget name Golden Nugget
name_pl Golden Nugget name_pl Golden Nugget
event_apply /python/casino/goldslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/goldslots.py
title Python
end
food 0 food 0
x 32 x 32
y 27 y 27
@ -9100,8 +9108,10 @@ slaying platinacoin
msg msg
Drop a platinum coin to play. Drop a platinum coin to play.
endmsg endmsg
event_apply /python/casino/platinumslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/platinumslots.py
title Python
end
x 33 x 33
y 25 y 25
end end
@ -9129,8 +9139,10 @@ arch slotmachine3
name Silver Sliver name Silver Sliver
name_pl Silver Sliver name_pl Silver Sliver
slaying silvercoin slaying silvercoin
event_apply /python/casino/silverslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/silverslots.py
title Python
end
food 0 food 0
x 33 x 33
y 27 y 27
@ -9440,8 +9452,10 @@ end
arch slotmachine2 arch slotmachine2
name Yellow Dog name Yellow Dog
name_pl Golden Nugget name_pl Golden Nugget
event_apply /python/casino/goldslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/goldslots.py
title Python
end
food 0 food 0
x 34 x 34
y 25 y 25
@ -9474,8 +9488,10 @@ slaying platinacoin
msg msg
Drop a platinum coin to play. Drop a platinum coin to play.
endmsg endmsg
event_apply /python/casino/platinumslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/platinumslots.py
title Python
end
x 34 x 34
y 27 y 27
end end
@ -9751,8 +9767,10 @@ arch slotmachine3
name Silver Sliver name Silver Sliver
name_pl Silver Sliver name_pl Silver Sliver
slaying silvercoin slaying silvercoin
event_apply /python/casino/silverslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/silverslots.py
title Python
end
food 0 food 0
x 35 x 35
y 25 y 25
@ -9780,8 +9798,10 @@ end
arch slotmachine2 arch slotmachine2
name Golden Nugget name Golden Nugget
name_pl Golden Nugget name_pl Golden Nugget
event_apply /python/casino/goldslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/goldslots.py
title Python
end
food 0 food 0
x 35 x 35
y 27 y 27
@ -10100,8 +10120,10 @@ slaying platinacoin
msg msg
Drop a platinum coin to play. Drop a platinum coin to play.
endmsg endmsg
event_apply /python/casino/platinumslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/platinumslots.py
title Python
end
x 36 x 36
y 25 y 25
end end
@ -10133,8 +10155,10 @@ slaying platinacoin
msg msg
Drop a platinum coin to play. Drop a platinum coin to play.
endmsg endmsg
event_apply /python/casino/platinumslots.py arch event_apply
event_apply_plugin Python slaying /python/casino/platinumslots.py
title Python
end
x 36 x 36
y 27 y 27
end end

View File

@ -133,10 +133,14 @@ x 1
y 8 y 8
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -222,8 +226,10 @@ y 1
end end
arch small_troll arch small_troll
name Betty-Lou name Betty-Lou
event_say_plugin Python arch event_say
event_say /python/IPO/say.py title Python
slaying /python/IPO/say.py
end
friendly 1 friendly 1
stand_still 1 stand_still 1
sleep 0 sleep 0

View File

@ -1992,8 +1992,10 @@ end
arch man arch man
name Hoff name Hoff
face man.131 face man.131
event_say_plugin Python arch event_say
event_say /python/IPO/banksay.py title Python
slaying /python/IPO/banksay.py
end
msg msg
@match * @match *
I'm too busy to answer your queries. I'm too busy to answer your queries.

View File

@ -4334,9 +4334,11 @@ y 21
end end
arch sign arch sign
name Nurnberg Message Board name Nurnberg Message Board
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Nurnberg Board slaying /python/IPO/board.py
name Nurnberg Board
end
msg msg
I am a talking board, please say something to me. I am a talking board, please say something to me.
If you don't know what to say, say help. If you don't know what to say, say help.

View File

@ -1246,8 +1246,10 @@ x 8
y 8 y 8
end end
arch sailor arch sailor
event_say_plugin Python arch event_say
event_say /python/IPO/seen.py title Python
slaying /python/IPO/seen.py
end
msg msg
@match * @match *
...Shake it baby! ...Shake it baby!
@ -1411,8 +1413,10 @@ y 18
end end
arch slotmachine2 arch slotmachine2
name Midas Touch name Midas Touch
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying /python/casino/goldslots.py
end
food 0 food 0
x 9 x 9
y 18 y 18
@ -1726,8 +1730,10 @@ y 18
end end
arch slotmachine3 arch slotmachine3
name Silver Penny-0-Rama name Silver Penny-0-Rama
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying /python/casino/silverslots.py
end
food 0 food 0
x 11 x 11
y 18 y 18

View File

@ -23,13 +23,13 @@
import os.path import os.path
import shelve import shelve
import CFPython import Crossfire
class CFBank: class CFBank:
bankdb = {} bankdb = {}
def __init__(self, bankfile): def __init__(self, bankfile):
self.bankdb_file = os.path.join(CFPython.GetLocalDirectory(),bankfile) self.bankdb_file = os.path.join(Crossfire.LocalDirectory(),bankfile)
self.bankdb = shelve.open(self.bankdb_file) self.bankdb = shelve.open(self.bankdb_file)
def deposit(self, user, amount): def deposit(self, user, amount):

View File

@ -23,11 +23,11 @@
import os.path import os.path
import shelve import shelve
import CFPython import Crossfire
class CFBoard: class CFBoard:
boarddb_file = os.path.join(CFPython.GetLocalDirectory(),'crossfireboard') boarddb_file = os.path.join(Crossfire.LocalDirectory(),'crossfireboard')
boarddb = {} boarddb = {}
total = 0 total = 0

View File

@ -19,7 +19,7 @@
import os import os
import string import string
import CFPython import Crossfire
class CFDataFile: class CFDataFile:
'''Plain text storage for Crossfire data''' '''Plain text storage for Crossfire data'''
@ -28,7 +28,7 @@ class CFDataFile:
'''make datafile paths for datafile 'object' '''make datafile paths for datafile 'object'
- these all go in ../var/crossfire/datafiles to keep the local dir clean''' - these all go in ../var/crossfire/datafiles to keep the local dir clean'''
self.datafile_name = datafile_name self.datafile_name = datafile_name
self.filename = os.path.join((CFPython.GetLocalDirectory()),'datafiles',datafile_name) self.filename = os.path.join((Crossfire.LocalDirectory()),'datafiles',datafile_name)
def exists(self): def exists(self):
'''checks for datafile - no need to load it yet''' '''checks for datafile - no need to load it yet'''

View File

@ -8,13 +8,13 @@ import os.path
import shelve import shelve
import random import random
import CFPython import Crossfire
class SlotMachine: class SlotMachine:
#sets up the file that holds all the slotmachine jackpots #sets up the file that holds all the slotmachine jackpots
#make sure this points to your writable var/crossfire directory #make sure this points to your writable var/crossfire directory
#you can delete that file to reset all the slotmachine jackpots #you can delete that file to reset all the slotmachine jackpots
slotfile = os.path.join(CFPython.GetLocalDirectory(),'SlotMachine_file') slotfile = os.path.join(Crossfire.LocalDirectory(),'SlotMachine_file')
slotdb = {} slotdb = {}
def __init__(self,slotname,slotlist,minpot,maxpot): def __init__(self,slotname,slotlist,minpot,maxpot):
slotdb = shelve.open(self.slotfile) slotdb = shelve.open(self.slotfile)

View File

@ -18,14 +18,14 @@
# #
# The author can be reached via e-mail at temitchell@sourceforge.net # The author can be reached via e-mail at temitchell@sourceforge.net
import CFPython import Crossfire
from time import localtime, strftime, time from time import localtime, strftime, time
import os import os
from CFDataFile import CFDataFile, CFData from CFDataFile import CFDataFile, CFData
def GuildUpdate(): def GuildUpdate():
GuildList = os.path.join(CFPython.GetDataDirectory(),CFPython.GetMapDirectory(),'templates','guild','GuildList') GuildList = os.path.join(Crossfire.DataDirectory(),Crossfire.MapDirectory(),'templates','guild','GuildList')
try: try:
guildfile = open(GuildList,'r') guildfile = open(GuildList,'r')
guildlisting = guildfile.read().split('\n') guildlisting = guildfile.read().split('\n')

View File

@ -10,26 +10,26 @@
# #
#ToddMitchell #ToddMitchell
import CFPython import Crossfire
class Item: class Item:
def __init__(self, object): def __init__(self, object):
self.object = object self.object = object
self.numberof = CFPython.GetQuantity(self.object) self.numberof = self.object.Quantity
def add(self, number): def add(self, number):
tmp = (self.numberof + number)-1 tmp = (self.numberof + number)-1
CFPython.SetQuantity(self.object, tmp) self.object.Quantity=tmp
return 1 return 1
def subtract(self, number): def subtract(self, number):
remainder = self.numberof - number remainder = self.numberof - number
if remainder >= number: if remainder >= number:
CFPython.SetQuantity(self.object, remainder) self.object.Quantity=remainder
return 1 return 1
elif remainder == 0: elif remainder == 0:
CFPython.RemoveObject(self.object) self.object.Remove()
return 1 return 1
else: else:
return 0 return 0

View File

@ -25,7 +25,7 @@
# and rewritten to use plain text file storage (CFDataFile) instead of shelve. # and rewritten to use plain text file storage (CFDataFile) instead of shelve.
import CFPython import Crossfire
from time import localtime, strftime, time from time import localtime, strftime, time
from CFDataFile import CFDataFile, CFData from CFDataFile import CFDataFile, CFData

View File

@ -23,11 +23,11 @@
import os.path import os.path
import shelve import shelve
import CFPython import Crossfire
class CFMail: class CFMail:
maildb_file = os.path.join(CFPython.GetLocalDirectory(),'crossfiremail') maildb_file = os.path.join(Crossfire.LocalDirectory(),'crossfiremail')
maildb = {} maildb = {}
total = 0 total = 0

View File

@ -1,7 +1,7 @@
Mail and Messageboard Python scripts for Crossfire Mail and Messageboard Python scripts for Crossfire
Joris Bontje <jbontje@suespammers.org> Joris Bontje <jbontje@suespammers.org>
Updated Sept 2005 by Ryo Saeba Updated Oct. 2005 by Gros
This collection offers scripts and a map that allow you This collection offers scripts and a map that allow you
to send mail (including items) to your fellow players and place public to send mail (including items) to your fellow players and place public
@ -10,7 +10,7 @@ It also allows for NPCs who can report on player login activity (seen.py).
(note the bank script has been moved to banksay.py) (note the bank script has been moved to banksay.py)
Requirements: Requirements:
- Crossfire (1.4x or higher(version must have system path functions in Python Plugin)) - Crossfire (October 19th, 2005 CVS code or later, requires v2.0 plugin interface)
- Python (2.0 or higher) - Python (2.0 or higher)
- Python Crossfire plugin (latest) - Python Crossfire plugin (latest)

View File

@ -22,18 +22,18 @@
# modified a bit by -Todd Mitchell # modified a bit by -Todd Mitchell
import CFPython import Crossfire
import string import string
import random import random
import CFBank import CFBank
import CFItemBroker import CFItemBroker
activator=CFPython.WhoIsActivator() activator=Crossfire.WhoIsActivator()
activatorname=CFPython.GetName(activator) activatorname=activator.Name
whoami=CFPython.WhoAmI() whoami=Crossfire.WhoAmI()
x=CFPython.GetXPosition(activator) x=activator.X
y=CFPython.GetYPosition(activator) y=activator.Y
#EASILY SETTABLE PARAMETERS #EASILY SETTABLE PARAMETERS
@ -44,7 +44,7 @@ bankdatabase="ImperialBank_DB"
fees=(service_charge/100.0)+1 fees=(service_charge/100.0)+1
bank = CFBank.CFBank(bankdatabase) bank = CFBank.CFBank(bankdatabase)
text = string.split(CFPython.WhatIsMessage()) text = string.split(Crossfire.WhatIsMessage())
thanks_message = ['Thank you for banking the Imperial Way.', 'Thank you, please come \ thanks_message = ['Thank you for banking the Imperial Way.', 'Thank you, please come \
again.', 'Thank you, please come again.','Thank you for banking the Imperial Way.', \ again.', 'Thank you, please come again.','Thank you for banking the Imperial Way.', \
'Thank you for your patronage.', 'Thank you, have a nice day.', 'Thank you. "Service" \ 'Thank you for your patronage.', 'Thank you, have a nice day.', 'Thank you. "Service" \
@ -61,7 +61,7 @@ if text[0] == 'help' or text[0] == 'yes':
elif text[0] == 'deposit': elif text[0] == 'deposit':
if len(text)==2: if len(text)==2:
if (CFPython.PayAmount(activator, int((int(text[1])*exchange_rate)*fees))): if (activator.PayAmount(int((int(text[1])*exchange_rate)*fees))):
bank.deposit(activatorname, int(text[1])) bank.deposit(activatorname, int(text[1]))
message = '%d received, %d imperials deposited to bank account. %s' \ message = '%d received, %d imperials deposited to bank account. %s' \
%((int(text[1])*(exchange_rate/50))*fees,int(text[1]),random.choice(thanks_message)) %((int(text[1])*(exchange_rate/50))*fees,int(text[1]),random.choice(thanks_message))
@ -75,7 +75,7 @@ elif text[0] == 'withdraw':
if (bank.withdraw(activatorname, int(text[1]))): if (bank.withdraw(activatorname, int(text[1]))):
message = '%d imperials withdrawn from bank account. %s' \ message = '%d imperials withdrawn from bank account. %s' \
%(int(text[1]),random.choice(thanks_message)) %(int(text[1]),random.choice(thanks_message))
id = CFPython.CreateObject('imperial', (x, y)) id = activator.Map.CreateObject('imperial', (x, y))
CFItemBroker.Item(id).add(int(text[1])) CFItemBroker.Item(id).add(int(text[1]))
else: else:
message = 'Not enough imperials on your account' message = 'Not enough imperials on your account'
@ -84,11 +84,11 @@ elif text[0] == 'withdraw':
elif text[0] == 'exchange': elif text[0] == 'exchange':
if len(text)==2: if len(text)==2:
inv=CFPython.CheckInventory(activator,'imperial') inv=activator.CheckInventory('imperial')
if inv: if inv:
pay = CFItemBroker.Item(inv).subtract(int(text[1])) pay = CFItemBroker.Item(inv).subtract(int(text[1]))
if pay: if pay:
id = CFPython.CreateObject('platinum coin', (x, y)) id = activator.Map.CreateObject('platinum coin', (x, y))
CFItemBroker.Item(id).add(int(text[1])*(exchange_rate/50)) CFItemBroker.Item(id).add(int(text[1])*(exchange_rate/50))
message = random.choice(thanks_message) message = random.choice(thanks_message)
else: else:
@ -109,4 +109,4 @@ elif text[0] == 'balance':
else: else:
message = 'Do you need help?' message = 'Do you need help?'
CFPython.Say(whoami, message) whoami.Say(message)

View File

@ -22,62 +22,62 @@
# #
#Updated to use new path functions in CFPython -Todd Mitchell #Updated to use new path functions in CFPython -Todd Mitchell
import CFPython import Crossfire
import CFBoard import CFBoard
import string import string
board = CFBoard.CFBoard() board = CFBoard.CFBoard()
activator=CFPython.WhoIsActivator() activator=Crossfire.WhoIsActivator()
activatorname=CFPython.GetName(activator) activatorname=activator.Name
whoami=CFPython.WhoAmI() whoami=Crossfire.WhoAmI()
boardname=CFPython.GetEventOptions(whoami,6) # 6 is say event boardname=Crossfire.ScriptParameters() # 6 is say event
print "Activated %s" %boardname print "Activated %s" %boardname
if (boardname): if (boardname):
text = string.split(CFPython.WhatIsMessage(), ' ', 1) text = string.split(Crossfire.WhatIsMessage(), ' ', 1)
if text[0] == 'help' or text[0] == 'yes': if text[0] == 'help' or text[0] == 'yes':
message='Help for %s\nList of commands:\n\n- list\n- write <message>\n- remove <id>\n'%boardname message='Help for %s\nList of commands:\n\n- list\n- write <message>\n- remove <id>\n'%boardname
CFPython.Write(message, activator) activator.Write(message)
elif text[0] == 'write': elif text[0] == 'write':
if len(text)==2: if len(text)==2:
board.write(boardname, activatorname, text[1]) board.write(boardname, activatorname, text[1])
CFPython.Write('Added to %s'%boardname, activator) activator.Write('Added to %s'%boardname)
else: else:
CFPython.Write('Usage "write <text>"', activator) activator.Write('Usage "write <text>"')
elif text[0] == 'list': elif text[0] == 'list':
total = board.countmsg(boardname) total = board.countmsg(boardname)
if total > 0: if total > 0:
CFPython.Write('Content of %s:'%boardname, activator) activator.Write('Content of %s:'%boardname)
elements = board.list(boardname) elements = board.list(boardname)
element = [] element = []
id = 1 id = 1
for element in elements: for element in elements:
author, message = element author, message = element
CFPython.Write('<%d> (%s) %s'%(id,author,message), activator) activator.Write('<%d> (%s) %s'%(id,author,message))
id=id+1 id=id+1
else: else:
CFPython.Write('%s is empty'%boardname, activator) activator.Write('%s is empty'%boardname)
elif text[0] == 'remove': elif text[0] == 'remove':
if len(text)==2: if len(text)==2:
if board.getauthor(boardname,int(text[1]))==activatorname or CFPython.IsDungeonMaster(activator): if board.getauthor(boardname,int(text[1]))==activatorname or activator.IsDungeonMaster:
if board.delete(boardname, int(text[1])): if board.delete(boardname, int(text[1])):
CFPython.Write('Removed from %s'%boardname, activator) activator.Write('Removed from %s'%boardname)
else: else:
CFPython.Write('Doesn\'t exist on %s'%boardname, activator) activator.Write('Doesn\'t exist on %s'%boardname)
else: else:
CFPython.Write('Access denied', activator) activator.Write('Access denied')
else: else:
CFPython.Write('Usage "remove <id>"', activator) activator.Write('Usage "remove <id>"')
else: else:
CFPython.Write('Do you need help?', activator) activator.Write('Do you need help?')
else: else:
CFPython.Write('Board Error', activator) activator.Write('Board Error')

View File

@ -20,13 +20,13 @@
# #
#Updated to use new path functions in CFPython -Todd Mitchell #Updated to use new path functions in CFPython -Todd Mitchell
import CFPython import Crossfire
import CFMail import CFMail
import string import string
activator=CFPython.WhoIsActivator() activator=Crossfire.WhoIsActivator()
activatorname=CFPython.GetName(activator) activatorname=activator.Name
whoami=CFPython.WhoAmI() whoami=Crossfire.WhoAmI()
mail = CFMail.CFMail() mail = CFMail.CFMail()
total = mail.countmail(activatorname) total = mail.countmail(activatorname)
@ -37,26 +37,26 @@ if total > 0:
for element in elements: for element in elements:
type, fromname, message = element type, fromname, message = element
if type==1: if type==1:
msgob = CFPython.CreateObjectInside('scroll', whoami) msgob = whoami.CreateObject('scroll')
CFPython.SetName(msgob,'mailscroll F: '+fromname+' T: '+activatorname) msgob.Name='mailscroll F: '+fromname+' T: '+activatorname
CFPython.SetMessage(msgob, message) msgob.Message=message
CFPython.SetValue(msgob, 0) msgob.Value=0
elif type==2: elif type==2:
msgob = CFPython.CreateObjectInside('note', whoami) msgob = whoami.CreateObject('note')
CFPython.SetName(msgob,'newspaper D: '+fromname) msgob.Name='newspaper D: '+fromname
CFPython.SetMessage(msgob, message) msgob.Message=message
CFPython.SetValue(msgob, 0) msgob.Value=0
elif type==3: elif type==3:
msgob = CFPython.CreateObjectInside('diploma', whoami) msgob = whoami.CreateObject('diploma')
CFPython.SetName(msgob,'mailwarning F: '+fromname+' T: '+activatorname) msgob.Name='mailwarning F: '+fromname+' T: '+activatorname
CFPython.SetMessage(msgob, message) msgob.Message=message
CFPython.SetValue(msgob, 0) msgob.Value=0
else: else:
print 'ERROR: unknown mailtype\n' print 'ERROR: unknown mailtype\n'
if total == 1: if total == 1:
CFPython.Write('You got 1 mail.', activator) activator.Write('You got 1 mail.')
elif total > 1: elif total > 1:
CFPython.Write('You got %s mails.'%total, activator) activator.Write('You got %s mails.'%total)
else: else:
CFPython.Write('You haven\'t got any mail.', activator) activator.Write('You haven\'t got any mail.')

View File

@ -43,74 +43,75 @@ storage_y = 2
# Post office sack name (one word without space) # Post office sack name (one word without space)
sackName = 'package' sackName = 'package'
import CFPython import Crossfire
import string import string
import CFLog import CFLog
activator=CFPython.WhoIsActivator() activator=Crossfire.WhoIsActivator()
activatorname=CFPython.GetName(activator) activatorname=activator.Name
whoami=CFPython.WhoAmI() whoami=Crossfire.WhoAmI()
x=CFPython.GetXPosition(activator) x=activator.X
y=CFPython.GetYPosition(activator) y=activator.Y
log = CFLog.CFLog() log = CFLog.CFLog()
text = string.split(CFPython.WhatIsMessage()) text = string.split(Crossfire.WhatIsMessage())
if text[0] == 'help' or text[0] == 'yes': if text[0] == 'help' or text[0] == 'yes':
message = 'How can I help you ? Here is a quick list of commands:\n\n- pen (%s platinum)\n- literacy (%s platinum)\n- mailscroll <friend> (%s platinum)\n- bag <friend> (%s platinum)\n- package <friend> (%s platinum)\n- carton <friend> (%s platinum)\n- send <friend>\n- receive'%(priceWritingPen,priceScrollOfLiteracy,priceMailScroll,priceBag,pricePackage,priceCarton) message = 'How can I help you ? Here is a quick list of commands:\n\n- pen (%s platinum)\n- literacy (%s platinum)\n- mailscroll <friend> (%s platinum)\n- bag <friend> (%s platinum)\n- package <friend> (%s platinum)\n- carton <friend> (%s platinum)\n- send <friend>\n- receive'%(priceWritingPen,priceScrollOfLiteracy,priceMailScroll,priceBag,pricePackage,priceCarton)
CFPython.Say(whoami,message) whoami.Say(message)
elif text[0] == 'pen': elif text[0] == 'pen':
if (CFPython.PayAmount(activator, priceWritingPen*priceFactor)): if (activator.PayAmount(priceWritingPen*priceFactor)):
CFPython.Say(whoami, 'Here is your IPO Writing Pen') whoami.Say('Here is your IPO Writing Pen')
id = CFPython.CreateObject('writing pen', (x, y)) id = activator.Map.CreateObject('writing pen', x, y)
CFPython.SetName(id, 'IPO Writing Pen') id.Name='IPO Writing Pen'
CFPython.SetValue(id, 0) id.Value=0
else: else:
CFPython.Say(whoami, 'You need %s platinum for an IPO Writing Pen'%priceWritingPen) whoami.Say('You need %s platinum for an IPO Writing Pen'%priceWritingPen)
elif text[0] == 'literacy': elif text[0] == 'literacy':
if (CFPython.PayAmount(activator,priceScrollOfLiteracy*priceFactor)): if (activator.PayAmount(priceScrollOfLiteracy*priceFactor)):
CFPython.Say(whoami, 'Here is your IPO Scroll of Literacy') whoami.Say('Here is your IPO Scroll of Literacy')
id = CFPython.CreateObject('scroll of literacy', (x, y)) id = activator.Map.CreateObject('scroll of literacy', x, y)
CFPython.SetName(id, 'IPO Scroll of Literacy') id.SetName='IPO Scroll of Literacy'
CFPython.SetValue(id, 0) id.SetValue=0
else: else:
CFPython.Say(whoami, 'You need %s platinum for an IPO Scroll of Literacy'%priceScrollOfLiteracy) whoami.Say('You need %s platinum for an IPO Scroll of Literacy'%priceScrollOfLiteracy)
elif text[0] == 'mailscroll': elif text[0] == 'mailscroll':
if len(text)==2: if len(text)==2:
if log.info(text[1]): if log.info(text[1]):
if (CFPython.PayAmount(activator, priceMailScroll*priceFactor)): if (activator.PayAmount(priceMailScroll*priceFactor)):
CFPython.Say(whoami, 'Here is your mailscroll') whoami.Say('Here is your mailscroll')
id = CFPython.CreateObject('scroll', (x, y)) id = activator.Map.CreateObject('scroll', x, y)
CFPython.SetName(id, 'mailscroll T: '+text[1]+' F: '+ activatorname) id.Name='mailscroll T: '+text[1]+' F: '+ activatorname
CFPython.SetValue(id, 0) id.Value=0
else: else:
CFPython.Say(whoami, 'You need %s platinum for a mailscroll'%priceMailScroll) whoami.Say('You need %s platinum for a mailscroll'%priceMailScroll)
else: else:
CFPython.Say(whoami, 'I don\'t know any %s'%text[1]) whoami.Say('I don\'t know any %s'%text[1])
else: else:
CFPython.Say(whoami, 'Usage "mailscroll <friend>"') whoami.Say('Usage "mailscroll <friend>"')
elif text[0] == 'mailwarning': elif text[0] == 'mailwarning':
if (CFPython.IsDungeonMaster(activator)): if (activator.IsDungeonMaster):
if len(text)==2: if len(text)==2:
if log.info(text[1]): if log.info(text[1]):
CFPython.Say(whoami, 'Here is your mailwarning') whoami.Say('Here is your mailwarning')
id = CFPython.CreateObject('diploma', (x, y)) id = activator.Map.CreateObject('diploma', x, y)
CFPython.SetName(id, 'mailwarning T: '+text[1]+' F: '+ activatorname) id.Name='mailwarning T: '+text[1]+' F: '+ activatorname
CFPython.SetValue(id, 0) id.Value=0
else: else:
CFPython.Say(whoami, 'I don\'t know any %s'%text[1]) whoami.Say('I don\'t know any %s'%text[1])
else: else:
CFPython.Say(whoami, 'Usage "mailwarning <foo>"') whoami.Say('Usage "mailwarning <foo>"')
else: else:
CFPython.Say(whoami, 'You need to be DM to be able to use this command') whoami.Say('You need to be DM to be able to use this command')
elif text[0] == 'bag' or text[0] == 'package' or text[0] == 'carton': elif text[0] == 'bag' or text[0] == 'package' or text[0] == 'carton':
if (len(text) == 2): if (len(text) == 2):
@ -128,59 +129,60 @@ elif text[0] == 'bag' or text[0] == 'package' or text[0] == 'carton':
max = 100000 max = 100000
item = 'r_sack' item = 'r_sack'
if ( CFPython.PayAmount(activator, price*priceFactor) ): if ( activator.PayAmount(price*priceFactor) ):
box = CFPython.CreateObject(item, (x, y)) box = activator.Map.CreateObject(item, x, y)
CFPython.SetName(box, sackName + ' T: ' + text[1] + ' F: ' + activatorname) box.Name=sackName + ' T: ' + text[1] + ' F: ' + activatorname
CFPython.SetWeightLimit(box, max) box.WeightLimit=max
CFPython.SetStrength(box, 0) box.Strength=0
CFPython.Say(whoami, 'Here is your %s'%text[0]) whoami.Say(whoami, 'Here is your %s'%text[0])
CFPython.InsertObjectInside(box, activator) activator.InsertObject(box)
else: else:
CFPython.Say(whoami, 'You need %s platinum to buy a %s'%( price, text[0] ) ) whoami.Say('You need %s platinum to buy a %s'%( price, text[0] ) )
else: else:
CFPython.Say(whoami, 'I don\'t know any %s'%text[1]) whoami.Say('I don\'t know any %s'%text[1])
else: else:
CFPython.Say(whoami, 'Send a %s to who?'%text[0] ) whoami.Say('Send a %s to who?'%text[0] )
elif text[0] == 'send': elif text[0] == 'send':
if len(text) == 2: if len(text) == 2:
inv = CFPython.CheckInventory(activator,sackName) inv = activator.CheckInventory(sackName)
map = 0 map = 0
if inv != 0: if inv != 0:
while inv != 0: while inv != 0:
next = CFPython.GetNextObject(inv) next = inv.Below
text2=string.split(CFPython.GetName(inv)) text2=string.split(inv.Name)
if text2[0]==sackName and text2[1]=='T:' and text2[3]=='F:' and text2[2] == text[1]: if text2[0]==sackName and text2[1]=='T:' and text2[3]=='F:' and text2[2] == text[1]:
map = CFPython.ReadyMap(storage_map) map = Crossfire.ReadyMap(storage_map)
if map == 0: if map == 0:
CFPython.Say(whoami, 'I\'m sorry but the post can\'t send your package now.') whoami.Say('I\'m sorry but the post can\'t send your package now.')
else: else:
CFPython.Teleport(inv, map, storage_x, storage_y) inv.Teleport(map, storage_x, storage_y)
CFPython.Say(whoami, 'Package sent') whoami.Say('Package sent')
inv = next inv = next
else: else:
CFPython.Say(whoami, 'No package to send.') whoami.Say('No package to send.')
else: else:
CFPython.Say(whoami, 'Send packages to who?') whoami.Say('Send packages to who?')
elif text[0] == 'receive': elif text[0] == 'receive':
map = CFPython.ReadyMap(storage_map) map = Crossfire.ReadyMap(storage_map)
if ( map != 0 ): if ( map != 0 ):
item = CFPython.GetObjectAt(map, storage_x, storage_y) item = map.GetObjectAt(storage_x, storage_y)
count = 0 count = 0
while item != 0: while item != 0:
previous = CFPython.GetPreviousObject(item) previous = item.above
text2 = string.split(CFPython.GetName(item)) text2 = string.split(item.Name)
if ( len(text2) == 5 ) and ( text2[0] == sackName ) and ( text2[2] == activatorname ): if ( len(text2) == 5 ) and ( text2[0] == sackName ) and ( text2[2] == activatorname ):
CFPython.InsertObjectInside(item,activator) activator.InsertObjectInside(item)
count = count + 1 count = count + 1
item = previous item = previous
if ( count == 0 ): if ( count == 0 ):
CFPython.Say(whoami, 'No package for you, sorry.') whoami.Say('No package for you, sorry.')
else: else:
CFPython.Say(whoami, 'Here you go.') whoami.Say('Here you go.')
else: else:
CFPython.Say(whoami, 'Sorry, our package delivery service is currently in strike. Please come back later.') whoami.Say('Sorry, our package delivery service is currently in strike. Please come back later.')
else: else:
CFPython.Say(whoami, 'Do you need help?') whoami.Say('Do you need help?')
Crossfire.setReturnValue(1)

View File

@ -22,19 +22,19 @@
# #
# seen - tells player information from logger # seen - tells player information from logger
import CFPython import Crossfire
import string import string
import CFLog import CFLog
activator=CFPython.WhoIsActivator() activator=Crossfire.WhoIsActivator()
activatorname=CFPython.GetName(activator) activatorname=activator.Name
whoami=CFPython.WhoAmI() whoami=Crossfire.WhoAmI()
isDM=CFPython.IsDungeonMaster(activator) isDM=activator.IsDungeonMaster
x=CFPython.GetXPosition(activator) x=activator.X
y=CFPython.GetYPosition(activator) y=activator.Y
log = CFLog.CFLog() log = CFLog.CFLog()
text = string.split(CFPython.WhatIsMessage()) text = string.split(Crossfire.WhatIsMessage())
if text[0] == 'seen': if text[0] == 'seen':
if len(text)==2: if len(text)==2:
@ -107,4 +107,4 @@ elif text[0] == 'info' and isDM:
else: else:
message = "Do you need help?" message = "Do you need help?"
CFPython.Say(whoami, message) whoami.Say(message)

View File

@ -20,61 +20,62 @@
# #
#Updated to use new path functions in CFPython -Todd Mitchell #Updated to use new path functions in CFPython -Todd Mitchell
import CFPython import Crossfire
import CFMail import CFMail
import string import string
from time import localtime, strftime, time from time import localtime, strftime, time
mail = CFMail.CFMail() mail = CFMail.CFMail()
date = strftime("%a, %d %b %Y %H:%M:%S CEST", localtime(time())) date = strftime("%a, %d %b %Y %H:%M:%S CEST", localtime(time()))
activator=CFPython.WhoIsActivator() activator=Crossfire.WhoIsActivator()
activatorname=CFPython.GetName(activator) activatorname=activator.Name
whoami=CFPython.WhoAmI() whoami=Crossfire.WhoAmI()
idlist=[] idlist=[]
inv = CFPython.CheckInventory(CFPython.WhoAmI(),"mailscroll") inv = whoami.CheckInventory("mailscroll")
if inv != 0: if inv != None:
while inv!=0: while inv!=None:
text=string.split(CFPython.GetName(inv)) print("INV:%s" %inv.Name)
text=string.split(inv.Name)
if text[0]=='mailscroll' and text[1]=='T:' and text[3]=='F:': if text[0]=='mailscroll' and text[1]=='T:' and text[3]=='F:':
idlist.append(inv) idlist.append(inv)
toname=text[2] toname=text[2]
fromname=text[4] fromname=text[4]
message='From: %s\nTo: %s\nDate: %s\n\n%s\n' % (fromname, toname, date, CFPython.GetMessage(inv)[:-1]) message='From: %s\nTo: %s\nDate: %s\n\n%s\n' % (fromname, toname, date, inv.Message[:-1])
CFPython.Write('mailscroll to '+toname+' sent.', activator) activator.Write('mailscroll to '+toname+' sent.')
mail.send(1, toname, fromname, message) mail.send(1, toname, fromname, message)
elif text[0]=='mailscroll' and text[1]=='F:' and text[3]=='T:': elif text[0]=='mailscroll' and text[1]=='F:' and text[3]=='T:':
idlist.append(inv) idlist.append(inv)
fromname=text[2] fromname=text[2]
toname=text[4] toname=text[4]
message=CFPython.GetMessage(inv)[:-1]+'\n' message=inv.Message[:-1]+'\n'
mail.send(1, toname, fromname, message) mail.send(1, toname, fromname, message)
else: else:
print "ID: %d"%inv print "ID: %d"%inv
print "Name: "+CFPython.GetName(inv) print "Name: "+inv.Name
inv=CFPython.GetNextObject(inv) inv=inv.Below
inv = CFPython.CheckInventory(CFPython.WhoAmI(),"mailwarning") inv = whoami.CheckInventory("mailwarning")
if inv != 0: if inv != None:
while inv!=0: while inv!=None:
text=string.split(CFPython.GetName(inv)) text=string.split(inv.Name)
if text[0]=='mailwarning' and text[1]=='T:' and text[3]=='F:': if text[0]=='mailwarning' and text[1]=='T:' and text[3]=='F:':
idlist.append(inv) idlist.append(inv)
toname=text[2] toname=text[2]
fromname=text[4] fromname=text[4]
message='From: %s\nTo: %s\nDate: %s\n\n%s\n' % (fromname, toname, date, CFPython.GetMessage(inv)[:-1]) message='From: %s\nTo: %s\nDate: %s\n\n%s\n' % (fromname, toname, date, inv.Message[:-1])
CFPython.Write('mailwarning to '+toname+' sent.', activator) activator.Write('mailwarning to '+toname+' sent.')
mail.send(3, toname, fromname, message) mail.send(3, toname, fromname, message)
elif text[0]=='mailwarning' and text[1]=='F:' and text[3]=='T:': elif text[0]=='mailwarning' and text[1]=='F:' and text[3]=='T:':
idlist.append(inv) idlist.append(inv)
fromname=text[2] fromname=text[2]
toname=text[4] toname=text[4]
message=CFPython.GetMessage(inv)[:-1]+'\n' message=inv.Message[:-1]+'\n'
mail.send(3, toname, fromname, message) mail.send(3, toname, fromname, message)
else: else:
print "ID: %d"%inv print "ID: %d"%inv
print "Name: "+CFPython.GetName(inv) print "Name: "+inv.Name
inv=CFPython.GetNextObject(inv) inv=inv.Below
for inv in idlist: for inv in idlist:
CFPython.RemoveObject(inv) inv.Remove()

View File

@ -277,8 +277,10 @@ y 2
end end
arch blue_dragon2 arch blue_dragon2
name Edwardo name Edwardo
event_say_plugin Python arch event_say
event_say /python/IPO/banksay.py title Python
slaying /python/IPO/banksay.py
end
msg msg
@match * @match *
Sorry I am on break, please come back later. Sorry I am on break, please come back later.
@ -804,9 +806,11 @@ y 13
end end
arch sign arch sign
name Santo Dominion Message Board name Santo Dominion Message Board
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Santo Dominion Board slaying /python/IPO/board.py
name Santo Dominion Board
end
msg msg
I am a talking board, please say something to me. I am a talking board, please say something to me.
If you don't know what to say, say help. If you don't know what to say, say help.
@ -1674,10 +1678,14 @@ x 14
y 5 y 5
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -1726,9 +1734,11 @@ y 13
end end
arch sign arch sign
name Petitions for the DMs name Petitions for the DMs
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Petitions board slaying /python/IPO/board.py
name Petitions board
end
msg msg
I am a talking board, designed for leaving messages for the DMs. I am a talking board, designed for leaving messages for the DMs.
If you don't know what to say, say help. If you don't know what to say, say help.
@ -2143,8 +2153,10 @@ y 3
end end
arch fatwoman arch fatwoman
name Betina name Betina
event_say_plugin Python arch event_say
event_say /python/IPO/say.py title Python
slaying /python/IPO/say.py
end
stand_still 1 stand_still 1
x 18 x 18
y 3 y 3

View File

@ -2594,9 +2594,11 @@ y 1
end end
arch sign arch sign
name Petitions for the DMs name Petitions for the DMs
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Petitions board slaying /python/IPO/board.py
name Petitions board
end
msg msg
I am a talking board, designed for leaving messages for the DM. I am a talking board, designed for leaving messages for the DM.
If you don't know what to say, say help. If you don't know what to say, say help.

View File

@ -117,10 +117,14 @@ x 1
y 4 y 4
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -184,8 +188,10 @@ y 2
end end
arch c_woman arch c_woman
name Colette name Colette
event_say_plugin Python arch event_say
event_say /python/IPO/say.py title Python
slaying /python/IPO/say.py
end
msg msg
@match * I'm on a break. @match * I'm on a break.
endmsg endmsg
@ -340,9 +346,11 @@ y 7
end end
arch sign arch sign
name Scorn Message Board name Scorn Message Board
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options Scorn board slaying /python/IPO/board.py
name Scorn board
end
msg msg
I am a talking board, please say something to me. I am a talking board, please say something to me.
If you don't know what to say, say help. If you don't know what to say, say help.

View File

@ -361,8 +361,10 @@ y 8
end end
arch woman arch woman
name Nancy name Nancy
event_say_plugin Python arch event_say
event_say /python/IPO/banksay.py title Python
slaying /python/IPO/banksay.py
end
msg msg
@match * @match *
Sorry I am on break, please come back later. Sorry I am on break, please come back later.

View File

@ -1361,8 +1361,10 @@ y 1
end end
arch slotmachine2 arch slotmachine2
name Gerty Gold name Gerty Gold
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying /python/casino/goldslots.py
end
slaying slaying
food 0 food 0
x 5 x 5
@ -1753,8 +1755,10 @@ y 1
end end
arch slotmachine3 arch slotmachine3
name Sally Silver name Sally Silver
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying /python/casino/silverslots.py
end
slaying slaying
food 0 food 0
x 7 x 7
@ -3805,8 +3809,10 @@ x 16
y 27 y 27
end end
arch man arch man
event_say_plugin Python arch event_say
event_say /python/IPO/seen.py title Python
slaying /python/IPO/seen.py
end
msg msg
@match * @match *
Howdy Howdy

View File

@ -951,10 +951,14 @@ x 4
y 19 y 19
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /scorn/ImperialPost/send.py title Python
event_apply_plugin Python slaying /scorn/ImperialPost/send.py
event_apply /scorn/ImperialPost/receive.py end
arch event_apply
title Python
slaying /scorn/ImperialPost/receive.py
end
x 4 x 4
y 19 y 19
end end

View File

@ -614,9 +614,11 @@ y 1
end end
arch sign arch sign
name GuildMaster Message Board name GuildMaster Message Board
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options GUILD_TEMPLATE_GM_board slaying /python/IPO/board.py
name GUILD_TEMPLATE_GM_board
end
msg msg
I am a talking board, please say something to me. I am a talking board, please say something to me.
If you don't know what to say, say help. If you don't know what to say, say help.
@ -656,9 +658,11 @@ y 7
end end
arch crystalball arch crystalball
name Guild Oracle name Guild Oracle
event_say_plugin Python arch event_say
event_say /python/guilds/guildoracle.py title Python
event_say_options GUILD_TEMPLATE slaying /python/guilds/guildoracle.py
name GUILD_TEMPLATE
end
name_pl Guild Oracle name_pl Guild Oracle
material 256 material 256
no_pick 1 no_pick 1
@ -697,8 +701,10 @@ y 13
end end
arch sign arch sign
name GuildRankings name GuildRankings
event_apply_plugin Python arch event_apply
event_apply /python/guilds/guildboard.py title Python
slaying /python/guilds/guildboard.py
end
x 7 x 7
y 13 y 13
end end

View File

@ -1843,9 +1843,11 @@ y 11
end end
arch trigger arch trigger
name Load name Load
event_apply_plugin Python arch event_apply
event_apply /python/guilds/guildjoin.py title Python
event_apply_options GUILD_TEMPLATE slaying /python/guilds/guildjoin.py
name GUILD_TEMPLATE
end
msg msg
Pull to add member to guild. Pull to add member to guild.
endmsg endmsg

View File

@ -1057,9 +1057,11 @@ y 7
end end
arch beholder arch beholder
name Jack name Jack
event_say_plugin Python arch event_say
event_say /python/guilds/guild_dues.py title Python
event_say_options GUILD_TEMPLATE slaying /python/guilds/guild_dues.py
name GUILD_TEMPLATE
end
msg msg
Sorry, I'm on my break. Sorry, I'm on my break.
endmsg endmsg
@ -4504,9 +4506,11 @@ y 24
end end
arch sign arch sign
name Guardian name Guardian
event_say_plugin Python arch event_say
event_say /python/guilds/guild_entry.py title Python
event_say_options GUILD_TEMPLATE slaying /python/guilds/guild_entry.py
name GUILD_TEMPLATE
end
x 15 x 15
y 25 y 25
end end
@ -8691,10 +8695,14 @@ x 30
y 5 y 5
end end
arch mailbox arch mailbox
event_close_plugin Python arch event_close
event_close /python/IPO/send.py title Python
event_apply_plugin Python slaying /python/IPO/send.py
event_apply /python/IPO/receive.py end
arch event_apply
title Python
slaying /python/IPO/receive.py
end
material 0 material 0
weight 0 weight 0
no_pick 1 no_pick 1
@ -8892,9 +8900,11 @@ x 31
end end
arch button_lever arch button_lever
name The Big Lever name The Big Lever
event_apply_plugin Python arch event_apply
event_apply /python/guilds/guildbuy.py title Python
event_apply_options GUILD_TEMPLATE slaying /python/guilds/guildbuy.py
name GUILD_TEMPLATE
end
msg msg
Pull to establish this guild. Pull to establish this guild.
endmsg endmsg
@ -8991,9 +9001,11 @@ y 7
end end
arch sign arch sign
name Guild Message Board name Guild Message Board
event_say_plugin Python arch event_say
event_say /python/IPO/board.py title Python
event_say_options GUILD_TEMPLATE_board slaying /python/IPO/board.py
name GUILD_TEMPLATE_board
end
msg msg
I am a talking board, please say something to me. I am a talking board, please say something to me.
If you don't know what to say, say help. If you don't know what to say, say help.
@ -9277,9 +9289,11 @@ x 32
y 28 y 28
end end
arch altar arch altar
event_apply_plugin Python arch event_apply
event_apply /python/guilds/guildbuy.py title Python
event_apply_options GUILD_TEMPLATE slaying /python/guilds/guildbuy.py
name GUILD_TEMPLATE
end
msg msg
Please drop 5000 imperial notes for guild. Please drop 5000 imperial notes for guild.
endmsg endmsg

View File

@ -236,8 +236,10 @@ msg
Drop a platinum coin to play. Drop a platinum coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/platinumslots.py title Python
slaying /python/casino/platinumslots.py
end
x 1 x 1
y 8 y 8
end end
@ -262,8 +264,10 @@ name #4
msg msg
Drop a gold coin to play. Drop a gold coin to play.
endmsg endmsg
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying /python/casino/goldslots.py
end
title Slot title Slot
x 1 x 1
y 10 y 10
@ -290,8 +294,10 @@ msg
Drop a silver coin to play. Drop a silver coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying /python/casino/silverslots.py
end
x 1 x 1
y 12 y 12
end end
@ -416,8 +422,10 @@ msg
Drop a platinum coin to play. Drop a platinum coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/platinumslots.py title Python
slaying /python/casino/platinumslots.py
end
x 2 x 2
y 8 y 8
end end
@ -443,8 +451,10 @@ msg
Drop a gold coin to play. Drop a gold coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying /python/casino/goldslots.py
end
x 2 x 2
y 10 y 10
end end
@ -470,8 +480,10 @@ msg
Drop a silver coin to play. Drop a silver coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying /python/casino/silverslots.py
end
x 2 x 2
y 12 y 12
end end
@ -596,8 +608,10 @@ msg
Drop a platinum coin to play. Drop a platinum coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/platinumslots.py title Python
slaying /python/casino/platinumslots.py
end
x 3 x 3
y 8 y 8
end end
@ -623,8 +637,10 @@ msg
Drop a gold coin to play. Drop a gold coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/goldslots.py title Python
slaying /python/casino/goldslots.py
end
x 3 x 3
y 10 y 10
end end
@ -650,8 +666,10 @@ msg
Drop a silver coin to play. Drop a silver coin to play.
endmsg endmsg
title Slot title Slot
event_apply_plugin Python arch event_apply
event_apply /python/casino/silverslots.py title Python
slaying /python/casino/silverslots.py
end
x 3 x 3
y 12 y 12
end end