Mais ações
Criar página em branco |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
<code><pre> | |||
# Shard: Imperial Shard | |||
# Macro: Pede trabalho ao NPC escolhido e aguarda o tempo correto. | |||
#### ## ## ##### ###### ##### #### ## ## | |||
## ### ### ## ## ## ## ## ## #### ## | |||
## ####### ## ## ## ## ## ## ## ## ## | |||
## ## # ## ##### #### ##### ## ###### ## | |||
## ## ## ## ## #### ## ## ## ## | |||
## ## ## ## ## ## ## ## ## ## ## | |||
#### ## ## ## ###### ## ## #### ## ## ###### | |||
## #### ###### | |||
#### ## ## ## | |||
## ## ## ## | |||
###### ## ### #### | |||
## ## ## ## ## | |||
## ## ## ## ## | |||
## ## #### ###### | |||
#### ## ## ## ##### #### | |||
## ## ## ## #### ## ## ## ## | |||
## ## ## ## ## ## ## ## ## | |||
#### ###### ###### ##### ## ## | |||
## ## ## ## ## #### ## ## | |||
## ## ## ## ## ## ## ## ## ## | |||
#### ## ## ## ## ## ## #### | |||
# Instruções para uso do macro de mineração: | |||
# 1. Inicie o macro e selecione o npc quando pedir 'temp'. | |||
# 2. O macro calculará quanto tempo exato falta pro próximo trabalho. | |||
import clr | |||
import System | |||
clr.AddReference('System.Core') | |||
clr.ImportExtensions(System.Linq) | |||
from Assistant import Engine | |||
def Check(serial): | |||
# procura no journal | |||
journalEntryBuffer = Engine.Journal.GetBuffer().Where(lambda je: je.Text.Contains("Terei trabalho em ") and je.Serial == serial) | |||
# achei uma mensagem | |||
if journalEntryBuffer.Any(): | |||
# pego a primeira mensagem dita pelos amigos | |||
return journalEntryBuffer.First() | |||
return None | |||
# MAIN | |||
PromptMacroAlias('temp') | |||
serial = GetAlias('temp') | |||
SysMessage("Seguindo {} [{}]".format(Name('temp'), hex(serial)), 64) | |||
while True: | |||
while Distance(serial) > 1: | |||
Pathfind(serial) | |||
Pause(1000) | |||
ClearJournal() | |||
Pause(500) | |||
Msg("trabalho") | |||
Pause(1500) | |||
WaitForGump(0x9bade6ea, 5000) | |||
ReplyGump(0x9bade6ea, 1) | |||
j = Check(serial) | |||
if j == None: | |||
Pause(10000) | |||
else: | |||
mins = int(j.Text[18:20].strip()) | |||
if mins > 0: | |||
while mins > 0: | |||
SysMessage("Esperando {} minutos".format(mins), 84) | |||
Pause(60000) | |||
mins -= 1 | |||
else: | |||
SysMessage("Esperando 10 segundos", 64) | |||
Pause(10000) | |||
</pre></code> |
Edição das 19h23min de 25 de fevereiro de 2025
# Shard: Imperial Shard
# Macro: Pede trabalho ao NPC escolhido e aguarda o tempo correto.
#### ## ## ##### ###### ##### #### ## ##
## ### ### ## ## ## ## ## ## #### ##
## ####### ## ## ## ## ## ## ## ## ##
## ## # ## ##### #### ##### ## ###### ##
## ## ## ## ## #### ## ## ## ##
## ## ## ## ## ## ## ## ## ## ##
#### ## ## ## ###### ## ## #### ## ## ######
## #### ######
#### ## ## ##
## ## ## ##
###### ## ### ####
## ## ## ## ##
## ## ## ## ##
## ## #### ######
#### ## ## ## ##### ####
## ## ## ## #### ## ## ## ##
## ## ## ## ## ## ## ## ##
#### ###### ###### ##### ## ##
## ## ## ## ## #### ## ##
## ## ## ## ## ## ## ## ## ##
#### ## ## ## ## ## ## ####
# Instruções para uso do macro de mineração:
# 1. Inicie o macro e selecione o npc quando pedir 'temp'.
# 2. O macro calculará quanto tempo exato falta pro próximo trabalho.
import clr
import System
clr.AddReference('System.Core')
clr.ImportExtensions(System.Linq)
from Assistant import Engine
def Check(serial):
# procura no journal
journalEntryBuffer = Engine.Journal.GetBuffer().Where(lambda je: je.Text.Contains("Terei trabalho em ") and je.Serial == serial)
# achei uma mensagem
if journalEntryBuffer.Any():
# pego a primeira mensagem dita pelos amigos
return journalEntryBuffer.First()
return None
# MAIN
PromptMacroAlias('temp')
serial = GetAlias('temp')
SysMessage("Seguindo {} [{}]".format(Name('temp'), hex(serial)), 64)
while True:
while Distance(serial) > 1:
Pathfind(serial)
Pause(1000)
ClearJournal()
Pause(500)
Msg("trabalho")
Pause(1500)
WaitForGump(0x9bade6ea, 5000)
ReplyGump(0x9bade6ea, 1)
j = Check(serial)
if j == None:
Pause(10000)
else:
mins = int(j.Text[18:20].strip())
if mins > 0:
while mins > 0:
SysMessage("Esperando {} minutos".format(mins), 84)
Pause(60000)
mins -= 1
else:
SysMessage("Esperando 10 segundos", 64)
Pause(10000)