Et, qu'est-ce qui cloche dans ce script ?
Car ça ne semble pas particulièrement difficile à réaliser...
De plus, on peut réutiliser le script qui fait apparaitre Lucien Lachance pour faire apparaitre l'assassin.
Genre, ceci par exemple:
Code : Tout sélectionner
scn NomDuScript
Short State
Begin MenuMode
if GetStageDone Dark01Knife 115 && State == 0 ;Dark01Knife à 115 signifie que Lucien a été tué par le joueur
if IsPCSleeping == 1
if GetPlayerInSEWorld == 0 ;pas d'assassin en SI
if player.GetInCell ICWaterfrontTheBloatedFloat == 0 && player.GetInCell ParadiseGrotto02 == 0 && player.GetInCell LakeArriusShrineDagon == 0 && player.GetInCell CloudRulerTemple == 0 && player.GetInCell BravilHenantiersHouse == 0 && player.GetInCell DreamHub == 0 ;histoire d'éviter de retrouver l'assassin dans un endroit incongru
WakeUpPC 1
Message "L'air refroidit et une ombre approche..."
AssassinRef.MoveTo player ;ceci présuppose que AssassinRef soit déjà placé en jeu
RecruteurRef.MoveTo player ;idem
Set State to 1
endif
endif
endif
endif
End
Pour un script de quête.
Après, le Recruteur peut avoir ce script
Code : Tout sélectionner
scn RecruteurScript
Short State
Begin GameMode
If State == 0
AddSpell CapacitéDInvisibilité ;sort à créer soit-même histoire qu'il soit invisible initiallement
Set State to 1
Elseif State == 1
If AssassinRef.GetInCombat ; On détecte si l'assassin s'en prend au PJ, en ce cas on enlève l'invisibilité et il attaque l'assassin
RemoveSpell CapacitéDInvisibilité
StartCombat AssassinRef
Set State to 2
EndIf
Elseif State == 2
If AssassinRef.GetDead ;On détecte la mort de l'assassin, pour qu'il puisse parler au PJ une fois l'autre mort
StartConversation Player Greeting
Set State to 3
EndIf
EndIf
End
Après, pour le script de l'assassin, ça dépend de ce que tu veux faire avec lui, si il attaque directement le PJ, ou si il lui parle tout d'abord. Par exemple:
Code : Tout sélectionner
scn AssassinScript
Short DoOnce
Begin GameMode
if DoOnce == 0
if GetDistance Player < 500
StartConversation Player Greeting ;ligne à conserver pour qu'il parle au PJ
StartCombat Player ;ligne à conserver pour qu'il attaque le PJ
Set DoOnce to 1 ; comme cela, il ne fait l'action qu'une unique fois...
endif
endif
End
Si il lui parle, il suffit de faire, sur la dernière réplique, un bon "StartCombat Player" dans le Script Result.
J'ai fait tout ça de tête rapidement, mais ça devrait être un truc dans le genre...
Bref là:
Lucien est mort.
On attend que le PJ dorme dans un endroit correct.
Si le PJ dors, on le réveille, l'assassin et le recruteur (qui est invisible) sont déplacés au niveau du PJ.
Là, l'assassin, au choix, parle au PJ avant de l'attaquer, ou l'attaque directement.
Lorsque l'assassin attaque le PJ, le recruteur attaque l'assassin.
Une fois l'assassin mort, le recruteur parle au PJ.
Fin de l'histoire.