Merge branch 'master' into 'master'
Player script fixes, and bankAll scriptAPI function added See merge request 2009scape/2009scape!50
This commit is contained in:
@@ -550,6 +550,26 @@ class ScriptAPI(private val bot: Player) {
|
|||||||
bot.pulseManager.run(BankingPulse())
|
bot.pulseManager.run(BankingPulse())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Takes every item out of the bots inventory and places it into the bank.
|
||||||
|
* @param none
|
||||||
|
* @author cfunnyman joe
|
||||||
|
*/
|
||||||
|
fun bankAll(){
|
||||||
|
class BankingPulse() : Pulse(20){
|
||||||
|
override fun pulse(): Boolean {
|
||||||
|
for(item in bot.inventory.toArray()){
|
||||||
|
var itemAmount = bot.inventory.getAmount(item)
|
||||||
|
|
||||||
|
bot.inventory.remove(item)
|
||||||
|
bot.bank.add(item)
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bot.pulseManager.run(BankingPulse())
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function that makes the bot eat the food item in their inventory if their HP is below 2/3.
|
* Function that makes the bot eat the food item in their inventory if their HP is below 2/3.
|
||||||
* @author Ceikry
|
* @author Ceikry
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package rs09.game.ai.general.scriptrepository
|
package rs09.game.ai.general.scriptrepository
|
||||||
|
|
||||||
|
|
||||||
import core.game.interaction.DestinationFlag
|
import core.game.interaction.DestinationFlag
|
||||||
import core.game.interaction.MovementPulse
|
import core.game.interaction.MovementPulse
|
||||||
import core.game.node.Node
|
import core.game.node.Node
|
||||||
@@ -11,15 +12,18 @@ import rs09.game.ai.general.ScriptAPI
|
|||||||
import rs09.game.ai.skillingbot.SkillingBotAssembler
|
import rs09.game.ai.skillingbot.SkillingBotAssembler
|
||||||
import rs09.game.interaction.InteractionListener
|
import rs09.game.interaction.InteractionListener
|
||||||
import rs09.game.interaction.InteractionListeners
|
import rs09.game.interaction.InteractionListeners
|
||||||
|
import api.ContentAPI
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.runBlocking
|
||||||
|
import java.util.logging.Handler
|
||||||
|
|
||||||
@PlayerCompatible
|
@PlayerCompatible
|
||||||
@ScriptName("Falador Coal Miner")
|
@ScriptName("Falador Coal Miner")
|
||||||
@ScriptDescription("Start in Falador East Bank with a pick equipped","or in your inventory.")
|
@ScriptDescription("Start in Falador East Bank with a pick equipped","or in your inventory.")
|
||||||
@ScriptIdentifier("fally_coal")
|
@ScriptIdentifier("fally_coal")
|
||||||
class CoalMiner() : Script() {
|
class CoalMiner : Script() {
|
||||||
var state = State.INIT
|
var state = State.INIT
|
||||||
var ladderSwitch = false
|
var ladderSwitch = false
|
||||||
|
|
||||||
val bottomLadder = ZoneBorders(3016,9736,3024,9742)
|
val bottomLadder = ZoneBorders(3016,9736,3024,9742)
|
||||||
val topLadder = ZoneBorders(3016,3336,3022,3342)
|
val topLadder = ZoneBorders(3016,3336,3022,3342)
|
||||||
val mine = ZoneBorders(3027,9733,3054,9743)
|
val mine = ZoneBorders(3027,9733,3054,9743)
|
||||||
@@ -47,6 +51,7 @@ class CoalMiner() : Script() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
State.MINING -> {
|
State.MINING -> {
|
||||||
|
bot.interfaceManager.close()
|
||||||
if(bot.inventory.freeSlots() == 0){
|
if(bot.inventory.freeSlots() == 0){
|
||||||
state = State.TO_BANK
|
state = State.TO_BANK
|
||||||
}
|
}
|
||||||
@@ -56,7 +61,7 @@ class CoalMiner() : Script() {
|
|||||||
val rock = scriptAPI.getNearestNode("rocks",true)
|
val rock = scriptAPI.getNearestNode("rocks",true)
|
||||||
rock?.let { InteractionListeners.run(rock.id, InteractionListener.OBJECT,"mine",bot,rock) }
|
rock?.let { InteractionListeners.run(rock.id, InteractionListener.OBJECT,"mine",bot,rock) }
|
||||||
}
|
}
|
||||||
overlay!!.setAmount(bot.inventory.getAmount(Items.COAL_453) + coalAmount)
|
overlay!!.setAmount(ContentAPI.amountInInventory(bot, Items.COAL_453) + coalAmount)
|
||||||
}
|
}
|
||||||
|
|
||||||
State.TO_BANK -> {
|
State.TO_BANK -> {
|
||||||
@@ -84,12 +89,13 @@ class CoalMiner() : Script() {
|
|||||||
|
|
||||||
State.BANKING -> {
|
State.BANKING -> {
|
||||||
coalAmount += bot.inventory.getAmount(Items.COAL_453)
|
coalAmount += bot.inventory.getAmount(Items.COAL_453)
|
||||||
scriptAPI.bankItem(Items.COAL_453)
|
scriptAPI.bankAll()
|
||||||
state = State.TO_MINE
|
state = State.TO_MINE
|
||||||
}
|
}
|
||||||
|
|
||||||
State.TO_MINE -> {
|
State.TO_MINE -> {
|
||||||
if(ladderSwitch){
|
if(ladderSwitch){
|
||||||
|
bot.interfaceManager.close()
|
||||||
if(!topLadder.insideBorder(bot.location)){
|
if(!topLadder.insideBorder(bot.location)){
|
||||||
scriptAPI.walkTo(topLadder.randomLoc)
|
scriptAPI.walkTo(topLadder.randomLoc)
|
||||||
} else {
|
} else {
|
||||||
@@ -124,7 +130,6 @@ class CoalMiner() : Script() {
|
|||||||
scriptAPI.teleport(bank.randomLoc)
|
scriptAPI.teleport(bank.randomLoc)
|
||||||
state = State.TO_MINE
|
state = State.TO_MINE
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,5 +161,4 @@ class CoalMiner() : Script() {
|
|||||||
equipment.add(Item(Items.IRON_PICKAXE_1267))
|
equipment.add(Item(Items.IRON_PICKAXE_1267))
|
||||||
skills.put(Skills.MINING,75)
|
skills.put(Skills.MINING,75)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -41,8 +41,9 @@ class DraynorWillows : Script(){
|
|||||||
scriptAPI.walkTo(willowZone.randomLoc)
|
scriptAPI.walkTo(willowZone.randomLoc)
|
||||||
else {
|
else {
|
||||||
val willowtree = scriptAPI.getNearestNode("willow", true)
|
val willowtree = scriptAPI.getNearestNode("willow", true)
|
||||||
|
bot.interfaceManager.close()
|
||||||
willowtree?.let { InteractionListeners.run(willowtree.id,
|
willowtree?.let { InteractionListeners.run(willowtree.id,
|
||||||
InteractionListener.OBJECT,"chop",bot,willowtree) }
|
InteractionListener.OBJECT,"Chop down",bot,willowtree) }
|
||||||
if (bot.inventory.isFull)
|
if (bot.inventory.isFull)
|
||||||
state = State.BANKING
|
state = State.BANKING
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ class LobsterCatcher : Script() {
|
|||||||
|
|
||||||
|
|
||||||
State.FISHING -> {
|
State.FISHING -> {
|
||||||
|
bot.interfaceManager.close()
|
||||||
val spot = scriptAPI.getNearestNode(333, false)
|
val spot = scriptAPI.getNearestNode(333, false)
|
||||||
if(spot == null){
|
if(spot == null){
|
||||||
state = State.IDLE
|
state = State.IDLE
|
||||||
|
|||||||
@@ -39,7 +39,8 @@ class SeersMagicTrees : Script(){
|
|||||||
|
|
||||||
State.CHOPPING -> {
|
State.CHOPPING -> {
|
||||||
val tree = scriptAPI.getNearestNode(1306,true)
|
val tree = scriptAPI.getNearestNode(1306,true)
|
||||||
tree?.let { InteractionListeners.run(tree.id, InteractionListener.OBJECT,"chop",bot,tree) }
|
bot.interfaceManager.close()
|
||||||
|
tree?.let { InteractionListeners.run(tree.id, InteractionListener.OBJECT,"Chop down",bot,tree) }
|
||||||
if(bot.inventory.isFull){
|
if(bot.inventory.isFull){
|
||||||
state = State.FIND_BANK
|
state = State.FIND_BANK
|
||||||
}
|
}
|
||||||
@@ -69,6 +70,7 @@ class SeersMagicTrees : Script(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
State.RETURN_TO_TREES -> {
|
State.RETURN_TO_TREES -> {
|
||||||
|
bot.interfaceManager.close()
|
||||||
if(!magicsZone.insideBorder(bot)){
|
if(!magicsZone.insideBorder(bot)){
|
||||||
scriptAPI.walkTo(magicsZone.randomLoc)
|
scriptAPI.walkTo(magicsZone.randomLoc)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ class SharkCatcher : Script() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
State.FISHING -> {
|
State.FISHING -> {
|
||||||
|
bot.interfaceManager.close()
|
||||||
if (Random.nextBoolean()) {
|
if (Random.nextBoolean()) {
|
||||||
tick = 0
|
tick = 0
|
||||||
val spot = scriptAPI.getNearestNode(334, false)
|
val spot = scriptAPI.getNearestNode(334, false)
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ class VarrockEssenceMiner : Script(){
|
|||||||
|
|
||||||
when(state){
|
when(state){
|
||||||
State.TO_ESSENCE -> {
|
State.TO_ESSENCE -> {
|
||||||
|
bot.interfaceManager.close()
|
||||||
if(!auburyZone.insideBorder(bot))
|
if(!auburyZone.insideBorder(bot))
|
||||||
scriptAPI.walkTo(auburyZone.randomLoc)
|
scriptAPI.walkTo(auburyZone.randomLoc)
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user