Up, toujours besoin d'un relecteur.
Anglais :
@28 = ~There are not enough free spell state or secondary type slots available to install this component.~
@125100 = ~Move NPCs to Convenient Locations: Move Alora to Gullykin~
@125200 = ~Move NPCs to Convenient Locations: Move Eldoth to the Coast Way~
@125300 = ~Move NPCs to Convenient Locations: Move Quayle to the Nashkel Carnival~
@125400 = ~Move NPCs to Convenient Locations: Move Shar-Teel to North Nashkel Road~
@125500 = ~Move NPCs to Convenient Locations: Move Tiax to Beregost~
@125600 = ~Move NPCs to Convenient Locations: Move Viconia to South Beregost Road~
@134000 = ~Make the Planar Sphere Stronghold Available to All Classes~
@134100 = ~Make the de'Arnise Keep Stronghold Available to All Classes~
@134200 = ~Make the Temple Strongholds Available to All Classes~
@134300 = ~Make the Thieves Guild Stronghold Available to All Classes~
@134400 = ~Make the Playhouse Stronghold Available to All Classes~
@134500 = ~Make the Noble Order of the Radiant Heart Stronghold Available to All Classes~
@134600 = ~Make the Druid Grove Stronghold Available to All Classes~
@134700 = ~Make the Imnesvale Cabin Stronghold Available to All Classes~
@333000 = ~Increase party movement speed outside combat~
@333001 = ~By 50 percent~
@333002 = ~By 100 percent~
@333003 = ~By 150 percent~
@333010 = ~Disable Auto-haste~
@333011 = ~Disable Auto-haste
This ability controls whether party members can move at increased speed outside of combat. Click on the ability to turn it OFF.~
@333012 = ~Enable Auto-haste~
@333013 = ~Enable Auto-haste
This ability controls whether party members can move at increased speed outside of combat. Click on the ability to turn it ON.~
@333020 = ~Movement speed bonus removed~
//////////////////////////////////// VOICI LE NOUVEAU COMPOSANT /////////////////////////////////////////////////////
@335000 = ~Create interval saves~
@335001 = ~Every 15 minutes (one save only)~
@335002 = ~Every 30 minutes (one save only)~
@335003 = ~Every 60 minutes (one save only)~
@335004 = ~Every 120 minutes (one save only)~
@335005 = ~Every 15 minutes (cycle through four saves)~
@335006 = ~Every 30 minutes (cycle through four saves)~
@335007 = ~Every 60 minutes (cycle through four saves)~
@335008 = ~Every 120 minutes (cycle through four saves)~
@335009 = ~Customize (via cdtweaks.txt)~
@335100 = ~Interval-Save~
@335101 = ~Interval save created~
@335102 = ~Interval save (slot %slot_index%) created~
@335103 = ~Interval save options:
Enable interval save: a7_interval_enable
Interval between saves: a7_interval_delay seconds
Save during combat: a7_interval_combat
Number of save slots: a7_interval_slots
Use custom save name: a7_interval_custom
Show feedback message: a7_interval_feedback
Use Baldur.lua options: a7_interval_ini
~
Français :
@28 = ~Nombre d'emplacements disponibles de "spellstates" ou d'ecoles de magie secondaire insuffisant pour installer ce composant.~ // " en plus
@125100 = ~Deplacer les personnages non-joueurs a des endroits plus accessibles : Deplacer Alora a Gullykin~
@125200 = ~Deplacer les personnages non-joueurs a des endroits plus accessibles : Deplacer Eldoth sur la Voie cotiere~ // Cotiere -> cotiere
@125300 = ~Deplacer les personnages non-joueurs a des endroits plus accessibles : Deplacer Quayle au carnaval de Nashkel~ // Carnaval -> carnaval
@125400 = ~Deplacer les personnages non-joueurs a des endroits plus accessibles : Deplacer Shar-Teel sur la route au Nord de Nashkel~
@125500 = ~Deplacer les personnages non-joueurs a des endroits plus accessibles : Deplacer Tiax a Beregost~
@125600 = ~Deplacer les personnages non-joueurs a des endroits plus accessibles : Deplacer Viconia sur la route au Sud de Beregost~
@134000 = ~Rendre la forteresse du mage et du sorcier (Sphere planaire) accessible a toutes les classes~ // Ajout des classes
@134100 = ~Rendre la forteresse du guerrier, du barbare, du moine et du chevalier noir (Chateau de'Arnise) accessible a toutes les classes~ // Ajout des classes
@134200 = ~Rendre la forteresse du clerc (Temple) accessible a toutes les classes~ // Ajout des classes
@134300 = ~Rendre la forteresse du voleur (Guilde des voleurs de l'ombre) accessible a toutes les classes~ // Ajout des classes
@134400 = ~Rendre la forteresse du barde (Theatre des 5 chopes) accessible a toutes les classes~ // Ajout des classes
@134500 = ~Rendre la forteresse du paladin (Tres noble ordre du coeur radieux) accessible a toutes les classes~ // Ajout des classes
@134600 = ~Rendre la forteresse du druide (Bosquet des druides) accessible a toutes les classes~ // Ajout des classes
@134700 = ~Rendre la forteresse du rodeur (Cabane des collines d'Umar) accessible a toutes les classes~ // Ajout des classes
@333000 = ~Augmenter la vitesse de deplacement du groupe en dehors des combats~
@333001 = ~De 50 pourcent~
@333002 = ~De 100 pourcent~
@333003 = ~De 150 pourcent~
@333010 = ~Désactiver la Hâte automatique~
@333011 = ~Désactiver la Hâte automatique
Cette compétence permet aux membres du groupe de se déplacer plus rapidement en dehors des combats. Cliquez sur la compétence pour la désactiver.~
@333012 = ~Activer la Hâte automatique~
@333013 = ~Activer la Hâte automatique
Cette compétence permet aux membres du groupe de se déplacer plus rapidement en dehors des combats. Cliquez sur la compétence pour l'activer.~
@333020 = ~Bonus de vitesse de déplacement désactivé~
//////////////////////////////////// VOICI LE NOUVEAU COMPOSANT /////////////////////////////////////////////////////
@335000 = ~Creer des sauvegardes par intervalles~
@335001 = ~Toutes les 15 minutes (un emplacement de sauvegarde seulement)~
@335002 = ~Toutes les 30 minutes (un emplacement de sauvegarde seulement)~
@335003 = ~Toutes les 60 minutes (un emplacement de sauvegarde seulement)~
@335004 = ~Toutes les 120 minutes (un emplacement de sauvegarde seulement)~
@335005 = ~Toutes les 15 minutes (cycle de quatre emplacements de sauvegarde)~
@335006 = ~Toutes les 30 minutes (cycle de quatre emplacements de sauvegarde)~
@335007 = ~Toutes les 60 minutes (cycle de quatre emplacements de sauvegarde)~
@335008 = ~Toutes les 120 minutes (cycle de quatre emplacements de sauvegarde)~
@335009 = ~Personnaliser (via cdtweaks.txt)~
@335100 = ~Intervalle de sauvegarde~
@335101 = ~Intervalle de sauvegarde cree~
@335102 = ~Intervalle de sauvegarde (emplacement %slot_index%) cree~
@335103 = ~Parametre des intervalles de sauvegarde :
Activer les intervalles de sauvegarde : a7_interval_enable
Intervalle entre les sauvegardes : a7_interval_delay seconds
Sauvegarde pendant le combat : a7_interval_combat
Nombre d'emplacements de sauvegarde : a7_interval_slots
Utiliser un nom de sauvegarde personnalise : a7_interval_custom
Afficher le message de retour d'information : a7_interval_feedback
Utiliser les parametres de Baldur.lua : a7_interval_ini
~
J'ai un gros doute sur "Show feedback message" -> "Afficher le message de retour d'information/reception/confirmation" ?
J'ai également des doutes de @335100 à @335103, ces stringrefs apparaissent-ils en jeu (Et donc devraient recevoir des caractères spéciaux) ?
Code : Tout sélectionner
// Create savegame entries
DEFINE_ACTION_FUNCTION a7_append_savename
INT_VAR
custom_slot = 0 // whether to use a custom save name (1) or re-use autosave (0)
count = 1 // number of subsaves to cycle through
RET
slot // initial save slot index
BEGIN
OUTER_SET slot = 0
ACTION_IF (custom_slot || count > 1) BEGIN
COPY_EXISTING ~savename.2da~ ~override~
COUNT_2DA_COLS num_cols
PATCH_IF (num_cols >= 4) BEGIN
READ_2DA_ENTRIES_NOW table 1
// determine initial slot index
PATCH_IF (custom_slot || count > 1) BEGIN
SET slot = table - 3
END
// getting base savename
PATCH_IF (custom_slot) BEGIN
INNER_PATCH_SAVE prefix ~000000000~ BEGIN
WRITE_ASCIIE (BUFFER_LENGTH - STRING_LENGTH ~%slot%~) ~%slot%~
END
SPRINT base_name @335100 // Interval-Save
TEXT_SPRINT base_name ~%prefix%-%base_name%~
END ELSE BEGIN
// getting name of auto-save
READ_2DA_ENTRY_FORMER table 3 1 strref
GET_STRREF strref base_name
END
END
BUT_ONLY IF_EXISTS
// adding new save entries
ACTION_IF (slot > 0) BEGIN
OUTER_FOR (i = 1; i <= count; ++i) BEGIN
OUTER_SET idx = slot + i - 1
ACTION_IF (i > 1) BEGIN
OUTER_TEXT_SPRINT savename ~%base_name%-%i%~
END ELSE BEGIN
OUTER_TEXT_SPRINT savename ~%base_name%~
END
OUTER_SET strref = RESOLVE_STR_REF(~%savename%~)
OUTER_TEXT_SPRINT line ~%idx% %strref% %idx% 1~
APPEND ~savename.2da~ ~%line%~ IF_EXISTS
END
COPY_EXISTING ~savename.2da~ ~override~
PRETTY_PRINT_2DA
BUT_ONLY IF_EXISTS
END
END
END
// Expand global game scripts to save game in fixed intervals
DEFINE_ACTION_FUNCTION a7_append_script
INT_VAR
enabled = 1 // whether interval save creation is enabled
combat = 0 // whether interval saves can be created during combat
interval = 1800 // interval in seconds
slot = 0 // initial save slot to use
count = 1 // number of save slots to cycle through
feedback = 1 // whether to display a feedback message in the combat log
use_ini = 1
BEGIN
OUTER_SET IS_EE20 = (VALID_SCRIPT_TRIGGERS ~INI("IntervalSaveEnabled",0)~ && FILE_EXISTS_IN_GAME ~savename.2da~) ? 1 : 0
// getting list of world scripts
ACTION_FOR_EACH resref IN ~BALDUR~ ~BALDUR25~ ~BDBALDUR~ BEGIN
ACTION_IF (FILE_EXISTS_IN_GAME ~%resref%.BCS~) BEGIN
OUTER_SET $scripts(~%resref%~) = 1
END
END
COPY_EXISTING ~campaign.2da~ ~override~
READ_2DA_ENTRIES_NOW table 1
FOR (row = 3; row < table; ++row) BEGIN
READ_2DA_ENTRY_FORMER table row 1 resref
PATCH_IF (FILE_EXISTS_IN_GAME ~%resref%.BCS~) BEGIN
TO_UPPER ~resref~
SET $scripts(~%resref%~) = 1
END
END
BUT_ONLY IF_EXISTS
OUTER_TEXT_SPRINT baf ~~
ACTION_IF (IS_EE20 && use_ini) BEGIN
OUTER_TEXT_SPRINT IsIntervalSaveEnabled ~!INI("IntervalSaveEnabled",0)~
OUTER_TEXT_SPRINT IsIntervalSaveCombat ~!INI("IntervalSaveCombat",0)~
ACTION_IF (FILE_EXISTS ~%USER_DIRECTORY%/Baldur.lua~) BEGIN
APPEND_OUTER + ~%USER_DIRECTORY%/Baldur.lua~ ~SetPrivateProfileString('Script','IntervalSaveEnabled','%enabled%')~ UNLESS ~IntervalSaveEnabled~
APPEND_OUTER + ~%USER_DIRECTORY%/Baldur.lua~ ~SetPrivateProfileString('Script','IntervalSaveCombat','%combat%')~ UNLESS ~IntervalSaveCombat~
END ELSE BEGIN
<<<<<<<< .../inlined/a7-intervalsave-baldur.lua
SetPrivateProfileString('Script','IntervalSaveEnabled','1')
SetPrivateProfileString('Script','IntervalSaveCombat','0')
> >> >> >> >
COPY + ~.../inlined/a7-intervalsave-baldur.lua~ ~%USER_DIRECTORY%/Baldur.lua~
END
END ELSE BEGIN
OUTER_TEXT_SPRINT IsIntervalSaveEnabled ~!Global("A7-IntervalSaveEnabled","GLOBAL",0)~
OUTER_TEXT_SPRINT IsIntervalSaveCombat ~!Global("A7-IntervalSaveCombat","GLOBAL",0)~
OUTER_TEXT_SPRINT baf ~
IF
Global("A7-IntervalSaveInit","GLOBAL",0)
THEN
RESPONSE #100
SetGlobal("A7-IntervalSaveInit","GLOBAL",1)
SetGlobal("A7-IntervalSaveEnabled","GLOBAL",%enabled%)
SetGlobal("A7-IntervalSaveCombat","GLOBAL",%combat%)
Continue()
END
~
END
// generating script
OUTER_TEXT_SPRINT baf ~%baf%
IF
%IsIntervalSaveEnabled%
Global("A7-IntervalSave","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("A7-IntervalSave","GLOBAL",0)
RealSetGlobalTimer("A7-IntervalSaveTimer","GLOBAL",%interval%)
Continue()
END
~
OUTER_FOR (i = 0; i < count; ++i) BEGIN
// Save slot handling
OUTER_SET slot_number = IS_EE20 ? slot + i : 0
ACTION_IF (count = 1) BEGIN
OUTER_TEXT_SPRINT checkslot ~~
END ELSE ACTION_IF (i = 0) BEGIN
OUTER_TEXT_SPRINT checkslot ~GlobalLT("A7-IntervalSaveSlot","GLOBAL",1)~
END ELSE ACTION_IF (i = count - 1) BEGIN
OUTER_SET i_prev = i - 1
OUTER_TEXT_SPRINT checkslot ~GlobalGT("A7-IntervalSaveSlot","GLOBAL",%i_prev%)~
END ELSE BEGIN
OUTER_TEXT_SPRINT checkslot ~Global("A7-IntervalSaveSlot","GLOBAL",%i%)~
END
ACTION_IF (count = 1) BEGIN
OUTER_TEXT_SPRINT setslot ~~
END ELSE ACTION_IF (i < count - 1) BEGIN
OUTER_SET i_next = i + 1
OUTER_TEXT_SPRINT setslot ~SetGlobal("A7-IntervalSaveSlot","GLOBAL",%i_next%)~
END ELSE BEGIN
OUTER_TEXT_SPRINT setslot ~SetGlobal("A7-IntervalSaveSlot","GLOBAL",0)~
END
// Feedback message
ACTION_IF (feedback) BEGIN
ACTION_IF (NOT GAME_IS ~pstee~ &&
FILE_EXISTS_IN_GAME ~util.lua~ &&
FILE_CONTAINS_EVALUATED(~util.lua~ ~function[ %TAB%]+highlightString~)) BEGIN
OUTER_TEXT_SPRINT colorBegin ~^0xFF007F00~ // dark green
OUTER_TEXT_SPRINT colorEnd ~^-~
END ELSE BEGIN
OUTER_TEXT_SPRINT colorBegin ~~
OUTER_TEXT_SPRINT colorEnd ~~
END
ACTION_IF (count = 1) BEGIN
OUTER_SPRINT msg @335101 // Interval save created
OUTER_SET strref = RESOLVE_STR_REF(~%colorBegin%%msg%%colorEnd%~)
END ELSE BEGIN
OUTER_SET slot_index = i + 1
OUTER_SPRINT msg @335102 // Interval save (slot %slot_index%) created
OUTER_SET strref = RESOLVE_STR_REF(~%colorBegin%%msg%%colorEnd%~)
END
OUTER_TEXT_SPRINT feedback_msg ~DisplayStringNoName(Myself,%strref%)~
END ELSE BEGIN
OUTER_TEXT_SPRINT feedback_msg ~~
END
OUTER_TEXT_SPRINT baf ~%baf%
IF
%IsIntervalSaveEnabled%
Global("A7-IntervalSave","GLOBAL",0)
%checkslot%
!RealGlobalTimerNotExpired("A7-IntervalSaveTimer","GLOBAL")
OR(2)
%IsIntervalSaveCombat%
CombatCounter(0)
THEN
RESPONSE #100
SetGlobal("A7-IntervalSave","GLOBAL",1)
%setslot%
SaveGame(%slot_number%)
%feedback_msg%
Continue()
END
~
END
// appending scripts
ACTION_PHP_EACH scripts AS resref => _ BEGIN
ACTION_IF (NOT IS_EE20) BEGIN
// using hardcoded save slots for EE 1.x games
OUTER_SET slot_number = (~%resref%~ STR_EQ ~BALDUR25~) ? 3 : 0
OUTER_PATCH_SAVE baf ~%baf%~ BEGIN
REPLACE_TEXTUALLY ~SaveGame([0-9]+)~ ~SaveGame(%slot_number%)~
END
END
COPY_EXISTING ~%resref%.BCS~ ~override~
DECOMPILE_AND_PATCH BEGIN
SET len = STRING_LENGTH ~%baf%~
INSERT_BYTES 0 len
WRITE_ASCIIE 0 ~%baf%~ (len)
END
BUT_ONLY IF_EXISTS
END
END
// Install interval saves according to the given parameters
DEFINE_ACTION_FUNCTION a7_auto_save
INT_VAR
enabled = 1 // whether interval save creation is enabled
combat = 0 // whether interval saves can be created during combat
interval = 1800 // time between creating autosave (in seconds)
custom_slot = 1 // whether to use a custom save slot
count = 1 // number of saves to cycle through
feedback = 1 // whether to display a feedback message in the combat log
use_ini = 1 // whether to use Baldur.lua configuration options if available
BEGIN
// consistency checks
OUTER_SET enabled = enabled ? 1 : 0
OUTER_SET combat = combat ? 1 : 0
ACTION_IF (NOT FILE_EXISTS_IN_GAME ~savename.2da~) BEGIN
OUTER_SET custom_slot = 0
ACTION_IF (count > 1) BEGIN OUTER_SET count = 1 END
END
OUTER_SET count = count < 1 ? 1 : count
OUTER_SET count = count > 16 ? 16 : count
LAF a7_append_savename
INT_VAR custom_slot count
RET slot
END
LAF a7_append_script
INT_VAR enabled combat interval slot count feedback use_ini
END
END