Bonsoir,
J'aurais préféré qu'un modeur expérimenté passe, mais bon... Par curiosité, j'ai jeté un coup d'œil aux scripts de Croc du matin/Croc du soir et au tien... V'là ce que j'en pense, avis à prendre avec des pincettes très, très longues car je suis très ignorante en matière de TESCS) :
Dans le script de croc du soir, la variable équivalente de ton "SwordRongeVeinesKills" a été définie préalablement dans les variables globales (Gameplay, Globals) comme étant de type "short" et égale à 0. Raison pour laquelle (du moins, je le pense) ils n'ont pas été obligés de la définir en début de script. Ça pourrait expliquer ton message d'erreur.
Je n'ai pas franchement compris à quoi servait le "KillingBlow" dans ces scripts, ni comment étaient sensées fonctionner ces lignes :
► Afficher le texte
short ShouldEquip
if ( SwordRongeVeines0Equip == 1 )
Set ShouldEquip to 1
Set SwordRongeVeines0Equip to 0
elseif ( SwordRongeVeines1Equip < 1 )
Set SwordRongeVeines1Equip to 1
elseif ( SwordRongeVeines1Equip > 0 )
Set SwordRongeVeines1Equip to 0
elseif ( ShouldEquip == 1 )
Player.EquipItem SwordRongeVeines1
Set SwordRongeVeines1Equip to 1
Set ShouldEquip to 0
endif
elseif ( SwordRongeVeines0Kills >= 5 )
Mais j'ai bien l'impression que les variables "SwordRongeVeines1Equip" et "SwordRongeVeines0Equip" n'ont pas été définies (gros risques de messages d'erreur) ; et il semblerait que la transformation de l'épée soit irréversible (du moins si seul ce script gère sa métamorphose).
Pour un script basé sur Croc du matin/Croc du soir qui, au bout du quatrième mort, transformerait l'épée d'ID "SwordRongeVeine0" en "SwordRongeVeine1", et ce de manière irréversible, j'aurais plutôt écrit ça :
► Afficher le texte
scn RongeVeinesEnchScript
ref Target
ref self
short KillingBlow
begin ScriptEffectStart
set Killingblow to 0
set target to GetSelf
set self to GetSelf
end
begin ScriptEffectUpdate
if ( KillingBlow == 0 )
if ( Target.GetDead == 1 )
if ( SwordRongeVeinesKills < 1 )
Set SwordRongeVeinesKills to ( SwordRongeVeinesKills + 1 )
Message "Ronge-Veines s'est nourrie de %.0f vie.", SwordRongeVeinesKills
Set KillingBlow to 1
elseif ( SwordRongeVeinesKills >= 1 ) && ( SwordRongeVeinesKills < 4 )
Set SwordRongeVeinesKills to ( SwordRongeVeinesKills + 1 )
Message "Ronge-Veines s'est nourrie de %.0f vies.", SwordRongeVeinesKills
Set KillingBlow to 1
elseif ( SwordRongeVeinesKills == 4 )
Set SwordRongeVeinesKills to ( SwordRongeVeinesKills + 1 )
Message "Ronge-Veines se transforme..."
Player.Additem SwordRongeVeine1, 1
Player.Removeitem SwordRongeVeine0, 1
Player.Equipitem SwordRongeVeine1
Set KillingBlow to 1
elseif ( SwordRongeVeinesKills >= 5 )
Set KillingBlow to 1
endif
endif
endif
end
En déclarant, à la manière du script servant de modèle, une variable SwordRongeVeinesKills dans l'onglet "Globals", short et égale à 0.
Après, si quelqu'un de vraiment calé pouvait confirmer ou infirmer, ça serait gentil à lui... Merci d'avance !