Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

183 connectés actuellement

30731842 visiteurs
depuis l'ouverture

1820 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

New RPG Maker

Offgame

Alex d'Or

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

Aller à la page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73

Reprise du message précédent:

Joke - posté le 28/06/2013 à 00:46:59 (5090 messages postés)

❤ 0

Bilouteux fou

Estheone a dit:

applique-les dans son image avec 18 éléments et tu vas vite voir le problème. :D



Bien vu, il ne faut pas faire "%= @item_max - 1" mais simplement "%= @item_max" pauvre abruti incompétent nul que je suis.

Je corrige. J'ai corrigé.

biloumaster.fr, mon joli site ouèb tout bô tout frai !


Suite du sujet:

Estheone - posté le 28/06/2013 à 02:04:44 (312 messages postés)

❤ 0

Désolé mais ça suffit toujours pas. :F
Partons de l'élément en bas à gauche sur l'image (@index = 15)
En faisant bas avec ta formule :
@index = 15+15 = 30
@index = 30%18 = 12
On retombe pas sur 0.
Un simple modulo avec @item_max ne fonctionne pas quand @item_max n'est pas multiple de @column_max... et c'est bien pour ça que c'est la merde cette histoire. :D

Je viens aussi de me rendre compte que mes formules sont moisies et ça va faire les sons inutilement quand il y a 15 éléments ou moins.

Bon au final :

Portion de code : Tout sélectionner

1
2
3
4
5
# Move cursor down
          last_index = @index
          @index += @column_max
          @index = (@index%@column_max) if @index >= @item_max
          $game_system.se_play($data_system.cursor_se) if last_index != @index


Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
# Move cursor up
          last_index = @index
          @index -= @column_max
          if @index < 0
            max_rows = 1+((@item_max-1)/@column_max)
            @index += max_rows*@column_max
            @index -= @column_max if @index >= @item_max
          end
          $game_system.se_play($data_system.cursor_se) if last_index != @index


J'ai testé tous les cas possibles et ça fonctionne.

Wandering Souls : Jeu complet / Topic sur Oniro


Joke - posté le 28/06/2013 à 09:59:44 (5090 messages postés)

❤ 0

Bilouteux fou

Ah, dans ce cas je comprends mieux ta méthode. Effectivement, pour "Bas" c'est une bonne idée, mais pour "Haut" je pense qu'on peut aussi faire :

Portion de code : Tout sélectionner

1
2
3
4
5
6
# Move cursor up
          last_index = @index
          @index -= @column_max
          @index %= (@item_max.to_f/@column_max).floor*@column_max
          @index = [@index, @item_max-1].min
          $game_system.se_play($data_system.cursor_se) if @index != last_index



Et je soutiens que :

@index %= @column_max if @index >= @item_max

Est plus joli que :

@index = (@index%@column_max) if @index >= @item_max

biloumaster.fr, mon joli site ouèb tout bô tout frai !


moska - posté le 28/06/2013 à 10:54:53 (120 messages postés)

❤ 0

Logiciel : vx
script : SBS

J'aimerais savoir comment changer la direction des héros en combat. Genre qu'ils regardent à droite au lieu d'à gauche. J'ai cherché dans les script mais je n'ai pas trouvé/mal regardé.
Merci


cortez - posté le 28/06/2013 à 11:22:08 (524 messages postés)

❤ 0

Je vous répond directement, je ne sais pas pourquoi mais lorsque
que j'ai modifié le scripts selon vos formules, je saute une ligne lorsque
je presse Down ou Up, et c'est valable pour les 2 versions.
(Joke et Estheone).

Il a fallu que je clone le script Windows_selectable (c'est lui qui
faisais tout foirer car window_item < window_selectable)
Je l'ai renommé window_selectable_item et j'ai changé les
dépendances des script liés.

Ainsi tout marche (pour le moment) et je n'ai aucun conflit.

J'aurais juste une question, même si les objets ne remplissent pas
la page des items, j'ai la petite flèche qui apparait en bas (elle
indique normalement que la liste continue plus bas). Je voulais
juste savoir ou modifier afin qu'elle n'apparaisse que lorsque j'ai la
page pleine d'objet + 1.


le_colosse - posté le 01/07/2013 à 21:38:26 (66 messages postés)

❤ 0

Rush FTW

Regarde si la taille des derniers objets de ta liste débordent du contents. Ça peut être bête comme ça. Sinon tu peux peut être ajuster le padding dans le bas de ta fenêtre. je crois que c'est update_padding_bottom.


ratorix - posté le 01/07/2013 à 23:12:04 (99 messages postés)

❤ 0

Moska :

Je connais pas VX ni le script, mais si c'est un script vue de coté, tu doit pouvoir regarder comment son mis les ennemies, eux sont surement inversé, du coups t'utilise la même méthode sur tes héros, ainsi il devrais regarder de l'autre coté.

Désolé de ne pas aidé plus mais si c'est bien un script vu de coté, il y as de forte chance que tu trouve la réponse ou je te dis.


paradoxII - posté le 04/07/2013 à 19:04:24 (259 messages postés)

❤ 0

NYA

Support : RM VX ACE

Question 1 :
J'aimerai savoir s'il y a moyen de cesser le clignotement de "la boite" de sélection dans les menu ?

NYA


le_colosse - posté le 04/07/2013 à 22:10:43 (66 messages postés)

❤ 0

Rush FTW

@paradoxII
C'est la propriété active de la classe Window qui gère le clignotement du curseur.

Citation:

active
The cursor's blink status. If TRUE, the cursor is blinking. The default is TRUE.


Le seul problème, c'est que cette propriété est prise en compte lors de l'activation et la déactivation d'une fenêtre. Donc, si active == false, le curseur ne peut plus bouger et tu ne peux pas faire de sélection. Il faudrait donc que tu modifies tous les appels à la propriété active dans le code par un second booléen qui lui, serait utilisé pour gérer l'activation des fenêtres.


Mack - posté le 04/07/2013 à 22:31:08 (2310 messages postés) - staff -

❤ 0

Nan, mais là tu pars carrément à l'envers xD.

Faut plutôt voir comment ai géré le clignotement du curseur, ça sera carrément moins chiant ;).

