Si aún no has modificado el script que te trae essentials, puedes simplemente buscar la función pbDrawTrainerCardFront y ahí encontrarás donde se generan las imágenes de las medallas, utilizando el mismo método, puedes agregar más imágenes bajo las condiciones que desees.
Código:
imagePositions = []
for i in 0...8
if $Trainer.badges[i+region*8]
imagePositions.push(["Graphics/Pictures/Trainer Card/icon_badges",x,310,i*32,region*32,32,32])
end
x += 48
end
pbDrawImagePositions(overlay,imagePositions)
Como verás la variable imagePositions guardará los datos de todas las imágenes que se generarán cada vez que abres la tarjeta, ahí mismo puedes guardar los datos de la nueva imagen que deseas agregar.
Y para agregar los datos de esa nueva imagen solo tienes que hacerlo de esta manera
Código:
imagePositions.push(["Dirección",X,Y,OX,OY,TAMX,TAMY])
al colocar .push, le decimos al script que queremos agregar otro dato a la lista de la variable imagePositions lo cual se le conoce como array.
-Donde dice "Dirección" es la ruta donde se encuentra la imagen a cargar, el cual debe estar entre comillas " ".
-X es la posición x de la imagen.
-Y es la posición y de la imagen.
-OX y OY son las posiciones en donde comienza a ser leida la imagen, esto funciona si quieres que esa imagen cambie constantemente, por ejemplo la imagen de la lista de medallas, es una imagen con todos las medallas, el OX y OY son la posiciones de inicio de cada medalla.
-TAMX y TAMY son el tamaño de la imagen, en caso de que la imagen sea más grande que estas cantidades, esta saldrá cortada, esto se usa para saber el tamaño de la imagen a cargar lo cual es usado igualmente en el ejemplo de las medallas.
Ahora podemos hacer algo así :
Código:
imagePositions = []
for i in 0...8
if $Trainer.badges[i+region*8]
imagePositions.push(["Graphics/Pictures/Trainer Card/icon_badges",x,310,i*32,region*32,32,32])
end
x += 48
end
#Aquí puedes agregar tu imagen.
# como ejemplo usaré una imagen llamada "imgs" de 64x64
if $game_variables[666]>0
imagePositions.push(["Graphics/Pictures/TrainerCard/imgs",50,200,0,0,64,64])
end
#
pbDrawImagePositions(overlay,imagePositions)
En el ejemplo he usado $game_variables[666], esto quiere decir que la imagen aparecerá si la variable global número 666 tiene un valor mayor a cero, por supuesto puedes usar la variable que quieras o combinarlo con otros condicionales para que tu imagen pueda ir cambiando según necesites
Por ejemplo :
Código:
if $game_variables[666]>0
imagePositions.push(["Graphics/Pictures/TrainerCard/imgs_#{$game_variables[666]}",50,200,0,0,64,64])
end
En este ejemplo la imagen se llamará según el valor de la variable, si la variable es igual a 1 entones la imagen deberá llamarse imgs_1 y así sucesivamente la imagen cambiará según el valor de la variable.
Otra manera es usando el ejemplo de las medallas :
Código:
if $game_variables[666]>0
ox=$game_variables[666]-1
imagePositions.push(["Graphics/Pictures/TrainerCard/imgs",50,200,ox*64,0,64,64])
end
Aquí manejamos una sola imagen que contenga todas las diferentes imágenes que usarás, como en el caso de las medallas que están todas en una sola imagen, ya que la imagen será 64x64, hemos puesto que el origen de cada imagen sera igual a 64(tamañox) por el valor de la variable-1 ya que la variable debe ser mayor a cero para la imagen aparezca y la primera imagen que se va a cargar estará en la posición 0x0 le tenemos que restar ese 1, para que al multiplicar ox*64 nos de 0*64=0 lo cual es la posición, para la siguiente imagen será ox*64 que nos dará 1*64=64 lo cual es la posición de la siguiente imagen.
Así sería la imagen :
Debido a que están en linea recta las 3 imágenes el oy siempre será cero.
Y de ultimo la función pbDrawImagePositions es la que se encarga de convertir esos datos de imágenes dentro del array en imágenes que se verán en la pantalla.
Todo depende de como quieras hacerlo y los condicionales que quieras agregarle, espero que te haya servido.
Saludos.