Aller au contenu


Script Pour Faire Disparaitre Les Cadavres


  • Veuillez vous connecter pour répondre
17 réponses à ce sujet

#1 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 07 mai 2011 - 22:37

bonjour j'ai crée un sort pour desintegrer les cadavres
en fait ca les envoit dans un endroit que je créer
mais quand je vais dans cet endroit, je ne vois pas les cadavres
pourquoi ?

voici le script :

Citation

Scriptname DisparitionDesCadavres

Begin ScriptEffectStart

if GetDead == 1
     MoveTo TeleportEnferMarker
endif

End

autre question : est ce que de faire disparaitre les cadavres modifie le respawn ?

#2 seigneur des ours

seigneur des ours

    Karadoc


Posté 08 mai 2011 - 12:21

c'est dans oblivion ou morrowind

bon pour commencé les cadavre s'en von automatiquement dans morro mais y a des exeption
en fait a mon avi sa depend du lieu

dans obli chaque cadavre sur le chemin disparai alor que dans l'herbe non


je suis le grand le gigantesque le titanesque le seigneur des........................euh.................des ours

#3 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 08 mai 2011 - 12:36

Voir le messageJack Bauer, le 07 mai 2011 - 22:37, dit :

en fait ca les envoit dans un endroit que je créer
mais quand je vais dans cet endroit, je ne vois pas les cadavres
pourquoi ?
Comment vas-tu dans ce lieu...?
Toi aussi par un moveto vers le même marqueur...? Car c'est ce qu'il y aurait de mieux à faire...

Sinon il suffit de récupérer l'ID de l'acteur avec la console (écrit en haut de l'écran quand l'acteur est sélectionné), et faire un moveto du joueur sur cette ID, donc sur l'acteur...


Voir le messageJack Bauer, le 07 mai 2011 - 22:37, dit :

autre question : est ce que de faire disparaitre les cadavres modifie le respawn ?
S'ils sont morts avant le déplacement, normalement non...

#4 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 08 mai 2011 - 15:08

j'ai corrigé
j'ai mis le meme marqueur pour envoyer les cadavres et pour me teleporter mais quand j'y vais
ya pas de cadavre

si je choisi l'acteur je suis obliger de le changer a chaque fois ?
comment un faire un script pour recuper l'id de l'acteur est la remplacée a chaque fois ?

Modifié par Jack Bauer, 08 mai 2011 - 15:21.


#5 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 08 mai 2011 - 15:48

Voir le messageJack Bauer, le 08 mai 2011 - 15:08, dit :

si je choisi l'acteur je suis obliger de le changer a chaque fois ?
comment un faire un script pour recuper l'id de l'acteur est la remplacée a chaque fois ?
J'avais proposé la console, justement pour pouvoir s'adapter à l'acteur...

Mais sinon tu mets ceci dans ton script...
Player.MoveTo GetSelf

GetSelf permettant de récupérer l'ID de l'acteur sur lequel est exécuté le script...

#6 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 08 mai 2011 - 18:52

mon script de desintégration de cadavre :

Citation

Scriptname DisparitionDesCadavres

Begin ScriptEffectStart

if GetDead == 1
     MoveTo TeleportEnferMarker
endif

End

mon script de teleportation :

Citation

scn mateleportationenfer

Begin ScriptEffectStart

if ( player.IsInCombat == 1 )
message "Vous ne pouvez pas utiliser ce sort durant un combat."
else

player.moveto TeleportEnferMarker

endif

End


je le met ou le getself je vois pas trop

#7 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 08 mai 2011 - 19:36

Le GetSelf servant à récupérer l'ID sur lequel est exécuté le script y faisant appel, il y a tout intérêt à fusionner les deux scripts dans un même sort...

scn DisparitionDesCadavres


Begin GameMode

if GetDead == 1
   MoveTo TeleportEnferMarker
   Player.MoveTo GetSelf
endif

End


Mais je ne suis pas certaine que tout fonctionnera comme prévu : le moteur de script a des règles d’exécution concernant les scripts se trouvant sur des acteurs qui ne sont pas dans la même cellule que le joueur...

#8 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 08 mai 2011 - 19:40

Voir le messageShadow she-wolf, le 08 mai 2011 - 19:36, dit :

Le GetSelf servant à récupérer l'ID sur lequel est exécuté le script y faisant appel, il y a tout intérêt à fusionner les deux scripts dans un même sort...

scn DisparitionDesCadavres


Begin GameMode

if GetDead == 1
   MoveTo TeleportEnferMarker
   Player.MoveTo GetSelf
endif

End


Mais je ne suis pas certaine que tout fonctionnera comme prévu : le moteur de script a des règles d’exécution concernant les scripts se trouvant sur des acteurs qui ne sont pas dans la même cellule que le joueur...

et en plus ca ne me convient pas vraiment car ca me teleporterai en meme temps que le cadavre ?

#9 Ridiane

Ridiane

Posté 08 mai 2011 - 20:28

Voir le messageShadow she-wolf, le 08 mai 2011 - 19:36, dit :

scn DisparitionDesCadavres


Begin GameMode

if GetDead == 1
   MoveTo TeleportEnferMarker
   Player.MoveTo GetSelf
endif

End

On ne peut pas passer une fonction en paramètre d'une autre fonction. Du coup il faut que tu place le résultat de "GetSelf" dans une variable ou que tu utilise "This" à la place de "GetSelf". Et oui ceci te téléporterais en même temps que le corps.

Par rapport à ce que tu veux, faire je suppose qu'il faut impérativement que les corps ne disparaissent pas...

