Aller au contenu


Appliquer Une Impulsion À Un Objet


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

#1 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 28 mai 2013 - 02:19

Bonsoir,

Voilà, en rentrant ce soir, j'ai eu envie de créer un nouveau sort débile : une pluie de flèches... l'idée est toute simple, on crée un grand nombre de flèches et on les envoie toutes en même temps...

après avoir réfléchi, j'ai fini par décider de les envoyer une par une avec le script que voici :
Scriptname AuArrowShowerEffectScript extends activemagiceffect  

Actor Property PlayerRef Auto
Ammo Property boundArrow Auto

EVENT onEffectStart(ACTOR akTarget, ACTOR akCaster)

  int conjuValue = (akCaster.GetActorValue("Conjuration") as int)
  int nbArrows = conjuValue / 6
  float AngleX = akCaster.GetAngleX()
  float AngleY = akCaster.GetAngleY()
  float AngleZ = akCaster.GetAngleZ()

  float AxeX = math.cos(AngleY) * math.sin(AngleZ)
  float AxeY = math.cos(AngleY) * math.cos(AngleZ)
  float AxeZ = math.sin(AngleX) * (-1)
  ObjectReference MyArrowInYourKnee
	
  while (nbArrows > 0)
	MyArrowInYourKnee = akCaster.PlaceAtMe(boundArrow,1,false,true)
	;MyArrowInYourKnee.MoveTo(akCaster, (AxeX*128)+Utility.RandomInt(-25,25), (AxeY*128)+Utility.RandomInt(-25,25), (PlayerRef.GetHeight()/2)+Utility.RandomInt(-25,25))
	MyArrowInYourKnee.setPosition(akCaster.GetPositionX()+(AxeX*128)+Utility.RandomInt(-25,25), akCaster.GetPositionY()+(AxeY*128)+Utility.RandomInt(-25,25), akCaster.GetPositionZ()+(AxeZ*128)+Utility.RandomInt(-25,25))
	Utility.wait(0.1)
	MyArrowInYourKnee.enable()
	MyArrowInYourKnee.ApplyHavokImpulse(AxeX, AxeY, AxeZ, (conjuValue*1000))
	nbArrows -= 1
  endWhile

endEVENT
Hélas, la ligne
MyArrowInYourKnee.ApplyHavokImpulse(AxeX, AxeY, AxeZ, (conjuValue*1000))
ne fonctionne pas du tout puisque mes flèches tombent mollement sur le sol à mes pieds...

Ayant repris un petit bout de script ici, je me disais que je devais certainement faire quelque-chose de travers avec ApplyHavokImpulse puisque ce script :
Scriptname AuPVScript extends ActiveMagicEffect  

EVENT onEffectStart(ACTOR akTarget, ACTOR akCaster)

	float TargetMass = akTarget.GetActorValue("Mass")
	akCaster.PushActorAway(akTarget, 0)
	akTarget.ApplyHavokImpulse(0.0, 0.0, 1.0, (TargetMass)*(TargetMass)*(TargetMass)*4000+1000 )
	Utility.Wait(1)
	akTarget.ApplyHavokImpulse(0.0, 0.0, 1.0, ((TargetMass)*(TargetMass)*(TargetMass)*4000+1000)*-1 )

endEVENT
qui l'utilise également fonctionne parfaitement...

Des idées, vous voyez un truc qui m'aurait échappé ?... une recette de tarte au fromage ?

Modifié par Aurix, 28 mai 2013 - 02:21.

"You are the best Septim that's ever ruled. Well, except for that Martin fellow, but he turned into a dragon god, and that's hardly sporting... You know, I was there for that whole sordid affair. Marvelous time! Butterflies, blood, a Fox, a severed head... Oh, and the cheese! To die for."

Shéogorath - Prince de la folie

Vrai Grand Moddeur et FPIA à ses heures...

#2 Elenwel

Elenwel

    Granny Smith Wiwi


Posté 28 mai 2013 - 06:40

Salut,

j'avais fait un bout de script très similaire pour faire un sort de voyage par le cris. Je place une flèche au nieau de la tête du joueur, la projette et déplace le joueur sur sa position après un moment. L'effet est pas trop mal d'ailleur :P

