[SCRIPT] Comment coder l'arrrivée de renforts pendant un combat ?
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
[SCRIPT] Comment coder l'arrrivée de renforts pendant un combat ?
.
Charname va avoir un combat difficile. Si il n'a pas fuit la scène de combat, des renforts arriveront au bout d'un moment.
Comment gérer la notion de temps ?
Comment savoir qu'il n'a pas fuit le combat ?
À l'arrivée, des renforts est-il possible de déclencher un dialogue alors qu'il y a un combat ?
Cocrane
Comment gérer la notion de temps ?
Comment savoir qu'il n'a pas fuit le combat ?
À l'arrivée, des renforts est-il possible de déclencher un dialogue alors qu'il y a un combat ?
Cocrane
.
Pour ce qui est du temps, ça dépend de toi, si tu veux par exemple que les renforts débarquent 5 tours après le début du combat, tu écris dans ton/tes scripts de personnages lié au début du combat :
Ou tu peux compter en secondes, genre 3 minutes après le début du combat.
Pour ce qui est de la fuite, tu peux ajouter une condition de distance de détection dans un autre script lié à l'expiration du timer et au spawn des renforts :
Pour le dialogue pendant le combat, il te suffit d'écrire un script pour le personnage que tu veux faire parler sans aucune conditions qui pourraient empêcher le dialogue :
Donc sans aucune condition du style :
J'espère avoir été clair, vu que j'ai pas d'exemple précis de ce que tu veux faire sous la main, j'ai un peu improvisé.
Code : Tout sélectionner
IF
!GlobalTimerNotExpired("NomVariable","GLOBAL")
THEN
RESPONSE #100
SetGlobalTimer("NomVariable","GLOBAL",FIVE_TURNS)
END
Code : Tout sélectionner
SetGlobalTimer("NomVariable","GLOBAL",180)
Code : Tout sélectionner
IF
Global("RenfortArriver","GLOBAL",0)
Detect([PC])
Range(LastSeenBy(Myself),10)
GlobalTimerExpired("NomVariable","GLOBAL")
THEN
RESPONSE #100
SetGlobal("RenfortArriver","GLOBAL",1)
CreateCreature("NomCreature",[1760.991],6)
// ect...
END
Code : Tout sélectionner
IF
Detect([PC])
Range(LastSeenBy(Myself),10)
Global("RenfortArriver","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("RenfortArriver","GLOBAL",2)
StartDialogueNoSet(LastSeenBy(Myself))
END
Code : Tout sélectionner
!StateCheck(Player1,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
- Haplo74
- Minotaure
- Messages : 1737
- Enregistré le : dim. 08 avr. 2012, 20:20
- Localisation : Paris
- Statut : Hors ligne
.
Arf ! J'ai déjà eu ce genre de discussion avec Freddy_Gwendo.Cocrane a écrit :Merci Kev pour ce retour détaillé qui va m'aider à réaliser ce script.
Une question de débutant.
Je vois souvant des "REPONSE #100".
La valeur du # est importante?
Dans ce sujet de DrAzTiK: http://www.baldursgateworld.fr/lacouron ... ature.html
Et plus précisément à partir de ce [POST=330982]message[/POST].
Haplo74
Modérateur des sections "le bazar de l'aventurier", "la taverne de Château-Suif", "la taverne d'Amkethran" et "le comptoir d'Amn".
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité