Aller au contenu


Idées De Script


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

#1 ced

ced

    les météores


Posté 31 mai 2012 - 22:59

Le but de ce topic est de proposer/faire partager quelques scripts bien sympa :)
Vous avez un script (long ou ptit) avec un minimum d'explications sur son principe : n'hésitez pas à le faire partager.


Je commence donc par vous en fournir un :
un ptit script simple que j'ai fini hier et qui marche très bien : le Capuchon de Nocturne
Ce capuchon ou plutot ce Script vous fera passer sous anonymat vos crimes de n'importe quelle région de Skyrim.
Image IPB

Ptite explication de son fonctionnement :
Spoiler

C'est parti pour le Script.
C'est un Script Objet donc de type ObjectReference à mettre sur un capuchon, un masque, ou un casque  (enfin n'importe quoi qui puisse s'équipper)
Spoiler

Comme vous l'avez vu, il y a 9 variables de type "Property" Faction, et 1 "Property" Actor
Cliquez droit sur le script attaché et cliquez sur Edit Properties, et remplissez comme ceci :

Citation

pour l'Actor PlayerRef mettez PlayerRef (cell : any) (vous pouvez le remplir en Auto-Fill)
pour la faction CFEastmarch  mettez CrimeFactionEastmarch
pour la faction CFFalkreath  mettez CrimeFactionFalkreath
pour la faction CFHaafingar,  mettez CrimeFactionHaafingar
pour la faction CFHjaalmarch,  mettez CrimeFactionHjaalmarch
pour la faction CFPale  mettez CrimeFactionPale
pour la faction CFReach  mettez CrimeFactionReach
pour la faction CFRift  mettez CrimeFactionRift
pour la faction CFWhiterun  mettez CrimeFactionWhiterun
pour la faction CFWinterhold  mettez CrimeFactionWinterhold
Exemple :
Image IPB
Et le tour est joué :)

PS :
et si vous avez des questions, ou des idées de scripts testés qui fonctionnent - n'hésitez pas.
Je posterai d'autres idées de scripts que j'ai pour plus tard.

#2 Naalu Naiglemez

Naalu Naiglemez

Posté 02 juin 2012 - 21:57

Des petits scripts complets faciles à appliquer et bien commentés pour la compréhension, je trouve l'idée intéressante d'autant que cela ne court pas beaucoup le web.

Je débute sur Creation Kit et je me suis amusé à réaliser celui-là rattaché à un container (j'ai choisi par exemple le coffre à l'étage de Douce Brise à Blancherive).
L'effet produit est que lorsque le joueur active le container, celui-ci descend ou monte selon que le joueur est en mode discrétion ou pas :

Image IPB

Spoiler

Modifié par Naalu Naiglemez, 03 juin 2012 - 05:46.

Commencer c'est bien, finir c'est mieux

#3 Tony67

Tony67

Posté 03 juin 2012 - 17:10