Il y'a un bug avec la fonction MoveTo ( du moins pour les Fallouts, je ne suis pas certains que ça soit le cas sur Oblivion, mais ça vaut le coup d'essayer ):
Sur certains éléments la position de l'objet change mais son modèle 3D ne se mets pas à jour. Pour palier à ça il faut rajouter ceci à ton code :

float XPos

Begin GameMode
   if ( GetDead )
	  Disable
	  MoveTo TeleportEnferMarker
	  set XPos to GetPos X
	  SetPos X XPos
	  Enable
   endif
End

Je ne suis clairement pas sur que cela va corriger ton problème mais tu peux toujours essayer.

#10 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 08 mai 2011 - 21:52

merci ca marche nickel

encore une chose
les cadavres sont en gros tas compact quand j'arrive
comment faire pour qu'il se disparaissent dans la piece ?

Modifié par Jack Bauer, 08 mai 2011 - 22:54.


#11 Ridiane

Ridiane

Posté 09 mai 2011 - 00:30

Pour ça "MoveTo" accepte des coordonnées en paramètres :

[Object:Ref].MoveTo Target:Ref X:Float Y:Float Z:Float

X, Y et Z sont des positions dans l'espace par rapport à l'arrivée du "MoveTo". Z détermine la position verticale donc tu n'a pas à y toucher normalement. Tu peux passer, pour ces paramètres, des variables contenant des valeurs aléatoires :

[...]
Set fXar to GetRandomPercent
Set fYar to GetRandomPercent
[...]
MoveTo TeleportEnferMarker fXar fYar
[...]

"GetRandomPercent" ne renvoi qu'une valeur comprise entre 0 et 99, si ça ne te suffit pas ( 99 c'est assez peu en unités du jeu ) tu peux faire ceci :

min + GetRandomPercent * (max-min+1) / 100

Où "min" et "max" sont les valeurs minimales et maximales que tu veux obtenir.

#12 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 09 mai 2011 - 01:27

voici mon script :

Citation

Scriptname DisparitionDesCadavres

float XPos

Begin GameMode
   if ( GetDead )
      Disable
      MoveTo EnferMarkerTeleport
      set XPos to GetPos X
      SetPos X XPos
      Enable
   endif
End

les lignes je les met ou car j'ai des messages d'erreur ?
"unknown variable fXar"

Modifié par Jack Bauer, 09 mai 2011 - 01:34.


#13 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 09 mai 2011 - 06:38

Voir le messageJack Bauer, le 09 mai 2011 - 01:27, dit :

les lignes je les met ou car j'ai des messages d'erreur ?
"unknown variable fXar"
Tu essaies de scripter sans connaître la notion de variable…?
Je te conseil de revoir les fondamentaux


On ne va pas écrire un script pour quelqu'un qui ne connaît même pas les bases…

#14 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 09 mai 2011 - 16:56

ben en fait j'y connais rien en script
j'ai fait du copier coller avec des script de mods et ceux que me donne sur le forum

je suis aller les voir les fondamentaux et ca ne parle pas donc si vous pouviez me donnez la solution
ca serait trés gentil

Modifié par Jack Bauer, 09 mai 2011 - 16:56.


#15 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 09 mai 2011 - 17:33

Voir le messageJack Bauer, le 09 mai 2011 - 16:56, dit :

je suis aller les voir les fondamentaux et ca ne parle pas donc si vous pouviez me donnez la solution
Je t'invite à bien relire, ça parle bel et bien de variable...
Ton erreur "unknown variable fXar", ça se traduit en "variable fXar inconnue", je peux t'assurer qu'il y a la solution à ton problème dans la page du wiwiki que je t'ai donné...

Voir le messageJack Bauer, le 09 mai 2011 - 16:56, dit :

ca serait trés gentil
Ça dépend de quel coté l'on se pose...

Ton but c'est d'avoir un script tout clé en main, et pour le prochain script dont tu auras besoin tu vas encore demander à quelqu'un de te le faire, et ceci ad infinitum... ? En prenant en compte que ces scripts ne feront probablement pas tout à fait ce que tu souhaites...?
Ou bien savoir faire des scripts par toi-même, tout bien comme tu veux, tout seul comme un grand...?

Parce que là ça va faire deux jours que l'on est dessus, or normalement un script comme ça, quand on sait scripter, ça se fait en 5-10 minutes...
La seconde option m'apparaît meilleure pour toi, ne serait-ce qu'au niveau temps de réalisation... Bien entendu, il y a une courte phase d'apprentissage, et ça prend un petit moment, mais une fois cette phase passée, on gagne pas mal de temps...

Que tu écrives un script, qu'il ne fonctionne pas et que tu nous demandes de t'aider à localiser le problème (après tes propres recherches), oui...
Que tu nous demandes d'écrire un script à ta place parce que tu ne sais pas scripter, non...
Quand on aide, c'est dans l'optique d'apprendre à autrui... :)

#16 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 10 mai 2011 - 15:07

ok je vais essayer
par contre je risque d'etre long
a+

kit a me mettre a fond autant apprendre tout
c'est comme langage les script ? du c++, du java ?

#17 Ridiane

Ridiane

Posté 10 mai 2011 - 16:14

C'est un langage spécifique au TESCS qui est utilisé.

Tout ce dont tu a besoin pour apprendre c'est :
Les bases sur les scripts
La liste des fonctions disponibles

Si tu comprend suffisamment l'anglais, le wiki du TESCS2 a pas mal de tuto et d'exemples de scripts plus ou moins poussés.

#18 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 05 juin 2011 - 13:03

j'ai un autre probleme
j'ai trop de cadavres dans la piece
des que je me teleporte dans la piece ou les cadavres arrivent
le jeu plante




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)