# Guia paso a paso — Monster Scout para Evony (server 1939)

## 1. Instalar BlueStacks Air

1. Abre Safari/Chrome y entra a https://www.bluestacks.com/mac
2. Descarga la version correcta:
   - **BlueStacks Air** si tienes Mac con chip Apple Silicon (M1/M2/M3/M4)
   - **BlueStacks 5** si tienes Mac Intel
   - Para saber cual tienes: menu Apple > Acerca de este Mac
3. Abre el `.dmg` y arrastra BlueStacks a la carpeta Applications
4. Abre BlueStacks desde Applications. La primera vez Mac pedira permisos:
   - Preferencias del Sistema > Privacidad y Seguridad > permite BlueStacks
   - Te pedira tambien permiso de **Grabacion de pantalla** y **Accesibilidad** — concedelos, los necesita para funcionar

## 2. Configurar Evony en BlueStacks

1. Dentro de BlueStacks, inicia sesion con una cuenta Google (Play Store)
2. En BlueStacks > Play Store > busca "Evony: The King's Return" > Instalar
3. Abre el juego. Inicia sesion (Google / Facebook / invitado)
4. Cuando te pida elegir servidor, busca y entra al **server 1939**
   - Si ya tienes cuenta en otro servidor, no podras cambiarte a 1939 facilmente. En ese caso crea un personaje nuevo (cuenta farm) en 1939.

## 3. Instalar dependencias en tu Mac

Abre la app Terminal (Cmd+Espacio > "Terminal").

```bash
# Verifica que tienes Python 3.10 o superior
python3 --version

# Si no tienes Homebrew, instalalo:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Tesseract OCR (opcional, para leer niveles de monstruo)
brew install tesseract

# Librerias Python
python3 -m pip install --user mss opencv-python numpy pillow pytesseract
```

Si `pip` da un error tipo "externally-managed-environment", anade `--break-system-packages` al final.

## 4. Preparar las plantillas de monstruos

Las plantillas son recortes PNG del icono de cada monstruo. El script las compara contra tu pantalla.

1. Crea la carpeta de plantillas:
   ```bash
   mkdir -p "/Users/danicosta/Desktop/Evony/templates"
   ```
2. En BlueStacks, abre Evony y ve al mapa del reino
3. Busca un monstruo en el mapa (oso, bestia salvaje, serpiente, dragon...)
4. Con el monstruo bien visible, haz captura: **Cmd+Shift+4**, dibuja un rectangulo bien ajustado **solo alrededor del icono del monstruo** (sin fondo extra)
5. La captura se guarda en el Escritorio. Renombrala y muevela a `templates/`:
   - `oso.png`
   - `bestia.png`
   - `serpiente.png`
   - `dragon.png`
   - ...uno por cada tipo que quieras detectar
6. Cuanto mas limpio y consistente el recorte, mejor el match. Si el icono se anima, guarda 2 variantes con sufijos: `oso_a.png`, `oso_b.png`

## 5. Calibrar la region de captura

El script necesita saber DONDE en tu pantalla esta la ventana de BlueStacks.

**Forma facil:**
1. Arrastra BlueStacks a la esquina superior izquierda de tu pantalla
2. Redimensionalo a aprox 1280x720 (o lo que prefieras)
3. Si lo dejas asi, los valores por defecto del script funcionan

**Forma precisa:**
1. Cmd+Shift+4 (sin soltar) y mueve el cursor a la esquina superior izquierda de la ventana de BlueStacks
2. Veras coordenadas en pantalla. Apunta `top` y `left`
3. Mide tambien `width` y `height` arrastrando hasta la esquina inferior derecha
4. Abre `evony_monster_scout.py` con TextEdit o VS Code y edita:
   ```python
   GAME_REGION = {"top": 100, "left": 100, "width": 1280, "height": 720}
   ```

## 6. Ejecutar

```bash
cd "/Users/danicosta/Desktop/Evony"
python3 evony_monster_scout.py
```

Veras en consola algo como:
```
[+] 3 plantillas cargadas: ['oso', 'bestia', 'dragon']
[+] Escaneando cada 5s. Ctrl+C para detener.
[14:22:17]             oso @ ( 480, 312) score=0.87 lvl=5
```

Y en la carpeta tendras `monster_log.csv` con el historial.

Para detener: Ctrl+C en el Terminal.

## 7. Solucion de problemas comunes

- **Captura en negro o vacia**: BlueStacks usa aceleracion hardware. En BlueStacks Settings > Performance/Graphics, cambia el renderer a "Compatibility" o desactiva "Use advanced graphics engine mode".
- **Cero matches**: baja `MATCH_THRESHOLD` de 0.80 a 0.72. O tus plantillas tienen demasiado fondo: rehazlas mas ajustadas.
- **Falsos positivos** (matches en sitios donde no hay monstruo): sube `MATCH_THRESHOLD` a 0.88. O limpia las plantillas.
- **Permission denied en Mac**: Preferencias del Sistema > Privacidad y Seguridad > Grabacion de pantalla > anade Terminal y Python.
- **Tesseract no encontrado**: si no quieres OCR, ignora el aviso, el script funciona igual sin leer niveles.

## 8. Tu primer test recomendado

1. Hazlo con una cuenta nueva en 1939 (no tu principal)
2. Empieza con 1 sola plantilla (ej. oso)
3. Deja correr el script 10 minutos mientras observas
4. Revisa `monster_log.csv` y compara con lo que viste en el mapa
5. Si los matches son correctos, anade mas plantillas

---

Recuerda: este script **no clica, no manda rallies, no abre menus**. Solo te dice donde hay monstruos. La decision y la accion son siempre tuyas. Si en algun momento quieres saltar a automatizacion real (auto-attack), el riesgo de baneo sube mucho — yo no te lo recomendaria.
