ID:260449
 
being able to change the code that runs when a verb is called would be very helpful, such as if i wanted to add a new verb using a code i made, but i dont wanna restart.

such as if all people started with no icon, when they shouldve started with one, making it a verb instead of typing it up each time, or copy pasting would sometimes be very helpful.
I doubt it'd be possible to alter code at runtime, but I've thought of this one before. It'd be nice, but I'd suspect a lot of bugs with it.
In response to Kaiochao2536
it wouldnt be buggy to have a verb or something you can use to edit a verbs code....
In response to Super Silly Stuart
There is a runtime editor for code, look in the Creations Forum for info on it.
In response to Kakashi24142
That's just an alternate Dream Maker that shows up to multiple people, if you mean Green Lime's Real Time Editor.

I think what we're talking about is editing a game's source code while playing the game and ingame updating.
In response to Kaiochao2536
your right, editing the code of everything while in-game like some kind of in-game editor.
Since DM is compiled to bytecode before being run then no, you can't directly edit a BYOND program's code at runtime.
In response to Elation
just to execute a line of code, not to change one.
In response to Super Silly Stuart
not simply exactly.
it would be more like adding the stuff to a variable and running it externally every time.
In response to Super Silly Stuart
If you just want to change the proc that a given verb might run, there's plenty of ways to do that (using datums as an interface, for example*).
You could change a program's behaviour at runtime by making your own scripting language, too.


*
interface
proc/communicate(speaker,msg)
world << "[speaker] says: [msg]"

shout
communicate(speaker,msg)
world << "[speaker] shouts: [msg]"


mob
var
interface/myinterface

verb
assignShouter()
myinterface = new interface/shout()

assignTalker()
myinterface = new interface()

communicate(msg as text)
if(myinterface)
myinterface.communicate(src,msg)
else
src << "Assign a speaker first!"


Uh. That might work. But you get the idea.
In response to Elation
yah, i get the idea, but i dont want to make my own language myself, i want it to be built in instead, since there can obviously be more bugs from me making it, then if it were to somehow run through the built-in compiling and such.