[Résolu] Aide script : ajout de capacité lors d'équipement d'un objet

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Oblivion.
itashi76
Moddeur aspirant
Moddeur aspirant
Messages : 82

Aide script : ajout de capacité lors d'équipement d'un objet

Message par itashi76 »

Voila j'ai créé un script pour donner(é) une capacité au joueur quand il s'équipe d'une épée :

Code : Tout sélectionner

scn ITScriptLamedesmort

short Epee 

	Begin OnEquip
	
		if (player.getequipped ITLamedesmort == 1) 
			Set Epee to 1 
		else 
			Set Epee to 0 
		endif 
	
		
		if 
			(Epee == 1)

			Message "Vous sentez votre puisance augmenter mais aussi que l'épée absorbe petit a petit votre âme."
			player.addspell ITSpellLamedesmort
		else
			( Epee == 0)	
			player.removespell ITSpellLamedesmort
		endif
		
	end
Mais quand je veux l'enregistrer(s)ça me (m'est)met "line 15 script command "Epee" not found."

Merci d'avance pour votre réponse.
Modifié en dernier par itashi76 le 20 juin 2015, 18:41, modifié 4 fois.
Le savoir est une arme.
Avatar du membre
Karaiq
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 1548

Re: Aide script

Message par Karaiq »

Salut itashi,

tout d'abord, fais un effort quant à ton écriture parce que tu fais beaucoup de fautes... Des fautes que tu pourrais éviter en te relisant, par exemple. De plus, si tu veux modder et publier tes créations sur la Confrérie, il est toujours plus agréable (et quasiment nécessaire) que les mods proposés sur la Confrérie soient rédigés dans un bon français.

Maintenant, en ce qui concerne ton script... Il faut que "(Epee == 1)" soit sur la même ligne que le "if" ! Ensuite, pas besoin de mettre "(Epee == 0)" après le else. Comme de toute façon, soit l'épée est équipée, soit elle ne l'est pas. Il n'y a que deux possibilités ! ;)

Ensuite, normalement ton script devrait fonctionner, cependant, tu pourrais l'optimiser, le rendre plus simple ! Par exemple en utilisant "Begin OnEquip" (comme tu l'as fait) pour ajouter le sort et "Begin OnUnequip" pour le retirer au lieu de te casser les pieds avec une variable qui sert à voir quand l'épée est utilisée ou non ! Bien sûr, il faut lier le script à l'épée. Parfois il est mieux d'utiliser le moins de variables possible. Pourquoi ? Aucune idée, j'ai déjà eu des crash ou des problèmes étranges en utilisant des variables dans certains contextes.

Et sinon, pour en revenir au côté orthographe : "Lamedesmorts" (j'imagine qu'il est un peu tard pour corriger ça comme plusieurs ID doivent avoir cette faute ^^) et "absorbe petit à petit".

Voilà, bon courage !
itashi76
Moddeur aspirant
Moddeur aspirant
Messages : 82

Re: Aide script

Message par itashi76 »

Merci pour ta réponse et désolé pour mon orthographe.

Pourrais-tu m'expliquer comment utiliser(é) "Begin OnEquip" et "Begin OnUnequip"?
Modifié en dernier par itashi76 le 20 juin 2015, 18:41, modifié 4 fois.
Raison : .
Le savoir est une arme.
Avatar du membre
Karaiq
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 1548

Re: Aide script

Message par Karaiq »

itashi76 a écrit :Merci pour ta réponse et désolé pour mon orthographe.
De rien, et merci à toi de t'être mieux appliqué dans ton dernier post ! :) Si tu veux éviter des fautes bêtes, tu peux aller voir "Les astuces de Capello" dans le salon de discussion.
itashi76 a écrit :Pourrais-tu m'expliquer comment utiliser(é) "Begin OnEquip" et "Begin OnUnequip"?
Ce n'est pas compliqué du tout ! Tout est dit sur le wiwiki.

Donc pour récapituler : "Begin OnEquip" fait que le bloc ne s'exécute qu'une fois. Et ce lorsque l'objet auquel le script est lié est équipé. Donc tu mets dans ce bloc ce que tu veux qu'il se passe quand le joueur (si tu veux que cela ne se passe que pour le joueur, alors il faut que tu précises "player" après "Begin OnEquip", sur la même ligne hein ! :P ) équipe l'arme en question. Ce que tu veux, c'est donc que le joueur se voit ajouter le sort ITSpellLamedesmort.

Ensuite, tu fermes ce premier bloc, tu ouvres le bloc "Begin OnUnequip" dans lequel tu retires le sort du joueur ! Cela devrait fonctionner... Après on ne sait jamais, tu me diras si c'est bon ! ^^
itashi76
Moddeur aspirant
Moddeur aspirant
Messages : 82

Re: Aide script

Message par itashi76 »

Merci pour ton explication, j'ai essa, ça marche et ça va me faire gagner du temps pour mes prochains scripts.
Modifié en dernier par itashi76 le 20 juin 2015, 18:41, modifié 5 fois.
Raison : .
Le savoir est une arme.
Avatar du membre
Karaiq
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 1548

Re: Aide script

Message par Karaiq »

De rien ! Et bon modding.
itashi76
Moddeur aspirant
Moddeur aspirant
Messages : 82

Re: Aide script

Message par itashi76 »

J'aurais encore besoin d'aide. J'ai créer une variable "Kill" et je voudrais augmenter sa valeur pour chaque ennemis tué.
Le savoir est une arme.
itashi76
Moddeur aspirant
Moddeur aspirant
Messages : 82

Re: Aide script

Message par itashi76 »

Bonjours je voudrais insérer dans un script une fonction qui me permettrait de gagner des points d'expérience en fonction du niveau de l'ennemis vaincue, mais je ne trouve pas de fonction basée sur le niveau de l'ennemi.
Modifié en dernier par itashi76 le 20 juin 2015, 18:41, modifié 4 fois.
Raison : Passage d'un disciple.
Le savoir est une arme.
Avatar du membre
Lucead
Moddeur aspirant
Moddeur aspirant
Messages : 286

Re: Aide script

Message par Lucead »

Je suis pas expert en script, mais à ta place, je regarderais du côté de cette fonction : http://www.creationkit.com/GetActorValue_-_Actor
Modifié en dernier par Lucead le 20 juin 2015, 18:41, modifié 4 fois.
Raison : C'est du conditionnel ici :)
itashi76
Moddeur aspirant
Moddeur aspirant
Messages : 82

Re: Aide script

Message par itashi76 »

J'ai déjà regardé, le problème c'est qu'il n'y a pas pour le niveau.
Modifié en dernier par itashi76 le 20 juin 2015, 18:41, modifié 4 fois.
Raison : Passage d'un disciple.
Le savoir est une arme.
Répondre

Retourner vers « Modder Oblivion »