Aller au contenu


(résolu) Transformation Réversible En Vampire


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

#1 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 30 avril 2009 - 10:22

bonjour,

après  avoir passé une demi heure à taper du vampire dans une ruine  dwemer, j'ai réussi à contracter le vampirisme... c'est super, me  voilà vampire, j'ai des bonus de taré (dont je ne comprend parfois  pas la provenance, mais ça c'est une autre histoire...) et je me dis  "zut, maintenant ça va être difficile de poursuivre la quête  principale"... donc, pour avoir les avantages sans les  inconvénients du vampirisme (enfin, on a quand-même la sensibilité  au soleil, faut pas abuser), j'ouvre le tescs, et je ponds un un  script

Begin auvamp2

short button
short  MessageOn
short messageOnce
short doOnce
short  OnPCEquip
short reset
short usering

if ( OnPCEquip == 0  )
set reset to 0
endif

if ( reset == 1  )
return
endif

if ( OnPCEquip == 1 )
if ( reset == 0  )
if ( messageOnce == 0 )
;Set OnPCEquip to 0
MessageBox  "devenir vampire ?" "Aundae" "Berne"  "Quarra" "argl..." "non"
set  messageOn to 1
set messageOnce to 1
endif
endif
endif

if  ( messageOn == 1)

set button to GetButtonPressed

if (  button >= 0 )
set messageOn to 0
endif

if ( button >=  0 )
if ( button <= 3 )
set usering to 1
;set reset to 1  

elseif ( button == 1 )
set reset to 1
set messageOnce  to 0
return
endif
endif
endif

if ( usering == 1  )
if ( OnPCEquip == 1 )
if ( MenuMode == 0 )

if ( button  >= 4 )
set messageOn to 0
endif

if ( button == 0  )
Player->AddSpell "vampire sun damage"
Player->AddSpell  "vampire skills"
Player->AddSpell "vampire  immunities"
Player->AddSpell "vampire aundae  specials"
Player->AddSpell "vampire attributes"
set  VampClan to 1
set reset to 1 

elseif ( button == 1  )
Player->AddSpell "vampire sun damage"
Player->AddSpell  "vampire skills"
Player->AddSpell "vampire  immunities"
Player->AddSpell "vampire berne  specials"
Player->AddSpell "vampire attributes"
set  VampClan to 2
set reset to 1 

elseif ( button == 2  )
Player->AddSpell "vampire sun damage"
Player->AddSpell  "vampire skills"
Player->AddSpell "vampire  immunities"
Player->AddSpell "vampire aundae  specials"
Player->AddSpell "vampire attributes"
set  VampClan to 3
set reset to 1

elseif ( button == 3  )
Player->RemoveSpell "vampire sun  damage"
Player->RemoveSpell "vampire  skills"
Player->RemoveSpell "vampire  immunities"
Player->RemoveSpell "vampire aundae  specials"
Player->RemoveSpell "vampire berne  specials"
Player->RemoveSpell "vampire quarra  specials"
Player->RemoveSpell "vampire  attributes"
set VampClan to -1
set PCVampire to 0
set  reset to 1 

elseif ( button == 4 )
set reset to  1
return

endif
endif
else
set usering to 0
set  messageOnce to 0
return
endif
endif

End  auvamp2

bref, on met l'anneau, la box demande ce que  l'on veut (aundae, berne ou quarra), on se transforme en vampire, si  on veut redevenir normal, on clique sur "argl" et paf, on  est normal.

sur le papier c'est infaillible, dans le jeu,  moins...

le code original plantait allègrement, j'ai donc  repris celui de l'anneau d'hircine (bloodmoon) (désolé si vous  n'avez pas fini bloodmoon mais en même temps, on ne fait pas de mod  si on n'a pas tout fini non?)

cela fonctionne... mis à part  certaines petites choses :

- l'anneau se déclenche à la  sauvegarde, je fais [echap] -> [sauvegarder] et une fois ma  sauvegarde terminée, les icônes du vampirisme apparaissent

-  sur la version d'avant, la même chose se produisait avec les  sanctuaires des tribuns

-dans toutes les cells en extérieur,  les gens ont 0% d'affinité avec moi (alors que j'ai 250 en  personnalité/éloquence/marchandage)
cela se produit également  dans toutes les cellules où j'ai utilisé l'anneau.

mis à  part ça, il fonctionne pas mal puisque les vampires de chaque clan  me reconnaissent et que les gens ne me courent pas après quand je ne  suis plus vampire... mais si je pouvais enlever mon anneau de  charisme, ça m'arrangerait...

voilà mon problème exposé,  si vous voyez d'où ça vient, ça m'aiderait vraiment. (je fais  remarquer au passage que ce code est un copié collé de celui  d'hircine, le reprend qui veut)

Modifié par Aurix, 08 mai 2009 - 08:52.

"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 Snaïpe

Snaïpe

    ...itset tnus otroh nI


Posté 30 avril 2009 - 19:31

cette ligne m'intrigue :

elseif ( button == 1 )
set reset to 1
set messageOnce  to 0
return
endif

en clair si tu clique sur "Berne", ça s'annule.... ce ne serait pas plutôt elseif ( button == 4 ) ?


Citation

- l'anneau se déclenche à la sauvegarde, je fais [echap] -> [sauvegarder] et une fois ma sauvegarde terminée, les icônes du vampirisme apparaissent

est-ce que tu porte l'anneau durant la sauvegarde ? si oui, c'est peut-être pour ça que ça déconne... je sais pas précisément comment l'exe se comporte avec les scripts en sauvegarde, donc je pourrais pas te dire grand chose de plus, si ce n'est de mettre un

If ( MenuMode == 1 )
return
endif

au début pour que le script ne se lance pas pendant la sauvegarde ( c'est un menu ). après, il te faudra quitter l'inventaire quand tu aura mis l'anneau pour voir le menu du script apparaître.

ou alors tu rajoute une ligne dans le If ( reset == 1 ) pour déséquiper l'anneau.

#3 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 03 mai 2009 - 20:18

je dois avouer, ce script est un copié collé donc, je n'ai pas trop fait attention...

mais l'idée est quand-même qu'il s'active pendant le menumode... bref, j'ai renommé la moitié des variables et je n'ai plus eu de problème à la sauvegarde...

une question toutefois : si deux scripts ont le même nom de variable, le jeu crée bien une seule variable et l'utilise dans les deux? si c'est le cas, cela expliquerait pourquoi je me transforme en vampire devant un marchand qui possède une copie d'une autre version de mon anneau mais d'un autre côté, je n'ai jamais fini loup garou alors que j'ai constamment l'anneau d'hircine sur moi...

enfin bref, mon petit problème de réaction persiste, je suis obligé de faire de la corruption pour pouvoir prendre un échassier...

et merci pour ton aide, il semble que le code date un peu... voici la version actuelle :

Begin auvamp2

short button3
short MessageOn3
short messageOnce3
short doOnce
short OnPCEquip
short reset3
short usering3

if ( OnPCEquip == 0 )
	set reset3 to 0
endif

if ( reset3 == 1 )
	return
endif

if ( OnPCEquip == 1 )
	if ( reset3 == 0 )
		if ( MessageOnce3 == 0 )
			;Set OnPCEquip to 0
			MessageBox "devenir vampire ?" "Aundae" "Berne" "Quarra" "argl..." "non"
			set MessageOn3 to 1
			set MessageOnce3 to 1
		endif
	endif
endif

if ( MessageOn3 == 1)

	set button3 to GetButtonPressed

	if ( button3 >= 0 )
		set MessageOn3 to 0
	endif

	if ( button3 >= 0 )
		if ( button3 <= 3 )
			set usering3 to 1
			;set reset3 to 1		
		
		else;if ( button3 == 1 )
			set reset3 to 1
			set MessageOnce3 to 0
			return
		endif
	endif
endif

if ( usering3 == 1 )
	if ( OnPCEquip == 1 )
		if ( MenuMode == 0 )
			
			if ( button3 >= 4 )
				set MessageOn3 to 0
			endif
		
			if ( button3 == 0 )
				Player->AddSpell "vampire sun damage"
				Player->AddSpell "vampire skills"
				Player->AddSpell "vampire immunities"
				Player->AddSpell "vampire aundae specials"
				Player->AddSpell "vampire attributes"
				set VampClan to 1
				set reset3 to 1		
				
			elseif ( button3 == 1 )
				Player->AddSpell "vampire sun damage"
				Player->AddSpell "vampire skills"
				Player->AddSpell "vampire immunities"
				Player->AddSpell "vampire berne specials"
				Player->AddSpell "vampire attributes"
				set VampClan to 2
				set reset3 to 1		
		
			elseif ( button3 == 2 )
				Player->AddSpell "vampire sun damage"
				Player->AddSpell "vampire skills"
				Player->AddSpell "vampire immunities"
				Player->AddSpell "vampire aundae specials"
				Player->AddSpell "vampire attributes"
				set VampClan to 3
				set reset3 to 1
			
			elseif ( button3 == 3 )
				Player->RemoveSpell "vampire sun damage"
				Player->RemoveSpell "vampire skills"
				Player->RemoveSpell "vampire immunities"
				Player->RemoveSpell "vampire aundae specials"
				Player->RemoveSpell "vampire berne specials"
				Player->RemoveSpell "vampire quarra specials"
				Player->RemoveSpell "vampire attributes"
				set VampClan to -1
				set PCVampire to 0
				set reset3 to 1		
		
			elseif ( button3 == 4 )
				set reset3 to 1
				return
			
			endif
		endif
	else
		set usering3 to 0
		set MessageOnce3 to 0
		return
	endif
endif

End auvamp2

<Edit> concernant le bout de code que tu as mentionné, il doit être utile dans le script de hircine mais il ne s'active pas ici car les deux conditions ne se rencontrent pas... on peut néanmoins remplacer le "elseif (…)" par un "else" et cela fonctionnera tout de même non? (cela permet également d'éviter que le script ne s'active si un autre utilise ses variables...) voilà, j'ai rajouté un ";" qui quote la suite... </edit>

Modifié par Aurix, 03 mai 2009 - 21:14.

"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 alliop

alliop

    Renaissance de l'art magique.


Posté 03 mai 2009 - 22:34

Bonsoir :P

Juste ceci :

Citation

	if ( button3 >= 0 )
		set MessageOn3 to 0
	endif

	if ( button3 >= 0 )
		if ( button3 <= 3 )
			set usering3 to 1
			;set reset3 to 1		
		
		else;if ( button3 == 1 )
			set reset3 to 1
			set MessageOnce3 to 0
			return
		endif
	endif

Pourquoi redoubler le "if ( button3 >= 0 )" et le "set MessageOn3 to 0" dans le bloc suivant.
Il suffit d'écrire :
	if ( button3 >= 0 )
		set MessageOn3 to 0
		if ( button3 <= 3 )
			set usering3 to 1
;set reset3 to 1		
		
		else;if ( button3 == 1 )
			set reset3 to 1
			return
		endif
	endif
Ton "else" fonctionne, oui, puisqu'il n'y a pas de condition alternative suivante.

A par ça, la transformation en vampire à volonté, désolé, mais personnellement je suis absolument contre! (pour cheater je préfère la console, c'est plus rapide) :good:

*************************  EDIT *****************

Oups! Pardon pour mon erreur de logique que corrige Elendell ci-dessous!

Modifié par alliop, 04 mai 2009 - 03:20.

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#5 elendell

elendell

    Mécano Dell'Arte


Posté 03 mai 2009 - 22:35

Bonjour Aurix,

Voir le messageAurix, le 03.05.2009 à 21:17, dit :

une question toutefois : si deux scripts ont le même nom de variable, le jeu crée bien une seule variable et l'utilise dans les deux?
Une variable locale d'un script local ne concerne que le script de l'objet auquel le script est attaché.

Autrement dit, si deux objets (identiques ou non) ont le même script attaché en local qui contient la variable "machin" et que cette variable est mise à 1 quand tu équipes l'objet, elle n'est mise à 1 que dans l'objet que tu as équipé. Dans un objet identique qui a le même script attaché, "machin" reste à 0 si tu ne l'as pas équipé. Ça permet de faire des scripts génériques qui peuvent être attachés à de multiples objets tout en étant uniques quand à leur traitement (comme s'il y avait des scripts différents avec des noms de variables différents).

Voir le messageAurix, le 03.05.2009 à 21:17, dit :

	if ( button3 >= 0 )
		if ( button3 <= 3 )
			set usering3 to 1
		;set reset3 to 1		
		
		else;if ( button3 == 1 )
			set reset3 to 1
			set MessageOnce3 to 0
			return
		endif
	endif
"elseif ( button3 == 1 )" ne pourra jamais être et "else" ne donnera un résultat que "si button > 3".

Dans un bloc "if/elseif" ou "if/else", le jeu vérifie toutes les conditions en suivant mais ceci, tant qu'il n'en trouve pas une de juste seulement.
Si "button == 1", le "if ( button3 <= 3 )" est vrai. Les "elseif" ou "else" qui suivent ne seront donc pas vérifiés.

Je n'ai pas examiné le reste du script mais suivant ce que tu attends de cette vérification, il faut soit que tu inverses l'ordre en commençant par "if ( button3 == 1 )", soir faire des "if/endif" indépendants pour qu'ils soient tous les deux vérifiés.

#6 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 05 mai 2009 - 19:57

Bonsoir, désolé pour la réponse tardive mais qui s'en soucie?...

bref, je n'avais jamais testé le bouton "non", j'ai donc changé la petite partie incriminée avec un 4 en lieu et place du 1.

pour répondre à ceux qui sont contre cette idée... j'ai juste envie de dire trop tard... en fait, à moins d'avoir une sensibilité aux maladies communes de 100%, la peste empêche de contracter le vampirisme; idem pour la lycanthropie... l'anneau d'hircine existant bien, je propose un anneau qui fonctionne sur la même base pour les vampires...

personne n'a jamais eu envie de faire quelque-chose avec les clans vampires? des quêtes super longues et tout ça? eh bien, comme récompense à la toute fin, on pourrait envisager ce genre d'anneau... mais bon, ce que j'en dis, 3 quêtes (ou plutôt 2 plus du nettoyage...) ça fait léger pour un état qui donne de tels avantages

sinon, si ça intéresse quelqu'un, après modification, cela me donne ça

Begin auvamp2

short button3
short MessageOn3
short messageOnce3
short doOnce
short OnPCEquip
short reset3
short usering3

if ( OnPCEquip == 0 )
	set reset3 to 0
endif

if ( reset3 == 1 )
	return
endif

if ( OnPCEquip == 1 )
	if ( reset3 == 0 )
		if ( MessageOnce3 == 0 )
			;Set OnPCEquip to 0
			MessageBox "devenir vampire ?" "Aundae" "Berne" "Quarra" "argl..." "non"
			set MessageOn3 to 1
			set MessageOnce3 to 1
		endif
	endif
endif

if ( MessageOn3 == 1)

	set button3 to GetButtonPressed

	if ( button3 >= 0 )
		set MessageOn3 to 0
	endif

	if ( button3 >= 0 )
		if ( button3 <= 3 )
			set usering3 to 1
			;set reset3 to 1		
		
		elseif ( button3 == 4 )
			set reset3 to 1
			set MessageOnce3 to 0
			return
		endif
	endif
endif

if ( usering3 == 1 )
	if ( OnPCEquip == 1 )
		if ( MenuMode == 0 )
			
			if ( button3 >= 4 )
				set MessageOn3 to 0
			endif
		
			if ( button3 == 0 )
				Player->AddSpell "vampire sun damage"
				Player->AddSpell "vampire skills"
				Player->AddSpell "vampire immunities"
				Player->AddSpell "vampire aundae specials"
				Player->AddSpell "vampire attributes"
				set VampClan to 1
				set reset3 to 1		
				
			elseif ( button3 == 1 )
				Player->AddSpell "vampire sun damage"
				Player->AddSpell "vampire skills"
				Player->AddSpell "vampire immunities"
				Player->AddSpell "vampire berne specials"
				Player->AddSpell "vampire attributes"
				set VampClan to 2
				set reset3 to 1		
		
			elseif ( button3 == 2 )
				Player->AddSpell "vampire sun damage"
				Player->AddSpell "vampire skills"
				Player->AddSpell "vampire immunities"
				Player->AddSpell "vampire aundae specials"
				Player->AddSpell "vampire attributes"
				set VampClan to 3
				set reset3 to 1
			
			elseif ( button3 == 3 )
				Player->RemoveSpell "vampire sun damage"
				Player->RemoveSpell "vampire skills"
				Player->RemoveSpell "vampire immunities"
				Player->RemoveSpell "vampire aundae specials"
				Player->RemoveSpell "vampire berne specials"
				Player->RemoveSpell "vampire quarra specials"
				Player->RemoveSpell "vampire attributes"
				set VampClan to -1
				set PCVampire to 0
				set reset3 to 1	
				
			endif
		endif
	else
		set usering3 to 0
		set MessageOnce3 to 0
		return
	endif
endif

End auvamp2

les "3" ajoutés le sont par mesure de précaution, ne sachant pas vraiment si les variables sont, ou non, utilisées par d'autres scripts.

et un truc qui n'a rien à voir, si on tue le cœur de lorkhan en un coup critique, il disparaît... même si on n'a pas utilisé broyeur et lamentation... je trouve ça étrange que les programmeurs aient laissé un truc comme ça... ça veut dire qu'on peut finir le coeur avec l'arme qu'on veut? bref, c'est hors sujet...

merci pour vos réponses concernant le script, c'est sans doute les noms des variables qui provoquaient les bugs, j'avais un anneau accroché au pnj juste en face de moi. avec le mien, cela faisait sûrement des "interférences"...
"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...

#7 alliop

alliop

    Renaissance de l'art magique.


Posté 06 mai 2009 - 02:11

Bonsoir.

Voir le messageAurix, le 05.05.2009 à 20:56, dit :

pour répondre à ceux qui sont contre cette idée... j'ai juste envie de dire trop tard...
Ne t'en soucie pas! Ce n'est que mon point de vue, je n'ai aucune prétention gendarmière à surveiller et faire appliquer le respect de quelque code de la route en matière de fiction, le tesc offre des possibilités créatives, à chacun de les développer comme il l'entend, "c'est le geste qui compte". ;)

Citation

personne n'a jamais eu envie de faire quelque-chose avec les clans vampires?
Si si. Dans le cadre des discussions MR, existe l'hypothèse de transformer, à la base, le gameplay même du "vampirisme" : si tu connais "La Mascarade : Bloodlines", ce serait quelque chose du même genre : les avantages vampiriques on un prix élevé car ils sont une dépendance dégénérative : ne pas "assurer sa dose minimale" (de sang) produit une perte de capacités exponentielle, mais en abuser pour décupler ses pouvoirs conduit à la folie et à la mort : la "gestion" optimale consiste à maintenir un seuil d'équilibre entre "bestialité" et "humanité"... ou à guérir (ça ce n'est pas dans Bloodlines).
Mais il est très loin d'être sûr que nous pourrons aussi développer ça, on a déjà beaucoup de pains sur les planches^^.

Citation

les "3" ajoutés le sont par mesure de précaution, ne sachant pas vraiment si les variables sont, ou non, utilisées par d'autres scripts
[.....]
c'est sans doute les noms des variables qui provoquaient les bugs, j'avais un anneau accroché au pnj juste en face de moi. avec le mien, cela faisait sûrement des "interférences"...
Comme l'explique Elendell, non, ce n'est pas ça, aucune "interférence" n'existe entre des scripts ayant les mêmes noms de variables.
Par contre, s'il s'agit de deux exemplaires du même anneau... je ne sais pas mais ce n'est peut être pas impossible (les multiplications de références produisent des résultats étranges, souvent).

Citation

si on tue le cœur de lorkhan en un coup critique, il disparaît... même si on n'a pas utilisé broyeur et lamentation... je trouve ça étrange que les programmeurs aient laissé un truc comme ça... ça veut dire qu'on peut finir le coeur avec l'arme qu'on veut? bref, c'est hors sujet...
Oh tu sais les devs ont laissé passer tellement de choses, on n'est plus à ça près.
Même hors sujet c'est intéressant, et serait effectivement à corriger.
Mais en es-tu sûr, l'as-tu testé? Avec quelle arme et quelles stats?

********

EDIT :  On ne "tue" pas le coeur... le coeur est absolument increvable, il n'est là que pour (je veux dire en termes de script) mettre à jour la vulnérabilité de Dagoth : Dagoth reste en gros en "godmode" tant qu'on n'a pas frappé le coeur comme il faut. Ce n'est que lorsqu'une variable est mise à jour correctement dans le script du coeur par les frappes des armes adéquates que les stats de Dagoth reviennent à la normale.
Le coeur, lui, a toujours sa santé remise à 5000 à chaque frame quoiqu'il arrive, et son niveau de santé n'est absolument pas pris en compte dans son script.

... donc je ne comprends pas bien ce que tu veux dire par "on peut tuer le coeur en un seul coup critique".... ton vampire aurait-il réussi à tuer le script?!

Modifié par alliop, 06 mai 2009 - 02:15.

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#8 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 06 mai 2009 - 22:12

bonsoir,

première chose, dagoth n'a "que" 2000 HP, ce qui est, je le concède, tout à fait honorable...

hélas pour lui, je triche bien plus que lui et j'ai une épée qui fait 255-255 de dégâts, ça aide...

nul besoin d'être en vampire mais, encore une fois, ça aide. je peux néanmoins assurer que avec une arme 255-255, attaque fortifiée 600, 900 en force et avec un coup critique, on peut arriver aux quelques 5000 du coeur...

je précise que ceci n'est fait que pour tester et se défouler, à la base, je n'ai touché qu'à la stat "speed" qui est assez énervante, surtout au début.

bref, après avoir lu le script du cœur, j'ai eu du mal à comprendre comment je l'avais tué... mais le fameux code :

begin LorkhanHeart

short sunderHit
;were hit by Sunder THIS FRAME
short keeningHit
;were hit by Keening THIS FRAME
short countHits
;number of times you hit with Keening
short countSays
;make sure you don't Say over and over
short doOnce
;teleport Dagoth Ur once


if ( menumode == 1 )
	return
endif

if ( HeartDestroyed == 1 )
	if ( doOnce == 2 )
		return
	endif

	if ( CellChanged == 1 )
		Disable
		Set doOnce to 2
	endif

	if ( CellChanged == 0 )
		if ( GetSoundPlaying "endrumble" == 0 )
			;play rumbling sound after heart is dead, until player leaves
			PlayLoopSound3D "endrumble"
		endif
	endif
	if ( GetSoundPlaying "heart" == 1 )
		StopSound "heart"
	endif
	if ( GetSoundPlaying "heartSunder" == 1 )
		StopSound "heartSunder"
	endif

	return
endif

if ( sunderHit == 0 )
	;test if you hit with Sunder until you hit with Sunder
	Set sunderHit to HitOnMe Sunder
endif

;test if you hit with Keening every frame, also make heart immortal
Set keeningHit to HitOnMe Keening
SetHealth 5000

if ( doOnce == 0 )
	if ( GetDistance Player < 500 )
		"dagoth_ur_2"->PositionCell -40 2590 -180 320 "Chambre d'Akulakhan"
		"dagoth_ur_2"->StartCombat Player
	Set doOnce to 1
	endif
endif
	
if ( sunderHit == 1 )
	;play correct sounds before & after sunder
	;return if you've never hit with Sunder
	if ( HeartDestroyed == 0 )
		if ( CellChanged == 0 )
			if ( GetSoundPlaying "heartSunder" == 0 )
				PlayLoopSound3D "heartsunder"
			endif
		endif
	endif
else
	if ( CellChanged == 0 )
		if ( GetSoundPlaying "heart" == 0 )
			PlayLoopSound3D, "heart"
		endif
	endif
	return
endif

if ( keeningHit == 0 )
	;only process rest of script when hit with keening
	return
endif

;if player hit with Keening THIS FRAME, do all this stuff...

Set countHits to ( countHits + 1 )

if ( countHits == 0 )
	if ( countSays != 0 )
		Set countSays to 0
	endif
	return
endif

if ( countHits == 1 )
	if ( countSays == 0 )
		Say "vo\misc\Hit Heart 1.wav" "Qu'est-ce que tu fais ?"
		"dagoth_ur_2"->SetFight 100
		"dagoth_ur_2"->StartCombat Player
		Set countSays to 1
	endif
	PlayGroup Idle2
endif

if ( countHits == 2 )
	if ( countSays == 1 )
		Say "vo\misc\Hit Heart 2.wav" "Qu'est-ce que tu fais ?"
		Set countSays to 2
	endif
	PlayGroup Idle3
endif

if ( countHits == 3 )
	if ( countSays == 2 )
		Say "vo\misc\Hit Heart 3.wav" "Imbécile !"
		Set countSays to 3
	endif
	PlayGroup Idle4
endif

if ( countHits == 4 )
	if ( countSays == 3 )
		Say "vo\misc\Hit Heart 4.wav" "Arrête !"
		Set countSays to 4
	endif
	PlayGroup Idle5
endif

if ( countHits > 4 )
	if ( countSays == 4 )
		Say "vo\misc\Hit Heart 6.wav" "C'est la fin, la fin de tout..."
		Set countSays to 5
	endif
	if ( GetSoundPlaying "heart" == 1 )
		StopSound "heart"
	endif
	if ( GetSoundPlaying "heartSunder" == 1 )
		StopSound "heartSunder"
	endif
	PlayGroup Death1
	set HeartDestroyed to 1
endif

End

Spoiler

ça fait mal non? le script s'effectue chaque frame...
mais de toute façon, pas d'inquiétude, on ne va pas faire 5000 de dégats d'un coup...

je trouve ce script un peu sauvage, le coeur ne meurt pas parcequ'il n'a plus de vie mais parcequ'il a été frappé 5 fois avec lamentations... l'ennui, c'est que je ne trouve nule part l'entrée pour le journal... enfin bref, c'est bizarre ce script...

sinon, content de voir que tu es ouvert d'esprit, je suis partisan de l'énormebillisme voire du pachidermiquebillisme modéré, je n'utilise pas la console, je me contente de créer des items extrêmement puissants pour voir quelles sont les limites du jeu... d'autres collectionnent les timbres, c'est une passe-temps comme un autre non?

concernant mon problème de disposition, cela semble provennir de mon anneau de charisme, passer de 60 à 260 puis à 60 semble donner : 260=100 -> 60= -100 et donc, ils ne m'aiment plus...

enfin, c'est ce que j'en déduis, de toute façon, c'est pas bon de grosbilliser partout... j'ai aussi des ennuis avec le mode discrétion qui, à 1050 en discrétion, n'arrive pas à faire les poches de certaines personnes (mais à 1200, en vampire, ça marche...)

voilà, je m'éloigne bien du sujet, mais après tout, le code fonctionne alors on pourrait fermer le topic...

sinon, j'ai un autre code, pour un couteau suisse cette fois (marche dans le canton de schwyz pour ceux qui connaissent...)
je cherche à supprimer un objet de l'inventaire, l'objet en question a un poids nul et il faudrait le supprimer à chaque fois que "l'arme" est rangée...
"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...

#9 alliop

alliop

    Renaissance de l'art magique.


Posté 06 mai 2009 - 22:59

Voir le messageAurix, le 06.05.2009 à 23:11, dit :

je trouve ce script un peu sauvage, le coeur ne meurt pas parcequ'il n'a plus de vie mais parcequ'il a été frappé 5 fois avec lamentations... l'ennui, c'est que je ne trouve nule part l'entrée pour le journal... enfin bref, c'est bizarre ce script...
Rien de bizarre :
° d'abord on n'en a rien à faire, de "tuer le coeur" : c'est Dagoth, qu'il faut tuer.
Le coeur n'est là "que pour" mettre à jour le script de Dagoth et lui retirer son relatif "godMode" quand on a "détricoté" les enchantements de Kagrénac au moyen des outils de Kagrénac (n'est-ce pas logique?... si tu t'es un tant soi peu intéressé à la quête principale et aux raisons pour lesquelles on la fait, ça ne devrait pas t'étonner ; si ça ne t'intéresse pas du tout, bah... tu devrais plutôt jouer Oblivion, c'est un fps moyen mais qui peut avoir son charme, il y a de jolis paysages bien qu'un peu étroits).
Quand on a effectué cette opération, on n'a pas "tué le coeur", on lui a simplement retiré à lui aussi son god mode. (il y a un "return" en début de script après le test de la variable mise à jour par l'utilisation des outils, qui stope le "setHealth 5000" à chaque frame).
Le tuer en un coup "critique" (en japonais c'est le fameux "coup d'Hiroshima", en américain comme on est vraiment mégalo on dit "frappe de l'Etoile Noire"), veut bien dire lui retirer d'un coup plus de 5000 PV^^.

Citation

je suis partisan de l'énormebillisme voire du pachidermiquebillisme modéré,
:laughing1: Excellent... mais pourquoi "modéré"? passe donc au "cétacébillisme", il te restera toujours le "diplodocusobillisme", puis le "godzillabillisme"... mais je crains qu'après ça tu n'aies quelque peu épuisé l'intéret du jeu. :)

Enfin bref... continue à faire ce qui t'amuse, c'est fait pour!

Citation

sinon, j'ai un autre code, pour un couteau suisse cette fois (marche dans le canton de schwyz pour ceux qui connaissent...)
Ah d'accord : c'est le complexe national de ne pas avoir de bombe atomique qui s'exprime chez toi sous la forme du modding! (Je ne connais pas ce canton là mais d'autres, où j'ai d'excellents amis et plein de grands souvenirs).

Allez, t'shuss!

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#10 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 07 mai 2009 - 10:59

euh...
je dis "ou pas", je ne suis pas suisse, merci pour moi, la preuve? je parle français et je dis soixante dix... bref, le script qui rend ses hp au cœur se trouve bien avant les tests pour voir s'il est frappé par lamentation, j'ai du mal à croire que cette partie soit ignorée...  
et, comme mentionné plus haut, j'ai fini la quête principale de morro, bloodmoon et tribunal, je suis grand maître dans toutes les factions auxquelles on peut adhérer (ou l'équivalent : archimage, chevalier dragon impérial, grand chanoine...) et ce, sans code mis à part pour intégrer les 3 grandes maisons. j'ai donc le droit de m'amuser un peu sur l'île non?

sinon, évidement que c'est dagoth qu'on doit tuer mais c'est le coeur qui a le plus de vie alors bon... mais aussi, c'est le fait de tuer le coeur qui déclenche l'effondrement de la caverne d'après l'histoire je sais désormais que ce n'est pas le cas... bref, il est quand même bizarre dans le sens où on ne sait pas comment le journal se mat à jour...
"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...

#11 alliop

alliop

    Renaissance de l'art magique.


Posté 07 mai 2009 - 14:48

:peur:

Voir le messageAurix, le 07.05.2009 à 11:58, dit :

script qui rend ses hp au cœur se trouve bien avant les tests pour voir s'il est frappé par lamentation,
Oui mais ces tests mettent à jour une variable qui s'appelle, attention scoop : "HeartDestroyed".
Le son de l'écroulement de la caverne commence quand cette variable est à 1, et s'arrête quand le joueur sort de la caverne.

Citation

c'est dagoth qu'on doit tuer mais c'est le coeur qui a le plus de vie alors bon
Il n'y a aucun test de points de vie ni de mort effective du coeur.
On ne peut pas "tuer" le siège énergétique de l'âme de la divinité créatrice de l'univers. C'est pour ça que sa santé est remise à 5000 à chaque frame (d'ailleurs je sens que dans MR on va ajouter un ou deux 0).
La variable ne devrait pas s'appeler "HeartDestroyed" mais "HeartUnEnchanted", mais voilà : le dev qui a écrit ce script est un gros bourrin.
Le coeur est dés-enchanté quand HeartDestroyed == 1

Ton journal sera mis à jour quand tu seras sorti de la caverne, il me semble. Me souviens plus mais je pense que c'est le dialogue avec Azura, qui met le journal à jour.

Citation

j'ai donc le droit de m'amuser un peu sur l'île non?
Rhôô mais arrête de te justifier, personne ne t'attaque. Tu as le droit de t'amuser dès l'instant où tu as installé un jeu, et tant que tu es dans un jeu solo le "cheat" qui peut résulter de ton amusement avec l'éditeur ne lèse personne (sauf, éventuellement, toi-même... mais là, visiblement, non, alors tout va bien et de toute façon c'est ton problème).
J'ai pour ma part écrit une quête qui transforme le PJ en chasseur supersonique furtif next-gen (mais même la cheater dans l'éditeur, est une quête : reconstituer toutes les dépendances et toutes les mises à jour de variables nécessaires revient pratiquement à faire la quête dans l'éditeur au lieu de la faire in-game sleeping.gif ; d'ailleurs tes propres recherches et interrogations sur le fonctionnement de ces scripts sont une forme de quête, c'est ça qui m'intéresse).

Citation

je ne suis pas suisse, merci pour moi
Merci pour moi aussi, car je suis Suisse. La preuve? J'adore la fondue et j'essaye moi aussi de scripter des couteaux de poche multi-fonctionnels. :o

Bonnes suites :mdr:

Modifié par alliop, 07 mai 2009 - 16:04.

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#12 Orann

Orann

    Nérévarine de Pertevue


Posté 07 mai 2009 - 16:14

Citation

Ton journal sera mis à jour quand tu seras sorti de la caverne, il me semble. Me souviens plus mais je pense que c'est le dialogue avec Azura, qui met le journal à jour.


Je plussoie. J'étais moi-même sorti de la grotte à l'époque avec un sort de rappel. Erreur fatale puisque je n'avais pas pu rencontrer Azura... Je trouvais bizarre que personne n'ait remarqué que j'avais terrassé Dagoth alors j'avais du refaire le trajet jusqu'au cœur de la ruine pour voir Azura... qui ne s'attendait sûrement pas à me voir arriver derrière elle :mosc:
Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.

#13 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 07 mai 2009 - 18:00

euh, je veux bien mais premièrement, azura n'est pas venue pour me parler à ma sortie de la grotte (pourtant, j'ai bien tué dagoth comme écrit dans le contrat... oui là, ligne 42...) et le cœur aussi pour rire mais bon... ne revenons pas dessus... mais elle a l'air de boycotter ma perso cette azura parcequ'elle n'est pas apparue non plus quand j'ai os almalexia...

sinon, je suis désolé pour alliop, j'ai été traumatisé par mon dernier séjour en suisse, je déteste ne pas comprendre ce que je lis et là... ben c'était écrit en allemand... mais sinon, je n'ai rien contre la suisse hein?
et j'adore ton concept de quête, c'est sympa...

et euh, deuxièmement, dagoth dit que "ni rappel, ni intervention ne fonctionnent en ce lieu"... comment t'as fait? t'as pas plutôt fait coc?

bref, si tu veux mon script pour le couteau, je te le passe, il fonctionne plutôt bien (juste ce problème de faire disparaitre les outils)
"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...

#14 Orann

Orann

    Nérévarine de Pertevue


Posté 07 mai 2009 - 19:02

Citation

et euh, deuxièmement, dagoth dit que "ni rappel, ni intervention ne fonctionnent en ce lieu"... comment t'as fait? t'as pas plutôt fait coc?

Je suis sûr de ne pas avoir fait "coc" mais du coup, je ne sais plus très bien comment je suis sorti... En tout cas, je me rappelle très bien avoir du revenir pour rencontrer Azura...
Mais j'arrête le HS ici, nous sommes dans la partie "scripts crispants" :mosc:
Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.

#15 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 08 mai 2009 - 08:51

c'est pas faux, après tout, un problème, un sujet... et là... depuis le post 6, on est en plein hs... bref, j'édite le nom du sujet pour dire que c'est résolu et on poste plus... encore merci à vous pour votre aide chaque fois aussi rapide, promis, la prochaine question sera super compliquée...
"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)