( Je prend note de tout les commentaires, même si je n'y répond pas )


paradoxII - posté le 04/07/2013 à 23:22:00 (259 messages postés)

❤ 0

NYA

Mouai et donc je fait quoi ?

NYA


le_colosse - posté le 04/07/2013 à 23:23:15 (66 messages postés)

❤ 0

Rush FTW

Le clignotement du curseur est géré à l'interne par la classe Window. Puisque c'est une classe built-in, le code n'est pas disponible. Dans la doc, il est spécifié que la propriété active gère le clignotement du curseur. Mais comme j'ai spécifié plus haut, l'activation d'une fenêtre est liée à cette propriété.

EDIT: Je peux te faire un petit script qui redirigera chaque appel à active vers un nouveau booléen active_window, ce qui te permetterait d'utiliser la propriété par défaut active uniquement pour le clignotement du curseur. :)


Zeus81 - posté le 04/07/2013 à 23:29:39 (11071 messages postés)

❤ 0

Indice : la classe de base a beau être scellée le clignotement ne se met pas à jour tout seul comme par magie.


le_colosse - posté le 04/07/2013 à 23:29:30 (66 messages postés)

❤ 0

Rush FTW

C'est la méthode update de la classe Window qui rafraîchit à chaque frame le curseur.

EDIT: J'ai mieux regarder mon affaire et effectivement, c'est beaucoup plus simple de changer la valeur de active avant et après l'update à chaque frame.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Window_Base < Window
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    @current_active = self.active
    self.active = false
    super
    update_tone
    update_open if @opening
    update_close if @closing
    self.active = @current_active
  end
end




Dyeel - posté le 16/07/2013 à 16:23:11 (200 messages postés)

❤ 0

Support : RMXP

Question 1 :
Bonjour.
J'ai voulu récupérer le nom de mon projet dans le Game.ini, j'ai donc utilisé cette commande :

Portion de code : Tout sélectionner

1
2
3
4
5
6
 
fichier = File.open("Game.ini","rb")
lines = fichier.readlines
nom = lines[4]
nom.gsub!("Title=","")
return nom



Le problème est que ce nom contient deux caractères de plus que le nom de mon projet. (J'ai repéré ça avec nom.size)
J'ai vu qu'un des caractères est le retour à la ligne : "\n".
Je l'enlève avec un gsub! mais j'ai toujours un caractère de trop et j'arrive pas à le déterminer.

Du coup j'ai magouillé en sélectionnant tous les caractères sauf le dernier et là je récupère mon nom et uniquement mon nom donc c'est bon.

Alors ma question est la suivante : Quel est ce caractère en trop?
Ca me gêne pas pour récupérer le nom mais j'aimerais quand même savoir à quoi ça correspond.

Question 2 :

J'ai voulu faire un alias de méthodes pour un module.
J'ai essayé alias et alias_method sans grand succès.
J'ai fini par y arriver en faisant :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
 
module Mod
class << self
alias nouvelle ancienne
end
def ancienne
...
Mod.nouvelle
end
end



Ma question : Est-ce que le class << self signifie qu'on effectue une sorte de transformation de module en classe afin d'utiliser des commandes prévues pour les classes? Ou bien ça fait autre chose?

Merci d'avance. ^^


Cortez - posté le 16/07/2013 à 19:07:54 (524 messages postés)

❤ 0

Réponse 1 :

Le caractère en question est surement celui ci '[]' c'est une sorte de
cube avec des contours fins. Il est présent lors d'une conversion
entre les formats jap et eng. (certains en ont lorsqu'ils choisisent le nom de leur personnage.)
C'est un caractère qui correspond à un espace, donc invisible.

Réponse 2 :
De mon niveau faible je pense que seul

Portion de code : Tout sélectionner

1
alias nouveau ancien


suffit, le tout est de bien respecter la syntaxe du nom de l'ancienne méthode.


Dyeel - posté le 16/07/2013 à 19:18:00 (200 messages postés)

❤ 0

Merci pour tes réponses.

Pour la première, je sais pas trop si tu as raison étant donné que le Game.ini ne comprend que les caractères que j'ai tapé.
Mais je vois de quoi tu parles.

Pour la seconde, l'alias ne fonctionne pas dans ce cas là^^ sinon j'aurais pas utilisé le class << self.
Je pense que ça vient du fait que les méthodes de ce module sont définies de la manière self.method et pas juste method. (C'était le module Graphics en fait)
Mais je ne sais toujours pas ce que fait class << self du coup...


Åvygeil - posté le 16/07/2013 à 19:39:32 (2502 messages postés)

❤ 0

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
module Mod
 
  class << self
 
    alias nouvelle ancienne
    def ancienne
      # ...
      nouvelle
    end
 
  end
 
end
 



De rien.


Zeus81 - posté le 16/07/2013 à 19:40:14 (11071 messages postés)

❤ 0

1) C'est \r parce que sous windows une fin de ligne c'est \r\n.
Plutôt qu'utiliser un gsub utilise strip.
2) class << self ça change la portée.
Si tu fais :

Portion de code : Tout sélectionner

1
2
3
4
class Caca
  def self.prout
  end
end


Ça revient au même que :

Portion de code : Tout sélectionner

1
2
3
4
5
6
class Caca
  class << self
    def prout
    end
  end
end


ou si la classe existe déjà :

Portion de code : Tout sélectionner

1
2
def Caca.prout
end


ou :

Portion de code : Tout sélectionner

1
2
3
4
class << Caca
  def prout
  end
end




Dyeel - posté le 16/07/2013 à 20:26:21 (200 messages postés)

❤ 0

Avygeil : Merci mais ça j'avais réussi, c'était pas ça mon problème.

Zeus : Super, merci pour ces réponses! Je cerne un peu mieux.


Cortez - posté le 16/07/2013 à 21:17:48 (524 messages postés)

❤ 0

Du coup Zeus m'a appris un truc pour la réponse 1.

Comme quoi on apprend en permanence !


Åvygeil - posté le 16/07/2013 à 21:35:27 (2502 messages postés)

❤ 0

Citation:

Avygeil : Merci mais ça j'avais réussi, c'était pas ça mon problème.


Vu le code que tu nous as mis :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
 
module Mod
class << self
alias nouvelle ancienne
end
def ancienne
...
Mod.nouvelle
end
end
 


ou indenté pour que tu vois mieux :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
module Mod
 
  class << self
 
    alias nouvelle ancienne
 
  end
 
  def ancienne
    ...
    Mod.nouvelle
  end
 
end
 


ça ne fait clairement pas ce que tu penses que ça fait... :hihi
Là ça crée une nouvelle méthode "Mod#ancienne" qui ne fait qu'appeler la méthode "Mod.nouvelle" qui est un nouveau nom de "Mod.ancienne".
Tu n'as absolument pas redéfini la méthode "Mod.ancienne".

Sinon, pour être plus précis que Zeus, "class << self" ouvre la metaclasse ou classe singleton de l'objet self, qui est en l’occurrence le module Mod. Mais ça marche avec n'importe quel objet.
Typiquement :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
o1 = Object.new
o2 = Object.new
 
class << o1
 
  def ma_methode
    print "toto"
  end
 
end
 
o1.ma_methode # va afficher toto
o2.ma_methode # va crasher
 



C'est juste qu'on s'en sert dans ce cas pour mimiquer les méthodes de classe à la Java ("static") alors qu'en fait, c'est juste qu'on rajoute une méthode à une instance particulière.


Dyeel - posté le 16/07/2013 à 23:06:24 (200 messages postés)

❤ 0

Merci pour ta réponse ^^

En effet j'ai oublié de recopier un truc (et j'en suis désolé) :
J'avais écrit : def self.ancienne et pas def ancienne

Ça revient à faire ce que la solution de ton premier post faisait.

En fait j'ai fait ça pour ajouter une commande à Graphics.update, j'ai juste utilisé l'alias vu que j'avais pas accès au module.

Désolé de m'être mal fait comprendre en tout cas.

C'est cool d'avoir complété la réponse de Zeus avec ton explication, j'avais pas exactement compris ça, j'ai saisi un truc de plus :)

Donc merci à vous deux.


Husk - posté le 26/07/2013 à 14:53:02 (1022 messages postés) - staff

❤ 0

Support : RMXP

Question :

Voilà, je me demandais s'il était possible, ou si cela existe déjà, de créer des variables local, du même style que les interrupteurs locaux de base.

Edit: Du même style que ça enfaite, mais pour xp. http://nuki.music-all.be/Scripts/Local_Event.php

Itch.io | Don't click on the potato!


Cortez - posté le 26/07/2013 à 16:23:07 (524 messages postés)

❤ 0

L'event extender fait ce que tu demande (et bien plus)

Le script : https://github.com/Funkywork/Scripts-rm/blob/master/XP/EventExtender_XP.rb

Les instruction (anglais) :
http://eventextender.gri.im/UK.html
Ne clique pas sur la version fr des instruction, ça marche plus.
(d'ailleurs si ils pouvaient remettre la page...)


Grim - posté le 26/07/2013 à 17:35:48 (251 messages postés)

❤ 0

Sinon :
http://nuki.music-all.be/Scripts/Local_EventXP.php

http://funkywork.github.io/

Aller à la page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73

Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers