Pokémon Script Project Index du Forum

S’enregistrer | Rechercher | Connexion
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

[Tuto] Recette de scripteur débutant.

 
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Tutoriels
Sujet précédent :: Sujet suivant   

Que fait-on comme exercice ? (Modifier vos votes)
On construit un script, ensemble.
57%
 57%  [ 8 ]
On aide au script des autres qui ont besoin, ensemble.
14%
 14%  [ 2 ]
Patate Flambée
28%
 28%  [ 4 ]
Total des votes : 14

Auteur Message
Winers
Invité





MessagePosté le: Sam 7 Mai - 20:43 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Hellow'

I) Introduction


Nos petites recettes, j'ai crée ce topic pour dire nos petites astuces de scriptes.
Donc ça aidera les autres, car personnes sait tout, et je tiens a en parler tous ensemble.

II) Vocabulaire

If : Si
case : vérifiez le cas de
when : quand c'est égale
end : fin

= : égale
- : moins
+ : plus
== : est égale à
!= : n'est pas égale à
> : est supérieur à (plus grand que)
< : est inférieur à (plus petit que)
>= : est supérieur ou égale à
<= : est inférieur ou égale à


III) Recette

Tout d'abord je tiens parler de la présentation, faut que ça soit organiser.
Avec plein de commentaires, au lieu de rien mettre.

Ex :

Code:
#==============================================================================
# ■ Nom_de_la_classe
#------------------------------------------------------------------------------
#  Auteur
#  Version
#  Date
#------------------------------------------------------------------------------
#  Explications
#==============================================================================


Vous pouvez en mettre beaucoup plus,
comme vous voulez.

Après, la première chose très importante !
Mais comme nous allons ce concentrer sur les menus.

Ex :

Code:
class Menuexemple < Window_Base
  include POKEMON_S


C'est la principale chose,
par exemple, dans un script (Le PokéMatos),
une condition comme,

Ex :

Code:

if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        $scene = Menuexemple.new


Si, on appuis sur "Echap" ; "X" ...
On part dans le script Menuexemple.

Parlons un peu maintenant, des images.
Pour les charger.

Code:

    @back_haut = Sprite.new
    @back_haut.bitmap = RPG::Cache.picture("Options/menu_haut.png")
    @back_haut.x = 13
    @back_haut.y = 13
    @back_haut.z = @z_level
   
    @back_bas = Sprite.new
    @back_bas.bitmap = RPG::Cache.picture("Options/menu_bas.png")
    @back_bas.x = 13
    @back_bas.y = 227
    @back_bas.z = @z_level


"menu_haut" et "menu_bas", se sont des noms au hasard.
On peut les remplacer par quoi que se soit.

Voilà, il me reste plein d'astuces mais je n'ai pas le temps.
Au revoir et bonne chance !



Dernière édition par Winers le Lun 9 Mai - 08:37 (2011); édité 4 fois
Revenir en haut
Publicité






MessagePosté le: Sam 7 Mai - 20:43 (2011)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Elric
Membre


Inscrit le: 12 Nov 2010
Messages: 245
Alchimiste d'Etat
Localisation: Amestris

MessagePosté le: Sam 7 Mai - 22:40 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Eh ! Mais c'est le mien ce Hellow ^^ XD ! C'est pas grave tu peux le garder !
Sinon ton tuto est carrément démentiel ! J'adore ! Il est simple est très explicatif !
Revenir en haut
Visiter le site web du posteur Skype Facebook Twitter Yahoo Messenger ICQ AIM GTalk/Jabber
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Sam 7 Mai - 22:52 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

When ne s'utilise pas tout seul, et c'est pas cas mais case.
Revenir en haut
Facebook Twitter
Winers
Invité





MessagePosté le: Dim 8 Mai - 08:28 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Re'Hellow' !

III)Introduction
J'ai corriger la faute Clin d'œil foireux
Comme Yuri a envie de parler de When et case,
on va voir les variables !

IV)Vocabulaire

Il y a plusieurs sortes de variables.
Je rappelle qu'un variable peut contenir,
soit une chaîne de caractère, des nombres
soit un objet.

-Les variables globales : Elles sont valable partout, dans tous les scripts !
Alors attention à ne pas faire d'interférence en appelant 2 variables globales par le même nom !
Voici comment on les reconnait (Elles commencent par un $) :

