Goofy !
-
Posts
284 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Goofy !
-
-
Vorrei modificare una cosetta negli script di base...
quando si usa una skill che ha l'effetto di infliggere uno status su un nemico, se quel nemico ha attributo F verso quello status allora è impossibile applicarglielo.
Dunque, vorrei che apparisse "Respinto" in questi casi anziché "Mancato" perché così il giocatore sa che può povarci anche miliardi di volte.... non riuscirà mai ad avvelenare quel nemico!
-
Ho risolto i problemi alla scheda video, avevo la soluzione sotto il naso ma non ne ero al corrente.
Non sapevo che il driver si chiama ndivia, perciò scorrevo nella lista degli aggiornamneti, vedevo questo coso ma non mi saltava mica al cervello di scaricarlo : P pensavo che fosse una roba opzionale di poca utilità invece.... ahahah
Bene adesso ho un portatile con windows XP che funziona divinamente! Grazie a tutti per gli aiuti ^__^
-
No-no.
C'era Xp e lo abbiamo passato a Vista.... quindi di base c'era Xp.
Infatti c'è il bollino dell'XP e sotto c'è scritto "Vista Capable".
Anyway... c'è scritto davvero risoluzione 1400x1050
-
Ho formattato il computer portatile e già che c'ero ho installato Windows Xp invece di Windows Vista.
Solo che adesso ci sono alcuni problemi tediosi...
La cosa più urgente riguarda la cheda video.... prima era tutto buono, adesso invece è peggiorata parecchio, va tutto a scatti e addirittura Rpg Maker 2003 ha dei problemi all'avvio e al cambio di schermate (menu, nuova mappa,...) impiega una manciata di secondi per caricare tutto e si vede una vera e propria transizione XD tutto a righe e poi diventa nero.
Ho usato lo strumento di diagnostica per sapere qual è la mia scheda video in modo da poterla aggiornare... ma mi dice N/D e nella colonnina "Drivers" risulta un certo vga.dll .... nelle note mi dice che il pc usa una scheda video generica °__°
Non riesco proprio a camiarla... che mi dite voi?
Poi sto' avendo problemi con l'impostazione della risoluzione.
Lasciando quella di base, Rpg Maker XP non parte e mi dice che la risoluzione non è esatta.
Quindi la cambio (1400x1050) solo che così la barra delle applicazioni viene mangiata dallo schermo e il lavoro è scomodisimo, perché devo ingrandirla occupando buona parte dello schermo.
Impostando altre risoluzioni addirittura tutto lo schermo si sposta verso sinistra e non si può fare niente per usare i comandi spariti dalla vista.
-
Quindi hai risolto tutto?
-
Ok, quindi va richiamata con la condizione Se :<Eroe usa comando "Evento">! Ho capito finalmente grazie ^_^
-
Sì ma il fatto è che se io creo un potere, non mi permette di pizzarlo sul tipo "Evento" e nessun altro tipo che ha come archetipo "collegato a evento".
-
Ecco i miei voti personalissimi.... non ho letto commenti di nessun giudice per non essere influenzato.
fanton95
Eh sì una volta avevo pensato di creare un gioco sull'Odissea anche io, è un'opera molto bella ^__^. Ma poi ho rinunciato per mancanza di conoscenze approfondite T__T
Comunque, non ho nulla da dire riguardo lo sfondo che secondo me rasenta il fantastico *.*, invece mi sembra non azzeccato il piazzamento di ESCI come prima parola che si legge nel Title.
La scrittura greca è molto bella e fa il suo signor effetto.
MAPPING: //
GLOBALE: 8
EvilSeep
Non adoro questo stile grafico, ma comunque valuterò lo stesso. Gli elementi in primo piano (tubi e piante) sono un po' ripetitivi, dovresti provare a inserire qualcos'altro; gli elementi sullo sfondo invece li trovo ben piazzati. Anche i chara sono tutti uguali tra loro, non so se è voluto, ma sono anche disposti in modo strano: tutti quelli violetti a destra e gli altri tutti uguali a sinistra.
MAPPING: 5,5
GLOBALE: 5
SimonRpg
La mappa è molto semplice e avresti potuto sfruttare meglio tutto lo spazio a disposizione.
Poi ci sono dei particolari poco chiari, come quelle "cose" ai lati della lampada a nord-est e i tappetti che si reggono da soli all'estremo nord-est (appoggiali al muro XD).
Il passamano è tagliato all'inizio delle scale.
In generale lo screen non trasmette molto....strane le luci scure a effetto "obliquo".
MAPPING: 5,5
GLOBALE: 6
Mercury
Molto carino! Davvero piacevole e inoltre lo aggiungo alla lista dei giochi che proverò ^_^ e finalmente vedo il mio pokémon preferito (Staryu) in azione, ma ora il commento vero:
non vedo errori, e in generale la scena è sicuramente bella in game (suppongo ci sia un po' di movimento, poi non so), la luce sulla sinistra è il sole? O qualche altra cosa? Perché mi smebra un po troppo accecante
MAPPING: 7
GLOBALE: 8
Freank
Dunque, dunque... il font non mi piace molto, la "L" e la "S" sono un po' strane e cozzano col resto del testo.
Non capisco bene il messaggio in relazione al testo ( o per lo meno, non è subito lampante), ma in generale non mi sembra di vedere grandi errori nel mapping.
MAPPING: 6,5
GLOBALE: 6,5
MasterSion
Molte cose strane: in tanti punti il muro in alto ha una colonna di spacco molto visibile (intendo dire che si nota molto che finisce il tile e ricomincia, c'è una brutta "linea"), la colonna d'erba a sinistra ha lo stesso problema della linea di separazione dal resto e il personaggio a nord-est... bhe non è molto chiaro °.°
Buona la vignetta.
Carino il cambio del tempo verbale (e ci siamo capiti XD)
MAPPING: 5,6 (sarebbe 6=, se non vale come voto considerate 6- ovvero 5,75)
GLOBALE: 6
Lusianl
La scena in sé è piacevole, ma non sono sicuro che il riflesso della luna sia corretto.Molto bella la rosa e il suo riflesso.
E' il coniglietto luminoso che causa i bagliori sulla rosa o è la rosa stessa che splende?
MAPPING: //
GLOBALE: 7-
Theoras
E' mappato tutto divinamente ma... solo a metà. Infatti il resto sembra uno specchio della prima parte salvo qualche particolare. Comunque può essere comprensibile se si tratta del giardino di un castello o di qualcosa di simile perché tutto deve essere molto accurato in questo caso. Bellissime le aiuole.
MAPPING: 7
GLOBALE: 7,5
Squall_Leonheart
Bhe... non mi piace molto per via dello stile grafico, doresti cambiare un po' lo stile appunto : / .
Comunque questo salone deve essere davvero gigantesco se i personaggi sono disposti così, dovresti rimpicciolirlo notevolmente, e magari ingrandire i personaggi umani (Bart è alto quanto il cane). L'ombra del lume è al contrario!
MAPPING: 4
GLOBALE: 4
-
@Tio---> Ah bé confesso che quando ho letto Fira ci avevo pensato pure io... "ma come lo hanno chimato il3° livello °_°?"
@Guardian---> Non ti so dire, am sono sicuro che -ga, come suffisso delle magie di 3° livello sia un riferimento a "giga" cioè per esempio Fire-Giga= Firaga.
Invece il -da di Energida (FFXII) e -ja delle apoteosi degli Esper (FFXII) non so dirti... ma non credo siano prese a caso, avranno un qualche riferimento.
-
mmm, no sai cosa: se fosse così allora Blizzard sarebbe Blizzardra, invece no, è Blizzara!
Non è che Firara ha qualche senso? No vabbè XD
-
Ok-Ok
So che magari passerò per ridicolo.
Ma è una cosa che mi sono sempre chiesto....
e ora vorrei sapere quello che faccio mentre revisiono le skills del mio bel progettino...
Perché nei maggiori giochi (Kingdom Hearts, Final Fantasy), il 2° livello della magia di elemento fuoco si chiama FIRA e non FIRARA?
Ha un qualche significato? Più vado avanti più scopro che nei giochi non lasciano cose a caso, quindi perché non chiedere anche questo... è una curiosità.
...povero me... povero me....
-
Ci sono tutte le risorse che vuoi su un sito francese di cui non ricordo il nome...
RPg Maker Oniromancie?
In ogni caso mettetelo tra i preferiti che è pienissimo di risorse.
-
La puoi cambiare tramiiet evento su mappa con il comando "Cambia musica di battaglia", invece di fare l'evento sui gruppi mostri del database che mi sembra più lungo come procedimento.
-
ç___ç mi sono bloccato in punto indegno... quasi quasi manco c'è da metterlo sotto spoiler:
Dopo gli eventi a Jayneville quando... ehrrr... "Guendalina" (non ricordo più il suo nome originale, gliene ho assegnato io uno nuovo XD) si unisce al party e si discute riguado il male... dove devo andare? Mi deve essere sfuggito qualcosa nel dialogo, perché sono due giorni che vado in giro per la worldmap e non trovo niente ç__ç. C'è solo un monte che si può esaminare e dice " Che cos'è?" (c'è una specie di macchiolina/macchinario/entrata) e uno strano tempio con uno scrigno e nient'altro in un altro punto... dove devo andare?
Comunque, finora il gioco mi è piaciuto parecchio. Ci sono delle scene davvero interessanti e di buongusto, e Scontatus è un personaggio strepitoso : D
Edit!:
Alla faccia del tempietto che non serve a niente... (leggasi: ho risolto!)
Edit2:
Da correggere
SPOILER CON SCREEN
http://img199.imageshack.us/img199/4726/errorem.jpg
-
Ma alla fine usando i poteri "switch" si può fare tutto , giusto? Quindi non vale la pena sprecarsi a capire l'rachetipo "evento" : D
-
R:Nono c'è il metodo! Vai qua:
Database>Oggetti>Casella dell'arma che ti interessa>Setta animazione (del pg)>Movimento prima dell'attacco.
E puoi scegliere se fare andare l'eroe vicino al nemico, oppure se fargli afre un saltello o un passetto in avanti prima di colpire!
Ripeto la mia domanda di sopra.
D: Ero convinto di saper usare l'archetipo "Collegato a evento" nei comandi di battaglia, ma ora che mi serve non riesco a utilizzarlo!Imposto questo archetipo a un comando x, per esempio "Evocazioni".... ma nel menu del settaggio skills non mi appare questo comando come possibile settaggio delle magie O-ò
Ma poi cosa farebbe? Non ha la stessa funzione del comando "Switch" alla fine?
-
D: Ero convinto di saper usare l'archetipo "Collegato a evento" nei comandi di battaglia, ma ora che mi serve non riesco a utilizzarlo!
Imposto questo archetipo a un comando x, per esempio "Evocazioni".... ma nel menu del settaggio skills non mi appare questo comando come possibile settaggio delle magie O-ò
Ma poi cosa farebbe? Non ha la stessa funzione del comando "Switch" alla fine?
-
Allora funziona proprio come sospettavo : )
Grazie a tutti per la disponibilità.
Peccato che non c'è un modo per far entrare nel gruppo i personaggi già in seconda fila.
-
D: A cosa serve spostare i personaggi con il comando "Ordina" mettendoli un po' più a destra?
E già che ci siete mi spiegate pure la stessa funzioan che ha questo comando in FFVII??
XD
-
L'ho trovato dopo milioni di ricerche facendo filtraggi col tuo nickname fino allo svenimento... adesso lo provo.
Intanto eccolo, per chi dopo una ricerca giunge a questo topic...
#==============================================================================# *** Limit Break (DVV's) (03-18-2007)
# *** Version 1.6
#------------------------------------------------------------------------------
# by DerVVulfman
#
# This system is a revamped & rewritten system that disables 'element-tagged'
# skills until the hero's limitbreak bar is filled. Once the skill is used,
# the skill becomes disabled again. Works with and without the RTAB system.
#
# One feature that was sadly lacking in all other systems was the inability
# to fill the limitbreak bar with item damage. Previous systems only looked
# to damage inflicted through attacks and skill use. Items such as grenades
# were entirely overlooked.
#
# It is still designed 'menu-less' so there would be no conflicts with any
# custom menu scripts. However, with a little work, making a menu system to
# change an actor's limit break fill-type (Attack/Defend/Guard) can be accom-
# plished fairly easily... for the script literate. :)
#
# It still requires Cogwheel's HP/SP/EXP Gauge script to draw the Limit Break
# bar, unless a suitable Bar Drawing script is available. However, without
# the bar drawing script, you will not get an error. You just won't see the
# bars on the screen. Previous scripts either had their own 'cheaper' bar
# rendering system, or had 'REQUIRED' scripts that without 'em... crashed.
#
# Bug reported by link2795 for healing items crashing the game when used with
# the RTAB system. Bug caught and squashed.
#
# Removed Window_BattleStatus's 'Update' def as re-aliasation slowed the game
# down without contributing to anything. It was a bug in the KGC_OverDrive
# and previous BattleStatus Mod script combined.
#
# Converted the positioning system's CONSTANTS into ($)GLOBAL values that you
# can edit and change from a script call. That way, positioning of the bars
# can be changed based on which menu or battlestatus window you are using at
# the time.
#
# Added a feature to hide limit break bars from the menu and the battlestatus
# screens. Simple enough... just fill the array with the ID of the heroes you
# don't want to have visible bars. As it TOO uses ($)GLOBAL values, you can
# change it through a script call.
#
# Added save/load feature so ($)GLOBAL values that are changed through script
# calls can be recorded into the savegame files.
#
#==============================================================================
#==============================================================================
# * Configuration Section *
#==============================================================================
# Name of the Limit Break element
LB_NAME = "Limit Break"
# Starting/Default Limit Break Setting
LB_START = 0 # 0 = Attack | 1 = Critical | 2 = Damaged
# 3 = Killed an enemy | 4 = Killed a Boss | 5 = Hero Died
# 6 = Victory | 7 = Escape/Flee | 8 = Defending
# 9 = Lone Combatant | 10 = Any Action | 11 = Crit. Health
# Enemy Bosses (by ID)
# Related to the LB_Rate, it determines if points garnered through 'killing'
# an ememy gives regular 'enemy' points or 'boss' points to your LB gauge.
LB_BOSSES = [17] # Set to enemy 17 (Skeleton)
# Hidden Actors (by ID)
# This array holds the ID number of Actors who hide their own Limit Break bars
# in both the battle and menu screens. Will only apply to both battle & menu.
$lb_hidden = [3] # Set to actor #3, Cyrus
# Limit Break Max Value
LB_MAX = 1000
# Limit Break Fill Rates
# For flat rates & max value settings, the max value should not exceed LB_MAX.
LB_RATE = [ 10, 50, 200, # Hero Attacks the Enemy (rate, min., max.)
25, 25, 1000, # Hero delivers a CRITICAL! (rate, min., max.)
30, 1, 1000, # Hero takes Damage (rate, min., max.)
500, 750, 900, # Fatalaties: Enemy, Boss or Self (flat rate)
200, 200, 100, # Victory, Escape & Defending (flat rate)
160, 40, 160] # Loner, Action & Crit. Health (flat rate)
# Flexible positioning system. Default position appears under the STATUS txt.
$lb_menu_on = 1 # If set to '1', the bar is shown in the menu.
$lb_menu_pos = [ 0, 0, 190] # Positioning in the menu: X, Y, & bar width.
$lb_battle_pos = [ 0, 64, 120] # Positioning in the battle menu. Same setup.
$lb_rtab_pos = [ 0, -25, 111] # Position if using RTAB system. Same setup.
$lb_rtab_var = [0, 40] # Variable distances between hero's LB gauges.
# Hidden Actors
# This array holds the ID number of Actors who hide their own overdrive gauges
# in both the battle and menu screens.
$lb_hide = []
# SE played when Limit Break filled
LB_RING = "006-System06"
#----------------------------------------------------------------------------
# Do not edit below unless you know what you're doing. The following code is
# for automatic systems in the script. Values are edited or passed elsewhere.
#----------------------------------------------------------------------------
# Stores the battler id for item users (needed for non-RTAB systems)
$item_user = nil
# Obtain the Limit Break 'id' from the system
$data_system = load_data("Data/System.rxdata")
$lb_element_id = $data_system.elements.index(LB_NAME)
#==============================================================================
# * Configuration Section End *
#==============================================================================
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# This class handles data surrounding the system. Backround music, etc.
# is managed here as well. Refer to "$game_system" for the instance of
# this class.
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
# Additional values for the save/load feature
attr_accessor :lb_mn # menu on
attr_accessor :lb_mp # menu position
attr_accessor :lb_bp # battle position
attr_accessor :lb_rp # rtab position
attr_accessor :lb_rv # rtab variance
attr_accessor :lb_h # hidden
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias lb_init initialize
def initialize
# Perform the original call
lb_init
# Create the savable values
@lb_mn = 0
@lb_mp = []
@lb_bp = []
@lb_rp = []
@lb_rv = []
@lb_h = []
end
end
#==============================================================================
# ** Scene_Save
#------------------------------------------------------------------------------
# This class performs save screen processing.
#==============================================================================
class Scene_Save < Scene_File
#--------------------------------------------------------------------------
# * Write Save Data
# file : write file object (opened)
#--------------------------------------------------------------------------
alias lb_wsd write_save_data
def write_save_data(file)
# Store the globals
$game_system.lb_mn = $lb_menu_on
$game_system.lb_mp = $lb_menu_pos
$game_system.lb_bp = $lb_battle_pos
$game_system.lb_rp = $lb_rtab_pos
$game_system.lb_rv = $lb_rtab_var
$game_system.lb_h = $lb_hide
# Perform the original call
lb_wsd(file)
end
end
#==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
# This class performs load screen processing.
#==============================================================================
class Scene_Load < Scene_File
#--------------------------------------------------------------------------
# * Read Save Data
# file : file object for reading (opened)
#--------------------------------------------------------------------------
alias lb_rsd read_save_data
def read_save_data(file)
#Perform the original call
lb_rsd(file)
# ReStore the globals
$lb_menu_on = $game_system.lb_mn
$lb_menu_pos = $game_system.lb_mp
$lb_battle_pos = $game_system.lb_bp
$lb_rtab_pos = $game_system.lb_rp
$lb_rtab_var = $game_system.lb_rv
$lb_hide = $game_system.lb_h
end
end
#==============================================================================
# ** Game_Battler
#------------------------------------------------------------------------------
# This class deals with battlers. It's used as a superclass for the Game_Actor
# and Game_Enemy classes.
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :base_damage
#--------------------------------------------------------------------------
# * Applying Normal Attack Effects (Edited)
# attacker : battler
#--------------------------------------------------------------------------
alias lb_attack_effect attack_effect
def attack_effect(attacker)
# Attach base damage to battler (for self.base_damage)
@base_damage = nil
# Execute the original process
result = lb_attack_effect(attacker)
# Set current damage (rtab or not)
current_dmg = self.damage
if $rtab_detected; current_dmg = self.damage[attacker]; end
# Set crit flag (rtab or not)
current_crit = self.critical
if $rtab_detected; current_crit = self.critical[attacker]; end
# Calculate basic damage
if @base_damage == nil
@base_damage =
[attacker.atk - self.pdef / 2, 0].max * (20 + attacker.str) / 20
end
# When actual physical damage is applied
if result && current_dmg.is_a?(Numeric) && self.base_damage > 0
# When HERO attacking the enemy (and tagged for 'Attack')
if attacker.is_a?(Game_Actor) && self.is_a?(Game_Enemy) && attacker.lb_type == 0
# Limit Break growth calculation
lb_calc = current_dmg * LB_RATE[0] * 10 / self.base_damage
# Adjust Limit Break growth between min & max values
lb_add = [[lb_calc, LB_RATE[1]].max, LB_RATE[2]].min
# OD gauge increase
attacker.limitbreak += lb_add
end
# If the HERO made a critical hit on the Enemy
if attacker.is_a?(Game_Actor) && self.is_a?(Game_Enemy) && attacker.lb_type == 1
if current_crit
# Limit Break growth calculation
lb_calc = current_dmg * LB_RATE[3] * 10 / self.base_damage
# Adjust Limit Break growth between min & max values
lb_add = [[lb_calc, LB_RATE[4]].max, LB_RATE[5]].min
# OD gauge increase
attacker.limitbreak += lb_add
end
end
# When HERO is damaged by the enemy (and tagged for 'Damaged')
if attacker.is_a?(Game_Enemy) && self.is_a?(Game_Actor) && self.lb_type == 2
lb_calc = current_dmg * LB_RATE[6] * 10 / self.maxhp
# Adjust Limit Break growth between min & max values
lb_add = [[lb_calc, LB_RATE[7]].max, LB_RATE[8]].min
self.limitbreak += lb_add
end
# IF a battler has died
if self.dead?
# Regular killing move check.
if attacker.is_a?(Game_Actor) && attacker.lb_type == 3
attacker.limitbreak += LB_RATE[9]
# Killed a boss enemy
elsif attacker.is_a?(Game_Actor) && attacker.lb_type == 4 &&
LB_BOSSES.include?(self.id)
attacker.limitbreak += LB_RATE[10]
end
# Hero dies
if self.is_a?(Game_Actor) && self.lb_type == 5
self.limitbreak += LB_RATE[11]
end
end
end
return result
end
#--------------------------------------------------------------------------
# * Apply Skill Effects
# user : the one using skills (battler)
# skill : skill
#--------------------------------------------------------------------------
alias lb_skill_effect skill_effect
def skill_effect(user, skill)
# Attach base damage to battler (for self.base_damage)
@base_damage = nil
# Execute the original process
result = lb_skill_effect(user, skill)
# Set current damage (rtab or not)
current_dmg = self.damage
if $rtab_detected; current_dmg = self.damage[user]; end
# Recalculate the base (unadjusted) damage
if @base_damage == nil
# Calculate power
power = skill.power + user.atk * skill.atk_f / 100
if power > 0
power -= self.pdef * skill.pdef_f / 200
power -= self.mdef * skill.mdef_f / 200
power = [power, 0].max
end
# Calculate rate
rate = 20
rate += (user.str * skill.str_f / 100)
rate += (user.dex * skill.dex_f / 100)
rate += (user.agi * skill.agi_f / 100)
rate += (user.int * skill.int_f / 100)
# Calculate basic damage
@base_damage = power * rate / 20
end
# When actual physical damage is applied
if result && current_dmg.is_a?(Numeric) && self.base_damage > 0
# When HERO attacking the enemy (and tagged for 'Attack')
if user.is_a?(Game_Actor) && self.is_a?(Game_Enemy) && user.lb_type == 0
# Limit Break growth calculation
lb_calc = current_dmg * LB_RATE[0] * 10 / self.base_damage
# Adjust Limit Break growth between min & max values
lb_add = [[lb_calc, LB_RATE[1]].max, LB_RATE[2]].min
# OD gauge increase
user.limitbreak += lb_add
end
# When HERO is damaged by the enemy (and tagged for 'Damaged')
if user.is_a?(Game_Enemy) && self.is_a?(Game_Actor) && self.lb_type == 2
lb_calc = current_dmg * LB_RATE[6] * 10 / self.maxhp
# Adjust Limit Break growth between min & max values
lb_add = [[lb_calc, LB_RATE[7]].max, LB_RATE[8]].min
self.limitbreak += lb_add
end
# IF a battler has died
if self.dead?
# Regular killing move check.
if user.is_a?(Game_Actor) && user.lb_type == 3
user.limitbreak += LB_RATE[9]
# Killed a boss enemy
elsif user.is_a?(Game_Actor) && user.lb_type == 4 &&
LB_BOSSES.include?(self.id)
user.limitbreak += LB_RATE[10]
end
# Hero dies
if self.is_a?(Game_Actor) && self.lb_type == 5
self.limitbreak += LB_RATE[11]
end
end
end
# When limitbreak skill is used
if user.is_a?(Game_Actor) && skill.element_set.include?($lb_element_id)
# Reset gauge
user.limitbreak = 0
end
return result
end
#--------------------------------------------------------------------------
# * Application of Item Effects
# item : item
#--------------------------------------------------------------------------
alias lb_item_effect item_effect
def item_effect(item, battler = @active_battler)
# Attach base damage to battler (for self.base_damage)
@base_damage = nil
# Set 'user' to the current battler (and ensure if RTAB)
user = $item_user
if $rtab_detected; user = battler; end
# Execute the original process (RTAB or not)
if $rtab_detected
result = lb_item_effect(item, user)
else
result = lb_item_effect(item)
end
# Set current damage (rtab or not)
current_dmg = self.damage
if $rtab_detected; current_dmg = self.damage[user]; end
# Recalculate the base (unadjusted) damage
if @base_damage == nil
#Calculate power
power = maxhp * item.recover_hp_rate / 100 + item.recover_hp
if power < 0
power += self.pdef * item.pdef_f / 20
power = [power, 0].min
end
# Set damage value and reverse item power amount
@base_damage = -power
end
# When actual physical damage is applied
if result && current_dmg.is_a?(Numeric) && self.base_damage > 0
# When HERO attacking the enemy (and tagged for 'Attack')
if user.is_a?(Game_Actor) && self.is_a?(Game_Enemy) && user.lb_type == 0
# Limit Break growth calculation
lb_calc = current_dmg * LB_RATE[0] * 10 / self.base_damage
# Adjust Limit Break growth between min & max values
lb_add = [[lb_calc, LB_RATE[1]].max, LB_RATE[2]].min
# OD gauge increase
user.limitbreak += lb_add
end
# When HERO is damaged by the enemy (and tagged for 'Damaged')
if user.is_a?(Game_Enemy) && self.is_a?(Game_Actor) && self.lb_type == 2
lb_calc = current_dmg * LB_RATE[6] * 10 / self.maxhp
# Adjust Limit Break growth between min & max values
lb_add = [[lb_calc, LB_RATE[7]].max, LB_RATE[8]].min
self.limitbreak += lb_add
end
# IF a battler has died
if self.dead?
# Regular killing move check.
if user.is_a?(Game_Actor) && user.lb_type == 3
user.limitbreak += LB_RATE[9]
# Killed a boss enemy
elsif user.is_a?(Game_Actor) && user.lb_type == 4 &&
LB_BOSSES.include?(self.id)
user.limitbreak += LB_RATE[10]
end
# Hero dies
if self.is_a?(Game_Actor) && self.lb_type == 5
self.limitbreak += LB_RATE[11]
end
end
end
return result
end
end
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles the actor. It's used within the Game_Actors class
# ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :limitbreak # Limitbreak value
attr_accessor :lb_type # Limitbreak action type
attr_accessor :limitbreak_ring # Limit Break Ring Checker
#--------------------------------------------------------------------------
# * Setup
# actor_id : actor ID
#--------------------------------------------------------------------------
alias lb_setup setup
def setup(actor_id)
# Perform the original call
lb_setup(actor_id)
@limitbreak = 0 # Reset Limit Break gauge to zero
@lb_type = LB_START # Set the Limit Break type to 'config' settings.
@limitbreak_ring = false # Turn the 'ring' off
end
#--------------------------------------------------------------------------
# * Determine if Skill can be Used
# skill_id : skill ID
#--------------------------------------------------------------------------
alias lb_skill_can_use? skill_can_use?
def skill_can_use?(skill_id)
# Get result from original call
result = lb_skill_can_use?(skill_id)
# Return if already disabled
return if result == false
# Obtain skill from database
skill = $data_skills[skill_id]
# Only perform if skill
if skill != nil
# Only perform if includes the Element
if skill.element_set.include?($lb_element_id)
# If the limitbreak bar is filled, skill is available
if self.limitbreak == LB_MAX
result = true
# Otherwise, it isn't
else
result = false
end
end
end
return result & super
end
#--------------------------------------------------------------------------
# * Adjust the limitbreak value (permits addition & keeps within range)
#--------------------------------------------------------------------------
def limitbreak=(limitbreak)
@limitbreak = limitbreak
@limitbreak = LB_MAX if @limitbreak > LB_MAX
@limitbreak = 0 if @limitbreak < 0
end
#--------------------------------------------------------------------------
# * Acquire Limit Break value (nil values won't cause errors now)
#--------------------------------------------------------------------------
def limitbreak
# Return 0 if nil (prevent errors)
@limitbreak = 0 if @limitbreak == nil
return @limitbreak
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# This class is for all in-game windows.
#==============================================================================
class Window_Base
#--------------------------------------------------------------------------
# * Draw Actor Name
#--------------------------------------------------------------------------
alias lb_draw_actor_name draw_actor_name
def draw_actor_name(actor, x, y)
# Only perform if the actor isn't hidden
unless $lb_hidden.include?(actor.id)
# Set/reset the x, y and width of the Limit Break bar.
ox = $game_temp.in_battle ? $lb_battle_pos[0] : $lb_menu_pos[0]
oy = $game_temp.in_battle ? $lb_battle_pos[1] : $lb_menu_pos[1]
ow = $game_temp.in_battle ? $lb_battle_pos[2] : $lb_menu_pos[2]
# To menu... or not to menu
if $lb_menu_on == 1 && !$game_temp.in_battle
draw_actor_lb(actor, x + ox, y + oy + 32, ow)
elsif $game_temp.in_battle
unless $rtab_detected
draw_actor_lb(actor, x + ox, y + oy + 32, ow)
end
end
end
lb_draw_actor_name(actor, x, y)
end
#--------------------------------------------------------------------------
# * Draw Battler Name
#--------------------------------------------------------------------------
# If the BattleStatus value of 'Alignment' exists
if $bstat_align != nil
alias lb_draw_battler_name draw_battler_name
def draw_battler_name(actor, x, y)
# Only perform if the actor isn't hidden
unless $lb_hidden.include?(actor.id)
# Set/reset the x, y and width of the Limit Break bar.
ox = $game_temp.in_battle ? $lb_battle_pos[0] : $lb_menu_pos[0]
oy = $game_temp.in_battle ? $lb_battle_pos[1] : $lb_menu_pos[1]
ow = $game_temp.in_battle ? $lb_battle_pos[2] : $lb_menu_pos[2]
# To menu... or not to menu
if $lb_menu_on == 1 && !$game_temp.in_battle
draw_actor_lb(actor, x + ox, y + oy + 32, ow)
elsif $game_temp.in_battle
unless $rtab_detected
draw_actor_lb(actor, x + ox, y + oy + 32, ow)
end
end
end
lb_draw_battler_name(actor, x, y)
end
end
#--------------------------------------------------------------------------
# * Draw Overdrive Meter
#--------------------------------------------------------------------------
def draw_actor_lb(actor, x, y, width = 144)
if defined?(gauge_rect)
rate = actor.limitbreak.to_f / LB_MAX
plus_x = 0
rate_x = 0
plus_y = 25
plus_width = 0
rate_width = 100
height = 10
align1 = 1
align2 = 2
align3 = 0
grade1 = 1
grade2 = 0
color1 = Color.new(0, 0, 0, 192)
color2 = Color.new(255, 255, 192, 192)
color3 = Color.new(0, 0, 0, 192)
color4 = Color.new(64, 0, 0, 192)
color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
lb = (width + plus_width) * actor.limitbreak * rate_width / 100 / LB_MAX
gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
width, plus_width + width * rate_width / 100,
height, lb, align1, align2, align3,
color1, color2, color3, color4, color5, color6, grade1, grade2)
end
end
end
#==============================================================================
# ** Window_BattleStatus
#------------------------------------------------------------------------------
# This window displays the status of all party members on the battle screen.
#==============================================================================
class Window_BattleStatus < Window_Base
alias lb_init initialize
def initialize
lb_init
if defined?(at_refresh)
$rtab_detected = true
end
refresh
end
#--------------------------------------------------------------------------
# * Full Limit Break Gauge SE
#--------------------------------------------------------------------------
def full_lb_se
if LB_RING != nil
if LB_RING != ""
Audio.se_play("Audio/SE/" + LB_RING, 80, 100)
end
end
end
#--------------------------------------------------------------------------
# * Frame renewal
#--------------------------------------------------------------------------
alias lb_refresh refresh
def refresh(number = 0)
# Call the original def
if $rtab_detected
lb_refresh(number)
else
lb_refresh
end
# This block is needed only if RTAB in use
if $rtab_detected
# Ensure bitmap available for bar drawing
if self.contents == nil
self.contents = Bitmap.new(width - 32 ,height - 32)
end
# Search through actors & draw bar if applicable
if number == 0
for i in 0...$game_party.actors.size
rtab_pos_x = $lb_rtab_pos[0] + ($lb_rtab_var[0] * i)
rtab_pos_y = $lb_rtab_pos[1] + ($lb_rtab_var[1] * i)
unless $lb_hidden.include?($game_party.actors.id)
draw_actor_lb($game_party.actors, rtab_pos_x, rtab_pos_y+10, $lb_rtab_pos[2])
end
end
else
if $game_party.actors[number].is_a?(Game_Actor)
rtab_pos_x = $lb_rtab_pos[0] + ($lb_rtab_var[0] * number)
rtab_pos_y = $lb_rtab_pos[1] + ($lb_rtab_var[1] * number)
unless $lb_hidden.include?($game_party.actors[number].id)
draw_actor_lb($game_party.actors[number], rtab_pos_x, rtab_pos_y+10, $lb_rtab_pos[2])
end
end
end
end
# Go through the Actors
$game_party.actors.each { |actor|
# Only perform if the actor exists
next unless actor.exist?
# When the Limit Break gauge is set to zero,
# Reset the Limit Break Ringer to false
if actor.limitbreak == 0
actor.limitbreak_ring = false
end
# When the Overdrive Ringer hasn't rung
if actor.limitbreak_ring == false
# But, if the Overdrive Bar is filled
if actor.limitbreak == LB_MAX
# Play the Overdrive Sound Effect
full_lb_se
# And Set the Overdrive Ringer to true
actor.limitbreak_ring = true
end
end
}
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# * Battle Ends
# result : results (0:win 1:lose 2:escape)
#--------------------------------------------------------------------------
alias lb_battle_end battle_end
def battle_end(result)
# Branch on Battle condition
case result
when 0 # Victory
$game_party.actors.each { |actor|
next unless actor.exist?
# For each actor who won & set to Victory
if actor.lb_type == 6
actor.limitbreak += LB_RATE[12]
end
}
when 1 # Escape
$game_party.actors.each { |actor|
next unless actor.exist?
# For each actor who ran & set to Escape
if actor.lb_type == 7
actor.limitbreak += LB_RATE[13]
end
}
end
# Defeat
lb_battle_end(result)
end
#--------------------------------------------------------------------------
# * Frame Update (main phase step 2 : start action)
#--------------------------------------------------------------------------
alias lb_adddate_p4_s2 update_phase4_step2
def update_phase4_step2(battler = @active_battler)
# Perform only if actor
if battler.is_a?(Game_Actor)
# Reset adding value
lb_add = 0
# Branch on LimitBreak type
case battler.lb_type
when 8 # When Defending
if battler.current_action.kind = 0
if battler.current_action.basic == 1
lb_add = LB_RATE[14]
print lb_add
end
end
when 9 # When it's a lone battler
if $game_party.actors.size == 1
lb_add = LB_RATE[15]
end
when 10 # When performing ANY acton
lb_add = LB_RATE[16]
when 11 # If in CRITICAL
if battler.hp <= @active_battler.maxhp / 4
lb_add = LB_RATE[17]
end
end
# Add values to limitbreak
battler.limitbreak += lb_add
end
# Perform the original call
if $rtab_detected; lb_adddate_p4_s2(battler); else; lb_adddate_p4_s2; end
end
#--------------------------------------------------------------------------
# * Make Item Action Results
#--------------------------------------------------------------------------
alias lb_miar make_item_action_result
def make_item_action_result(battler = @active_battler)
$item_user = battler
# Perform the original call
if $rtab_detected; lb_miar(battler); else; lb_miar; end
end
#--------------------------------------------------------------------------
# * Frame Update (main phase step 4 : animation for target)
#--------------------------------------------------------------------------
alias lb_update_p4_s4 update_phase4_step4
def update_phase4_step4(battler = @active_battler)
if $rtab_detected
@status_window.update
@status_window.refresh
end
# Perform the original call
if $rtab_detected; lb_update_p4_s4(battler); else lb_update_p4_s4; end
end
end
#===========================================================================
# *** HP/MP/ATB/LimitBreak bar Slanted Style Compatible with RTAB ***
# *** Version 2.1
#---------------------------------------------------------------------------
# by Clive
# based on Cogwheel's Bars and Sephiroth Spawn's Slanted Bars.
#---------------------------------------------------------------------------
# ----- GREAT THANKS to DerVVulfman for solving the lag problem
#------This is a plug and play script so it should work without any problem!
#=============================================================================
# If using with Limit Break, must paste BELOW the Limit Break script as it re-
# writes the 'Gauge drawing' system. Will cause an error if not properly put.
# If used with Trickster's STEAL SCRIPT version 6 R1 (revision 1), then the
# height of RTAB's AT Bar (Draw Actor ATG) may not be smaller than 5 pixels
# due to a float-to-float error. A height of 6 pixels is the smallest.
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles the actor. It's used within the Game_Actors class
# ($game_actors) and refers to the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Get the current EXP
#--------------------------------------------------------------------------
def now_exp
return @exp - @exp_list[@level]
end
#--------------------------------------------------------------------------
# * Get the next level's EXP
#--------------------------------------------------------------------------
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# This class is for all in-game windows.
#==============================================================================
class Window_Base < Window
#==========================================================================
# * Draw Slant Bar(by SephirothSpawn)
#==========================================================================
def draw_slant_bar(x, y, min, max, width = 152, height = 6,
bar_color = Color.new(150, 0, 0, 255),
end_color = Color.new(255, 255, 60, 255))
# Draw Border
for i in 0..height
self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
end
# Draw Background
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
# Draws Bar
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
#==========================================================================
# * Draw HP
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#==========================================================================
alias :draw_actor_hp_hpsp :draw_actor_hp
def draw_actor_hp(actor, x, y, width = 144)
draw_slant_bar(x, y + 12, actor.hp, actor.maxhp, width, 6,
bar_color = Color.new(150, 0, 0, 255),
end_color = Color.new(255, 255, 60, 255))
draw_actor_hp_hpsp(actor, x, y, width)
end
#==========================================================================
# * Draw SP
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#==========================================================================
alias :draw_actor_sp_hpsp :draw_actor_sp
def draw_actor_sp(actor, x, y, width = 144)
draw_slant_bar(x, y + 12, actor.sp, actor.maxsp, width, 6,
bar_color = Color.new(0, 0, 155, 255),
end_color = Color.new(255, 255, 255, 255))
draw_actor_sp_hpsp(actor, x, y, width)
end
#==========================================================================
# * Draw EXP
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#==========================================================================
alias raz_bars_base_exp draw_actor_exp
def draw_actor_exp(actor, x, y)
if actor.level == 99
draw_slant_bar(x, y + 18, 1, 1, 190, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(0, 255, 0, 255))
else
draw_slant_bar(x, y + 18, actor.now_exp, actor.next_exp, 190, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(255, 255, 255, 255))
end
raz_bars_base_exp(actor, x, y)
end
#==========================================================================
# * Draw Parameter
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# type : parameter type (0-6)
#==========================================================================
alias raz_bars_base_parameter draw_actor_parameter
def draw_actor_parameter(actor, x, y, type)
case type
when 0
para_color1 = Color.new(100,0,0)
para_color2 = Color.new(255,0,0)
para_begin = actor.atk
when 1
para_color1 = Color.new(100,100,0)
para_color2 = Color.new(255,255,0)
para_begin = actor.pdef
when 2
para_color1 = Color.new(100,0,100)
para_color2 = Color.new(255,0,255)
para_begin = actor.mdef
when 3
para_color1 = Color.new(50,0,100)
para_color2 = Color.new(50,0,255)
para_begin = actor.str
when 4
para_color1 = Color.new(0,100,0)
para_color2 = Color.new(0,255,0)
para_begin = actor.dex
when 5
para_color1 = Color.new(50,0,50)
para_color2 = Color.new(255,0,255)
para_begin = actor.agi
when 6
para_color1 = Color.new(0,100,100)
para_color2 = Color.new(0,255,255)
para_begin = actor.int
end
draw_slant_bar(x, y + 18, para_begin, 999, 155, 4, bar_color = para_color1,
end_color = para_color2)
raz_bars_base_parameter(actor, x, y, type)
end
#=========================================================================
# * Draw Actor ATG
# actor : Actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#=========================================================================
def draw_actor_atg(actor, x, y, width = 144, height = 6)
if @at_gauge == nil
# plus_x: revised x-coordinate
# rate_x: revised X-coordinate as (%)
# plus_y: revised y-coordinate
# plus_width: revised width
# rate_width: revised width as (%)
# height: Vertical width
# align1: Type 1 ( 0: left justify 1: center justify 2: right justify )
# align2: Type 2 ( 0: Upper stuffing 1: Central arranging 2:Lower stuffing )
# align3: Gauge type 0:Left justify 1: Right justify
@plus_x = 0
@rate_x = 0
@plus_y = 16
@plus_width = 0
@rate_width = 100
@width = @plus_width + width * @rate_width / 100
@height = 6
@align1 = 0
@align2 = 1
@align3 = 0
# Gradation settings: grade1: Empty gauge grade2:Actual gauge
# (0:On side gradation 1:Vertically gradation 2: Slantedly gradation)
grade1 = 1
grade2 = 0
# Color setting. color1: Outermost framework, color2: Medium framework
# color3: Empty framework dark color, color4: Empty framework light/write color
color1 = Color.new(0, 0, 0)
color2 = Color.new(255, 255, 192)
color3 = Color.new(0, 0, 0, 192)
color4 = Color.new(0, 0, 64, 192)
# Color setting of gauge
# Usually color setting of the time
color5 = Color.new(0, 64, 80)
color6 = Color.new(255, 255, 255)#(0, 128, 160)
# When gauge is MAX, color setting
color7 = Color.new(80, 0, 0)
color8 = Color.new(255, 255,255) #(240,0,0)
# Color setting at time of cooperation skill use
color9 = Color.new(80, 64, 32)
color10 = Color.new(255, 255, 255) #(240, 192, 96)
# Color setting at time of skill permanent residence
color11 = Color.new(80, 0, 64)
color12 = Color.new(255,255, 255) #(240, 0, 192)
# Drawing of gauge
gauge_rect_at(@width, @height, @align3, color1, color2, color3, color4,
color5, color6, color7, color8, color9, color10, color11, color12,
grade1, grade2)
end
# Variable at substituting the width of the gauge which is drawn
if actor.rtp == 0
at = (width + @plus_width) * actor.atp * @rate_width / 10000
else
at = (width + @plus_width) * actor.rt * @rate_width / actor.rtp / 100
end
# AT Width Check
if at > width
at = width
end
# Revision such as the left stuffing central posture of gauge
case @align1
when 1
x += (@rect_width - width) / 2
when 2
x += @rect_width - width
end
case @align2
when 1
y -= @height / 2
when 2
y -= @height
end
# Draw Border
for i in 0..height
self.contents.fill_rect(x + 1.5 + i, y + 12 + height - i, width - 2 , 3,
Color.new(50, 50, 50, 255))
end
# Draw Background
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 + 1.5 + i, y + 12 + height - i, width - 3, 3,
Color.new(r, b, g, a))
end
# Rect_X control
if @align3 == 0
rect_x = 0
else
x += @width - at - 1
rect_x = @width - at - 1
end
# Color setting of gauge
if at == width
#Gauge drawing at the time of MAX
for i in 0..height
self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y -i +
@plus_y, @at_gauge, Rect.new(rect_x, @height * 2, at, @height))
end
else
if actor.rtp == 0
for i in 0..height
# Usually gauge drawing of the time
self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y- i +
@plus_y, @at_gauge,Rect.new(rect_x, @height, at, @height))
end
else
if actor.spell == true
for i in 0..height
#Gauge drawing at time of cooperation skill use
self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y - i +
@plus_y, @at_gauge, Rect.new(rect_x, @height * 3, at, @height))
end
else
for i in 0..height
# Gauge drawing at time of skill permanent residence
self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y - i +
@plus_y, @at_gauge, Rect.new(rect_x, @height * 4, at, @height))
end
end
end
end
end
#=========================================================================
# * Draw Actor Limit Break Bar
# actor : Actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#=========================================================================
def draw_actor_lb(actor, x, y, width = 144)
rate = actor.limitbreak.to_f / LB_MAX
plus_x = 0
rate_x = 0
plus_y = 15
plus_width = 0
rate_width = 100
height = 7
lb = (width + plus_width) * actor.limitbreak * rate_width / 100 / LB_MAX
# Drawing of gauge
if actor.limitbreak == LB_MAX
# Draw Silver Blue Bar
draw_slant_bar(x + plus_x + width * rate_x / 100, y + plus_y, lb, width,
width, height, od_color1 = Color.new(0,80,200,192),
od_color2 = Color.new(255,255,255,192))
else
# Draw Green Bar
draw_slant_bar(x + plus_x + width * rate_x / 100, y + plus_y, lb, width,
width, height, od_color1 = Color.new(31, 128, 0, 128),
od_color2 = Color.new(255, 255, 191))
end
end
end
-
Ma io non ho l'SDK eppure lo uso benissimo °°
-
Ho trovato alcuni script per le limits ma nessuno mi soddisfa abbastanza per quel che devo fare....
quindi vi chiedo se avete uno script che abbia più meno queste caratterisiche.
-Ogni personaggio, una volta incassati un tot di danni (per esempio una volta che ha perso in totale il 100% dei suoi Hp in modo cumulativo), si attiva la sua limit.
-Possibilità di scegliere quale limit far usare al pg (io avevo intenzione di farne 3 per ogni pg).
-Quando la limit è pronta per essere usata, al posto di attacca appare il comando LIMIT possibilmente con le lettere di vario colore (ricorda moltissimo FF7).
Tenendo conto che il Bs è quello standard.
-
Per l'xp c'era uno script, questo:
#================================================= =========================# ** SG Optional Battle Music
#================================================= =========================
# sandgolem
# Version 1
# 24.06.06
#================================================= =========================
Scene_Map::SG_Disable_BattleMusic = 1
#================================================= =========================
#
# To check for updates or find more scripts, visit:
# http://www.gamebaker.com/rmxp/scripts/
#
# To use this script, copy it and insert it in a new section above "Main",
# under the default scripts, and the SDK if you're using it.
#
# Have problems? Official topic:
# http://forums.gamebaker.com/showthread.php?t=13
#
#================================================= =========================
begin
SDK.log('SG Optional Battle Music', 'sandgolem', 1, '24.06.06')
if SDK.state('SG Optional Battle Music') != true
@sg_nobattlebgm_disabled = true
end
rescue
end
if !@sg_nobattlebgm_disabled
#--------------------------------------------------------------------------
class Game_System
alias sandgolem_nobattlebgm_system_bgm bgm_play
def bgm_play(bgm)
if !$sg_keep_music
sandgolem_nobattlebgm_system_bgm(bgm)
end
end
alias sandgolem_nobattlebgm_system_bgmstop bgm_stop
def bgm_stop
if !$sg_keep_music
sandgolem_nobattlebgm_system_bgmstop
end
end
end
class Scene_Map
alias sandgolem_nobattlebgm_map_callbattle call_battle
def call_battle
if $game_switches[sG_Disable_BattleMusic]
$sg_keep_music = true
end
sandgolem_nobattlebgm_map_callbattle
$sg_keep_music = nil
end
end
#--------------------------------------------------------------------------
end
Che in pratica se la switch 1 è attiva la musica non si ferma nella battaglia ma continua... prova a vedere se ti funziona.
-
nono mi spiace guardian ma ha ragione lui... anche a me manca.
Probabilmente tu usi la patch di traduzione come me qualche anno fa, che lo rende difettoso o mancante.
Prova ad aprirlo col programma in inglese (lascia perdere le patch di traduzione... fai come me usalo in inglese).
Solo che io ho il problema opposto... nella patch c'è, mentre nel programma in inglese manca e quindi nei frangenti dove devo usarlo lavoro con la patch.
Se col programma in inglese vado in un evento che usa Force action fatto con la patch, appena vado per modificarlo mi da errore grave e si chiude tutto. Qualcuno ne sa qualcosa in più.

[OK]"Respinto"
in Supporto RGSS (XP)
Posted
no-no
devo fare in modo che se c'è l'attributo F viene fuori "Respinto"
se c'è l'attributo A,B,C,D,E viene fuori "Mancato"
E' chiaro come intendo fare io?
Serve a evitare il player perde la vita a cercare di mettere uno status alterato al nemico se questo ha la resisteza F (100%) contro quello status... facendo apparire la scritta "RESPINTO".
Se invece il nemico non ha resistenza totale contro quello status, allora viene fuori "MANCATO che indica che il player può comunque fare dei tentativi finché il nemico entra nello status desiderato (veleno, cecità,...)
SI dovrà aggiungere qualche stringa, semmai.