Un script très basique mais qui peut être utile (j'ai mis en gras les modif à faire)

Activer un message en activant un objet (y compris les coffres et portes)
Par exemple pour faire un message en ouvrant un coffre interdit (juste une fois) :

Citation

Scriptname Newmessagecoffreinterdit extends ObjectReference  
{un seul message à l'ouverture}

int count  ;stores the number of times this object has been activated

Event OnActivate(ObjectReference akActionRef)
count = count + 1

if count == 1
   Debug.MessageBox("Attention ce coffre appartient aux seigneur noir")
endif
endEvent


Voilà c'est un script basique mais sa aiderai les débutants comme moi dans leurs première approche des scripts

Et Pour placer une pièce d'armure sur un mannequin.
Double clic sur la pièce d'armure (que vous aurez mis au sol à côté du mannequin) --> "Linked Ref" ----> vers "PlayerHouseMannequin"
Ensuite il faut créer un nouveau script sur l'objet.
(Avec ce script l'objet se mettra automatiquement sur le mannequin au chargement de la cellule in-game)

Citation

scriptname DefaultAddToLinkonLoadSCRIPT extends objectReference
{Add the reference to the linked container or actor inventory on Load}
import Debug
import Utility

bool Property ShouldEquip = FALSE Auto
{
OPTIONAL: Set to TRUE if you want the actor to equip this item also. (DEFAULT = FALSE)
Warning! - Has to be an actor!
}
bool Property ForceEquip = FALSE Auto
{
OPTIONAL: If set to TRUE the actor cannot unequip this themselves (ShouldEquip MUST be TRUE also). (DEFAULT = FALSE)
Warning! - Has to be an actor!
}
bool Property AlreadyLoaded = FALSE Auto hidden
;;bool Property AllowDuplicates = FALSE Auto
;;{Check TRUE if you want the script to add the item even if the LinkRef already has one in its inventory (Default FALSE)}

Event onCellLoad()

if AlreadyLoaded == FALSE
getLinkedRef().addItem(self, 1, true)
;Trace("DARYL - " + self + " added to " + GetLinkedRef())

if (ShouldEquip == TRUE)
(getLinkedRef() as Actor).EquipItem(self.GetBaseObject(), ForceEquip)
;Trace("DARYL - " + self + " equipping onto " + GetLinkedRef())
endif
AlreadyLoaded = TRUE
endif

endEvent


Modifié par Tony67, 03 juin 2012 - 17:11.


#4 ced

ced

    les météores


Posté 05 juin 2012 - 14:49

Tout d'abord, merci à ceux qui participent 8)
J'encourage vivement d'autres personnes à venir faire partager leur savoir avec leur scripts, cela pourrait donner un coup de pouce aux novices dans le scripting Skyrim...
et puis comme Naalu le dit : "cela ne court pas beaucoup le web"

Aujourd'hui je vous propose l'Arc d'Aragon...
Le concept du Script vient d'un mod de Morrowind, voir ici
Ensuite, il a été soigneusement reconverti pour Oblivion puis enfin Skyrim par Ethaniel (dont je remercie d'avoir accepté de le faire partager)

Une fois ce script Objet attaché à un arc, il a pour but donc d'invoquer ses propres flèches lorsqu'on s'équipe de l'arc :)
Image IPB :monstre: :elf:

En premier lieu, dupliquez un arc existant dans la catégorie Weapon (prenez celui qui vous plait), ensuite renommez l'ID et changez ses stats si vous voulez...
Dans la partie "Papyrus Scripts" (en bas à droite), faites un Add puis [New Script] ...
Ensuite, Name : AA_WiwilandBowScript  (ce n'est qu'un exemple, mettez le nom que vous souhaitez au script)

C'est parti pour le Script : (Attention ce Script ne marche que pour le joueur : l'arc n'invoquera pas les flèches si un de vos compagnons s'en équipe)
Spoiler
Ensuite sauvegardez (normalement 0 errors), fermez la fenêtre de script.
Clic droit sur le script attaché, clic sur Edit Properties
et pour la variable Fleche, mettez le type d'Ammo (flèches) que vous souhaitez...
Image IPB

Par exemple, moi j'ai mis BoundArrow (puissance équivalente aux flèches daedriques), effet spectral (flèche liée) voir mon screen tout en haut :)
Enfin, il vous restera à rajouter l'Arc quelque part (dans un coffre, en vente chez un marchand, ou par terre dans une Cell) pour qu'il soit accessible dans le jeu.
--------------------------------------

Maintenant si vous voulez que l'Arc marche aussi avec vos compagnons :
(n'importe quelle personne s'équipant de l'arc, aura ses flèches invoquées)
Spoiler
Image IPB

#5 iBlackBird

iBlackBird

Posté 06 juin 2012 - 13:18

Voir le messageced, le 05 juin 2012 - 14:49, dit :

Tout d'abord, merci à ceux qui participent 8)
J'encourage vivement d'autres personnes à venir faire partager leur savoir avec leur scripts, cela pourrait donner un coup de pouce aux novices dans le scripting Skyrim...
Une excellente idée de topic qui me fait recharger le Creation Kit après l'avoir ouvert une première fois, et supprimé dans la foulée, épouvanté par la complexité!

... bon, c'est pas gagné en partant du niveau zéro (et peut-être moins) ...

Je vais donc essayer de créer deux anneaux utilitaires

-le premier, tout simple (pour la mise en jambes) lancera le sort "Illumination" en conditions de lumière faible.
Lancer le sort et non pas simplement générer une lumière pour la dépense de mana.

-le deuxième sera beaucoup plus compliqué (pour moi),
Un anneau de défense qui lancerait "Corps de ..." en situation de combat et bien entendu qui le relancerait toute la durée du combat.
Une facilité de gameplay, pas une hérésie car je suis persuadé que si Merlin ou Gandalf revenaient maintenant, ils mettraient un casque pour rouler en scoot, sans se poser de questions. "Corps de ..." peut être vu comme un automatisme, au contraire  des sorts de barrière qui sont une action volontaire et un acte de combat. Et toujours le sort pour la dépense de mana qui risque de devenir critique dans les situations tendues.

... après, avoir toute la collection des anneaux "Corps de ..." ou alors créer le premier "Corps de chêne", le rendre upgradable à la forge, les conditions étant la possession de l'anneau "Corps de chêne et du Livre de sort "Corps de pierre" (etc ... etc ...)
Arf, la question se posera quand j'aurais une barbe blanche ... :agedor: mais l'upgradable  serait un peu mon Saint Graal à moi.

Voilà, je ne vous remercie pas pour ce topic qui va encore faire chuter ma productivité personnelle. :lol:

... et ne vous moquez pas, je suis certain que vous tous seriez capables d'écrire ce genre de choses de la main gauche tout en faisant un top-score de la main droite à Tétris ;)

#6 ced

ced

    les météores


Posté 06 juin 2012 - 13:51

Super! :)
Je t'encourage, avec un peu de volonté, on peut y arriver... je sais que lorsqu'on part de 0, c'est... bah c'est la galère :icon8:
Lorsque le Creation Kit est sorti, j'ai du repartir à 0 à cause du nouveau langage (j'ai du mettre 10j pour m'y faire).

Bref quelques petits trucs :
http://www.creationk...ategory:Papyrus  (le listing officiel des Events, Functions, Scripts Objects...)
http://www.creationk...:Script_Objects  (le différents type de scripts attaché aux objets comme Actor, Armor, Weapons, Magic Effect, Activator...)
http://www.creationk...Category:Events  (Events, ce sont ces fameux blocs contenant l'essentiel d'un script et qui s'enclenche à un moment précis)

eh oui :green: c'est en anglais, mais bon avec google traducteur, ça peut le faire...

#7 iBlackBird

iBlackBird

Posté 06 juin 2012 - 15:18

:mdr: Rholala, les quelques petits trucs ...ressorti le Harrap's

#8 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 03 juillet 2012 - 18:47

Coucou, je sais, je n'aurais pas dû mais je t'ai fait ton script... par contre, je ne peux plus lancer le ck à cause d'un caprice de steam donc, je n'ai pas pu le tester :
Scriptname AuEbonySkinRing extends ObjectReference  

Spell Property MySpell auto  ; notre sort, à paramétrer soit dans les propriétés de l'objet, soit directement ici

Event OnCombatStateChanged(Actor akTarget, int aeCombatState)

	if ( aeCombatState == 1 ) ; si on est en combat
	MySpell.cast(akTarget)  ; on lance le sort
  elseif ( aeCombatState == 2 || aeCombatState == 0 ) ; si l'ennemi nous cherche ou si on n'est plus en combat
	akTarget.DispelSpell(MySpell)  ; on efface le sort
  endif

endEVENT
Bon, évidement, il faudra ensuite choisir ton sort, quitte à en créer un pour l'occasion (conseillé même pour éviter de dispell les sorts en cours) perso, je passerais par un effect personalisé pour un sort silencieux et à effet constant mais, c'est toi qui vois
"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 Gérauld

Gérauld

Posté 03 juillet 2012 - 19:03

L'event oncombatstatechanged() est un event du type actor et ne devrait pas déclencher sur un anneau (A vérifier cependant en testant le script d'Aurix car je ne suis pas sûr de mon coup).
Ce qu'il faut c'est faire un script attaché à un referencealias pointant sur le joueur et utiliser cet event.
Dans cet event, on testera si l'anneau est équippé en plus du combatstate.
Si plusieurs objets doivent avoir le même effet, autant créer un keyword signifiant la présence de cet effet et tester si le joueur porte quelque chose avec le keyword sur lui avec un wornhaskeyword().
De cette manière, ça devrait fonctionner.

Modifié par Gérauld, 03 juillet 2012 - 19:04.

L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#10 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 03 juillet 2012 - 20:52

je vais pas te le dire à chaque fois mais t'es un dingue toi... en effet, ça ne fonctionne pas, j'ai essayé avec une dunmer fraichement échappée, elle s'est fait tuer...

bref, je pense qu'on a meilleur temps de faire un sort conditionnel, c'est plus simple...

Edith : ah, bawai, effectivement, c'est plus simple... une condition IsInCombat sur l'enchantement d'un anneau, prendre exemple sur les enchantements du sort OakFlesh pour une compatibilité avec le perk...

parfois, faire simple, c'est cool aussi ^^

Modifié par Aurix, 03 juillet 2012 - 21:06.

"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 Gérauld

Gérauld

Posté 03 juillet 2012 - 21:47

Effectivement, ça marche et c'est plus simple. ;)
L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#12 pierremarie

pierremarie

Posté 07 novembre 2012 - 12:33

Bonjour messieurs, ou mesdames, ou les deux…
Ou Orck., ou Orckasse…
Je ne vais pas m’en sortir… Altmers, Dunmer, etc…
Ca va prendre la journée.

Soyons consensuels

Bonjour chers habitants de Bordeciel !
(celui qui me dit qu’il habite Cyrodil SORT !!!)

Après cette intro laborieuse, à propos de laquelle je tiens à m’excuser, c’est dur d’être geek et drôle, comme vous le savez sûrement déjà.

Bref, malgré la tentative désastreuse de Bethesda de me faire croire que ce serait simple en appelant ça « Papyrus », je galère !
Je cherchais depuis quelque temps sur internet un moyen de comprendre ou de m’informer sur ce que je nommerais pudiquement içi
Le codage.

Donc merci !
D’exister, tout simplement.

La chose qui m’intéresserait le plus serait de pouvoir faire apparaître des choses au cours d’une quête.

Je m’explique.
J’ai fait une petite maison, une quête se déclanche au cours de laquelle on peut recruter un ouvrier par exemple. Celui-ci vous dit qu’avec 5000 Po il pourrait vous construire une scierie et l’exploiter pour vous.
(l’objectif est de permettre aux joueurs de construire sa propre ville en recrutant des PNJs spécialisé)
Bref, une fois que je lui donne 5000 Po, est-ce que vous croyez qu’il serait possible de faire alors apparaître une forge que j’aurais créer à coté de ma maison ?

#13 Aurix

Aurix

    La Bidouille ou un truc comme ça


Posté 10 novembre 2012 - 02:15

Bonsoir, tout d'abord, je tiens à préciser que ma résidence principale étant à Balmora, je *PAF*

Bon, ok, pour une maison, tu commences par créer ton village entier dans le CK, si tu veux le détruire aussi, tu mets tes cendres de maison au même endroit que les maisons, tu mets tout ce dont tu auras besoin.

ensuite, tu coches la petite case "initialy disabled" dans le menu "double clic" de l'objet (de ta forge/maison/scierie/piscine olympique/maison des plaisir terrestres, ce que tu veux)

et après, soit tu lui donnes un nom explicite, soit tu la joues warrior et tu retiens son ID (je te conseille le nom mais tu fais ce que tu veux)

Bref, tu as ton village caché dont chaque maison a un nom, maintenant, dans ton script, tu vas devoir déclarer que tu vas travailler sur ta maison... (si un dev passe par ici, pas taper, c'est pour simplifier...)
Pour rire, un script que tu peux attacher à un bouton :
ObjectReference Property MaMaison1 Auto
ObjectReference Property MaMaison2 Auto

event onActivate(objectReference qui)
	MaMaison1.enable()
	MaMaison2.enable()
endevent
Dans l'hypothèse où tu as appelé chacune de tes maisons "MaMaison" suivi de son numéro, tu en mets autant que tu as d'objets à afficher. Par contre, ça va te les faire apparaitre tous d'un coup donc, soit tu fais un fade out puis un fade in pour faire style il s'est passé du temps, soit tu essayes de faire joujou avec un timer mais ça, j'ai pas trop essayé...

enfin, ça, c'est si tu bosses sur un script tout seul, si c'est dans un dialogue, c'est un tout petit peu différent mais ça fonctionne pareil (juste, cette histoire d'event qu'il ne faut pas mettre)

pour les fonctions que tu peux utiliser, elles ne sortent pas de nul part, elles sont listées ici, marque la page, tu verras, elle est utile.

sinon, cherche dans le forum, il me semble que Gérauld s'est fendu de deux tutos à ce sujet...
"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)