Du coup le script exumé :

  ObjectReference target = akCaster.PlaceAtMe(rArrow)


  float angleX = target.getAngleX()
  float angleY = target.getAngleY()
  float angleZ = target.getAngleZ()

  float B = math.sin(angleX)
  float C = math.cos(angleY)
  float E = math.cos(angleZ)
  float F = math.sin(angleZ)

  target.setPosition(target.x+50, target.Y+50, target.Z + 100)
  Utility.wait(0.5)
  target.ApplyHavokImpulse(C*F,C*E,-B, 10000)

  Utility.wait(2)
  Game.getPlayer().moveTo(target)

  target.delete()

PAs de grosse différence :) Du coup est-ce que tu as essayé de mdifier la force appliquée? Peut être est-elle trop basse.

Voir le messageD.A.D., le 29 avril 2013 - 21:21, dit :

Un avertissement d'Elenwel, c'est un avertissement qui en vaut deux : si tu n'en tiens pas compte, c'est toujours pour TA pomme, et en général, il ne fait pas de quartier. Mieux vaut éviter les pépins, ça empêche d'y laisser sa peau.

#3 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 28 mai 2013 - 12:53

Tu as vu que j'ai cité ton post via un lien ?

Nan, sinon, si tu regardes, j'applique une force de 1000*conju ce qui me donne 100 000 pour un objet qui n'a pas de poids... Je me souviens faire voler un troll avec une valeur similaire (masse de 3 au cube-> 27*4000+1000 = 109 000)...
"You are the best Septim that's ever ruled. Well, except for that Martin fellow, but he turned into a dragon god, and that's hardly sporting... You know, I was there for that whole sordid affair. Marvelous time! Butterflies, blood, a Fox, a severed head... Oh, and the cheese! To die for."

Shéogorath - Prince de la folie

Vrai Grand Moddeur et FPIA à ses heures...

#4 Elenwel

Elenwel

    Granny Smith Wiwi


Posté 28 mai 2013 - 18:55

Quel lien? où ça? y a pas de lien... :green: bon ok j'avais pas vu, mais tu as de bonnes source Aurix, c'est bien...

Du coup je sais pas, j'allais te dire que c'était peut être la flêche,  mais j'utilise une DaedricArrow pour mon sort. Et il marche toujours...

Voir le messageD.A.D., le 29 avril 2013 - 21:21, dit :

Un avertissement d'Elenwel, c'est un avertissement qui en vaut deux : si tu n'en tiens pas compte, c'est toujours pour TA pomme, et en général, il ne fait pas de quartier. Mieux vaut éviter les pépins, ça empêche d'y laisser sa peau.

#5 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 28 mai 2013 - 19:18

C'est le code exact ? Loin de moi l'idée de critiquer mais j'étais pas sûr d'avoir tout suivi sur la version que tu donnais avant... Mais la trigo avec des lettres abstraites n'y est certainement pas pour rien...

Bref, ceci dit, j'essaye ce soir avec un 0 en plus mais je ne m'attends pas à un miracle... Sinon, je peux espérer blesser les pnjs avec ça ou c'est mort ?

Modifié par Aurix, 28 mai 2013 - 19:24.

"You are the best Septim that's ever ruled. Well, except for that Martin fellow, but he turned into a dragon god, and that's hardly sporting... You know, I was there for that whole sordid affair. Marvelous time! Butterflies, blood, a Fox, a severed head... Oh, and the cheese! To die for."

Shéogorath - Prince de la folie

Vrai Grand Moddeur et FPIA à ses heures...

#6 Elenwel

Elenwel

    Granny Smith Wiwi


Posté 28 mai 2013 - 19:24

Le code que tu as cité est complet oui. Essayes aussi avec une pomme ou un autre objet et normalement oui, ça blesse.

Voir le messageD.A.D., le 29 avril 2013 - 21:21, dit :

Un avertissement d'Elenwel, c'est un avertissement qui en vaut deux : si tu n'en tiens pas compte, c'est toujours pour TA pomme, et en général, il ne fait pas de quartier. Mieux vaut éviter les pépins, ça empêche d'y laisser sa peau.

