02-13-2021, 06:54 PM
(Última modificación: 02-13-2021, 06:56 PM por Pato_Lucas18.)
Hola chicos, un usuario me pidió un ejemplo de un selector de relatos y entonces se me ocurrió hacerlo y compartirlo con ustedes, lo que hago aquí es cambiar el nombre de la lectura del afs (solo para idioma español) y para eso debo tener los otros archivos afs de relatos con el nombre comm_01_afs,comm_02_afs, comm_03_afs ...
Es similar al ejemplo anterior de pulsar un botón, lo adapté para leer y escribir archivo binario (pes6.exe).
![[Imagen: previa-Relatos.png]](https://i.ibb.co/8mtk1xz/previa-Relatos.png)
Según el caso elegido en el combobox hará lo siguiente: determinar el valor de una variable "nombreAFS", entonces si elijo el primer caso (case 0) la variable será igual a el nombre "s_sound.afs", si lo hago con el segundo caso el nombre será "comm_01.afs". Aquí el código:
Después de eso escribe el nombre en el exe. De esta forma cambiamos los relatos sin copiar archivos ya que son muy grande. Seguramente tendrán que ejecutar como administrador ya que por lo general el juego se instala en "Programs file".
Otra cosa a tener en cuenta es que el programa al abrirse carga la opción que elegimos, y según el nombre que este escrito nos selecciona el item del combobox.
Para mostrar la previa solo editamos esta parte, use el mismo nombre del afs en el png...
Esas tres partes del código deben tener en cuenta si agregan o quitan las opciones de relatos, solo deben borrar, agregar las lineas y colocar bien el index del combobox que empieza en 0,1,2,3,4,5,6,7...
Descarga
Saludos!
Es similar al ejemplo anterior de pulsar un botón, lo adapté para leer y escribir archivo binario (pes6.exe).
![[Imagen: previa-Relatos.png]](https://i.ibb.co/8mtk1xz/previa-Relatos.png)
Según el caso elegido en el combobox hará lo siguiente: determinar el valor de una variable "nombreAFS", entonces si elijo el primer caso (case 0) la variable será igual a el nombre "s_sound.afs", si lo hago con el segundo caso el nombre será "comm_01.afs". Aquí el código:
Código:
Select Case ComboBox1.SelectedIndex
Case -1
MsgBox("Seleccione una opcion")
Exit Sub
Case 0
nombreAFS = "s_sound.afs"
Case 1
nombreAFS = "comm_01.afs"
Case 2
nombreAFS = "comm_02.afs"
Case 3
nombreAFS = "comm_03.afs"
End SelectDespués de eso escribe el nombre en el exe. De esta forma cambiamos los relatos sin copiar archivos ya que son muy grande. Seguramente tendrán que ejecutar como administrador ya que por lo general el juego se instala en "Programs file".
Otra cosa a tener en cuenta es que el programa al abrirse carga la opción que elegimos, y según el nombre que este escrito nos selecciona el item del combobox.
Código:
'Leer la posicion del nombre del relato en español offset = 77E108
fs.Seek(&H77E108, SeekOrigin.Begin)
Dim bytes() As Byte = br.ReadBytes(&HB)
Dim s_sound As String = Encoding.UTF8.GetString(bytes, 0, bytes.Length)
'Segun el nombre obtenido, voy a seleccionar la opcion que esta elegida en el exe
If s_sound = "s_sound.afs" Then ComboBox1.SelectedIndex = 0
If s_sound = "comm_01.afs" Then ComboBox1.SelectedIndex = 1
If s_sound = "comm_02.afs" Then ComboBox1.SelectedIndex = 2
If s_sound = "comm_03.afs" Then ComboBox1.SelectedIndex = 3Para mostrar la previa solo editamos esta parte, use el mismo nombre del afs en el png...
Código:
'Opciones de Pulsar un boton, los index empieza en 0
If ComboBox1.SelectedIndex = 0 Then PictureBox1.Image = Image.FromFile("dat\s_sound.png") 'Si selecciono la opcion 1
If ComboBox1.SelectedIndex = 1 Then PictureBox1.Image = Image.FromFile("dat\comm_01.png") 'Si selecciono la opcion 2
If ComboBox1.SelectedIndex = 2 Then PictureBox1.Image = Image.FromFile("dat\comm_02.png") 'Si selecciono la opcion 3
If ComboBox1.SelectedIndex = 3 Then PictureBox1.Image = Image.FromFile("dat\comm_03.png") 'Si selecciono la opcion 4Esas tres partes del código deben tener en cuenta si agregan o quitan las opciones de relatos, solo deben borrar, agregar las lineas y colocar bien el index del combobox que empieza en 0,1,2,3,4,5,6,7...
Descarga
Saludos!

