In response to Garthor
Well, I can't seem to find any others..
In response to Raimo
You're either missing one or you are mistaken about them calling ..()

Though, I'll say that having a proc overridden multiple times for the same type is rather poor design.
In response to Garthor
I'm sure that I'm not missing any client/New().
Well anyway, I moved them all together now under the client/New() we had from the ban code file. And what do you exactly mean by that I am having a proc overridden multiple times for the same type?

Thanks, Raimo.

Ps: Is there any fault in this client/New()?
client
var/tmp/savefile/_base_player_savefile

New()
// Let them choose/create a character.
if (base_autoload_character)
base_ChooseCharacter()
return
return
..()


Del()
// Save character.
if (base_autosave_character)
base_SaveMob()

// Delete mob.
if (base_autodelete_mob)
del(mob)
return
..()
In response to Raimo
Raimo wrote:
return
..()


Take a moment and consider what these two lines actually do.
Hint: return is meant to 'stop execution of the current proc (...)'
In response to Schnitzelnagler
The return stops the execution of the client/New()?
And the ..() calls the parent
In response to Raimo
Anything after a return statement will not be executed. In all honesty, it really should produce a compiler warning to the effect of "statement unreachable".
In response to Garthor
Made it like this now, is this correct:
client
var/tmp/savefile/_base_player_savefile

client/New()
// Let them choose/create a character.
if (base_autoload_character)
base_ChooseCharacter()
..()


client/Del()
// Save character.
if (base_autosave_character)
base_SaveMob()

// Delete mob.
if (base_autodelete_mob)
del(mob)
..()
In response to Raimo
Garthor, the messages that were outputted to the world like you told me to do, they pop up now. So I've tested the ban system out again, the player gets added to the list (as we can see on the messages you made) but he can still login and play.
In response to Garthor
orry for the late reply but, if there was an issue with the client/New() where ti was skipping the ban check then setting it to mob login could be a workaround, if it worked with mob login then he'd know there was an issue with the client/New() version that he had.

It's like if your internet goes out, if your modem seems to be working right them you'd check your router before cracking open the modem and fiddling with it, so to speak.
In response to Raimo
If you must have the returns in there then you can, but you should have ..() appear before it. return basically cuts off a procedure, modifying client/New() overrides the built-in proc, ..() calls the built-in proc.

So if you have a return before the built in proc is called with ..() then all New() is going to do is check for bans. It wont do any of it's normal functions such as setting client variables to their defined values or even connecting the player in the first place.

best thing to do if you're going to override a proc and use a return along the way is to make the very first line of the override: ..()
Page: 1 2 3