turf
New(loc, do_auto_gen = 1)
//do whatever
if(do_auto_gen) AutoGenTurf()
SpecialDirt
New()
//do whatever
..()
So if a player builds NormalGrass which does not override New(), it works fine, if they build SpecialDirt, ERROR.
ID:2229306
Mar 27 2017, 1:46 pm (Edited on Mar 27 2017, 1:54 pm)
(See the best response by Kaiochao.)
|
|
I'm getting spammed with this error. In my game players can build turfs. The root turf/New() has an arg called do_auto_gen that spruces up the appearance of turfs. But certain turfs have their own New() proc that doesn't have that arg but yet uses ..() to still call turf/New(). So when a player tries to build one of those turfs that get this error. What do I do to fix this? Thanks.
turf So if a player builds NormalGrass which does not override New(), it works fine, if they build SpecialDirt, ERROR. |
You're getting an error when you try to pass a named argument to a proc that doesn't have that named argument. The child type's New() can be considered a completely different proc from its parent's New().
One way to fix it would be to simply not use named arguments. Another would be to make sure to declare the arguments in every override of turf/New(). |
Posting the actual error information might help.