Fixed exploit with command privileges
This commit is contained in:
@@ -41,7 +41,7 @@ interface Commands : ContentInterface {
|
|||||||
* @param name the name of the command. Example: ::example would be just "example"
|
* @param name the name of the command. Example: ::example would be just "example"
|
||||||
* @param privilege the rights level needed to execute the command. Options are [Privilege.STANDARD], [Privilege.MODERATOR], [Privilege.ADMIN]. Defaults to [Privilege.STANDARD]
|
* @param privilege the rights level needed to execute the command. Options are [Privilege.STANDARD], [Privilege.MODERATOR], [Privilege.ADMIN]. Defaults to [Privilege.STANDARD]
|
||||||
*/
|
*/
|
||||||
fun define(name: String, privilege: Privilege = Privilege.STANDARD, usage: String = "", description: String = "", handle: (Player, Array<String>) -> Unit){
|
fun define(name: String, privilege: Privilege = Privilege.ADMIN, usage: String = "", description: String = "", handle: (Player, Array<String>) -> Unit){
|
||||||
CommandMapping.register(Command(name, privilege, usage, description, handle))
|
CommandMapping.register(Command(name, privilege, usage, description, handle))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import rs09.ServerConstants
|
|||||||
import rs09.game.interaction.InteractionListener
|
import rs09.game.interaction.InteractionListener
|
||||||
import rs09.game.interaction.InterfaceListener
|
import rs09.game.interaction.InterfaceListener
|
||||||
import rs09.game.system.SystemLogger
|
import rs09.game.system.SystemLogger
|
||||||
|
import rs09.game.system.command.Privilege
|
||||||
import rs09.tools.END_DIALOGUE
|
import rs09.tools.END_DIALOGUE
|
||||||
import java.io.FileReader
|
import java.io.FileReader
|
||||||
|
|
||||||
@@ -256,7 +257,7 @@ class Shops : StartupListener, TickListener, InteractionListener, InterfaceListe
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun defineCommands() {
|
override fun defineCommands() {
|
||||||
define("openshop") { player, args ->
|
define("openshop", Privilege.ADMIN) { player, args ->
|
||||||
if(args.size < 2) reject(player, "Usage: ::openshop shopId")
|
if(args.size < 2) reject(player, "Usage: ::openshop shopId")
|
||||||
val shopId = args[1].toInt()
|
val shopId = args[1].toInt()
|
||||||
shopsById[shopId]?.openFor(player)
|
shopsById[shopId]?.openFor(player)
|
||||||
|
|||||||
Reference in New Issue
Block a user