point to latest OPRS version

UtilsScript: add chatOptionalNPC() function
This commit is contained in:
illumineawake 2021-06-14 17:08:07 +10:00
parent 5c9a5afb39
commit d8e5e482f0
3 changed files with 18 additions and 2 deletions

View File

@ -25,7 +25,7 @@
*/ */
object ProjectVersions { object ProjectVersions {
const val openosrsVersion = "4.6.0" const val openosrsVersion = "4.8.1"
const val apiVersion = "^1.0.0" const val apiVersion = "^1.0.0"
} }

View File

@ -307,6 +307,16 @@ public abstract class UtilsScript extends Plugin {
game.tick(); game.tick();
} }
protected void chatOptionalNpc(Area area, String npcName, String... chatOptions) {
if (area != null && !area.contains(game.localPlayer().position())) {
walking.walkTo(area);
}
game.npcs().withName(npcName).nearest().interact("Talk-to");
chatbox.chats(Arrays.asList(chatOptions));
game.tick();
}
protected void unequip(String item, EquipmentSlot slot) { protected void unequip(String item, EquipmentSlot slot) {
if (game.equipment().withName(item).exists()) { if (game.equipment().withName(item).exists()) {
game.widget(slot.widgetID, slot.widgetChild).interact(0); game.widget(slot.widgetID, slot.widgetChild).interact(0);

View File

@ -50,6 +50,9 @@ public class Chatbox {
continueChats(); continueChats();
} }
/**
* Choose chat option in order of given chat options. Will fail if chat option isn't found.
*/
public void chat(String... options) { public void chat(String... options) {
game.waitUntil(() -> chatState() != ChatState.CLOSED, 100); game.waitUntil(() -> chatState() != ChatState.CLOSED, 100);
@ -72,6 +75,9 @@ public class Chatbox {
continueChats(); continueChats();
} }
/**
* Choose chat option from any given chat options
*/
public void chats(Collection<String> options) { public void chats(Collection<String> options) {
game.waitUntil(() -> chatState() != ChatState.CLOSED); game.waitUntil(() -> chatState() != ChatState.CLOSED);
@ -195,7 +201,7 @@ public class Chatbox {
public String findFromOptions(Collection<String> options) { public String findFromOptions(Collection<String> options) {
if (chatState() == ChatState.CLOSED || chatState() != ChatState.OPTIONS_CHAT) { if (chatState() == ChatState.CLOSED || chatState() != ChatState.OPTIONS_CHAT) {
return ""; return "";
} }
for (var i = 0; i < game.widget(219, 1).items().size(); i++) { for (var i = 0; i < game.widget(219, 1).items().size(); i++) {