Últimos temas
» Script de menupor maxi Jue 04 Dic 2014, 1:44 pm
» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm
» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am
» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am
» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm
» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm
» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am
» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am
» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am
» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am
» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am
» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm
» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am
» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am
» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm
¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado Ninguno
El record de usuarios en línea fue de 117 durante el Mar 09 Ago 2011, 3:39 pm
Script de Alineamiento to guay
+3
Programador
Onuba
Pauldrac
7 participantes
RPG maker VX :: Scripts ::
Página 1 de 1.
Script de Alineamiento to guay
Hola, os vengo a mostrar un script mu guay que voy a usar en mi proyecto
Nombre: Alingment System
Introduccion: Habeis jugado a Fable?? Si no lo habeis hecho mal por vosotros si lo habeis hecho sabreis el funcionamiento del Script. Este Script lo que hace es exactamente lo mismo. Si eres malo, la barra cambia a la parte roja, si eres bueno a la parte azul. Ademas podras hasta ponerle tus propios nombres
Caracteristicas:
·Puedes poner todo tipo de nombres a tus alineamientos
·Muchas opciones de personalizaciones
·Nueva barra de muestra
·Alargad vuestos puntos de alinemiento como querais
Capturas:
No son necesarias
Instalacion:
Plug & Play
Compatibilidad:
Todo es compatible de momento
Notas del Autor:
A continuacion subo las imagenes si es que quereis insertar la barra:
Barra:
[Tienes que estar registrado y conectado para ver esa imagen]
Flecha(Creada por mi):
[Tienes que estar registrado y conectado para ver esa imagen]
Nombre: Alingment System
Introduccion: Habeis jugado a Fable?? Si no lo habeis hecho mal por vosotros si lo habeis hecho sabreis el funcionamiento del Script. Este Script lo que hace es exactamente lo mismo. Si eres malo, la barra cambia a la parte roja, si eres bueno a la parte azul. Ademas podras hasta ponerle tus propios nombres
Caracteristicas:
·Puedes poner todo tipo de nombres a tus alineamientos
·Muchas opciones de personalizaciones
·Nueva barra de muestra
·Alargad vuestos puntos de alinemiento como querais
Capturas:
No son necesarias
Instalacion:
Plug & Play
Compatibilidad:
Todo es compatible de momento
- Spoiler:
- Código:
#===============================================================================
# Alignment System
# By Jet10985
# Help by: Crimsonseas, Piejamas, Originalwij, Yanfly, Mithran
# Inspired by: Synthesis
#===============================================================================
# This script is not open for distribution to other sites without permission
# from me, Jet10985. Please credit me if you use this script.
#===============================================================================
# This script will allow you to add a nice alignment system to your game, which
# can be used for more then alignment. EX: Ranks, Vampirism, etc.
# This script has: 13 customization options.
#===============================================================================
# Overwritten Methods:
# None
#-------------------------------------------------------------------------------
# Aliased methods:
# Game_System: initialize (maybe)
# Game_Actor: initialize (maybe)
# Window_Status: refresh
# Scene_Status: start, terminate
# Game_Actor: skill_can_use
# Scene_Equip: update_item_selection
#===============================================================================
=begin
The alignment name and value match to the corresponding one in the other array.
EX: In the default, "Very Evil" is the first name, and -100 is the first condition
This means, if -100 or lower is the value of $game_system.alignment, the
character will be "Very Evil".
--------------------------------------------------------------------------------
How to change alignment: We have 2 command to change alignment points.
sub_alignment(points, actor) and add_alignment(points, actor)
In both commands, replace "points" with the amount of change you want in the
character's alignment points.
If you are using WHOLE_PARTY_ALIGNMENT meaning the whole party has a singular
alignment, don't include an actor, just use
sub_alignment(points) or add_alignment(points)
sub_alignment will subtract the amount of points.
add_alignment will add the amount of points
--------------------------------------------------------------------------------
Tagging equipment and skills:
To tag these in the database to require a certain amount of alignment points,
add the tag
<alignment ##>
where ## is the number of points required. make sure you keep
the <> because that's actually required.
--------------------------------------------------------------------------------
If you are using the bar:
Make sure the picutres are in the Graphics/System folder, and that the config
made for them is correct.
=end
module AlignmentOptions
# These are the alignment titles.
ALIGNMENT_NAME = ["Muy Malvado", "Malvado", "Neutral", "Bueno", "Muy Bueno"]
# These are the conditions to obtain the titles. They correspond with the
# titles, so by default, -100 is Very Evil and 50 is Good.
ALIGNMENT_CONDITION = [-100, -50, 0, 50, 100]
# This is what alignment will be called altogether
NAME_OF_ALIGNMENT = "Alineamiento"
# Do you want a bar and cursor to represent alignment instead of names?
# This bascially makes the conditions null/void. Now, it'll go off a
# maximum amount of good, and a minimum amount of evil.
USE_ALIGNMENT_BAR = true
# These are the bar's X and Y coordinates.
BAR_XY_COORDS = [270, 390]
# What is the bar image?
ALIGNMENT_BAR_PICTURE = "Sin Título"
# What is the cursor image?
ALIGNMENT_CURSOR_PICTURE = "black_arrow_down"
# This is how many good points are possible.
MAXIMUM_GOOD = 1000
# This is how many evil points can be obtained.
# Now, you maybe thinking, hey, should this be negative? No. I need it postive
# or else it puts the whole thing off balance ok? Just pretend it's negative.
MAXIMUM_EVIL = -1000
# Do you want the alignment to be a whole amount, or seperated by actor?
# True means 1 whole alignment, false means an alignment for every character.
WHOLE_PARTY_ALIGNMENT = false
# Do you want the alignment toal to be out-put into a variable? (Party only)
USE_VARIABLE = false
# This is the variable it will be put into if the above is true.
VARIABLE_ID = 60
# These actors will not have their alignment shown.
EXCLUDED_ACTORS = [1453, 8213, 2123]
end
#===============================================================================
# DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO.
#===============================================================================
if AlignmentOptions::WHOLE_PARTY_ALIGNMENT
class Game_System
include AlignmentOptions
alias jet5830_initialize initialize
def initialize
jet5830_initialize
@alignment = 0
end
def alignment
USE_VARIABLE ? $game_variables[VARIABLE_ID] : @alignment
end
def alignment=(new_value)
USE_VARIABLE ? $game_variables[VARIABLE_ID] = new_value : @alignment = new_value
end
end
else
class Game_Actor
include AlignmentOptions
attr_accessor :alignment
alias jet8391_initialize initialize
def initialize(*args)
@alignment = 0
jet8391_initialize(*args)
end
end
end
class Game_Interpreter
include AlignmentOptions
def add_alignment(points, actor = nil)
if WHOLE_PARTY_ALIGNMENT
$game_system.alignment += points
if $game_system.alignment > MAXIMUM_GOOD
$game_system.alignment = MAXIMUM_GOOD
end
else
$game_party.members[actor].alignment += points unless actor.nil?
if !actor.nil? && $game_party.members[actor].alignment > MAXIMUM_GOOD
$game_party.members[actor].alignment = MAXIMUM_GOOD
end
end
end
def sub_alignment(points, actor = nil)
if WHOLE_PARTY_ALIGNMENT
$game_system.alignment -= points
if $game_system.alignment < MAXIMUM_EVIL
$game_system.alignment = MAXIMUM_EVIL
end
else
$game_party.members[actor].alignment -= points unless actor.nil?
if !actor.nil? && $game_party.members[actor].alignment < MAXIMUM_EVIL
$game_party.members[actor].alignment = MAXIMUM_EVIL
end
end
end
end
class Window_Status
include AlignmentOptions
alias jet5839_refresh refresh unless $@
def refresh
jet5839_refresh
unless EXCLUDED_ACTORS.include?(@actor.id)
if !USE_ALIGNMENT_BAR
self.contents.font.color = system_color
self.contents.draw_text(290, 110, 500, 500, NAME_OF_ALIGNMENT + ":")
self.contents.font.color = normal_color
if WHOLE_PARTY_ALIGNMENT
self.contents.draw_text(400, 110, 500, 500, draw_alignment)
else
self.contents.draw_text(400, 110, 500, 500, draw_alignment(@actor))
end
else
self.contents.font.color = system_color
self.contents.draw_text(BAR_XY_COORDS[0] + (Cache.system(ALIGNMENT_BAR_PICTURE).width / 2) - (NAME_OF_ALIGNMENT.length * 8), BAR_XY_COORDS[1] - 70, 190, 24, NAME_OF_ALIGNMENT + ":")
end
end
end
end
class Scene_Status
include AlignmentOptions
alias jet2814_start start unless $@
def start
jet2814_start
unless EXCLUDED_ACTORS.include?(@actor.id)
@actor = $game_party.members[@actor_index]
if USE_ALIGNMENT_BAR
@bar = Sprite.new
@bar.bitmap = Cache.system(ALIGNMENT_BAR_PICTURE)
@bar.x = BAR_XY_COORDS[0]
@bar.y = BAR_XY_COORDS[1]
@bar.z = 1000
@arrow = Sprite.new
@arrow.bitmap = Cache.system(ALIGNMENT_CURSOR_PICTURE)
if !WHOLE_PARTY_ALIGNMENT
if @actor.alignment > 0
@barx = @bar.width / 2 * @actor.alignment / MAXIMUM_GOOD
elsif @actor.alignment < 0
@barx = @bar.width / 2 * @actor.alignment / (MAXIMUM_EVIL * -1)
elsif @actor.alignment == 0
@barx = 0
end
else
if $game_system.alignment > 0
@barx = @bar.width / 2 * $game_system.alignment / MAXIMUM_GOOD
elsif $game_system.alignment < 0
@barx = @bar.width / 2 * $game_system.alignment / (MAXIMUM_EVIL * -1)
elsif $game_system.alignment == 0
@barx = 0
end
end
@arrow.x = (@bar.x + (@bar.width / 2)) + @barx
@arrow.y = @bar.y - 20
@arrow.z = 1000
end
end
end
alias jet8092_terminate terminate unless $@
def terminate
if USE_ALIGNMENT_BAR && !@bar.nil? && !@arrow.nil?
@bar.dispose
@arrow.dispose
end
jet8092_terminate
end
end
class Window_Base
include AlignmentOptions
def draw_alignment(actor = nil)
if actor.nil?
if $game_system.alignment <= ALIGNMENT_CONDITION.min
return ALIGNMENT_NAME[0]
elsif $game_system.alignment >= ALIGNMENT_CONDITION.max
return ALIGNMENT_NAME[ALIGNMENT_NAME.size - 1]
elsif
for i in 0...ALIGNMENT_CONDITION.size
if $game_system.alignment < ALIGNMENT_CONDITION[i]
return ALIGNMENT_NAME[i-1]
end
end
end
else
if actor.alignment <= ALIGNMENT_CONDITION.min
return ALIGNMENT_NAME[0]
elsif actor.alignment >= ALIGNMENT_CONDITION.max
return ALIGNMENT_NAME[ALIGNMENT_NAME.size - 1]
elsif
for i in 0...ALIGNMENT_CONDITION.size
if actor.alignment < ALIGNMENT_CONDITION[i]
return ALIGNMENT_NAME[i-1]
end
end
end
end
end
end
module Jet
def self.check_tag_number(obj, tag)
obj.note.split(/[\r\n]+/).each { |notetag|
case notetag
when tag
@result = $1.to_i
end }
return @result
end
end
module RPG
class BaseItem
def alignment
if @alignment_req.nil?
txt = Jet.check_tag_number(self, /<(?:alignment)[ ]*(\d+)>/i)
@alignment_req = txt.nil? ? :unaligned : txt.to_i
end
return @alignment_req
end
end
end
class Game_Actor
include AlignmentOptions
alias jet3849_skill_can_use? skill_can_use?
def skill_can_use?(skill)
if WHOLE_PARTY_ALIGNMENT
if skill != nil && skill.alignment != :unaligned
q = (ALIGNMENT_CONDITION.size / 2)
if (skill.alignment < 0 or skill.alignment > 0) && ($game_system.alignment == 0)
return false unless ((ALIGNMENT_CONDITION[q - 1] / 2)..(ALIGNMENT_CONDITION[q + 1] / 2)) === skill.alignment
elsif skill.alignment > 0
return false unless $game_system.alignment >= skill.alignment
elsif skill.alignment < 0
return false unless $game_system.alignment <= skill.alignment
elsif skill.alignment == 0
return false unless (ALIGNMENT_CONDITION[q - 1]..ALIGNMENT_CONDITION[q + 1]) === skill.alignment
end
end
else
if skill.alignment != :unaligned
q = (ALIGNMENT_CONDITION.size / 2)
if (skill.alignment < 0 or skill.alignment > 0) && (self.alignment == 0)
return false unless ((ALIGNMENT_CONDITION[q - 1] / 2)..(ALIGNMENT_CONDITION[q + 1] / 2)) === skill.alignment
elsif skill.alignment > 0
return false unless self.alignment >= skill.alignment
elsif skill.alignment < 0
return false unless self.alignment <= skill.alignment
elsif skill.alignment == 0
return false unless (ALIGNMENT_CONDITION[q - 1]..ALIGNMENT_CONDITION[q + 1]) === skill.alignment
end
end
end
jet3849_skill_can_use?(skill)
end
end
class Scene_Base
def equip_check
check_equipment = @item_window.item.alignment
if check_equipment != :unaligned
if check_equipment < 0
return 1
elsif check_equipment > 0
return 0
elsif check_equipment == 0
return 2
end
else
return 3
end
end
end
class Scene_Equip
include AlignmentOptions
def update_item_selection
if Input.trigger?(Input::B)
Sound.play_cancel
@equip_window.active = true
@item_window.active = false
@item_window.index = -1
elsif Input.trigger?(Input::C)
if @item_window.item != nil
q = (ALIGNMENT_CONDITION.size / 2)
final_check = equip_check
if WHOLE_PARTY_ALIGNMENT
if final_check == 0 && $game_system.alignment >= @item_window.item.alignment
full_equip_process
elsif final_check == 1 && $game_system.alignment <= @item_window.item.alignment
full_equip_process
elsif final_check == 3
full_equip_process
elsif final_check == 2 && (ALIGNMENT_CONDITION[q - 1])..(ALIGNMENT_CONDITION[q + 1]) === @item_window.item.alignment
full_equip_process
elsif (final_check == 0 or final_check == 1) && ($game_system.alignment == 0 && ((ALIGNMENT_CONDITION[q - 1] / 2)..(ALIGNMENT_CONDITION[q + 1] / 2)) === @item_window.item.alignment)
full_equip_process
end
else
if final_check == 0 && @actor.alignment >= @item_window.item.alignment
full_equip_process
elsif final_check == 1 && @actor.alignment <= @item_window.item.alignment
full_equip_process
elsif final_check == 3
full_equip_process
elsif final_check == 2 && (ALIGNMENT_CONDITION[q - 1])..(ALIGNMENT_CONDITION[q + 1]) === @item_window.item.alignment
full_equip_process
elsif (final_check == 0 or final_check == 1) && (@actor.alignment == 0 && ((ALIGNMENT_CONDITION[q - 1] / 2)..(ALIGNMENT_CONDITION[q + 1] / 2)) === @item_window.item.alignment)
full_equip_process
end
end
else
full_equip_process
end
end
end
def full_equip_process
Sound.play_equip
@actor.change_equip(@equip_window.index, @item_window.item)
@equip_window.active = true
@item_window.active = false
@item_window.index = -1
@equip_window.refresh
for item_window in @item_windows
item_window.refresh
end
end
end
class Window_Message
alias jet3721_convert_special_characters convert_special_characters unless $@
def convert_special_characters
jet3721_convert_special_characters
@text.gsub!(/\\A\[([0-9]+)\]/i) { draw_alignment($game_party.members[$1.to_i]) }
end
end
unless $engine_scripts.nil?
JetEngine.active("Alignment System", 3.5)
end
Notas del Autor:
A continuacion subo las imagenes si es que quereis insertar la barra:
Barra:
[Tienes que estar registrado y conectado para ver esa imagen]
Flecha(Creada por mi):
[Tienes que estar registrado y conectado para ver esa imagen]
Última edición por Pauldrac el Miér 30 Mar 2011, 8:54 am, editado 2 veces
Pauldrac- 130
-
25
189
250
7
Extras
Sobre mí::
Re: Script de Alineamiento to guay
Muy buen script, el único problema es que los nombres están mal. La barra debe llamarse: "Sin Título" y la flecha "black_arrow_down" (sín las comillas)
Onuba- 130
-
29
165
61
5
Re: Script de Alineamiento to guay
Se puede cambiar el nombre
Pauldrac- 130
-
25
189
250
7
Extras
Sobre mí::
Re: Script de Alineamiento to guay
Me gusta mucho este scrip porque yo tengo el fable the lost chapters y
megusta muxo lo del alineamiento te doy +1.
megusta muxo lo del alineamiento te doy +1.
Programador- 0
-
45
1
1
0
Re: Script de Alineamiento to guay
Fable? La caña! Te dari yo a ti un + 2 por haberlo jugado
Pauldrac- 130
-
25
189
250
7
Extras
Sobre mí::
Re: Script de Alineamiento to guay
una duda, cuál es el comando para hacer que suba o baje el alineamiento, porque si pruebo el de todo el grupo, no pasa nada, y si pruebo el individual, me da error
Onuba- 130
-
29
165
61
5
Re: Script de Alineamiento to guay
Fable, uno de mis favoritos juegos, probare el script
dominic00- 300
-
37
377
139
4
Re: Script de Alineamiento to guay
dominic, por favor no revivas temas, mira las fechas de los post, a la proxima ban.
cierro tema.
cierro tema.
Mike_182- Super Moderador
-
28
814
1041
150
Extras
Sobre mí::
Temas similares
» Script: Cambio de Clase Sencillo(CCS) V.1.0.0Mi primer script.
» Script de video 100% funcional
» Script Efecto de luz
» Catunazo de script
» Script de video 100% funcional
» Script Efecto de luz
» Catunazo de script
RPG maker VX :: Scripts ::
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.