diff --git a/Server/src/main/kotlin/rs09/game/interaction/inter/RulesAndInfo.kt b/Server/src/main/kotlin/rs09/game/interaction/inter/RulesAndInfo.kt
index b1c271c0a..d70f6ecb8 100644
--- a/Server/src/main/kotlin/rs09/game/interaction/inter/RulesAndInfo.kt
+++ b/Server/src/main/kotlin/rs09/game/interaction/inter/RulesAndInfo.kt
@@ -32,19 +32,28 @@ object RulesAndInfo {
{
if(getAttribute(player, "rules:confirmed", false) || !getAttribute(player, "tutorial:complete", false))
return
- var ln = 1
val pin = getAttribute(player, "rules:pin", RandomFunction.random(1000,9999))
setAttribute(player, "/save:rules:pin", pin)
- for(line in INFO) setInterfaceText(player, INFO[ln - 1], 384, ln++)
- setInterfaceText(player, SEPARATOR, 384, ln++)
- val newIndex = ln
- for(line in RULES) setInterfaceText(player, RULES[ln - newIndex], 384, ln++)
+
+ var ln = setBaseRulesAndInfo(player);
+
setInterfaceText(player, "
If you agree to the above, type ::confirmrules $pin", 384, ln++)
setInterfaceText(player, "", 384, ln)
player.packetDispatch.sendInterfaceConfig(384, 17, true)
openInterface(player, 384)
player.lock()
}
+
+ @JvmStatic
+ fun setBaseRulesAndInfo(player: Player): Int {
+ var ln = 1
+ for(line in INFO) setInterfaceText(player, INFO[ln - 1], 384, ln++)
+ setInterfaceText(player, SEPARATOR, 384, ln++)
+ val newIndex = ln
+ for(line in RULES) setInterfaceText(player, RULES[ln - newIndex], 384, ln++)
+ setInterfaceText(player, "", 384, ln)
+ return ln
+ }
}
class RulesListener : InterfaceListener
diff --git a/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt b/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt
index a84ecdaa0..f4c3b7580 100644
--- a/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt
+++ b/Server/src/main/kotlin/rs09/game/system/command/sets/MiscCommandSet.kt
@@ -27,6 +27,7 @@ import rs09.game.content.ame.RandomEventManager
import rs09.game.content.ame.RandomEvents
import rs09.game.content.quest.members.anma.AnmaCutscene
import rs09.game.ge.GrandExchange
+import rs09.game.interaction.inter.RulesAndInfo
import rs09.game.node.entity.state.newsys.states.FarmingState
import rs09.game.system.SystemLogger
import rs09.game.system.command.CommandMapping
@@ -638,6 +639,12 @@ class MiscCommandSet : CommandSet(Privilege.ADMIN){
}
}
+ define("rules", Privilege.STANDARD, "", "Shows the rules."){ player, _ ->
+ RulesAndInfo.setBaseRulesAndInfo(player);
+ player.packetDispatch.sendInterfaceConfig(384, 17, true)
+ openInterface(player, 384)
+ }
+
define("confirmrules", Privilege.STANDARD) { player, args ->
if(getAttribute(player,"rules:confirmed", false))
reject(player, "You have already confirmed the rules.")