Creation Invocation
#1
Posté 29 mai 2006 - 21:55
J'aimerais créer un sort d'invocation d'une créature perso. Comment cela est-il possible ? parce que dans la liste des créations de sorts toutes les invocations sont prédéfinies et qu'on ne peut pas faire "new" dans la liste Gameplay\Magic effects...
Merci d'avance pour vos réponses
#2
Posté 30 mai 2006 - 08:47
player.placeatme (numéro de référence ID)
Et ensuite tu crées ton sort pour appeler le script
Cela marche pour tout, c'est comme ça que je fait mon appel de porte d'Oblivion et mes invocations de créatures.
#3
Posté 30 mai 2006 - 12:44
#4
Posté 30 mai 2006 - 13:49
Bon, on peut se débrouiller en ajoutant un autre effet normal en plus de l'effet scripté.
En français, il n'y a jamais, jamais, JAMAIS, J-A-M-A-I-S, de cédille à un 'c' devant un 'e', un 'i' ou un 'y'. Jamais. Sans aucune exception. Pas la moindre. Zéro. Cédille devant e, i ou y = faute. Un point, c'est tout, c'est comme ça, ça a toujours été comme ça, et ça le sera toujours.
#5
Posté 31 mai 2006 - 17:01
Mais j'ai un autre problème avec cette méthode : que je coche ou non la case 'effect is hostile', la créature invoquée m'attaque. Est-ce qu'il faut mettre quelque chose en plus dans le script pour empêcher ça ?
#6
Posté 31 mai 2006 - 20:10
"Effect is hostile" sert juste à l'IA du jeu pour déterminer si le lancement du sort doit être considéré comme une aggression ou non.
Cette case n'est utile que pour les sorts que l'on lance sur des acteurs (PNJs ou créatures).
Dans ton cas, ce que tu dois faire est tout simplement modifier l'IA de la créature invoquée. C'est pour ça qu'il faut utiliser une créature unique, non utilisée ailleurs dans le jeu...
Tu lui donne la faction "Player" et ça devrait marcher, elle devrait être l'alliée du joueur et attaquer ses ennemis.
En français, il n'y a jamais, jamais, JAMAIS, J-A-M-A-I-S, de cédille à un 'c' devant un 'e', un 'i' ou un 'y'. Jamais. Sans aucune exception. Pas la moindre. Zéro. Cédille devant e, i ou y = faute. Un point, c'est tout, c'est comme ça, ça a toujours été comme ça, et ça le sera toujours.
#7
Posté 01 juin 2006 - 08:57
#8
Posté 01 juin 2006 - 16:42
#9
Posté 02 juin 2006 - 20:03
Modifié par Twinsen, 09 juin 2006 - 09:47.
#10
Posté 08 juillet 2006 - 23:23
Je suis désolé d'uper un vieux topic comme ca mais c'est pour dire que pour moi ca marche pas.
Mon script c'est ca (c'est un sort):
scriptname xxx
begin onactivate
player.placeatme l'Editor ID de mon monstre 1, 1, 1
end
J'ai essayé le débuger mais il dit que ca marche et pourtant quand j'invoque ca marche pas...
Est-ce que quelqu'un sait pourquoi?
#11
Posté 09 juillet 2006 - 00:15
Utilise un bloc "ScriptEffectStart" à la place, ça devrait se passer un peu mieux...
Pour l'instant, le débugueur n'affiche en effet pas d'erreur sur l'usage des blocs "classiques" dans les scripts d'effet magique, mais je changerai ça sous peu ! Merci pour l'info.
- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!
Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!
Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !
#12
Posté 09 juillet 2006 - 13:45
j'essaie tout de suite!
Super ca marche merci encore
par contre j'ai 2 nouveaux problème
1) j'aimerais faire en sorte que le monstre que j'appelle me suive mais je sais pas quel AI mettre... (j'ai regardé les monstres invoqués mais je suis pas sur qu'ils aient la bonne AI)
2) j'aimerais aussi que le monstre invoqué disparraisse au bour d'un certain temps mais là aussi je sais pas comment faire
Est que quelqu'un sait comment faire?
#13
Posté 09 juillet 2006 - 14:31
1) Une Ai de type escort (ou follow) sera la plus adaptée, je pense ! N'oublie pas de cocher la case "Defensive combat".
2) Tu peux créer un timer dessus et le disable/le déplacer vers une cell poubelle au bout d'un certain temps.
- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!
Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!
Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !
#14
Posté 09 juillet 2006 - 15:57
par contre j'ai pas tout compris
L'AI je l'as met en follow mais pour la location je met rien? et pour la référence?
Sinon tu pourrais pas me donner un exemple de script utilisant le timer s'il te plait parce que je sais pas comment faire (je vais quand même regarder sur wiki).
Et enfin c'est quel commande pour déplacer placeatquelquechose (là aussi je vais regarder sur wiki )?
ah et pour le "defensive combat" il n'y a pas moyen de mettre un offensive combat ( mettre l'agressivité à 100 peut être)?
#15
Posté 09 juillet 2006 - 16:27
Alors dans l'ordre :
1) La référence que doit suivre ta bêbête est "player" !
2) Pour utiliser un timer, tu dois déclarer une variable de type float et la mettre à jour avec la fonction GetSecondsPassed :
float monTimer Begin GameMode Set monTimer to ( monTimer + GetSecondsPassed ) ; La valeur du timer indique maintenant la durée en seconde depuis la première execution du script End
3) La fonction pour placer ta bestiole est PlaceAtMe.
4) Par "combat défensif", il faut comprendre que ton monstre va défendre le joueur s'il est attaqué uniquement et n'attaquera pas de son propre chef, sauf si elle est attaquée en premier (cf le Wiki ElderScrolls pour plus de détails ! ).
Si tu mets l'aggressivité à 100 sans activer le combat défensif, ta bête va attaquer tout le monde autour d'elle, pas glop ! (à moins que ce ne soit ton objectif, bien sur ! )
- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!
Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!
Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !
#16
Posté 09 juillet 2006 - 22:05
je programmé mais pas encore testé mais ca devrait marcher.
Par contre (et oui encore un problème ) je sais pas comment le faire disparaitre ou le déplacer car il n'a pas une Ref unique....
Ya un problème pour le timer. Il ne marche que sur begin gamemode.
mon script marche pas:
Scriptname ZCE2
begin scriptEffectStart
player.placeatme ZCdH, 1, 5, 1
end
begin gamemode
Float Timer
Set Timer to 25
if timer > 0
set timer to timer - getSecondsPassed
endif
if timer == 0
player.placeatme ZCdH, 10, 5, 1
endif
end
non c'est bon en fait j'ai changé un peu mon script:
Scriptname ZCE2
Float Timer
short init
begin scriptEffectStart
player.placeatme ZCdH, 1, 5, 1
end
begin GameMode
if init == 0
set timer to 25
set init to 1
else
if timer > 0
set timer to timer - getSecondsPassed
else
player.placeatme ZCdH 10, 1, 1
endif
endif
end
#17
Posté 09 juillet 2006 - 22:12
Quand à ton script, normal que le timer ne fonctionne pas : un script d'effet magique n'est executé que quand l'effet magique est actif (c'est à dire sur la durée du sort, qui est quasi-instantanée dans le cas d'une invocation). Il faut que tu mettes ton timer sur un script d'objet attaché à ta créature invoquée !
- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!
Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!
Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !
#18
Posté 09 juillet 2006 - 22:18
Il faudrait donc que je mette un script sur la créature mais c'est le même problème s'il n'a pas de ref je ne peut pas faire de disable... a moins qu'il y a une commande de teleport....
#19
Posté 09 juillet 2006 - 22:20
- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!
Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!
Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !
#20
Posté 09 juillet 2006 - 22:24
J'essairai demain car ca me gonfle de rouvrir l'éditeur et oblivion maintenant
Donc un truc comme ca lier à la créture devrait la faire disparaitre en 25 sec:
Scriptname ZCE3
Float Timer
short init
begin GameMode
if init == 0
set timer to 25
set init to 1
else
if timer > 0
set timer to timer - getSecondsPassed
else
disable
endif
endif
end
je ferai ca demain.... mais normallement elle disparait même dans la nature avec ca....
#21
Posté 09 juillet 2006 - 22:39
Ca donnerait quelque chose comme :
Scriptname ZCE3 Float Timer short init begin GameMode if ( init == 2 ) Return endif if init == 0 set timer to 25 set init to 1 else if timer > 0 set timer to timer - getSecondsPassed else MoveTo Reference_d_un_XMarker_dans_ta_cell_poubelle disable Set init to 2 endif endif end
- Les yeux, Bouh, vise les yeux!
- Pouiiiiiic!!!
Le monde de Gilbertus devenu réalité : Kalendaar!
Il était une fois un site vachement bien avec plein de nistoires dessus... ah, vous la connaissez déjà ?!
Wiwi d'or 2006 du plus serviable ! Tadaaaaaaaa !
#22
Posté 10 juillet 2006 - 08:53
Merci beaucoup Nenfëa
(donc normalement le script s'est arrêter, le timer aussi et il ne devrait pas y avoir de ralentissement)
0 utilisateur(s) li(sen)t ce sujet
0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)