#7 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 28 mai 2013 - 19:32

ben... j'ai testé avec une carotte hier soir... j'en ai près de 300 maintenant... mais ça marche pas mieux...

Edit : bon, j'ai changé un truc... mais je suis super déçu... :
Scriptname AuArrowShowerEffectScript extends activemagiceffect  

Actor Property PlayerRef Auto
Ammo Property boundArrow Auto

EVENT onEffectStart(ACTOR akTarget, ACTOR akCaster)

  int conjuValue = (akCaster.GetActorValue("Conjuration") as int)
  int nbArrows = conjuValue / 3
  float AngleX = akCaster.GetAngleX()
  float AngleY = akCaster.GetAngleY()
  float AngleZ = akCaster.GetAngleZ()
 
  float AxeX = math.cos(AngleY) * math.sin(AngleZ)
  float AxeY = math.cos(AngleY) * math.cos(AngleZ)
  float AxeZ = math.sin(AngleX) * (-1)
  float PosX = akCaster.GetPositionX() + (AxeX*128)
  float PosY = akCaster.GetPositionY() + (AxeY*128)
  float PosZ = akCaster.GetPositionZ() + 128
  ObjectReference MyArrowInYourKnee
	
  while (nbArrows > 0)
	MyArrowInYourKnee = akCaster.PlaceAtMe(boundArrow)
	MyArrowInYourKnee.setPosition( PosX, PosY, PosZ)
	Utility.Wait(0.1)
	MyArrowInYourKnee.ApplyHavokImpulse(AxeX, AxeY, AxeZ, 50000)
	nbArrows -= 1
  endWhile
endEVENT
Donc, pour ceux que ça intéresse, sans le wait, l'impulsion ne s'applique pas... de plus, il semblerait que mettre la force dans une variable ne fonctionne pas non plus... mais à voir...

Non, par contre, ce truc ne sert absolument à rien puisqu'il ne cause absolument aucun dégat, les flèches rebondissent dans tous les sens, c'est tout...

pour ceux qui veulent lancer des flèches à main nues, je leur conseille l'effet "dunTrevasSpectralArrowDamageFFAimed" qui, lui, permet de lancer un projectile... bon, ok, c'est une sphère... mais on peut choisir dans projectile pour sélectionner une flèche...

Modifié par Aurix, 29 mai 2013 - 00:45.

"You are the best Septim that's ever ruled. Well, except for that Martin fellow, but he turned into a dragon god, and that's hardly sporting... You know, I was there for that whole sordid affair. Marvelous time! Butterflies, blood, a Fox, a severed head... Oh, and the cheese! To die for."

Shéogorath - Prince de la folie

Vrai Grand Moddeur et FPIA à ses heures...

#8 a3jv

a3jv

    ... à 4 je reviens.


Posté 29 mai 2013 - 06:44

http://www.confrerie...s_de_lancer.php

Ce mod rajoute des armes de lancer qui sont envoyées en petites rafales, au moins pour ce qui est des shurikens et des couteaux d’après mes souvenirs.

Ça semble correspondre à ce que tu recherches et en le décortiquant tu devrais pouvoir comparer le script utilisé avec le tien.

Modifié par a3jv, 29 mai 2013 - 06:46.

Les choses n'ont que l'importance ou la valeur qu'on leur donne.

#9 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 29 mai 2013 - 13:14

pas besoin de décortiquer, point de script là dessous, le ck est hérité de new vegas, on peut choisir le nombre de projectiles à la création d'une arme... ou créer une arme de jet... non, mon souhait à la base était de faire comme le sort multifleches de fable 1... ou au moins de se libérer une main...


ps : le sort de flèche que je cite plus haut ne permet pas de lancer plusieurs flèches d'un coup... si on en met plusieurs, ils sont tous cumulés en une seule flèche...
"You are the best Septim that's ever ruled. Well, except for that Martin fellow, but he turned into a dragon god, and that's hardly sporting... You know, I was there for that whole sordid affair. Marvelous time! Butterflies, blood, a Fox, a severed head... Oh, and the cheese! To die for."

Shéogorath - Prince de la folie

Vrai Grand Moddeur et FPIA à ses heures...




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

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