Hey!
I like where the new event system is heading, but I wish it would be much more flexible to the point where we can actually script komplex actions based on commands. For example, the event types right now take their parameters directly from chat. You cannot call ".TELEPORT" with a fixed destination name in script. And the alternative replies that are separated with "||" are just text replies; you cannot do other actions like with real if-else structures.
Since inventing and parsing a new script language is hard, why not support an existing one and expose existing event actions and other internal commands. For example: LUA, JavaScript, C#
Here is a good starting point on how to integrate such a scripting language:
Adding scripting functionality to .NET applications
What do I need that for?
Originally, I wanted to implement the simple /sethome and /home commands, which already isn't possible with current .TELEPORT, because it requires the desination name as chat parameter. Additionally I wanted to attach costs and timeouts to the commands. And on top I wanted to require peope to vote for the server before they can use that command.
Now wouldn't it be cool if we could just script that? Something like:
This is just some pseudo-code from the top of my head; I think it looks like JavaScript, but could be C# also.
Let me know what you think!
While I'm not of much help with VB.Net, I could help implementing this in C# .
Which brings me to my second suggestion: How about open-sourcing the project?
djkrose
I like where the new event system is heading, but I wish it would be much more flexible to the point where we can actually script komplex actions based on commands. For example, the event types right now take their parameters directly from chat. You cannot call ".TELEPORT" with a fixed destination name in script. And the alternative replies that are separated with "||" are just text replies; you cannot do other actions like with real if-else structures.
Since inventing and parsing a new script language is hard, why not support an existing one and expose existing event actions and other internal commands. For example: LUA, JavaScript, C#
Here is a good starting point on how to integrate such a scripting language:
Adding scripting functionality to .NET applications
What do I need that for?
Originally, I wanted to implement the simple /sethome and /home commands, which already isn't possible with current .TELEPORT, because it requires the desination name as chat parameter. Additionally I wanted to attach costs and timeouts to the commands. And on top I wanted to require peope to vote for the server before they can use that command.
Now wouldn't it be cool if we could just script that? Something like:
Code:
var hasVoted = RAT.checkVotes().Contains(RAT.player_name);
if (!hasVoted) {
RAT.sendPM(RAT.player_name, "You can only teleport after voting! Go here: http://...");
return;
}
if (RAT.teleportDestinations("home") = null) {
RAT.sendPM(RAT.player_name, "You don't have a home point set. Use /sethome first!");
return;
}
RAT.teleportTo(RAT.player_name, RAT.teleportDestinations("home"));
This is just some pseudo-code from the top of my head; I think it looks like JavaScript, but could be C# also.

Let me know what you think!
While I'm not of much help with VB.Net, I could help implementing this in C# .
Which brings me to my second suggestion: How about open-sourcing the project?
djkrose