Bienvenue visiteur !
|

Statistiques
Liste des membres
Contact
Mentions légales
256 connectés actuellement
31159551 visiteurs depuis l'ouverture
4298 visiteurs aujourd'hui

Partenaires









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 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:
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 :
1
2
| $Tsav0 = DataManager.load_header(0)[:playtime_s]
draw_text(0, 0, 12, line_height, $Tsav0, 0) |
ou
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] 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:
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 :
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:
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
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 à :
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:
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)
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:
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 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.
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 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:
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 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:
ton e== nil
Si on remonte à la ligne initialisant e:
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:
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 à 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 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:
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/05/2011 à 20:16:27. (493 messages postés) |

| Tu peux essayer avec ce script de Woratana:
Pour l'utiliser, dans main, remplace :
1
| $scene = Scene_Title.new |
par
1
| $scene = Skip_Title.new |
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 à 12:30:14. (493 messages postés) |

| Attends, tu as copié le 2nd code ? 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 - [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
|
|
|