Added ::rules command so players can check the rules
This commit is contained in:
@@ -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, "<col=ffffff>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
|
||||
|
||||
@@ -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.")
|
||||
|
||||
Reference in New Issue
Block a user