Hors-sujet
Déménagement vers le sous-forum scripts...
Tant qu'à passer, une petite explication sur le soucis de compilation décrit plus haut :
il faut toujours se demander à quel objet s'applique l'instruction. Le seul cas où un objet n'est pas cité avant l'instruction est celui où le script est placé sur l'objet en question.
Ainsi, par exemple, dans un script de type "extends quest" placé sur une quête, le fait de taper stop() sans préciser d'objet stoppera la quête. Si tu places stop() dans un script placé sur un container, papyrus dira que la fonction n'existe pas. Ce qui est vrai car elle n'existe pas pour un container mais uniquemet pour une quête.
Dans ton cas, le startcombat() n'existe que pour un actor donc dans un script de type "extends actor", un type "extends objectreference" sur un actor ou si un objet de type actor est précisé avant, akspeaker dans ton cas.
Si tu places un startcombat() sur autre chose qu'un actor, Papyrus te dira logiquement que l'instruction n'existe pas.
C'est pour cela que sur le site du CK, il est précisé pour chque instruction le type d'objet auquel elle se rapporte et donc pour lequel elle existe.
Syntaxe :
[Objet ou script contenant la fonction].[fonction correspondant au type d'objet](Paramètres)
akspeaker.startcombat(playerref)
ou
scriptname myscript extends [Type d'objet]
[Fonction correspondant au type après extends ou à l'objet sur lequel le script est placé](paramètres)
Scriptname startquest extends quest
event oninit()
debug.notification("ma quête se lance et se stoppe")
stop()
endevent
ou
import [nom du script contenant la fonction]
[Fonction](paramètre)
import debug
notification("Bonjour")
Il est également possible d'utiliser la variable "self" pour se référer à l'objet sur lequel le script est attaché.