ID:166923
 
how do I make my npc's drop gold when they're hit by the shockwave? even better random amounts in centimes or euros???
yes it'll be a busking game as my shockwave is musical notes.
Eventually it would be cool also to change the distance depending on the instrument playing or the usage of amps.
thanks in advance
proc/shockwave_hit(mob/M)
var/obj/gold/g = new (M.loc)
if(M.gold>0) g.amount = rand(1,M.gold)
M.gold -= g.amount


Never heard of busking, but good luck with your game!
In response to PirateHead
I got this?

golddrop.dm:3:error:g.amount:undefined type: g.amount
golddrop.dm:4:error:g.amount:undefined type: g.amount
golddrop.dm:2:error:g :unknown variable type

In response to Eurobusker
Youn don't have obj/gold defined.
In response to Mysame
its defined now but nothing happens in the debugger i got all this [expletive deleted]!!!

Busk
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 0, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 9, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 18, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 27, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 36, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 324, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 333, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 342, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 351, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 45, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,111
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (21,3,1) (/turf/floor/tile_floor), /icon (/icon), 315, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
In response to Eurobusker
I've removed loads of fighting stuff as I dont need it yet and my debug output is smaller

Busk
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,128
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (8,6,1) (/turf/floor/tile_floor), /icon (/icon), 135, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,145
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (8,6,1) (/turf/floor/tile_floor), /icon (/icon), 153, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))

This happens ONLY when there is an npc in the screen so it must be doing something but I dont get the euro/gold drop
In response to Eurobusker
I don't really know how to help because I don't know how your code is laid out. However, my guess is that your problem is something very simple that is causing lots of grief because it's in a nasty little spot. Can you post the relevant code? That means the specific proc that's crashing, etc.
In response to PirateHead
nothing is crashing now, since i removed all the fighting scripts. however the program runs, but when I do the shockwave, I dont get my golden drop, that is, the npc gets the shockwave but does nothing with it. in the debug mode I get the following:

Busk
runtime error: undefined proc or verb /mob/npc/man1/().

proc name: New (/obj/shockwave/New)
source file: Shockwave.dm,128
usr: Eurobusker (/mob/pc/musician)
src: the shockwave (/obj/shockwave)
call stack:
the shockwave (/obj/shockwave): New(the tile floor (14,5,1) (/turf/floor/tile_floor), /icon (/icon), 198, -1, 20, 0, 1, /list (/list), 1, "Flash,", /list (/list), 1, "Flash", /list (/list), Eurobusker (/mob/pc/musician))

(Busk is my verb) for those who dont know this is the old english verb to play music on the street.

my shockwave dm is the same as the demo except I've changed the mobcall to 1

shockwave/New(
atom/Loc=usr,
icon/Icon,
Ticks=10,
Speed=20,
Density=20,
StopAtMob=0,
MobCall=1,
list/MobCallArg=list(),
StopAtObj=0,
ObjCall=null,
list/ObjCallArg=list(),
TurfCall=null,
list/TurfCallArg=list(),
StopAtDenseTurf=1,
mob/Source=null)

do I have to do something with the "list/MobCallArg=list(),"

???
In response to Eurobusker
What's on line 128 (and the surrounding lines, etc)?
In response to PirateHead
I've put everything on this link:

http://eurobuskers.free.fr/busking_source.zip

it's about 97k
In response to Eurobusker
okay, I've now put this at the end of shockwave dm.
182 for (var/obj/gold/g = new (M.loc))
183 if(M.gold>0) g.amount = rand(10,M.gold)
184 M.gold -= g.amount

I get:

Shockwave.dm:182:error:M.loc:undefined var
Shockwave.dm:183:error:M.gold:undefined var
Shockwave.dm:183:error:g.amount:undefined var
Shockwave.dm:183:error:M.gold:undefined var
Shockwave.dm:184:error:M.gold:undefined var
Shockwave.dm:184:error:g.amount:undefined var
Shockwave.dm:182:g :warning: variable defined but not used

Graphical MUD Kit.dmb - 6 errors, 1 warning (double-click on an error to jump to it)

what is all this???
In response to Eurobusker
Eurobusker wrote:
okay, I've now put this at the end of shockwave dm.
182 for (var/obj/gold/g = new (M.loc))
183 if(M.gold>0) g.amount = rand(10,M.gold)
184 M.gold -= g.amount

I get:

Shockwave.dm:182:error:M.loc:undefined var
Shockwave.dm:183:error:M.gold:undefined var
Shockwave.dm:183:error:g.amount:undefined var
Shockwave.dm:183:error:M.gold:undefined var
Shockwave.dm:184:error:M.gold:undefined var
Shockwave.dm:184:error:g.amount:undefined var
Shockwave.dm:182:g :warning: variable defined but not used

Graphical MUD Kit.dmb - 6 errors, 1 warning (double-click on an error to jump to it)

what is all this???

Does obj/gold have a var called amount?
What is M's type? Is it a mob? Or even an atom?
Does M have a varaible called gold?
In response to PirateHead
Does obj/gold have a var called amount?
What is M's type? Is it a mob? Or even an atom?
Does M have a varaible called gold?

these are things I will now look at,

I read about the hierarchy it seems that i should have
father = object
child = gold

therefore gold should have a var, which i think is this

obj/gold //this is in my object variables

var/amount = 10

M should be the npc s , which I think I have given some gold
mob/npc/man1
icon = 'npc.dmi'
icon_state = "man1"
maxhp = 50
maxmana = 50
hp = 50
mana = 50
str = 3
int = 7
gold = 100
bank_wealth = 0


all I want to do is TAKE THEIR MONEY bit by bit dont even have to see it, just have it in my stats!!

hope you can help, I'm feeling poor