elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 243
171  Media / Juegos y Consolas / Re: Idear un juego muy simple (es complicado). en: 6 Enero 2025, 15:52 pm
Dejé esto, no sé hasta cuando, por ahora empecé a hacer un X en línea.

Lo primero, si el personaje solo puede avanzar y no puede hacer nada más
Puede detenerse.

Citar
Luego lo del pergamino mágico que brilla cuando te mueves, pero se apaga si te detienes... No será más fácil poner una linterna que se queda sin pilas?
No había leído eso, dejé de leer cuando al principio dió la idea sin justificarla, ya me había dado una respuesta similar y pensé que era la misma, sin justificarla.

Ahora se me ocurre que cambie de plano, como eso de fantasmas que pasan del plano terrenal al espiritual o lo que sea, no sé, pero eso de que estando presente los enemigos te ignoren parece un sin sentido, por más que el papel deje de brillar, se acercaron, eso debería ser contacto, deberían estar buscándote.

¿Sin pilas cuando te quedas quieto? No tiene mucho sentido. Además acá convendría sacarle las pilas si fuese eso. ¿Cual es la ventaja de tener una luz si atrae enemigos? Una justificación podría ser que el objeto está maldito o es sagrado y no atrae demonios sino ladrones pero yo que sé, ya me cansé de esto, te muestro lo que había hecho:

Que no está bueno, lo sé, pero cumple más o menos los objetivos que quería, y usa gráficos de uno de los 1eros juegos de NES, cosa que también quería.
Manejas al profesor, y cuando un delincuente está cerca tuyo debes parar, dejarlo pasar, sino se enoja y es el fin (porque te dispara, lo cual contradice lo que dije al inicio pero, el juego no lo muestra, no hay disparos en el juego).
La cantidad de delincuenes es demasiada, estaba trabajando en una mejor ecuación pero como dije lo dejé.

