Forum WTeam
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum WTeam

Le site des moddeurs 100% francophone.
 
AccueilPortailGalerieRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -34%
-34% LG OLED55B3 – TV OLED 4K 55″ 2023 ...
Voir le deal
919 €

 

 [TUTO] Les bases du script

Aller en bas 
2 participants
AuteurMessage
Attila
Spectre ArchipelModeur
Spectre ArchipelModeur



Masculin Nombre de messages : 788
Age : 32
Date d'inscription : 26/10/2006

[TUTO] Les bases du script Empty
MessageSujet: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitimeDim 04 Fév 2007, 09:37

LES BASES DU SCRIPT



LES COMMENTAIRES NE DOIVENT QU'ETRE POUR DES CHANGEMENT DE CECI OU CELA POUR ETRE PLUS TARD SINON ALLEZ DANS QUESTION SCRIPT (partie tuto) merci



Preface


Bon allé je me sens chaud a faire un tuto la ! Ceci est le premier des tuto de script. Les prochains seront pour les plus fort et ensuite sera expliqué des script bien precis qui servent beaucoups (des exemples qui ne demanderons qu'a etre un peut modifier pour les besoins) Enfin le dernier comportera la liste des fonctions, condition, et block expliqué et quelques commentaires de mes impressions.

Les script kesako (-_0)


Les script sont dans Gameplay menu > Edit scripts. Les scripts permettent de gerer certain evenement que les autres interface ne peuvent pas. Ainsi si je veux que quand PNJ 1 soit mort j'ai un message "Vous avez perdu" le message sera crée par script, voici ce script

Code:
scn mon_nouveau_script

begin gamemode
if getdeadcount MONPnj1 > 0
messagebox "Vous avez perdu","ok"
endif
end


Dernière édition par le Sam 10 Fév 2007, 09:43, édité 17 fois
Revenir en haut Aller en bas
Attila
Spectre ArchipelModeur
Spectre ArchipelModeur



Masculin Nombre de messages : 788
Age : 32
Date d'inscription : 26/10/2006

[TUTO] Les bases du script Empty
MessageSujet: Re: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitimeSam 10 Fév 2007, 09:32


Les commentaires


Ils permettent a d'autres scripteurs de comprendre a quoi sert chaque ligne. pour les utiliser, a la fin de la ligne de script mettez ; et ensuite crée votre texte. Voici le script precedent avec des commentaires pour que vous e compreniez meme sans connaitre le langage


Code:
scn mon_nouveau_script ;

begin gamemode ; En menu de jeu
if getdeadcount MONPnj1 > 0 ; si il y a eu plus de 0 mort de PNJ1
messagebox "Vous avez perdu","ok" ; fait le message suivant avec comme option de quitter "ok"
endif ; ensuite
end

Les references


Vous allez me dire, mais il n'y a qu'un PNJ1, je peux dire non. PNJ1 est une ID, ainsi il peut y avoir plusieurs versions de PNJ1. POur selectionnez qu'une seule version, on lui donne une reference, pour cela, double clicker sur PNJ1 dans le render window et donnez lui un nom (par exemple MonPNJ1ref) dans Reference Editor ID. Ainsi PNJ1 aura par exemple une reference MonPNJ1ref et une autre version sans reference. Mais la reference MonPNJ1ref permettera de cilber que lui et pas toutes les ID du PNJ1.

SI vous n'avez pas compris la difference entre ID et reference, veuillez relire, ceci est tres important.
Revenir en haut Aller en bas
Attila
Spectre ArchipelModeur
Spectre ArchipelModeur



Masculin Nombre de messages : 788
Age : 32
Date d'inscription : 26/10/2006

[TUTO] Les bases du script Empty
MessageSujet: Re: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitimeSam 10 Fév 2007, 09:33


Structure d'un script


Un script commence toujours par
Code:
scn nom_du_script
Ensuite on doit mettre le block que l'on veut
Code:
begin nom_du_block
(voir plus loins pour les connaitres)
Apres les differses conditions et fonctions
Puis le
Code:
end
Designant le fin du block. Il peut y avoir plusieurs block pour un seul script, mais attention a bien tout utilisé.
Exemple des block.
Code:
Begin onactorequip arme1 ; quand le pnj equipe l'arme1
Messagebox "Le pnj devients invinsible","ok"
end
Code:
Begin gamemode ; quand on est dans le jeu
Messagebox "Le pnj devients invinsible","ok"
end
Le block gamemode n'est pas le bienvenu dans se script puisque il signifie que des que l'on est en menu jeu, le messagebox se fait (attention le dernier script sera une boucle de messagebox, a ne pas faire)
Revenir en haut Aller en bas
Attila
Spectre ArchipelModeur
Spectre ArchipelModeur



Masculin Nombre de messages : 788
Age : 32
Date d'inscription : 26/10/2006

[TUTO] Les bases du script Empty
MessageSujet: Re: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitimeSam 10 Fév 2007, 09:33

Ou mettre les script


Tout script doit etre sur un objet sinon il ne marchera pas. par exemple le block onactorequip arme1 ne se fait que quand le PNJ qui a se script a l'arme1 equippé. Selon les block ou condition ou fonction, seul l'objet qui a ce script se verra avoir les fonctions de se script.
Pour cela dans double clicker dans l'ID du PNJ (objet window) et selectionnez le script dans SCRIPT. Un seul script pour un objet.
Et c'est la ou les references servent. Voici un script sur MonPNJ1
Code:

scn nom_du_script

begin onactorequip arme1 ; quand l'acteur MONPNJ1 equipe l'arme1
kill ; tue l'acteur
end

Ici c'est le MONPNJ1 qui meurt lorsque il equipe l'arme1
Maitenant si on veut que sa soit MONPNJ2 qui meurt lorsque MONPNJ1 equipe arme1
On met se script sur MONPNJ1 et on attribue une reference à MONPNJ2 (ex : ref)

Code:

scn nom_du_script

begin onactorequip arme1 ; quand l'acteur MONPNJ1 equipe l'arme1
ref.kill ; tue la reference ref
end


Voila, mais pourquoi n'a t'on pas mis une reference ref1 à MONPNJ1 et a t'on fait
ref1.kill
Tout simplement car MONPNJ1 a se script et on a pas besoin de mettre une reference car "kill"(tout court) agit sur le porteur du script.
Revenir en haut Aller en bas
Attila
Spectre ArchipelModeur
Spectre ArchipelModeur



Masculin Nombre de messages : 788
Age : 32
Date d'inscription : 26/10/2006

[TUTO] Les bases du script Empty
MessageSujet: Re: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitimeSam 10 Fév 2007, 09:34

Les variables

Il existe plusieurs types de variables
les variables short : petit chiffre
Les variables long : grand chiffre
Les variables float : nombre decimaux
les variables ref : les references
Pour crée une variable dans votre script on doit mettre cette ligne entre le scn et le premier block

Citation :

nom_dy_type_de_la_variable mavariable
Exemple
Citation :

scn nom_du_sript

Short mavar

begin ..... ; suite
J'ai ici crée une variable mavar du type short

Les variables permettent de determiner des choses et de verifier ou non des conditions
ainsi
Citation :

Scn test

short mavar

begin gamemode
if mavar == 1
startconversation player GREETING
endif
end
Signifie que lorsque mavar est a 1, Le pnj qui a se script sur lui va chercher le player et entamer une conversation

Une variable crée est a 0
, ainsi pour l'instant ma variable n'est jamais a 1.
Pour changer la valeur d'une variable on fait
Citation :

set mavar to nombre_qu_on_veut

Voici un autre script
Citation :

scn test2

begin onhit ; quand je touche le pnj qui a le script
set PNJ1.mavar to 1
endif
end
Plusieurs petites nouveauté, je n'est pas crée la variable pourtant le script marchera. J'ai changer une variable d'un autre script
Ainsi si on avait mis le script test sur PNJ1
La variable changé dans test2 est celle contenu dans PNJ1
Donc quand je touche le pnj qui a la script test2, je met la variable mavar de test du PNJ1 a 1 se qui engage la conversation
Ainsi pour changer une variable d'un script d'un PNJ on fait
Citation :
set PNJ.lavar to 1



ASTUCE
: Certaine fonctions font faire un bug dans le menu jeu
par exemple lorsque je fait
Citation :

Begin gamemode
messagebox "BUG""ok"
end
Il y a un messagebox BUG a chaque fois que l'on clique sur ok, donc toujour des messagebox. POur resoudre se probleme ou fait une variable Doonce. Doonce n'est qu'un nom comme sa, on peut appeller la variable "a" ou "josse" ou "haricotvert" ou "charlie" comme une variable normal. C'est de part son placement qu'elle fera la difference
Citation :

short Doonce
Begin gamemode
if Doonce == 0
messagebox "PAS BUG""ok"
set Doonce to 1
endif
end
Ici dans me menu jeu, on a une fois le message "PAS BUG" car Doonce est a 0 puis celle ci devient a 1. DOnc normalement sans Doonce on a un deuxieme message (et ainsi de suite) sauf que la, la condition n'est plus verifié. (Voir la partie des conditions en dessous pour plus de detail)
Et voila, une variable Doonce sert a ne faire qu'une action une seul fois (a noté qu'elle n'est pas toujour utilisé dans un script de menumode)
Exempe d'autre menu sur un PNJ
Citation :

Short a ; une variable Doonce
begin onactivate ; quand on active PNJ
if a == 0 ; si ma Doonce n'a pas servit
messagebox "Le PNJ est occupé" ; Un message apparait Le PNJ est occupé
set a to 1 ; Le doonce se met a 1
else ; sinon (donc a different de 1)
activate ; on active le PNJ. (en RP il n'est plus occupé)
endif ; ensuite
end ; fin
Donc la, on clicke sur PNJ, a premiere fois on a le messagebox, la deuxieme et les autres fois, le PNJ est bien activé normalement
Revenir en haut Aller en bas
Attila
Spectre ArchipelModeur
Spectre ArchipelModeur



Masculin Nombre de messages : 788
Age : 32
Date d'inscription : 26/10/2006

[TUTO] Les bases du script Empty
MessageSujet: Re: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitimeSam 10 Fév 2007, 09:37

Les conditions


Mohawk j'attend pour le menage
(essaye de pas suprimmer les partie de mon tuto ^^)

désolé pour les double post
^^
Revenir en haut Aller en bas
Mohawk
Maître ArchipelModeur
Maître ArchipelModeur
Mohawk


Masculin Nombre de messages : 1895
Age : 59
Date d'inscription : 27/10/2006

[TUTO] Les bases du script Empty
MessageSujet: Re: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitimeSam 10 Fév 2007, 10:47

Attila a écrit:
Les conditions


Mohawk j'attend pour le menage
(essaye de pas suprimmer les partie de mon tuto ^^)

désolé pour les double post
^^

C'est fait Clin d'oeil

Tu devrais mettre tes "citations" en blanc ou en cyan ça serait plus lisible ^^
Revenir en haut Aller en bas
Contenu sponsorisé





[TUTO] Les bases du script Empty
MessageSujet: Re: [TUTO] Les bases du script   [TUTO] Les bases du script Icon_minitime

Revenir en haut Aller en bas
 
[TUTO] Les bases du script
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [TUTO] Mon premier script
» [TUTO] Mon premier script de créature
» Comment est organisé un script ? TUTO pour les nuls !
» Le guide du débutant : Les bases du Construction Set.
» Script sur armure

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum WTeam :: Public :: Tutos TESCS2 Oblivion :: Les scripts, dialogues et quêtes.-
Sauter vers: