Ah, les scripts... vaste part de l´editing. Je t´invite à consulter ces deux liens:
http://iexpbg.free.fr/scripts.htm
http://iexpbg.free.fr/scriptpar.htm¨Pour te donner une idée, un script, c´est par exmple lorsque tu commences BG2, tu as Irenicus qui te lances des sorts: ça c´est un script qui commande tout ça: il dit: si Irennicus est là, alors irenicus lance foudre sur Enfant de Bhaal, etc. En beacoup plus simplifié. C´est aussi l´I.A des monstres: par exmple l´A.I desdragons est commandée par des scripts. C´est aussi ce qui permet aux quêtes d´être accomplies. C´est aussi par exemple lorsque les mages cagoulés arrivent lorsque tu use de la magie d´Atkatla, c´est un script qui dit: si personnage use magie dans telle zone d´Atkatla, alorsfaire apparaitre mages cagoulés;-)
Exemple de script:
IF
Dead("Davaeorn")
Global("Chapter","GLOBAL",4)
THEN
RESPONSE #100
RevealAreaOnMap("AR0900")
IncrementChapter("Chptxt5")
AddJournalEntry(15839)
END
C´est dans BG1: Si Davaeorn meurt, nous en sommes au chapitre 4. Et bien à sa mort, nous passons au chapitre 5, le journal est mis a jour, et le pont est accessible(c´est la zone AR0900)
Autre exemple: le début du script A.I de Firkraag:
IF
See(NearestEnemyOf(Myself))
Global("RemoveMagic","LOCALS",0)
THEN
RESPONSE #100
ForceSpell(Myself,DRAGON_STONE_SKIN)
ForceSpell(LastSeenBy(Myself),WIZARD_DISPEL_MAGIC)
SetGlobal("StoneSkin","LOCALS",1)
SetGlobal("RemoveMagic","LOCALS",1)
END
Ce début de script veut dire:
Si je vois l´ennemi le plus proche, et que je n´ai aucune protection ( ce test est representé par le test à 0 sur la variable locale : Remove Magic) alors je me fais une petite contigence : Peu de pierre de dragon , Dissipation de magie sur le dernier ennemi que j´ai vu. Je prends en compte le fait que je suis en peau de pierre, et que une protection magique est activée.
Et voilà pourquoi il lance temps de sors si vite dès qu´il vous voit...
Par exemple, Sarevok n´a jamais tué Gorion, c´est le script qui fait tout le combat, en simulant les sorts, et... la mort de Gorion:
IF
True()
THEN
RESPONSE #100
CutSceneId(Player1)
Wait(7)
MoveToPoint([3089.1650])
Wait(17)
Kill("Gorion") [vzavez vu!!!!]
Wait(4)
JumpToPoint([3522.3712])
IncrementChapter("Chptxt1")
AddJournalEntry(16190)
DayNight(DAWN_END)
Weather(NOWEATHER)
MoveViewPoint([3522.3712],INSTANT)
ActionOverride("Sarevok",DestroySelf())
ActionOverride("Tamoko",DestroySelf())
Kill("Ogre")
Kill("Ogre02")
SmallWait(1)
EndCutSceneMode()
END
vous cueillez des paquerettes puis après 17 secondes, Gorion meurt. Et Vous voyez que les concepteurs sadique vous ont fait tuer votre père adoptif… Sarevok n´y est pour rien , cruelle désillusion… Ben oui ils auraient pu mettre un Die() sur Gorion et bien non il vous l´ont fait tuer… Et après vous voulez vous venger sur ce malheureux Sarevok ! honnêtement qui est le méchant dans l´histoire ?
Voilà, pour plus de précision consulte les liens que je t´ai donné.