Antes de eso había pensado que el "enemigo" sean las mujeres de ese juego (Hogan Alley's), serían feministas extremas paranoicas que si te ven moverte cerca de ellas creerían que les quieres hacer algo, por eso habría que quedarse quieto, pero al probar el juego noté que eso parece aún más sospechoso xD (peor aún porque el tipo estaba al fondo, porque pensé en lo de las damas 1ero) Era muy creepy así que puse lo de los delincuentes, a mi pesar. Igual era gracioso "Two last man in the feminazi world"; el otro era un policía que habría por ahí (pensé, pero como sólo podía haber un tipo de obstáculo, no).


Citar
También dices que hay que reaccionar rápido, pero también ser paciente. Quieres que el jugador sea un ninja o un monje zen? Porque mezclar las dos cosas suena raro.
Estás analizando algo que dijo GPT, por eso puse la cita O_O Yo también noté esa contradicción, pero tiene sentido, paciente para poder esperar a que lleguen las oportunidades que duran poco, rápido para que no se pierdan. Bah, no sé, es más bien calcular cuando y cuánto puedes moverte, es más bien de paciencia. Pero hay enemigos que se mueven muy rápido así que si aparecen de esos tienes que saber reaccionar rápido.

Citar
La idea tiene un toque interesante
No mucho.

Citar
pero si esto va de ser jugable, más te vale replantearte unas cuantas cosas.
Era más bien para practicar, quería hacer un juego simple, no me importaba mucho si era aburrido.
172  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Physhing en el foro ¡¿?! en: 6 Enero 2025, 14:59 pm
Vaya tela, de verdad te asustas por un logo subido a un hosting público?
Lo dijo Avast, no yo, se supone que sabe más que yo del tema.

Citar
Si eso te parece phishing, mejor apaga el ordenador y tírate a la piscina.
No le veo la lógica al razonamiento, me gusta el ordenador, pero no me dedico mucho al tema de la seguridad. No me atraen las piscinas.

Citar
Cambia de antivirus porque ese parece más un detector de fantasmas que otra cosa
Pero supuestamente me ha salvado de varias cosas, en general no he tenido problema.


Citar
antes de seguir soltando teorías conspiranoicas.
Repito que lo dijo Avast, pero a ver ¿por qué si llevo años viendo imágenes, si he visto miles, creo que sólo hubo 3 que Avast dijo que eran peligrosas?

Citar
PD: Te voy a robar la tarjeta con un logo, prepárate JAJAJA
De crédito no tengo xP
173  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Physhing en el foro ¡¿?! en: 6 Enero 2025, 12:48 pm
Ya vi que es por ti sí, pero mejor sería que la pongas en un sitio más confiable, si realmente es ese el problema.
174  Foros Generales / Sugerencias y dudas sobre el Foro / Physhing en el foro ¡¿?! en: 6 Enero 2025, 10:54 am


Aunque sale ese tema y usuario, pudo haber sido acá:
https://foro.elhacker.net/desarrollo_web/cual_es_el_mejor_hostingservidor_dedicado_para_proyectos-t522776.0.html;msg2282159#msg2282159

La otra página es Youtube. Estaba viendo mis temas para responder, incluido el otro por curiosidad, y me saltó ese cartel.

Al otro tema, ese del link, creo que es la 1era vez que entro. Otra cosa que no suelo hacer es entrar a 2 temas a la vez digamos, pero no debería ser un problema.

EDIT:
No sé si en el otro, pero acá:
https://foro.elhacker.net/programacion_general/generar_funciones-t522899.0.html;msg2282600;topicseen#msg2282600
me acaba de salir de nuevo el cartel.
175  Programación / Python / Re: Buscador de combinaciones inexistentes no funciona. en: 5 Enero 2025, 13:16 pm
No cambió el resultado, se cierra enseguida.

Código
  1. import itertools
  2.  
  3. def cargar_diccionario(ruta):
  4.    """Carga el diccionario desde un archivo .txt y devuelve un conjunto de palabras en minúsculas."""
  5.    with open(ruta, 'r', encoding='utf-8') as archivo:
  6.        return set(palabra.strip().lower() for palabra in archivo)
  7.  
  8. def generar_combinaciones(alfabeto):
  9.    """Genera todas las combinaciones posibles de dos letras del alfabeto."""
  10.    return {a + b for a, b in itertools.product(alfabeto, repeat=2)}
  11.  
  12. def buscar_combinaciones(diccionario, combinaciones):
  13.    """Busca combinaciones dentro de las palabras del diccionario."""
  14.    presentes = set()
  15.  
  16.    # Buscar combinaciones dentro de palabras individuales
  17.    for palabra in diccionario:
  18.        for i in range(len(palabra) - 1):
  19.            presentes.add(palabra[i:i+2])
  20.  
  21.    # Buscar combinaciones entre palabras consecutivas
  22.    lista_palabras = sorted(diccionario)  # Ordenar las palabras
  23.    for i in range(len(lista_palabras) - 1):
  24.        ultima_letra = lista_palabras[-1]
  25.        primera_letra = lista_palabras[i + 1][0]
  26.        presentes.add(ultima_letra + primera_letra)
  27.  
  28.    return combinaciones - presentes
  29.  
  30. # Paso 1: Cargar diccionarios
  31. diccionario_es = cargar_diccionario('diccionario_es.txt')
  32. diccionario_en = cargar_diccionario('diccionario_en.txt')
  33.  
  34. # Paso 2: Generar combinaciones posibles
  35. alfabeto_es = 'abcdefghijklmnñopqrstuvwxyz'
  36. alfabeto_en = 'abcdefghijklmnopqrstuvwxyz'
  37. combinaciones_es = generar_combinaciones(alfabeto_es)
  38. combinaciones_en = generar_combinaciones(alfabeto_en)
  39.  
  40. # Paso 3: Buscar combinaciones inexistentes en cada diccionario
  41. inexistentes_es = buscar_combinaciones(diccionario_es, combinaciones_es)
  42. inexistentes_en = buscar_combinaciones(diccionario_en, combinaciones_en)
  43.  
  44. # Paso 4: Combinar resultados y mostrar combinaciones inexistentes en ambos idiomas
  45. inexistentes_totales = inexistentes_es.intersection(inexistentes_en)
  46.  
  47. print(f"Combinaciones inexistentes en ambos idiomas ({len(inexistentes_totales)}):")
  48. print(sorted(inexistentes_totales))
  49. input("Presione Enter para continuar ...")

¿Será que requiere una versión más nueva que la que tengo?

El problema que describes probablemente no está relacionado con la versión de Python, sino con un **error en tu código** que provoca que el programa termine antes de lo esperado. Vamos a analizarlo detalladamente.

### Posibles problemas en el código

1. **Error en la sección de combinaciones entre palabras consecutivas**:
   En el método `buscar_combinaciones`, en esta línea:

   ```python
   ultima_letra = lista_palabras[-1]
   primera_letra = lista_palabras[i + 1][0]
   presentes.add(ultima_letra + primera_letra)
   ```
   
   Hay un error de lógica. La variable `ultima_letra` intenta tomar el valor de la última palabra completa de la lista (`lista_palabras[-1]`), pero lo que necesitas es la **última letra de la palabra actual** (`palabra_actual[-1]`). Aquí tienes una corrección:

   ```python
   ultima_letra = lista_palabras[-1]  # Última letra de la palabra actual
   primera_letra = lista_palabras[i + 1][0]  # Primera letra de la siguiente palabra
   presentes.add(ultima_letra + primera_letra)
   ```

2. **Falta de manejo de excepciones en la lectura de los archivos**:
   Si los archivos `diccionario_es.txt` o `diccionario_en.txt` no existen, el programa lanzará un error y se cerrará. Asegúrate de manejar este caso con un bloque `try-except` para evitar que el programa termine inesperadamente:

   ```python
   def cargar_diccionario(ruta):
       """Carga el diccionario desde un archivo .txt y devuelve un conjunto de palabras en minúsculas."""
       try:
           with open(ruta, 'r', encoding='utf-8') as archivo:
               return set(palabra.strip().lower() for palabra in archivo)
       except FileNotFoundError:
           print(f"Error: No se encontró el archivo {ruta}.")
           return set()
   ```

3. **Errores en los datos de entrada**:
   Si el archivo de diccionario contiene caracteres especiales, líneas vacías o palabras que no se procesan correctamente, el programa podría comportarse de manera inesperada. Asegúrate de que los archivos de entrada estén en el formato correcto (palabras en minúsculas, una por línea).

4. **El programa finaliza correctamente pero no esperas ese comportamiento**:
   Si el programa no tiene errores, la última línea:

   ```python
   input("Presione Enter para continuar ...")
   ```

   debería mantener la ventana abierta hasta que presiones **Enter**. Sin embargo, si estás ejecutándolo desde un entorno donde la ventana se cierra automáticamente al finalizar (por ejemplo, al ejecutar un archivo `.py` en Windows haciendo doble clic), esto puede parecer un cierre inesperado.

   Para evitar este problema, te recomiendo ejecutar el programa desde una terminal o consola manualmente con:

   ```bash
   python tu_programa.py
   ```

   Esto asegurará que la ventana no se cierre automáticamente después de la ejecución.

---

### Solución ajustada del código

Aquí está el código corregido con las observaciones mencionadas:

```python
import itertools

def cargar_diccionario(ruta):
    """Carga el diccionario desde un archivo .txt y devuelve un conjunto de palabras en minúsculas."""
    try:
        with open(ruta, 'r', encoding='utf-8') as archivo:
            return set(palabra.strip().lower() for palabra in archivo if palabra.strip())
    except FileNotFoundError:
        print(f"Error: No se encontró el archivo {ruta}.")
        return set()

def generar_combinaciones(alfabeto):
    """Genera todas las combinaciones posibles de dos letras del alfabeto."""
    return {a + b for a, b in itertools.product(alfabeto, repeat=2)}

def buscar_combinaciones(diccionario, combinaciones):
    """Busca combinaciones dentro de las palabras del diccionario."""
    presentes = set()
   
    # Buscar combinaciones dentro de palabras individuales
    for palabra in diccionario:
        for i in range(len(palabra) - 1):
            presentes.add(palabra[i:i+2])
   
    # Buscar combinaciones entre palabras consecutivas
    lista_palabras = sorted(diccionario)  # Ordenar las palabras
    for i in range(len(lista_palabras) - 1):
        ultima_letra = lista_palabras[-1]  # Última letra de la palabra actual
        primera_letra = lista_palabras[i + 1][0]  # Primera letra de la siguiente palabra
        presentes.add(ultima_letra + primera_letra)
   
    return combinaciones - presentes

# Paso 1: Cargar diccionarios
diccionario_es = cargar_diccionario('diccionario_es.txt')
diccionario_en = cargar_diccionario('diccionario_en.txt')

# Verificar si los diccionarios se cargaron correctamente
if not diccionario_es or not diccionario_en:
    print("No se pudieron cargar los diccionarios. Por favor, verifica los archivos.")
    exit()

# Paso 2: Generar combinaciones posibles
alfabeto_es = 'abcdefghijklmnñopqrstuvwxyz'
alfabeto_en = 'abcdefghijklmnopqrstuvwxyz'
combinaciones_es = generar_combinaciones(alfabeto_es)
combinaciones_en = generar_combinaciones(alfabeto_en)

# Paso 3: Buscar combinaciones inexistentes en cada diccionario
inexistentes_es = buscar_combinaciones(diccionario_es, combinaciones_es)
inexistentes_en = buscar_combinaciones(diccionario_en, combinaciones_en)

# Paso 4: Combinar resultados y mostrar combinaciones inexistentes en ambos idiomas
inexistentes_totales = inexistentes_es.intersection(inexistentes_en)

print(f"Combinaciones inexistentes en ambos idiomas ({len(inexistentes_totales)}):")
print(sorted(inexistentes_totales))
input("Presione Enter para continuar ...")
```

---

### Resumen de los cambios

1. **Corrección de la lógica al buscar combinaciones entre palabras consecutivas.**
2. **Manejo de excepciones al cargar los archivos.**
3. **Validación para asegurarte de que los diccionarios se carguen correctamente.**
4. **Sugerencia de ejecutar el programa desde la terminal para evitar que la ventana se cierre automáticamente.**

Con estas correcciones, el programa debería funcionar correctamente si tienes una versión de Python reciente (3.6 o superior).


Demasiado lío, el código me lo dió él, si ahora dice que tiene errores mejor empiezo por algo más simple que yo pueda entender.
176  Seguridad Informática / Seguridad / Re: Idea para un protocolo antibots en un sistema de registro en: 5 Enero 2025, 13:10 pm
Lo mejor que vi es que los mensajes de nuevos usuarios no se muestren hasta que son aprobados por moderadores. Claro que tiene desventajas...
- Más trabajo para los mods, pero es casi lo mismo, los mensajes los tienen que mirar igual, deberían tener un par de botones grandes arriba o abajo que digan aprobar/desaprobar, que se manden a una papelera en caso de desaprobar, por si se desaprobó por error, y listo. Hasta podría funcionar con sus voces, que si dicen aprobado o algo así, se aprueba.
- El foro se enlentece para los nuevos (especialmente si como en otros foros el admin desaparece y los mods también, pero eso es malo en cualquier caso), pero no debería ser un gran problema salvo que necesiten algo urgente pero si es el caso... No sé, no le veo mucho sentido a querer que te resuelvan urgentemente algo en un foro, ya es bastante pedir que lo resuelvan.

Creo que los bots podrían imitar dibujos mal hechos y que ciertas personas podría ser que dibujen bien.

¿Cómo una máquina distingue un humano de un bot? Más de una vez pensé en preguntarlo aquí. Claro que no me refiero a páginas en que debes seleccionar las imágenes que tengan bicicletas o cosas así, sino esas donde debes cliquear un cuadrito y a veces tarda en aprobarlo ¿qué está haciendo? Una posibilidad es que chequeé cómo muevo el mouse, o algunos archivos o configuraciones del navegador, pero imagino que una máquina podría imitar todo eso.

"Elabora un sistema que distinga humanos de bots, para una página de Internet", podría ser algo que te interese preguntarle a GPT.

"los bots estan diseñados para ser amables"
Puede que cambie para que sean menos detectables.

"Igual no se si los bots saben que son solo cosas en una computadora y no humanos reales. Los bots saben eso?"
Creo que es innecesario que lo sepan, a menos que sea un superbot.

"Pareceria cuando en Digital Circus Gumigoo se da cuenta de que es solo un npc"
No lo conozco, pero si te gustan esas cosas te recomiendo Doki Doki Literature Club, ver un resumen, pero el juego es perturbador.
177  Foros Generales / Dudas Generales / Re: Convertir espacios seguidos en saltos de línea. en: 5 Enero 2025, 03:30 am
Tuve la impresión de que quedaba demasiado desprolijo, a veces en una nueva línea no quedaba el nombre de una carta sino parte del texto de una.

Cuento lo que hice, aunque aún no es una buena solución, quiero la lista para hacer ciertos mazos, pero aunque ahora puedo hacer que quede prolija, faltaría que las cartas se clasifiquen de algún modo.

Cuando se guarda un mazo, queda en una carpeta rara, es cuestión de buscar el nombre del archivo.

Esos archivos son así:
;Nombre
;
;Player
;
;Fecha
;?
;Edition
;

.964   4   Beast of Burden
.1331   1   Nuisance Engine
Eso último es un ejemplo.
Las cartas tienen un identificador, el número tras el .
Luego otro número indica cuántas de esas hay en el mazo.
Luego dice qué carta es.

Probé, usando Excel, generar un texto así:
.1   1
.2   1
.3   1
...
.100   1

Lo puse en el archivo. Al abrirlo en el juego y guardarlo, se graban la cartas, o sea, en la derecha, automáticamente, eso que no puse.

Le dije a GPT:
Haz un archivo bat que genere un txt con este contenido:
;Txt1
;
;
;
;04/01/2025
;1
;4th Edition
;

.1   1
.2   1
.3   1
etc, hasta 100

Y que el proceso se repita, o sea, que se generen muchos archivos así, pero:
Donde dice Txt1, ese 1 debe ir aumentando.
El 1er archivo tiene desde .1 hasta .100, el 2ndo debe tener desde .101 hasta .200, el 3ero debe tener desde .201 hasta .300, y así sucesivamente


Acá está:
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3.  
  4. rem Configuración inicial
  5. set "fecha=04/01/2025"        rem Fecha para los archivos
  6. set "edicion=4th Edition"     rem Edición para los archivos
  7. set "cantidad=100"            rem Cantidad de líneas por archivo
  8. set /a "inicio=1"             rem Número inicial de la primera línea
  9. set /a "archivos=10"          rem Número de archivos que deseas generar
  10.  
  11. rem Bucle para crear múltiples archivos
  12. for /l %%A in (1,1,%archivos%) do (
  13.    rem Crear el archivo con nombre File%%A.txt
  14.    set /a "fin=inicio+cantidad-1"
  15.    set "nombreArchivo=File%%A.txt"
  16.    echo Creando %%A: !nombreArchivo!
  17.  
  18.    rem Escribir contenido en el archivo
  19.    (
  20.        echo ;Txt%%A
  21.        echo ;
  22.        echo ;
  23.        echo ;
  24.        echo ;%fecha%
  25.        echo ;%%A
  26.        echo ;%edicion%
  27.        echo ;
  28.  
  29.        rem Generar las líneas desde el inicio hasta el fin
  30.        for /l %%B in (!inicio!,1,!fin!) do (
  31.            echo .%%B^ 1
  32.        )
  33.    ) > "!nombreArchivo!"
  34.  
  35.    rem Actualizar el inicio para el siguiente archivo
  36.    set /a "inicio=fin+1"
  37. )
  38.  
  39. echo Proceso completado.
  40. pause

Con algunos cambios, se hace más fácil. Ahora sólo es cuestión de abrir los archivos y guardarlos, aunque en algunos casos hay cartas inexistentes (o sea, están pero no tienen dibujo ni texto, etc, o en otros casos hay menos de 100), ah, y un gran problema digamos, es que no están en orden alfabético, no sé qué criterio es, quizá según cuan vieja sea la carta, la edición, y dentro de cada edición sí están ordenadas.

Un ejemplo:
;Mazo1
;
;
;
;04/01/2025
;1
;4th Edition
;

.1   1   Ancestral Recall
.2   1   Animate Artifact
.3   1   Animate Dead
.4   1   Animate Wall
.5   1   Ankh of Mishra
.6   1   Armageddon
.7   1   Aspect of Wolf
.8   1   Bad Moon
.9   1   Badlands
.10   1   Balance

.964   es Beast of Burden, o sea, si fuera alfabético debería estar mucho antes.

Ahora le podría pedir a GPT que las clasifique según criterios que le diga, pero ya es otro tema.
178  Programación / Programación General / ¿Qué tanto sentido tiene programar? en: 4 Enero 2025, 07:16 am
Para ver todos los dibujos posibles uno a uno, hice un programa que los genera así, aunque por ahora sólo son en blanco y negro, de esos 2 colores nada más.

Luego indiqué que no mostrara dibujos que no cumplieran ciertas características.

A:
Luego empecé a indicar cómo pasar de uno aceptable al siguiente aceptable, para evitar generar los que no van a mostrarse. Por si no se entiende:
Supongamos que quieres ver todos los números divisibles entre 3. Puedes generar todos los enteros y mostrar sólo los divisibles entre 3 (se genera el 1 pero no se muestra, luego el 2 pero tampoco, el 3 sí, luego el 4 pero no...), o puedes simplemente indicar que se generen sólo los necesarios (3, 6...). Pero no en todo contexto es simple.
Noté una falla en eso que hice. Tengo una idea sobre cómo corregirlo pero, si lo que hice antes estuvo mal ¿por qué creer que ahora estará bien? Tampoco es que deba creer que estará mal, no se debe creer que se puede prever el futuro tanto, es cuestión de probar, pero me tiene un poco cansado, no sé, me pregunto hasta qué punto tiene sentido fallar, fallar, fallar y cuando no se notan errores no estar seguro de si no hay o uno está fallando en detectarlos. Es como "Mejor que lo haga otro, alguien que no falle tanto".

Había concluido que lo mejor era dejar de intentar hacer A, pero eso en última instancia es como creer que no tiene sentido intentar programar, es dejar de programar. Por eso estoy un poco confuso, el programa en sí tampoco tiene mucho sentido, los dibujos que muestra es como que son nada, grandes cuadrados cerca, así o asá. Una IA o como se llame, hoy en día hace dibujos bastante bien de lo que se le pida, así que pa qué. En parte era porque quería demostrar que los dibujos no son una creación, que deba tener dueño, es algo que puede ser generado pintando ciertos puntos de ciertos colores, duh, y se puede lograr probando combinaciones. Y por ver dibujos interesantes, no sé. Ah, y era una práctica para otras cosas, no puedo generar películas o representaciones de cerebros, si no puedo generar dibujos... Mejor empezar por lo más fácil. No sé si es un error dejar esto o no. Y la cuestión es más profunda que eso, quizá debería dejar la programación misma, pero para hacer qué, no sé, si igual la cuestión de que puedo fallar sigue.

Probablemente no es un tema de programación entonces, pero aquí lo dejo, como "testimonio" de lo que es programar sin saber hacerlo bien, o el problema que sea.


Recientemente vi este video:
https://www.youtube.com/watch?v=4zk6uodm7tY
Yo no entendí Matrix y no recordaba tanto, aparentemente el programador comete fallas que no sabe corregir.
179  Sistemas Operativos / Windows / Re: problemas con nuevo ordenador con win 11 en: 3 Enero 2025, 22:28 pm
Una vez le di a un técnico una PC que tenía contraseña al iniciar Windows, habiéndome olvidado de decirle, y cuando me la dió o hablamos el tipo me dijo que tenía contraseña, luego levantó la seja, pero llegué a la conclusión de que para él fue como una piedrita en el camino xD

Quizá haya una forma de que la PC sólo la puedan usar quienes sepan un password, podrías preguntar eso en un nuevo tema si te interesa.

La seguridad tiene costos:
Poner las cosas en rars con password y a esos en discos externos y al usarlas apagar el Router o lo que sea (en mi caso es desconectar un cable, no sé si mi PC tiene como una "antena" o si envía señales, creo que no)
¿Quién quiere tomarse tantas molestias? La CIA quizá, nadie normal debería.
Además si no las usas en mucho tiempo puede que olvides los passwords, como me pasó a mí >___<

Bueno, quizá existen mejores formas, pero todo es un paso extra que aburre.
180  Programación / Python / Re: Buscador de combinaciones inexistentes no funciona. en: 3 Enero 2025, 22:14 pm
Es un archivo py abierto con Python, eso me lo enseñaron aquí, posiblemente tú.

Luego te digo el resultado.
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 243
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines