Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

334 connectés actuellement

29423768 visiteurs
depuis l'ouverture

7995 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Le Comptoir Du clickeur

Tashiroworld

RPG Maker Détente

Alex d'Or

Hellsoft

Tous nos partenaires

Devenir
partenaire



Messages postés par Berka
Nombre de messages référencés sur Oniromancie (non supprimés): 98

Aller à la page: 1 2 3

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 04/02/2014 à 10:42:24. (493 messages postés)

Et tu gères comment le scripting ruby avec Haxe ? Il supporte pas de binding, non ?

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 04/02/2014 à 10:29:47. (493 messages postés)

Oui, un applet dans un premier temps et une application complète ensuite.

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 04/02/2014 à 10:06:44. (493 messages postés)

Nukidoudi a dit:


Tu bosses sur quoi avec JRuby Berka?



Sur Rgss1, 2 et 3, voire 4 :clindoeil2

@Chaös17 : désolé j'ai pas en tête les fonctions rgss3. Mais tu dois pouvoir retrouver facilement l'affichage de playtime sur internet. Ce sont pas les scripts qui manquent !

Pense également à faire $sprite.dispose pour effacer le sprite.

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 03/02/2014 à 22:37:56. (493 messages postés)

Ici, tu instancies à $test un sprite, puis un hash, puis tu tentes d'accéder à une méthode de sprite par test (qui est, alors un hash).
Et puis il faut que tu initialises l'attribut bitmap de sprite par sprite.bitmap = Bitmap.new(width, height)

Donc:

Portion de code : Tout sélectionner

1
2
3
4
5
$sprite = Sprite.new
text = DataManager.load_header(0)[:playtime_s]
$sprite.bitmap = Bitmap.new(100, 24)
line_height = 16
$sprite.bitmap.draw_text(0, 0, 12, line_height, text, 0)



Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 03/02/2014 à 17:33:20. (493 messages postés)

Hello

Tu le sors où l'objet header de ta deuxième ligne ? et pourquoi n'utilises-tu pas l'objet $Tsav0 ?
C'est là que tu fais une erreur.

Tu devrais faire :

Portion de code : Tout sélectionner

1
2
$Tsav0 = DataManager.load_header(0)[:playtime_s]
draw_text(0, 0, 12, line_height, $Tsav0, 0)


ou

Portion de code : Tout sélectionner

1
2
header = DataManager.load_header(0)
draw_text(0, 0, 12, line_height, header[:playtime_s], 0)



Dans le cas 1, $Tsav0 est une variable globale contenant une valeur d'un hash retourné par DataManager.load_header(0) et identifié par la clé :*playtime_s.

Dans le cas 2, header est un hash. Et tu n'auras accès à la valeur que tu recherche qu'en spécifiant une clé :*playtime_s dans ta deuxième ligne.

Bonne journée,
Berka

ps: La classe Hash

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [RMXP] [XP] Besoin d'une ligne de code sur la téléportation

Berka - posté le 04/11/2013 à 10:37:58. (493 messages postés)

Si rien ne se passe, c'est parce qu'il faut réactualiser la map après changement des coordonnées

Essaye:

Portion de code : Tout sélectionner

1
2
3
4
5
 
$game_map.setup(id)
$game_player.moveto(x;y)
$game_player.refresh
$scene = Scene_Map.new



avec

id = id de la map cible
x = nb carreaux horizontaux
y = nb carreaux verticaux

Bonne journée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [RMXP] Détecter le mouse_wheel

Berka - posté le 16/06/2013 à 21:11:07. (493 messages postés)

Tiens, j'avais exploré le truc dans ce script:

Portion de code : Tout sélectionner

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
#          Scrolling de la map, avec la molette de la souris 
#  berka                    0.1                    Rgss1
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
#              http://www.rpgmakervx-fr.com 
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
# adaptation du script ruby de ˜aŠ�         un grand merci ! 
# 
# molette pour les ordonn�es 
# Ctrl+molette pour les abcisses 
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
module Berka 
  module Souris 
    ID_Int=1  #id de l'interrupteur a activer pour autoriser le scrolling 
    Vitesse=8 #vitesse du scrolling de la map 
  end 
end 
 
class Souris 
  Get_Message=Win32API.new('User32','GetMessage','plll','l') # reception d'un message 
  GetAsyncKeyState=Win32API.new("user32","GetAsyncKeyState",'i','i') # test d'une touche 
  GetKeyState=Win32API.new("user32","GetKeyState",'i','i') # etat d'une touche 
  SetCursorPos=Win32API.new('user32','SetCursorPos','nn','n') # positionnement du curseur 
  GetCursorPo=Win32API.new('user32','GetCursorPos','p','i') # position du curseur 
  ScreenToClient=Win32API.new('user32','ScreenToClient','lp','i') # coordonn�es du handle 
  GetPrivateProfileStringA=Win32API.new('kernel32','GetPrivateProfileStringA','pppplp','l') # lecture fichier 
  FindWindowA=Win32API.new('user32','FindWindowA','pp','l') # recuperation handle d'une fenetre 
  GetClientRect=Win32API.new('user32','GetClientRect','lp','i') # recuperations dimensions ecran 
  GetWindowRect=Win32API.new('user32','GetWindowRect','lp','i') #recuperation dimensions fenetre (handle) 
  Point=Struct.new(:x,:y) # cr�ation d'une structure de symboles: coord molette 
  Message=Struct.new(:message,:wparam,:lparam,:pt) # struct de symboles: message renvoy� par la molette 
  Param=Struct.new(:x,:y,:scroll) # parametres de la molette 
  Scroll=0x0000020A # pointeur de la molette 
  def handle # recuperation du handle du rgss player 
    game_name="\0"*256 
    GetPrivateProfileStringA.call('Game','Title','',game_name,255,".\\Game.ini") 
    game_name.delete!("\0") 
    return handle=FindWindowA.call('RGSS Player',game_name) 
  end 
  def unpack_dword(buffer,offset=0) # d�compactage d'integer 32bits 
    ret=buffer[offset+0]&0x000000ff 
    ret|=(buffer[offset+1] << (8*1))&0x0000ff00 
    ret|=(buffer[offset+2] << (8*2))&0x00ff0000 
    ret|=(buffer[offset+3] << (8*3))&0xff000000 
    return ret 
  end 
  def unpack_msg(buffer) # d�compactage du message de la molette 
    msg=Message.new;msg.pt=Point.new 
    msg.message=unpack_dword(buffer,4*1) 
    msg.wparam=unpack_dword(buffer,4*2) 
    msg.lparam=unpack_dword(buffer,4*3) 
    msg.pt.x=unpack_dword(buffer,4*5) 
    msg.pt.y=unpack_dword(buffer,4*6) 
    return msg 
  end 
  def wmcallback(msg) 
    return unless msg.message==Scroll 
    param=Param.new 
    param.x=word2signed_short(loword(msg.lparam)) 
    param.y=word2signed_short(hiword(msg.lparam)) 
    param.scroll=word2signed_short(hiword(msg.wparam)) 
    return [param.x,param.y,param.scroll] 
  end 
  def hiword(dword);return ((dword&0xffff0000)>>16)&0x0000ffff;end # 
  def loword(dword);return dword&0x0000ffff;end 
  def word2signed_short(value) 
    return value if (value&0x8000)==0 
    return -1*((~value&0x7fff)+1) 
  end 
  def click?(button);@keys.include?(button)?(return true):(return false);end  #si clic 
  def press?(button);@press.include?(button)?(return true):(return false);end # si appui 
  def pressed?(key);return true unless GetKeyState.call(key).between?(0,1);return false;end # test appui 
  def global_pos;pos=[0,0].pack('ll');GetCursorPo.call(pos)!=0 ? (return pos.unpack('ll')):(return nil);end # pos a l'ecran 
  def set_pos(x_pos=0,y_pos=0) # positionnement 
    width,height=client_size 
    if (x_pos.between?(0,width)&&y_pos.between?(0,height)) 
      SetCursorPos.call(client_pos[0]+x_pos,client_pos[1]+y_pos) 
    end 
  end 
  def update # maj des entrees 
    @pos,@keys,@press=pos,[],[] 
    @keys << 1 if GetAsyncKeyState.call(1)&0x01==1 
    @keys << 2 if GetAsyncKeyState.call(2)&0x01==1 
    @keys << 3 if GetAsyncKeyState.call(4)&0x01==1 
    @press << 1 if pressed?(1) 
    @press << 2 if pressed?(2) 
    @press << 3 if pressed?(4) 
  end  
  def pos # recuperation position dans player 
    x,y=screen_to_client(*global_pos) 
    width,height=client_size 
    begin 
      x=0 if x<=0;y=0 if y<=0 
      x=width if x>=width;y=height if y>=height 
      return x,y 
    end 
  end 
  def dans_player? # teste si curseur est dans player 
    return true if global_pos[0].between?(client_pos[0],client_pos[0]+client_size[0])&& 
    global_pos[1].between?(client_pos[1],client_pos[1]+client_size[1]) 
    return false 
  end 
  def screen_to_client(x,y) #pos player dans ecran 
    return nil unless x&&y 
    pos=[x,y].pack('ll') 
    ScreenToClient.call(handle,pos)!=0?(return pos.unpack('ll')):(return nil) 
  end 
  def client_size # dimensions player 
    rect=[0,0,0,0].pack('l4') 
    GetClientRect.call(handle,rect) 
    right,bottom=rect.unpack('l4')[2..3] 
    return right,bottom 
  end 
  def client_pos # position player 
    rect=[0,0,0,0].pack('l4') 
    GetWindowRect.call(handle,rect) 
    left,upper=rect.unpack('l4')[0..1] 
    return left+4,upper+30 
  end  
  def grid # convertit position en position carreaux 
    return nil if @pos.nil? 
    return [(@pos[0]+$game_map.display_x/8)/32,(@pos[1]+$game_map.display_y/8)/32] 
  end 
  def scroll # retourne l'etat de la molette 
    msg="\0"*32;Get_Message.call(msg,0,0,0);r=wmcallback(unpack_msg(msg)) 
    return r if !r.nil? 
  end 
end 
$souris=Souris.new # lancement de la classe souris 
module Input 
  class << self 
    alias :update_souris :update unless Input.methods.include?("update_souris") 
    def update 
      update_souris 
      $souris.update # maj souris 
    end 
  end 
end 
 
class Scene_Map 
  alias :souris_update :update 
  def update 
    souris_update 
    update_scroll if $souris.dans_player?&&$game_switches[Berka::Souris::ID_Int] 
  end 
  def update_scroll 
    s=$souris.scroll;return if s.nil? 
    s[2]<0 ? (Input.press?(Input::CTRL) ? d=6 : d=2) : (Input.press?(Input::CTRL) ? d=4 : d=8) 
    $game_map.start_scroll(d,1,Berka::Souris::Vitesse) # lance le scroll dans la direction d 
  end 
end



Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 05/01/2013 à 17:46:20. (493 messages postés)

Vyniea

Pour ton second problème, tu utilises l'opérateur "or" : | à la place des parenthèses. "add_command" est une méthode qui prend deux paramètres. Donc :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
class Window_skillpoints < Window_Command
  def make_command_list
    add_command("Item", :item)
    add_command("Skill", :skill)
    add_command("Status", :status)
  end
end



Et puis pense à utiliser la notation "camelcase" pour tes noms de classes, c'est la convention :
Window_SkillPoints

Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 16/09/2012 à 23:42:27. (493 messages postés)

1) Quelle sorte d'erreur ? Parce que ton code est bon. L'erreur doit se situer dans le chemin d'accès au fichier rb (absolu/relatif). En tout cas, require permet de charger n'importe quel fichier contenant du code ruby, compilé ou non.

2) Pour le remplacement des lignes:

Portion de code : Tout sélectionner

1
2
3
4
5
File.open("test.txt", "w"){|f|
  $<.each_line{|l|
    f << l.gsub("ligne du fichier à remplacer, 'ligne de remplacement")
  }
}


ou, si tu connais le n° de la ligne à modifier

Portion de code : Tout sélectionner

1
2
3
4
5
6
id = 10 # 10e ligne
f = IO.readlines('test.txt')
f[id] = "Ligne de remplacement"
File.open('test.txt', "w"){|l|
   l << f.join("\n")
}



Il doit y avoir beaucoup plus court, je pense.

Bonne nuit,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 16/09/2012 à 14:15:58. (493 messages postés)

Bonjour:

Question 1:

"r" : ouverture d'un fichier texte en lecture.
"w" : ouverture d'un fichier texte en écriture.
"a" : ouverture d'un fichier texte en écriture à la fin.
"rb" : ouverture d'un fichier binaire en lecture.
"wb" : ouverture d'un fichier binaire en écriture.
"ab" : ouverture d'un fichier binaire en écriture à la fin.
"r+" : ouverture d'un fichier texte en lecture/écriture.
"w+" : ouverture d'un fichier texte en lecture/écriture.
"a+" : ouverture d'un fichier texte en lecture/écriture à la fin.
"r+b" ou "rb+" : ouverture d'un fichier binaire en lecture/écriture.
"w+b" ou "wb+" : ouverture d'un fichier binaire en lecture/écriture.
"a+b" ou "ab+" : ouverture d'un fichier binaire en lecture/écriture à la fin.

Question 2:

Kernel#require() est une méthode permettant l'inclusion de fichiers ruby externes (normaux : *.rb, *.rbw ou compilés *.so). Seuls les fichiers *.rb peuvent être inclus dans Rgss1. Kernel#require est cachée dans Rgss2 mais peut être utilisée grâce à :

Portion de code : Tout sélectionner

1
2
3
4
def require(f)
  $LOAD_PATH<<"./"
  Kernel.send(:require,f)
end



Bonne journée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 14/09/2012 à 12:27:42. (493 messages postés)

Ah, je n'avais pas fait gaffe à l'utilisation de Kernel#eval. Le problème c'est que les fichiers scripts.rxdata sont cryptés et que le code qu'ils contiennent n'est pas en clair.

En gros, si je me souviens bien, il faut faire un truc du genre:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def chargement_rxdata(ds = "Data/Interface/")
  out = [".", ".."]
  dir = Dir.open(ds)
  fs = dir.sort - out
  fs.each{|f|
    case File.ftype(ds << f)
        when "directory"
          chargement_rxdata("#{ds}#{f}/")
        when "file"
           next if f.include?(".rxdata")
           fl = File.open("#{ds}#{f}/", 'r')
           ss = Marshal.load(fl)
           ss.each{|s| eval(Zlib::Inflate.inflate(s[2]))}
           fl.close
      end
  end
end



J'espère que ca pourra te guider, parce que je ne peux toujours pas tester ce code pour toi.

Berka

Edit: Doublé par Avy, avec une méthode plus rapide ;). Mais mon système est récursif, na !

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 13/09/2012 à 23:22:55. (493 messages postés)

Hello,

Tu peux essayer un truc du genre:
(pas pu tester, désolé mais ca doit etre proche de ce que tu cherches)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def chargement_rxdata(dossier = "Data/Interface/")
  out = [".", ".."]
  dir = Dir.open(dossier)
  files = dir.sort - out
  files.each{|file|
    case File.ftype(dossier << file)
        when "directory"
          chargement_rxdata("#{dossier}#{file}/")
        when "file"
           next if file.include?(".rxdata")
           u = load_data(dossier + file)
           eval(u)
      end
  end
end



Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 24/05/2012 à 22:15:24. (493 messages postés)

@Mack :

Sinon, vu que tu travailles sur des fichiers *.ini:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
WPPS=Win32API.new('kernel32','WritePrivateProfileString','pppp','l')
GPPS=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
 
$label = "Version"
 
def write(i)
    WPPS.call("Game", $label, i.to_s, ".//Game.ini")
end
 
def read
    GPPS.call("Game", $label, "", v="\0"*16, 16, ".//Game.ini")
    v.delete!("\0")
    Integer(v=="" ? v="0" : v)
end



Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

berka - posté le 05/02/2012 à 19:15:49. (493 messages postés)

Parce que l'évènement commun est interprété en script.

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Scripts - Advanced RGSS3 Console

berka - posté le 24/01/2012 à 23:58:29. (493 messages postés)

Hop nouvelle version:

Merci à Azuma: ajout de la colo pour les regexp et pour les symboles.

Portion de code : Tout sélectionner

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#============================================================
#                     Advanced RGSS3 Console 
#   Berka          http://www.rpgmakervx-fr.com
#                   v0.5 VX Ace only. 01-21-12  
#
# Thanks to Azuma-01 for symbols and regexp matching
# Free of use. Please ask me before publishing anywhere.
#
# Add a basic syntax haighlighter to the default RGSS Console
# May cause a slight slowdown in the console display.
#------------------------------------------------------------
# Use Kernel#puts to activate the syntax highlighter.
# Kernel#print stays unchanged.$
# Console#gets extracts the input of the console
#   use: eval(Console.gets) to script while testing.
#------------------------------------------------------------
# Change the color of the console:
#   Console.color(H_RED)       # Set the color of the console
#   print("this text is red")  # Text displayed in red
#   Console.color = nil        # Remove the coloration
#============================================================
 
module Berka
  module Console
    LINE_NUMBERS = true  # Display line numbers ON/OFF
    BACKGROUND   = true  # Display a white background ON/OFF
    ENABLEPROMPT = true  # Enable the gets command ON/OFF
    PARSE_P      = false # Enable parsing for Kernel#p function /!\
  end
end
 
module Win32
  GSH ||= Win32API.new('kernel32','GetStdHandle','l','l')
  SCTA||= Win32API.new('kernel32','SetConsoleTextAttribute','ll','l')
end
 
module Highlighter  
  H_BLACK     = 0x0000 # black
  H_DBLUE     = 0x0001 # dark blue
  H_DGREEN    = 0x0002 # dark green
  H_DCYAN     = 0x0003 # dark cyan
  H_DRED      = 0x0004 # dark red
  H_DPURPLE   = 0x0005 # dark purple
  H_DYELLOW   = 0x0006 # dark yellow
  H_GREY      = 0x0007 # grey
  H_DGREY     = 0x0008 # dark grey
  H_BLUE      = 0x0009 # blue
  H_GREEN     = 0x000a # green
  H_CYAN      = 0x000b # cyan
  H_RED       = 0x000c # red
  H_PURPLE    = 0x000d # purple
  H_YELLOW    = 0x000e # yellow
  H_WHITE     = 0x000f # white
  H_INTENSITY = 0x0080 # background intensity
  
  # Ruby's special words
  H_KWORDS=["alias","begin","BEGIN","break","case","defined","do","else","elsif",
            "end","END","ensure","for","if","in","include","loop","next","raise",
            "redo","rescue","retry","return","super","then","undef","unless",
            "until","when","while","yield","false","nil","self","true","__FILE__",
            "__LINE__","and","not","or","def","class","module","catch","fail",
            "load","throw"]
            
  # Ruby's operators
  H_OPERATORS=["=","+","-","/","*","%",'(',')','[',']','{','}','<','>','&','|',
               ',','!',"?",":",";",'.']
  
  def self.parse(*args)
    args.flatten.each{|l|
      Console.color=nil
      print("#{sprintf("%03d",$consolelines+=1)}:\s")if Berka::Console::LINE_NUMBERS
      l.split(/ /).each{|e|
        case e
        when *H_KWORDS then Console.color=H_BLUE
        when /^\d*[.]?\d+$/ then Console.color=H_DRED
        when /\/.*\/(?:[imx]{,3})/ then Console.color=H_DPURPLE # by Azuma-01
        when /^:.*$/ then Console.color=H_DYELLOW # by Azuma-01
        when /^#.*$/ then Console.color=H_DGREEN # by Azuma-01
        else
          e.split(//).each{|f|
            @s=!@s if r=(f=='"'||f=="'")
            if(@s)||r;Console.color=H_DPURPLE
            elsif f=~/^\d*[.]?\d+$/;Console.color=H_DRED
            else
              Console.color=(H_OPERATORS.include?(f)? H_DCYAN : H_BLACK)
            end
            print(f)
          }
          print(" ")
          next
        end
        print("#{e} ")
      }
    }
    print("\n")
  end
end
 
include Highlighter 
 
module Console
  $consolelines=0 # Console lines counter
  def self.init
    @outhwnd=Win32::GSH.call(-11)
  end
  def self.color=(c=H_BLACK)
    Win32::SCTA.call(@outhwnd,(c||=H_BLACK)|(Berka::Console::BACKGROUND ? 0x00f0 : 0))# rescue nil
  end
  def self.gets
    $stdin.gets
  end
end
Console.init
 
# Kernel#puts redefinition
def puts(*a)
  a.each{|n|Highlighter.parse(*n)}
end
#Kernel#p redefinition
def p(*a)
  Berka::Console::PARSE_P ? (a.each{|b|puts b.inspect}) : Kernel.p(*a)
end
# Kernel#gets
def gets
  Console.gets
end



Bonne nuit,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 14/01/2012 à 15:09:06. (493 messages postés)

T'as pas une confusion entre les méthodes Game_Map#passable? et de Game_Character#passable? ?

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

berka - posté le 09/01/2012 à 19:39:05. (493 messages postés)

Augmenter de X%
A x (1 + X%)
Diminuer de X%
A x (1 - X%)

J'avais pas vu que tu voulais le solde final et non le solde annualisé. Du coup, c'est presque plus simple.
Exemple:
Ancien Solde = 100,-€
Taux : 4% par an
Période: 3 ans

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
:100->Solde
:4->Taux
 
:For(X, 1, 3
:Solde*(1+Taux/100)->NouveauSolde
:Solde+NouveauSolde->Solde
:End
:Disp "Nouveau Solde:"
:Disp Solde



Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

berka - posté le 09/01/2012 à 19:14:25. (493 messages postés)

La boucle for est utilisée pour parcourir la période dans laquelle il faut calculer les taux:

sur une période de 1987 à 2000:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
 
:2000-1987->A //Période
:0,04->T // Taux de 4% applicable
:100->S // solde initial
 
:For(X,0,A // Pour chaque année X entre 0 et 13 ans
:S*(1+T)->N // nouveau solde
:Disp "Taux :"
:Disp N // Affichage du taux à l'écran
:N+S->S // Incrémentation du nouveau solde
:End



Y'a peut-être des erreurs. Ca fait une éternité que je n'ai pas programmé sur TI.

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

berka - posté le 09/01/2012 à 19:05:06. (493 messages postés)

En fait tu veux qu'on te fasse ton boulot ?

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - Topic de l'informatique

berka - posté le 09/01/2012 à 16:31:44. (493 messages postés)

En deux ans vous avez acheté d'autres ordis ? Pris la TV et le téléphone chez SFR ?

Parce que ça partage le débit à domicile. Le mieux c'est que tu appelles SFR pour mettre à jour (renégocier) ton forfait. En deux ans, pour le même prix tu devrais avoir un plus gros débit.

Bonne fin de journée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - Topic de l'informatique

berka - posté le 07/01/2012 à 01:07:39. (493 messages postés)

Bonsoir,

Je ne sais pas quel type de routeur tu as et la configuration de ton réseau, mais je suppose que tu as une box.
Dans ce cas, tu devrais commencer à chercher par là:
http://192.168.1.1

Tu as généralement un onglet maintenance qui permet le reboot du routeur (encore faut-il qu'il soit connecté à ton PC). Le cas échéant, tu devras te lever de ta chaise.

Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

berka - posté le 01/01/2012 à 02:50:26. (493 messages postés)

Est-ce que quelqu'un a compris quelque chose ?

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 06/11/2011 à 18:33:35. (493 messages postés)

Encore plus court:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
tableau = [1,50,20,35]
z = []
tableau.each_with_index{|v, i|
  v.times{
    z << i + 1
  }
}
final = z[rand(z.size)]



Edit:

Berka. (je suis distrait, désolé)

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 04/11/2011 à 21:57:54. (493 messages postés)

@Mack:
Déjà tu emploies une locale e dans une méthode e. Ca entraîne un risque de confusion. Ensuite ton message d'erreur signifie qu'à la ligne:

Portion de code : Tout sélectionner

1
for i in e+1..r


ton e== nil
Si on remonte à la ligne initialisant e:

Portion de code : Tout sélectionner

1
e = a[z-1]


Il faut que tu vérifies ton a et ton z.
En règle générale, il faut toujours se méfier des eval. Car le suivi d'erreur est très mal géré dedans.


@Youri:
Le begin est inutile dans une méthode, car c'est déjà un bloc. Du coup tu peux très bien utiliser une exception comme ceci:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
def test
  #...
rescue
  #...
ensure
  #...
end


Plutôt qu'un return, assure l'exécution en utilisant ensure.
Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - Ce qu'on peut faire en cours de Philo...

Berka - posté le 28/10/2011 à 15:35:48. (493 messages postés)

Portion de code : Tout sélectionner

1
2
note = Correcteur.new
note.manipulation(vocabulaire_bidon = true)



Tout simplement.

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - Ce qu'on peut faire en cours de Philo...

Berka - posté le 28/10/2011 à 02:00:47. (493 messages postés)

Débile le plan thèse, antithèse, synthèse. Je comprends pas pourquoi c'est encore enseigné. Tu pars d'une affirmation que tu contredis pour conclure. Soit tu réaffirmes la première affirmation donc la seconde est inutile, soit c'est l'inverse. C'est très faible comme argumentaire.

Rien de mieux que le syllogisme juridique: la règle, l'espèce, la conclusion. C'est logique, clair et précis. Après tu peux développer: tu as, notamment en matière fiscale, des exceptions d'exceptions. Et ça, c'est rigolo.

Bonne nuit,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Scripts - Afficher des chiffres ou du texte sur la map

Berka - posté le 26/10/2011 à 15:47:42. (493 messages postés)

Zeus: Le nom dans les scripts, c'est pour la compatibilité. Mais c'est justifiable juste pour les modules. :clindoeil4

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 29/09/2011 à 22:26:16. (493 messages postés)

Exemple très simple:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
class Test
attr_accessor :var
def initialize
@var = 0
end
end
 
@a = Test.new
@b = Test.new
@a.var = 2
@b.var = 1



C'est plus orienté objet, donc plus sexy. La variable globale est plus gourmande. Et pour une même utilisation que l'exemple, tu aurais dû en initialiser deux.

Bonne nuit,

Berka

Edit: C'est plus orienté objet, donc plus sexy dans un langage orienté objet et dans la mesure où l'utilisation d'un tel langage se justifie. C'est mieux ?

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 27/09/2011 à 22:45:19. (493 messages postés)

Exact Zeus.
Mais quand tu veux être précis et rapide, tu ne t'amuses pas à convertir en entier :p

Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 26/09/2011 à 23:38:29. (493 messages postés)

Bonsoir,

Il y a pas mal de méthodes pour arrondir un Float (décimal) en Integer (entier):

Portion de code : Tout sélectionner

1
2
3
4
123.456.to_i
Integer(123.456)
123.456.round
=> 123



Et en cadeau, une méthode pour arrondir à X décimales:

Portion de code : Tout sélectionner

1
2
3
4
5
6
class Float<Numeric
  alias :f_round :round unless $@
  def round(r=0)
    eval sprintf("%.#{r}f",self)
  end
end


123.456789.round(3)
=>123.456

Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 27/05/2011 à 20:16:27. (493 messages postés)

Tu peux essayer avec ce script de Woratana:
Pour l'utiliser, dans main, remplace :

Portion de code : Tout sélectionner

1
$scene = Scene_Title.new


par

Portion de code : Tout sélectionner

1
$scene = Skip_Title.new


Portion de code : Tout sélectionner

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
class Skip_Title < Scene_Base
  
  MAP_ID = 2 # ID map de départ
  START_XY = [8,7] # Position de départ
  START_MEMBER = [1,2,3] # Equipe de départ
 
  def get_party_member
   if START_MEMBER != 0
    $game_party.setup_starting_members_skip(START_MEMBER)
   else
     $game_party.setup_starting_members
   end
  end
 
  def main
    $BTEST ? battle_test : start
  end
 
  def start
    load_database 
    create_game_objects 
    get_party_member
    $game_map.setup(MAP_ID)
    $game_player.moveto(START_XY[0],START_XY[1])
    $game_player.refresh
    $scene = Scene_Map.new
    $game_map.autoplay
    end
 
  def load_database
    $data_actors        = load_data("Data/Actors.rvdata")
    $data_classes       = load_data("Data/Classes.rvdata")
    $data_skills        = load_data("Data/Skills.rvdata")
    $data_items         = load_data("Data/Items.rvdata")
    $data_weapons       = load_data("Data/Weapons.rvdata")
    $data_armors        = load_data("Data/Armors.rvdata")
    $data_enemies       = load_data("Data/Enemies.rvdata")
    $data_troops        = load_data("Data/Troops.rvdata")
    $data_states        = load_data("Data/States.rvdata")
    $data_animations    = load_data("Data/Animations.rvdata")
    $data_common_events = load_data("Data/CommonEvents.rvdata")
    $data_system        = load_data("Data/System.rvdata")
    $data_areas         = load_data("Data/Areas.rvdata")
  end
 
  def load_bt_database
    $data_actors        = load_data("Data/BT_Actors.rvdata")
    $data_classes       = load_data("Data/BT_Classes.rvdata")
    $data_skills        = load_data("Data/BT_Skills.rvdata")
    $data_items         = load_data("Data/BT_Items.rvdata")
    $data_weapons       = load_data("Data/BT_Weapons.rvdata")
    $data_armors        = load_data("Data/BT_Armors.rvdata")
    $data_enemies       = load_data("Data/BT_Enemies.rvdata")
    $data_troops        = load_data("Data/BT_Troops.rvdata")
    $data_states        = load_data("Data/BT_States.rvdata")
    $data_animations    = load_data("Data/BT_Animations.rvdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
    $data_system        = load_data("Data/BT_System.rvdata")
  end
 
  def create_game_objects
    $game_temp          = Game_Temp.new
    $game_message       = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
  end
 
  def battle_test
    load_bt_database
    create_game_objects 
    Graphics.frame_count = 0
    $game_party.setup_battle_test_members
    $game_troop.setup($data_system.test_troop_id)
    $game_troop.can_escape = true
    $game_system.battle_bgm.play
    snapshot_for_background
    $scene = Scene_Battle.new
  end
end
 
class Game_Party
    def setup_starting_members_skip(actor_list)
    @actors = []
    for i in actor_list
      @actors.push(i)
    end
  end
end



Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 22/05/2011 à 13:56:25. (493 messages postés)

En fait la latence c'est le délai d'attente recherché en secondes.

Edit:
Tiens, le lien de ma signature est rompu. Hop, c'est réparé.

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 22/05/2011 à 12:30:14. (493 messages postés)

Attends, tu as copié le 2nd code ? :hihi Normalement, tel quel, il ne devrait pas bugger mais il ne sert strictement à rien. C'était juste pour te montrer l'héritage de Window_Selectable sur Window_Message. Du coup tu peux récupérer l'attribut Window_Selectable#index via Window_Message pour trouver le choix sélectionné.

Pour le premier, il fonctionne, ca dépend de ce que tu souhaites rafraichir et attendre dans la boucle (les graphismes, la carte, le clavier, etc.).

Il faut toujours adapter,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 22/05/2011 à 00:46:59. (493 messages postés)

Avant de poser une autre question (très vague, en passant), tu pourrais au moins prendre le temps de faire un petit commentaire, voire même, osons, un remerciement, pour la solution que je t'ai donnée. Ca fonctionne ? Ca t'a aidé ?

Pour ta seconde question, je vais te répondre d'une façon aussi développée que ta phrase:

Portion de code : Tout sélectionner

1
(Window_Message<Window_Selectable)#index


Tout simplement.

Bonne nuit,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 21/05/2011 à 23:23:19. (493 messages postés)

Bonsoir,

Portion de code : Tout sélectionner

1
2
3
4
5
($latence_en_sec * Graphics.frame_rate).times{
Graphics.update
# ce que tu veux rafraichir
}
 



Tu mets dans la boucle tout ce que tu veux rafraichir afin de ne pas faire une attente "bloquante".
Bonne soirée,

Berka

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 01/05/2011 à 19:38:30. (493 messages postés)

REPONSE
C'est une expression régulière. Elle vérifie si la chaine évaluée est de la forme "<ver>texte</ver>".
Le texte inclus entre les deux balises n'importe pas pour l'évaluation.

Edit de Monos :


Berka



Edit de Berka:
Merci ;)

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 27/04/2011 à 22:09:30. (493 messages postés)

@Zou: c'est l'intérêt du Game_Temp: stockage de données inter scènes.
Bonne soirée,

Berka


ps: Tiens, j'ai oublié de signer mon message précédent. Heureusement que Monos l'a à moitié fait !

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 27/04/2011 à 19:01:17. (493 messages postés)

Sur la map:

Portion de code : Tout sélectionner

1
$game_temp.common_event_id = ID



En combat:

Portion de code : Tout sélectionner

1
2
common_event = $data_common_events[ID]
$game_system.battle_interpreter.setup(common_event.list, 0)



Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Berka - posté le 09/04/2011 à 01:12:39. (493 messages postés)

Le plus simple serait de passer par des tableaux.

Portion de code : Tout sélectionner

1
2
3
4
for i in (0 .. 5).to_a + (10..15).to_a
  # ...
end
 


Mais le mieux est de traiter via Array#each

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Posté dans Forum - [php/RGSS]maker store

Berka - posté le 06/04/2011 à 18:09:35. (493 messages postés)

eekun a dit:


Si j'étais toi, franchement je passerai plutot par le navigateur web de Berka parce que le script de MySQL est certes très bon, mais pas ce qu'il y a de plus sécu.



Comme le script de téléchargement que le projet utilise. L'as-tu seulement testé ce script mysql ?:)
Sinon concernant l'utilisation dudit script, je doute que tu puisses l'utiliser si ton projet repose sur un serveur mutualisé.

Twitter: Pensées politiques et juridiques. Réflexions informatiques

Aller à la page: 1 2 3

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