¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Se puede hacer online?
por DarkLink543 Hoy a las 06:06

» [RPGM MV] Limeria (Demo)
por Filipter Ayer a las 14:08

» [XP] Spriteset File System
por Ledai Ayer a las 14:08

» (XP) Charas editados del RTP
por Ledai Ayer a las 14:02

» Estados en el mapa
por Wecoc Ayer a las 13:25

» Ayuda Error de Script!
por xXIsrael0499Xx Ayer a las 10:30

» [XP] Colección de Tips & Tricks de Wecoc
por BlazeCrimson 2017-04-28, 16:52

» Tópic de los Memes de RPGmaker
por xXIsrael0499Xx 2017-04-28, 12:18

» 19 días después...
por xXIsrael0499Xx 2017-04-28, 11:51

» ¿Cuál de estos logos te gusta más?
por BlazeCrimson 2017-04-28, 06:50

Afiliados
Estadísticas
Tenemos 3795 miembros registrados.
El último usuario registrado es MrZero.

Nuestros miembros han publicado un total de 82720 mensajes en 11734 argumentos.
Navega con Google Chrome
[DESCARGA]

[Script] Personaje "BUENO/MALO" como en Imperial Age

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

[Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por Clark-CLK el 2010-12-08, 17:23

Seguro que habeis oido de este script, pues bien,  lo encontre en: http://vz4.net/foro/index.php/topic/3333-un-script-del-bien-y-el-mal/

El Script:


Código:
#===================================
#  Leon's Good and Evil script
#----------------------------------------------------------------------
#  Features:
#    Gives an actor the "good", "Neutral" or "evil" alignment, based
#    upon their actions.
#
#  Instructions:
#    Place above main, and below other scripts.
#    Use:  draw_alignment_bar(actor, x, y) in a script to draw the alignment bar.
#             x and y being the position of the bar, and actor being the syntax for the actor's information.
#
#  To use:
#    To add or subtract from their alignment, use: $game_actors[actor_id].alignment += x
#    To see if the actor's alignment is good, evil or neutral, use:
#       * Conditional Branch, tab 4, Script.
#       * For good, use $game_actors[actor_id] > 0
#       * For evil, use $game_actors[actor_id] < 0
#       * For neutral, use $game_actors[actor_id] == 0
#
#  Extra Information:
#    This script edits the original Window_Status script to add the good/evil.
#===================================

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Game_Actor
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Game_Actor < Game_Battler

attr_accessor :alignment
attr_accessor :alignment_name

alias leon_alignment_bars_ga_setup setup

def setup(actor_id)
  @alignment = 0
  @alignment_name = "Neutral"
  leon_alignment_bars_ga_setup(actor_id)
end

def alignment
  if @alignment > 0
    if @alignment > 100
      @alignment = 100
    end
    @alignment_name = "Good"
    return @alignment
  end
  if @alignment < 0
    if @alignment < -100
      @alignment = -100
    end
    @alignment_name = "Evil"
    return @alignment
  end
  @alignment_name = "Neutral"
  return @alignment
end
 

end

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Window_Base
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Window_Base
def draw_bar(x, y, min, max, width = 152, height = 6,
    bar_color = Color.new(0, 75, 0, 255), end_color = Color.new(0, 255, 0, 255))
  for i in 0..height
    self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
  end
  for i in 1..(height - 1)
    r = 100 * (height - i) / height + 0 * i / height
    g = 100 * (height - i) / height + 0 * i / height
    b = 100 * (height - i) / height + 0 * i / height
    a = 255 * (height - i) / height + 255 * i / height
    self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
  end
  for i in 1..( (min.to_f / max.to_f) * width - 1)
    for j in 1..(height - 1)
      r = bar_color.red * (width - i) / width + end_color.red * i / width
      g = bar_color.green * (width - i) / width + end_color.green * i / width
      b = bar_color.blue * (width - i) / width + end_color.blue * i / width
      a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
      self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
    end
  end
end

def draw_backward_bar(x, y, min, max, width = 152, height = 6,
    bar_color = Color.new(75, 0, 0, 255), end_color = Color.new(255, 0, 0, 255))
  for i in 0..height
    self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
  end
  for i in 1..(height - 1)
    r = 100 * (height - i) / height + 0 * i / height
    g = 100 * (height - i) / height + 0 * i / height
    b = 100 * (height - i) / height + 0 * i / height
    a = 255 * (height - i) / height + 255 * i / height
    self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
  end
  for i in 1..( (min.to_f / max.to_f) * width - 1)
    for j in 1..(height - 1)
      r = bar_color.red * (width - i) / width + end_color.red * i / width
      g = bar_color.green * (width - i) / width + end_color.green * i / width
      b = bar_color.blue * (width - i) / width + end_color.blue * i / width
      a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
      self.contents.fill_rect(x - i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
    end
  end
end

def draw_alignment_bar(actor, x, y)
  #x = 320 y = 147
  draw_bar(x, y, 0, 200, 200, 6)
  if actor.alignment > 0
    draw_bar(x + 100, y, actor.alignment, 100, 100, 6)
    actor.alignment_name = "Good"
  elsif actor.alignment < 0
    draw_backward_bar(x + 100, y, -1 * actor.alignment, 100, 100, 6)
    actor.alignment_name = "Evil"
  elsif actor.alignment == 0
    draw_bar(x + 100, y, actor.alignment, 100, 100, 6)
    actor.alignment_name = "Neutral"
  end
  draw_bar(x + 97, y - 2, 2, 2, 2, 10, Color.new(255, 255, 255, 255), Color.new(255, 255, 255,255))
  self.contents.font.color = normal_color
  self.contents.draw_text(x + 5, y - 13, 120, 32, "E")
  self.contents.draw_text(x + 190, y - 13, 120, 32, "G")
end

end


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Window_Status
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Window_Status < Window_Base

alias leon_alignment_bars_ws_refresh refresh

def refresh
  leon_alignment_bars_ws_refresh
  if @actor.alignment > 100
    @actor.alignment = 100
  elsif @actor.alignment < -100
    @actor.alignment = -100
  end
  self.contents.font.color = system_color
  self.contents.draw_text(320, 112, 120, 32, "Alignment")
  draw_alignment_bar(@actor, 320, 147)
  self.contents.font.color = normal_color
  self.contents.draw_text(420, 112, 120, 32, @actor.alignment_name)
end
end

Instrucciones:
Para sumar puntos positivos, y hacer que en la barra se incline al lado de "bondad":

$game_actors[1].alignment += 1

Para sumar puntos negativos, y hacer que en la barra se incline al lado de "maldad":

$game_actors[1].alignment -= 1

El [1] es el ID del personaje del grupo. Puedes modificar los puntos cambiando el 1 del final por cualquier otro numero.


Crèditos:
Leon

Wong WOng!!


Última edición por Wecoc el 2013-08-07, 20:56, editado 2 veces (Razón : añadir instrucciones)
avatar
Clark-CLK
Veterano
Veterano

0/3

Créditos 1350

Gracias : 3

http://ahoperpg-maker.ucoz.es

Volver arriba Ir abajo

Re: [Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por orochii el 2010-12-08, 19:10

Bueno, no tengo idea de si Ribbu habría tenido eso funcionando T__T, la verdad no recuerdo si ya lo había hecho... (buu~~ rayos asesinos del mal D:! *orochii cries*) PERO EN FIN.
El script parece bueno, y pues supongo que es así.

Excelente aporte, y felicitaciones a Leon por el script,
Orochii Zouveleki

PD.: ¿Será posible una screenie? :3
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6239

Gracias : 300

http://ragnarokrproject.com/

Volver arriba Ir abajo

Re: [Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por Clark-CLK el 2010-12-09, 20:16

orochii escribió:Bueno, no tengo idea de si Ribbu habría tenido eso funcionando T__T, la verdad no recuerdo si ya lo había hecho... (buu~~ rayos asesinos del mal D:! *orochii cries*) PERO EN FIN.
El script parece bueno, y pues supongo que es así.

Excelente aporte, y felicitaciones a Leon por el script,
Orochii Zouveleki

PD.: ¿Será posible una screenie? :3

Aquí tienes la screen:
http://img219.imageshack.us/i/screenbuenomalo.jpg/

Puedes observar la barra de alineamento.

P.D: Escribí créditos con acento abierto (Catalán), perdón por la falta.
avatar
Clark-CLK
Veterano
Veterano

0/3

Créditos 1350

Gracias : 3

http://ahoperpg-maker.ucoz.es

Volver arriba Ir abajo

Re: [Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por Clark-CLK el 2011-03-27, 14:34

1ºPerdonen el necroposting
2ºPerdonen el doble-post
(ahora dejo de pedir perdón xD)
Bueno, Santrim y yo abandonamos un proyecto que quisimos recuperar y este script encaja con el sistema del juego, así que la semana pasada, probando encontramos la forma de usarlo.
os dejo aquí las instrucciones:
Para llamar el script:
Para sumar puntos positivos, y hacer que en la barra se incline al lado de "bondad":

$game_actors[1].alignment += 1

Para sumar puntos negativos, y hacer que en la barra se incline al lado de "maldad":

$game_actors[1].alignment -= 1

El [1] es el ID del personaje del grupo. Puedes modificar los puntos cambiando el 1 del final por cualquier otro numero.

Aquí Encontraréis más info y un sencillo engine que hice ^^

Espero que no haya molestado ^^

Wong Wong!!

P.D: Ahora edito el post principal, hay que esperar 2 minutos T_T
avatar
Clark-CLK
Veterano
Veterano

0/3

Créditos 1350

Gracias : 3

http://ahoperpg-maker.ucoz.es

Volver arriba Ir abajo

Re: [Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por carlos55 el 2011-03-27, 15:26

Esta exelente el engine creo que talvez lo use
tengo una idea no se si servira pero que tal si
esque eres bueno subes en defensa y si subes en malo
aumentas ataque
avatar
carlos55
Moderador
Moderador



Créditos 1135

Gracias : 9

http://powerreleased.blogspot.com/

Volver arriba Ir abajo

Re: [Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por orochii el 2011-04-05, 15:33

Respecto a lo que dices carlos55, seh, puede hacerse, bastante fácil es diría yo ;P (claro, de una forma medio cochinita xD).
Código:

class Game_Actor < Game_Battler
  def base_atk
    weapon = $data_weapons[@weapon_id]
    align_bonus = [[@alignment / 5), 20].min, -10].max #hace máximo 20 y mínimo -10
    return weapon != nil ? weapon.atk-align_bonus : 0
  end
  def base_pdef
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    pdef1 = weapon != nil ? weapon.pdef : 0
    pdef2 = armor1 != nil ? armor1.pdef : 0
    pdef3 = armor2 != nil ? armor2.pdef : 0
    pdef4 = armor3 != nil ? armor3.pdef : 0
    pdef5 = armor4 != nil ? armor4.pdef : 0
    align_bonus = [[@alignment / 5), 10].min, -10].max #hace máximo 20 y mínimo -10
    return pdef1 + pdef2 + pdef3 + pdef4 + pdef5 + align_bonus
  end
  #--------------------------------------------------------------------------
  # * Get Basic Magic Defense
  #--------------------------------------------------------------------------
  def base_mdef
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    mdef1 = weapon != nil ? weapon.mdef : 0
    mdef2 = armor1 != nil ? armor1.mdef : 0
    mdef3 = armor2 != nil ? armor2.mdef : 0
    mdef4 = armor3 != nil ? armor3.mdef : 0
    mdef5 = armor4 != nil ? armor4.mdef : 0
    align_bonus = [[@alignment / 5), 10].min, -10].max #hace máximo 20 y mínimo -10
    return mdef1 + mdef2 + mdef3 + mdef4 + mdef5 + align_bonus
  end
end
Con eso creo que servirá ;). Debería de postear algún día mis modificaciones a las "fórmulas" de los estados base, ya que he jugado muchas veces con ellos, para eliminar la existencia del "Ataque 0 sin arma" por ejemplo ¬¬.

Eso es, salut,
Orochii Zouveleki
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6239

Gracias : 300

http://ragnarokrproject.com/

Volver arriba Ir abajo

Re: [Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por Napi el 2011-04-05, 16:16

emmux escribió:Es automatico, se pone con cualquiera que este leyendo, yo veo "emmux Visita el Blog de Power Released"
Gracias emmux, esque me habia llevado un buen susto Sweat . Aunque sea una tontería!

PD: El script va perfecto! Seguramente lo use en mi proyecto.
avatar
Napi
Iniciado
Iniciado

0/3

Créditos 39

Gracias : 0

Volver arriba Ir abajo

Re: [Script] Personaje "BUENO/MALO" como en Imperial Age

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

Permisos de este foro:
No puedes responder a temas en este foro.