Code:
$nom_de_la_variable


-Les variables d'instances : Elles ne sont valables que dans une classe, ainsi,
deux classe différentes peuvent avoir des variables d'instances qui ont le même noms.
Leur syntaxe (Elles commencent donc par un arrowbase/aerobase @) :

Code:
@nom_de_la_variable


-Les variables locales : Elles ne sont valables que dans les méthodes, ainsi, dans une même classe,
mais dans 2 méthodes différentes, on peut avoir deux variables globales au noms identique.
Leur syntaxe (Il n'y a rien devant, mais "nom_de_la_variable" doit s'écrire en minuscule uniquement) :

Code:
nom_de_la_variable


-Les constantes : Ce sont des variables qui ne varient pas,
leur portée est globale (tout le programme).
Leur syntaxe (Il n'y a rien devant, mais elles s'écrivent tout en majuscule) :

Code:
NOM_DE_LA_CONSTANTE


V) Recette



Maintenant un petit exercice qui ne fait pas de mal.
On va définir une variable, avec un nombre.

Ex :

Code:
@variable = 5


Et maintenant une chaîne de caractère.
(Avec autant de lettres et de chiffres que vous voulez :p)

Ex :

Code:
@variable = "Mon Tiplouf est de niveau 5 !"



Et nous pouvons aussi manipuler les variables par l'intermédiaire d'opérateurs.
Des calculs si vous préférez.
(Ils y sont tous dans le premier post).

Ex :

Code:

@variable = @variable1 + @variable2


Là, on dit que la variable est égale à la variable1 + la variable2.

Plus évoluer :

Code:

if @ma_variable == 1
    @mon_autre_variable = 5
end


Là, on dit que si ma variable est égale à 1 alors mon autre variable est égale a 5.

Mais on peut avoir besoin de dire : "Si @ma_variable vaut 1, alors rendre @mon_autre_variable égale à 8, si @ma_variable vaut 2, alors rendre @mon_autre_variable égale à 22..."
On va utiliser "case" dans ces cas là.

Code:
case @ma_variable
when 1
    @mon_autre_variable = 8
when 2
    @mon_autre_variable = 22
end


Voilà j'espère vous avoir aidé une fois de plus Clin d'œil foireux !
A bientôt !
Revenir en haut
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Dim 8 Mai - 09:30 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Correction :
Les constantes commencent obligatoirement par une majuscule [ A~Z ] et la suite du mon de la constante peut contenir ces caractères [ A~Z ], [ _ ],[ a~z ]; les constantes n'ont pas de portée globale, c'est faux, elle à une porté dans tout les modules/classe ayant pour ancêtre la classe/module dans lequel vous avez défini la constante, un script vierge est par défaut la classe Object et Object est l'ancêtre de presque toute les classes définie (sauf Kernel et d'autres exceptions) ce qui fait que les constantes définies hors d'une classe (donc dans Object) et valable partout.
ex : Ma_constante=5;MA_CONSTANTE=66;Ma_CoNsTante=35

Les variables locales doivent obligatoirement commencer par une minuscule ( [ a~z] ) ou par [ _ ], la suite du nom peut contenir : [ A~Z ] [ a~z ] [ _ ]; les variables locales sont valable que dans la méthode où vous la définissez.

ex : locale=5
lOCALE=5
_locale=5
__=5

Les variables d'instance commencent par @ et peuvent contenir : [ A~Z ], [ a~z ], [ _ ] dans leur nom, les variables globales qui commencent par $ et qui peuvent contenir les même caractères dans leurs noms.

Les variables de classe commencent par @@ et sont valables dans tout les objets étant de la même classe.
Revenir en haut
Facebook Twitter
Winers
Invité





MessagePosté le: Dim 8 Mai - 09:36 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Merci Yuri.
Mais la je pige pas trop lol.
Mais c'est bien de m'avoir corriger.
Revenir en haut
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Dim 8 Mai - 15:58 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

J'ai lu un script sur un forum il y a peu. Pour définir une constante valable de partout, je crois on peut utiliser (à la simple lecture) :
Code:
public const NOM_CONSTANTE
#FAUX : C'est du VBScript, pas du ruby


