Hi
last time i ask for help for an issue with the RPG Maker's game Sucubbus Hunter, finallyi could fix that error, but right now im facing another issue in the game
especifically when you are in the middle of a fight, in the texts of the Battle Log, there are a few elements that are crashing the game again
i can fix that but i need to now in which part of the game you can edit that terms
if you know in wich part of the program i would be very grateful because i would be more closser to finishing the translation
anyway, i'll left the Data Foldier if some one can or want to help me with the translation of this game
Looks like something in the Scripts file causing that; I'd also check the Skills and State files too, as they could also be culprits, depending on where the battle scripts are located.
I'm guessing you used Translator++ and did a full batch translation without looking to see what damage that does to the actual code.
If I were you, I'd do a universal check (CTRL+F) for all instances of ' %S' and change to ' %s '. See if that fixes the problem.
Let's see...
From the start "%s" got separated to "% s" in Script Vocab.
Code:
#--------------------------------------------------------------------------
# * Display Miss
#--------------------------------------------------------------------------
def display_miss(target, item)
if !item || item.physical?
fmt = target.actor? ? Vocab::ActorNoHit : Vocab::EnemyNoHit
Sound.play_miss
else
fmt = Vocab::ActionFailure
end
add_text(sprintf(fmt, target.name)) #Line 311
wait
end
Vocab: ActionFailure = "There was no effect on %s!"
Target Name = "Cocoa" # Don't care, it's just an example
Message = "There was no effect on Cocoa!"
That is what happens when the machine separates the special formatting characters...
Turning japanese? to False will force the game to use English Naming Table in Script Game_System
In the "▼ Materials" section (I hate that Translator++ strips the organization segments because they are intentionally left blank...) I seen a few instances where ".note.scan" contents got translated. That will cause things to malfunction but I don't have the original to check what it actually should be. Use something like winmerge.org and RPG Maker VX Ace Editor to compare the Japanese versions of those lines to the Translated Ones (Most of them will probably need Un-Translated)
So is this girl a Knight or a Night? Check Classes Database
For States I'm pretty sure "Estrus" should have been translated as "Aroused". It's a fancy way of saying "In Heat".
Why in System Terms does "Key Items" usually get botched to "Important thing". The translation is right in the RPG Maker VX Ace Editor Menu
Code:
#==============================================================================
# ■ Vocab
#------------------------------------------------------------------------------
# This module defines terms and messages. It defines some data as constant
# variables. Terms in the database are obtained from $data_system.
#==============================================================================
module Vocab
# Shop Screen
ShopBuy = "Buy"
ShopSell = "Sell"
ShopCancel = "Cancel"
Possession = "Possession"
# Status Screen
ExpTotal = "Current Exp"
ExpNext = "To Next %s"
# Save/Load Screen
SaveMessage = "Save to which file?"
LoadMessage = "Load which file?"
File = "File"
# Display when there are multiple members
PartyName = "%s's Party"
# Basic Battle Messages
Emerge = "%s emerged!"
Preemptive = "%s got the upper hand!"
Surprise = "%s was surprised!"
EscapeStart = "%s has started to escape!"
EscapeFailure = "However, it was unable to escape!"
# Battle Ending Messages
Victory = "%s was victorious!"
Defeat = "%s was defeated."
ObtainExp = "%s EXP received!"
ObtainGold = "%s\\G found!"
ObtainItem = "%s found!"
LevelUp = "%s is now %s %s!"
ObtainSkill = "%s learned!"
# Use Item
UseItem = "%s uses %s!"
# Critical Hit
CriticalToEnemy = "An excellent hit!!"
CriticalToActor = "A painful blow!!"
# Results for Actions on Actors
ActorDamage = "%s took %s damage!"
ActorRecovery = "%s recovered %s %s!"
ActorGain = "%s gained %s %s!"
ActorLoss = "%s lost %s %s!"
ActorDrain = "%s was drained of %s %s!"
ActorNoDamage = "%s took no damage!"
ActorNoHit = "Miss! %s took no damage!"
# Results for Actions on Enemies
EnemyDamage = "%s took %s damage!"
EnemyRecovery = "%s recovered %s %s!"
EnemyGain = "%s gained %s %s!"
EnemyLoss = "%s lost %s %s!"
EnemyDrain = "Drained %s %s from %s!"
EnemyNoDamage = "%s took no damage!"
EnemyNoHit = "Missed! %s took no damage!"
# Evasion/Reflection
Evasion = "%s evaded the attack!"
MagicEvasion = "%s nullified the magic!"
MagicReflection = "%s reflected the magic!"
CounterAttack = "%s counterattacked!"
Substitute = "%s protected %s!"
# Buff/Debuff
BuffAdd = "%s's %s went up!"
DebuffAdd = "%s's %s went down!"
BuffRemove = "%s's %s returned to normal."
# Skill or Item Had No Effect
ActionFailure = "There was no effect on %s!"
# Error Message
PlayerPosError = "Player's starting position is not set."
EventOverflow = "Common event calls exceeded the limit."
# Basic Status
def self.basic(basic_id)
$data_system.terms.basic[basic_id]
end
# Parameters
def self.param(param_id)
$data_system.terms.params[param_id]
end
# Equip Type
def self.etype(etype_id)
$data_system.terms.etypes[etype_id]
end
# Commands
def self.command(command_id)
$data_system.terms.commands[command_id]
end
# Currency Unit
def self.currency_unit
$data_system.currency_unit
end
#--------------------------------------------------------------------------
def self.level; basic(0); end # Level
def self.level_a; basic(1); end # Level (short)
def self.hp; basic(2); end # HP
def self.hp_a; basic(3); end # HP (short)
def self.mp; basic(4); end # MP
def self.mp_a; basic(5); end # MP (short)
def self.tp; basic(6); end # TP
def self.tp_a; basic(7); end # TP (short)
def self.fight; command(0); end # Fight
def self.escape; command(1); end # Escape
def self.attack; command(2); end # Attack
def self.guard; command(3); end # Guard
def self.item; command(4); end # Items
def self.skill; command(5); end # Skills
def self.equip; command(6); end # Equip
def self.status; command(7); end # Status
def self.formation; command(8); end # Change Formation
def self.save; command(9); end # Save
def self.game_end; command(10); end # Exit Game
def self.weapon; command(12); end # Weapons
def self.armor; command(13); end # Armor
def self.key_item; command(14); end # Key Items
def self.equip2; command(15); end # Change Equipment
def self.optimize; command(16); end # Ultimate Equipment
def self.clear; command(17); end # Remove All
def self.new_game; command(18); end # New Game
def self.continue; command(19); end # Continue
def self.shutdown; command(20); end # Shut Down
def self.to_title; command(21); end # Go to Title
def self.cancel; command(22); end # Cancel
#--------------------------------------------------------------------------
end
Let's see...
From the start "%s" got separated to "% s" in Script Vocab.
Code:
#--------------------------------------------------------------------------
# * Display Miss
#--------------------------------------------------------------------------
def display_miss(target, item)
if !item || item.physical?
fmt = target.actor? ? Vocab::ActorNoHit : Vocab::EnemyNoHit
Sound.play_miss
else
fmt = Vocab::ActionFailure
end
add_text(sprintf(fmt, target.name)) #Line 311
wait
end
Vocab: ActionFailure = "There was no effect on %s!"
Target Name = "Cocoa" # Don't care, it's just an example
Message = "There was no effect on Cocoa!"
That is what happens when the machine separates the special formatting characters...
Turning japanese? to False will force the game to use English Naming Table in Script Game_System
In the "▼ Materials" section (I hate that Translator++ strips the organization segments because they are intentionally left blank...) I seen a few instances where ".note.scan" contents got translated. That will cause things to malfunction but I don't have the original to check what it actually should be. Use something like winmerge.org and RPG Maker VX Ace Editor to compare the Japanese versions of those lines to the Translated Ones (Most of them will probably need Un-Translated)
So is this girl a Knight or a Night? Check Classes Database
For States I'm pretty sure "Estrus" should have been translated as "Aroused". It's a fancy way of saying "In Heat".
Why in System Terms does "Key Items" usually get botched to "Important thing". The translation is right in the RPG Maker VX Ace Editor Menu
#==============================================================================
# ■ Vocab
#------------------------------------------------------------------------------
# This module defines terms and messages. It defines some data as constant
# variables. Terms in the database are obtained from $data_system.
#==============================================================================
module Vocab
# Shop Screen
ShopBuy = "Buy"
ShopSell = "Sell"
ShopCancel = "Cancel"
Possession = "Possession"
# Status Screen
ExpTotal = "Current Exp"
ExpNext = "To Next %s"
# Save/Load Screen
SaveMessage = "Save to which file?"
LoadMessage = "Load which file?"
File = "File"
# Display when there are multiple members
PartyName = "%s's Party"
# Basic Battle Messages
Emerge = "%s emerged!"
Preemptive = "%s got the upper hand!"
Surprise = "%s was surprised!"
EscapeStart = "%s has started to escape!"
EscapeFailure = "However, it was unable to escape!"
# Battle Ending Messages
Victory = "%s was victorious!"
Defeat = "%s was defeated."
ObtainExp = "%s EXP received!"
ObtainGold = "%s\\G found!"
ObtainItem = "%s found!"
LevelUp = "%s is now %s %s!"
ObtainSkill = "%s learned!"
# Use Item
UseItem = "%s uses %s!"
# Critical Hit
CriticalToEnemy = "An excellent hit!!"
CriticalToActor = "A painful blow!!"
# Results for Actions on Actors
ActorDamage = "%s took %s damage!"
ActorRecovery = "%s recovered %s %s!"
ActorGain = "%s gained %s %s!"
ActorLoss = "%s lost %s %s!"
ActorDrain = "%s was drained of %s %s!"
ActorNoDamage = "%s took no damage!"
ActorNoHit = "Miss! %s took no damage!"
# Results for Actions on Enemies
EnemyDamage = "%s took %s damage!"
EnemyRecovery = "%s recovered %s %s!"
EnemyGain = "%s gained %s %s!"
EnemyLoss = "%s lost %s %s!"
EnemyDrain = "Drained %s %s from %s!"
EnemyNoDamage = "%s took no damage!"
EnemyNoHit = "Missed! %s took no damage!"
# Evasion/Reflection
Evasion = "%s evaded the attack!"
MagicEvasion = "%s nullified the magic!"
MagicReflection = "%s reflected the magic!"
CounterAttack = "%s counterattacked!"
Substitute = "%s protected %s!"
# Buff/Debuff
BuffAdd = "%s's %s went up!"
DebuffAdd = "%s's %s went down!"
BuffRemove = "%s's %s returned to normal."
# Skill or Item Had No Effect
ActionFailure = "There was no effect on %s!"
# Error Message
PlayerPosError = "Player's starting position is not set."
EventOverflow = "Common event calls exceeded the limit."
# Basic Status
def self.basic(basic_id)
$data_system.terms.basic[basic_id]
end
# Parameters
def self.param(param_id)
$data_system.terms.params[param_id]
end
# Equip Type
def self.etype(etype_id)
$data_system.terms.etypes[etype_id]
end
# Commands
def self.command(command_id)
$data_system.terms.commands[command_id]
end
# Currency Unit
def self.currency_unit
$data_system.currency_unit
end
#--------------------------------------------------------------------------
def self.level; basic(0); end # Level
def self.level_a; basic(1); end # Level (short)
def self.hp; basic(2); end # HP
def self.hp_a; basic(3); end # HP (short)
def self.mp; basic(4); end # MP
def self.mp_a; basic(5); end # MP (short)
def self.tp; basic(6); end # TP
def self.tp_a; basic(7); end # TP (short)
def self.fight; command(0); end # Fight
def self.escape; command(1); end # Escape
def self.attack; command(2); end # Attack
def self.guard; command(3); end # Guard
def self.item; command(4); end # Items
def self.skill; command(5); end # Skills
def self.equip; command(6); end # Equip
def self.status; command(7); end # Status
def self.formation; command(8); end # Change Formation
def self.save; command(9); end # Save
def self.game_end; command(10); end # Exit Game
def self.weapon; command(12); end # Weapons
def self.armor; command(13); end # Armor
def self.key_item; command(14); end # Key Items
def self.equip2; command(15); end # Change Equipment
def self.optimize; command(16); end # Ultimate Equipment
def self.clear; command(17); end # Remove All
def self.new_game; command(18); end # New Game
def self.continue; command(19); end # Continue
def self.shutdown; command(20); end # Shut Down
def self.to_title; command(21); end # Go to Title
def self.cancel; command(22); end # Cancel
#--------------------------------------------------------------------------
end
Some tips for using translator++ without too many errors from the beginning of translation:
1. As soon as the files load into translator++ go to the Scripts file and delete it from the translation, you don't wanna translate it with the machine, it'll cause a whole bunch of issues.
2. Go into the Context Menu and for RPG VX Ace games remove all instances of inlinescript, these are script calls and you usually don't wanna translate those, for MV games you remove notes and sometimes message as these contain scriptcalls for MV games.
3. Make sure after the translation finishes you do Ctrl + F and search for "\ " (theres a space after the \) then replace with "\" (remove the Quotation marks) if theres a space after \ then it'll cause issues for ruby code. Also search for "\\" and replace with "\" (without quotations) as having multiple \ also causes issues, do this one a couple times. Sometimes "if" and "en" statements will also bug out, you search for them like this "if (" or "en (" (again no quotations) they should look like this "if(" or "en(", then check if they use "v [" or "s [" variables and they should look like this "v[" or "s[". One last thing that can also cause issues is this " > =" it should look like this ">=", no space before the arrow and no space between arrow and equals. You should be able to just copy and past everything within the quotations and search it like that.
I've found after doing this for all translations its easier to make simple machine translations with most things translated and very few errors if any at all. Sometimes inlinescripts contain names of characters or mobs, like in Knights of Messiah by Doujin Gyu, so those will be untranslated but the game wont break.
Hope this helps and good luck with all your translations.