ID:178541
 
Ok, i want it so when someone checks who donated, it also tells them how much, i can make it so it says who donated, but im not sure on how to say how much, heres my code:

var/list/donaters


client
New()
..()
var/savefile/F = new ("donaters.sav")
F["donaters"]>> donaters
if(isnull(donaters))
donaters = new /list

Del()
var/savefile/F = new ("donaters.sav")
F["donaters"]<<donaters
..()

mob/verb/Donate(N as num)
if(usr.donated==0)
usr<<"BLAHBLAH"
donaters+=usr.key
usr.donated= 1
if(usr.donated==1)
usr<<"Bah, i don't need you to donate again"

mob/var
donated = 0
mob/verb/bobdownandcheckdonaters()
for(var/X in donaters)
usr<<X
any suggestions??

-NilFisk</<donaters></<x>
First of all, don't use donaters+=src.key, use donaters.Add(src.key). And, as for how much, try this:
var/list/donators = list()
world
New()
..()
var/savefile/S = new("[world.name].sav")
if(S["D"] != null) S["D"] >> donators
Del()
var/savefile/S = new("[world.name].sav")
S["D"] << donators
client/New()
..()
src << "<big>Donators"
for(var/i in donators)
src << "- [i]: [donators[i]]"
proc/addDonator(var/key = "",var/amount = 0)
donators[key] = amount
world << "[key] donated [amount] dimes to [world.name]. Thanks!"
mob/verb/Donate(var/amount = 0 as num in 1 to 1000)
if(PayDimes("Lord of Water",amount,"Donation")) addDonator(src.key,amount)


-Lord of Water
Although this is unrelated to your problem, I'd like to make a suggestion: Don't use ==0 and ==1 for yes/no checks. Use if(something) or if(!something), and leave it at that. That way is much more robust.

Lummox JR