Pour une constante, si tu la créer dans ta classe (ou ton module) tu pourra l'utiliser dans les classes que tu créera DANS cette classe (ou module), mais si tu essaie de l'appeler dans une autre classe (ou un autre module) n'héritant, n'ayant pas comme ancêtre, d'ayant pas comme classe (ou module) supérieure (je sais pas comment tu l'a appris) ta classe (ou ton module) ça t'affichera un message d'erreur.

Pour la différence entre les variable @ et @@, les @ ne dépendent que d'un objet. Par exemple, si tu modifie la variable @couleur de ta $peugeot206 ($ ou autre) qui est un objet de ta classe Voiture tu ne modifiera pas la couleur de ta $wwgolf ($ ou autre) qui est un objet de la même classe Voiture ; évidement tu devra avoir définie @couleur auparavant.
En revanche, si tu as une variable @@nb_voitures que tu incrémente dans l'initialize de la classe Voiture et bien tu l'incrémentera pour tout les objets de classe Voiture. C'est une variables communes à chaque Voiture.


Dernière édition par Ku'rei le Dim 8 Mai - 18:04 (2011); édité 1 fois
Revenir en haut
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Dim 8 Mai - 16:40 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Tu as essayer ton code ?
Ce truc ne fonctionne pas, si tu veux que ta constante soit valable partout définie la dans la classe Object ou dans le module Kernel.
Code:
Cmd: public const NOM_CONSTANTE
(eval):1: warning: parenthesize argument(s) for future version

Err: undefined method `const' for main:Object


public est utilisé pour les méthodes.
Code:
class Ma_classe
  def test
  end
  public :test
end


Edit : après la première lettre d'une variable on peut mettre un chiffre, j'ai oublier de le dire.
Revenir en haut
Facebook Twitter
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Dim 8 Mai - 18:03 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Je n'ai effectivement pas tester le code. Mais je suis retourné sur le forum où je l'avais vu, et bien c'est du VBScript --' Désolé pour la confusion. J'edite mon message.
Revenir en haut
Noty!
Invité





MessagePosté le: Dim 8 Mai - 21:07 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Superbe, vraiment bien ce tuto!
Même si je n'ai pas vraiment le temps d'apprendre le script maintenant, je sens que ça va en aider plus d'un!
Revenir en haut
Elric
Membre


Inscrit le: 12 Nov 2010
Messages: 245
Alchimiste d'Etat
Localisation: Amestris

MessagePosté le: Dim 8 Mai - 22:14 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Excusez-moi mais que veut dire
Code:
public :test

???
Revenir en haut
Visiter le site web du posteur Skype Facebook Twitter Yahoo Messenger ICQ AIM GTalk/Jabber
Winers
Invité





MessagePosté le: Lun 9 Mai - 08:35 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Hellow' !

J'ai vu qu'on a beaucoup a apprendre.
Et que plein de personne connais un minimum.

Donc j'ai décidé, soit de faire un script ensemble.
Ou d'aider les gens qui on besoin d'aide dans leurs scripts.

Comme ça on va apprendre en même temps qu'on le fait.
C'est un exercice quoi 42

Votez au sondage Clin d'œil foireux
Revenir en haut
RevengeOfShadow
Membre


Inscrit le: 10 Jan 2009
Messages: 652
Localisation: Devant son PC
ID Steam: RL77LUC

MessagePosté le: Lun 9 Mai - 16:43 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Sympa, mais tu devrais regrouper tes deux posts pour grouper ça je trouve ...
Revenir en haut
Visiter le site web du posteur
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Lun 9 Mai - 21:37 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Mijumania a écrit:
Excusez-moi mais que veut dire
Code:
public :test

???


Ça permet de rendre une fonction qui serait normalement spécifique à une classe, un module, publique c'est-à-dire utilisable dans n'importe quel autre classe ou module.
Revenir en haut
Elric
Membre


Inscrit le: 12 Nov 2010
Messages: 245
Alchimiste d'Etat
Localisation: Amestris

MessagePosté le: Mar 10 Mai - 19:46 (2011)    Sujet du message: [Tuto] Recette de scripteur débutant.

Ah Ok ! Merci encore Kurejii ! Après mes exams je vais m'y mettre plus sérieusement !
Revenir en haut
Visiter le site web du posteur Skype Facebook Twitter Yahoo Messenger ICQ AIM GTalk/Jabber
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 18:18 (2017)    Sujet du message: [Tuto] Recette de scripteur débutant.

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Tutoriels Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)
Traduction par : phpBB-fr.com