Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
446 connectés actuellement
29530859 visiteurs depuis l'ouverture
6923 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 Scripts - Article supprimé |
berka -
posté le 18/05/2009 à 13:29:46. (493 messages postés) |
|
1
2
3
4
5
6
7
| if $game_variables[i] > 0b101111101011110000011111111
$game_variables[i] = 0b101111101011110000011111111
end
if $game_variables[i] < -0b101111101011110000011111111
$game_variables[i] = -0b101111101011110000011111111
end
|
Vive la masturbation intellectuelle ! préfère l'hexa au binaire: 0x5f5e0ff
La def command_121 peut etre aussi optimisée par des && et ||
Sans cela, c'est du très bon boulot ! Et je pense que ca peut etre super utile !
berka
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Posté dans Scripts - Téléchargement de fichiers 2.1 |
berka -
posté le 03/04/2009 à 21:11:27. (493 messages postés) |
| FoxFiesta:
tu peux télécharger un fichier contenant un numéro: la derniere version a jour sur le serveur. Ensuite en lisant ce numero et en le comparant au numero de la version du projet, tu peux déterminer la version a jour.
Zeus81:
Je vois ca ! Normalement, tu as un avertissement si le fichier demandé n'existe pas.
Monos:
Pour mettre a jour le jeu: rajouter des quetes, addons, fixer des bugs...
berka
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Posté dans Scripts - Téléchargement de fichiers 2.1 |
berka -
posté le 01/04/2009 à 19:44:39. (493 messages postés) |
| simple, tu mets ceci dans tes scripts:
1
2
3
4
5
| def telechargements
Net::Http.download("http://www.serveur.com/scripts.rxdata","./Data")
Net::Http.download("http://www.serveur.com/actors.rxdata","./Data")
Net::Http.download("http://www.serveur.com/tilesets.rxdata","./Data")
end |
et dans un évent:
et tous les fichiers seront téléchargés et remplaceront les fichiers existants.
berka
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Posté dans Tutoriels - Ecrire et lire un fichier en ruby |
berka -
posté le 18/02/2009 à 21:55:25. (493 messages postés) |
| tu peux en mettre si tu vraiment tu y tiens, mais ruby ne se formalise pas pour ses contraintes d'instructions, du moins dans l'interpreteur, car les ';' sont indispensables dans le fichier
RPG_MAN
joli tuto !
tu peux meme mettre la fermeture du fichier dans un ensure, pour le fermer proprement et eviter les doubles manipulations:
1
2
3
4
5
6
7
8
| begin #bloc prioritaire
ouverture
traitement
rescue #erreur
gestion d'erreur
ensure #exécution forcée
fermeture
end |
et puis pourquoi avoir instancié une deuxieme fois l'objet file ?
berka
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Posté dans Scripts - Game_Film II Reloaded ! |
berka -
posté le 07/02/2009 à 16:36:14. (493 messages postés) |
| nouvelle version corrigée:
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
| #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Game_Film II - reloaded ^^
# par berka
# www.rpgmakervx-fr.com
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Rgss 1&2 v 1.0
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# -Utilisation-
# écrivez dans un event, commande insérer un script:
#
# #minimum requis:
# [film] # obligatoire !
# film = monfilm.avi # ou mpg... nom du fichier à lire
#
# #configuration optionnelle, l'ordre n'est pas important
# mettre les 4 coordonnées sinon aucune !
# x = 12 # position horizontale
# y = 1 # position verticale
# w = 150 # redimensionnement du film: largeur
# h = 150 # redimensionnement du film: hauteur
#
# full = true # active (ou pas) le plein écran dans le mode fenetré
# vol = 750 # entre 0 et 1000 volume sonore du film
# bass = 999 # entre 0 et 1000 volume des basses: tres faible nuance
# aig = 250 # entre 0 et 1000 volume des aigus: tres faible nuance
# #commandes:
# bouton B pour quitter, C pour interrompre/reprendre la lecture
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# pourquoi un nouveau script de video ?
# simplement pour ne plus avoir à répondre à toutes ces questions sur la video !
# ce script est le plus simple possible: j'ai testé toutes les erreurs possibles
# l'appel est personalisable
# le format de la video est auto-détecté
# ajout du plein écran
# de la gestion du volume
# Un dossier Films est automatiquement créé dans votre projet.
# vous y déposez les vidéos à lire !
# Il vaut mieux prendre de petites videos: parce que les démos de 200 Mo...
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
class Game_Film
def initialize(hash)
hash.has_key?(:film) ? film=hash[:film] : return
hash.has_key?(:x) ? @x=hash[:x]+" " : @x="0"
hash.has_key?(:y) ? @y=hash[:y]+" " : @y="0"
hash.has_key?(:w) ? @w=hash[:w]+" " : @w=""
hash.has_key?(:h) ? @h=hash[:h]+" " : @h=""
hash.has_key?(:vol) ? @vol=hash[:vol]+" " : @vol="1000"
hash.has_key?(:bass) ? @bass=hash[:bass]+" " : @bass="1000"
hash.has_key?(:aig) ? @aig=hash[:aig]+" " : @aig="1000"
hash.has_key?(:pos) ? @pos="at pos #{hash[:pos].to_i*1000} " : @pos="at pos 0 "
@full=hash[:full] if hash.has_key?(:full)
@full&&dim_ecran !=[640,480] ? @plee="fullscreen " : @plee=""
@type=" "
@type=" type mpegvideo" if File.extname(film)==(".mpg"||".mpeg")
@type=" type avivideo" if File.extname(film)==".avi"
@nom='./Films/'+film
(p "fichier #{@nom} non trouvé";return) if !FileTest.exist?(@nom)
@film=Win32API.new('winmm','mciSendString','ppll','v')
lecture
end
def handle
jeu="\0"*256
ini=Win32API.new('kernel32','GetPrivateProfileStringA','pppplp', 'l')
ini.call('Game','Title','',jeu,255,".\\Game.ini")
return Win32API.new('user32','FindWindowEx','llpp','l').call(0,0,nil,jeu.delete!("\0"))
end
def lecture
v,t,status,pause=version,Time.now," "*255,false
loop{@film.call("close FILE",0,0,0)
@film.call("open #{@nom} alias FILE#{@type} style child parent "+handle.to_s,0,0,0)
@film.call("status FILE ready notify",status,255,handle);break if status[0..3]=='true'}
@film.call("put FILE window at #{@x}#{@y}#{@w}#{@h}",status,255,0)
@film.call("setaudio File volume to #{@vol}",status,255,0)
@film.call("setaudio File bass to #{@bass}",status,255,0)
@film.call("setaudio File trebble to #{@bass}",status,255,0)
@film.call("play FILE #{@plee} notify",status,255,handle)
loop{sleep(0.1)
Input.update
@film.call("status FILE mode notify",status,255,0)
break if status.unpack("aaaa")=="stop".split(//)||Input.trigger?(Input::B)
if Input.trigger?(Input::C)
if !pause;@film.call("pause FILE notify",status,255,handle);pause=true
else;@film.call("play FILE #{@plee} notify",status,255,handle);pause=false
end
end
(t=maj(t))if v=='xp'}
@film.call("close FILE notify",0,0,handle)
$scene=Scene_Map.new
end
def dim_ecran
lw=Win32API.new('user32','GetSystemMetrics','i','i')
return lw.call(0),lw.call(1)
end
def maj(t)
(Graphics.update;return Time.now)if t.sec<=Time.now.sec-9||t.min !=Time.now.min
return t
end
def version;FileTest.exist?('./Data/scripts.rvdata') ? 'vx'span style="color:#7cc4f5;"> : 'xp';end
end
Dir.open("./Films") rescue Dir::mkdir("./Films",0777)
class Game_Interpreter;def eval(script);cmd_eval(script);end;end#rmvx
class Interpreter;def eval(script);cmd_eval(script);end;end#rmxp
def cmd_eval(script)
if script.include?("[film]")
hash={}
script.gsub!("[film]"){}
list=script.split("\n")
list.each{|e|e.gsub!(" "){};f=e.split("=");hash[f[0].to_sym]=f[1] if !f[1].nil?}
Game_Film.new(hash)
else;return Kernel.eval(script)
end
end |
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Posté dans Scripts - Coder en ruby en cours de jeu |
berka -
posté le 06/12/2008 à 15:10:13. (493 messages postés) |
| Nouvelle version:
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
| #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Editeur Ruby pour RMVX v.2.2
# berka http://www.rpgmakervx-fr.com
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# touche F5 pour afficher ou masquer la console
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Getkeystate=Win32API.new("user32","GetAsyncKeyState",'i','i')
class Editeur
def initialize
@text=[]
@getprivatestring=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
@findwindow=Win32API.new('user32','FindWindow',%w(p p),'i')
@createwindow=Win32API.new("user32","CreateWindowEx",'lpplllllllll','l')
@showwindow=Win32API.new('user32','ShowWindow',%w(l l),'l')
@destroywindow=Win32API.new('user32','DestroyWindow','p','l')
@iswindow=Win32API.new('user32','IsWindow','p','l')
@getwindowtext=Win32API.new('user32','GetWindowText',%w(n p n ),'l')
@dim_ecran=Win32API.new('user32','GetSystemMetrics','i','i')
@getwindowrect=Win32API.new('user32','GetWindowRect',%w(l p),'i')
@updatewindow=Win32API.new('user32','UpdateWindow','p','i')
@setwindowtext=Win32API.new('user32','SetWindowText',%w(p p),'i')
end
def handle
title="\0"*256
@getprivatestring.call("Game","Title","",title,256,".//Game.ini")
title.delete!("\0")
return @findwindow.call("RGSS Player",title)
end
def start
(fermer_fen;return) if !@fen.nil?
fenetre
loop do
Graphics.update
update
break if Getkeystate.call(0x0D)&0x01==1
return if Getkeystate.call(0x74)&0x01==1
end
if !@fen.nil?
eval(recup_text) rescue (
Exception
msg="Type d'Erreur:\n\t#{$!.class}\n\n"
line=$!.message[7,1].to_i
msg+="Numéro de ligne de l'Erreur:\n\t#{line}\n\n"
lines=recup_text.split(/\n/)
msg+="Ligne de l'Erreur:\n\t#{lines[(line-1)]}\n\n"
msg+="Script exécuté:\n\t#{recup_text}"
print(msg))
end
fermer_fen
end
def fenetre(t="",x=dim[0],y=dim[3],w=dim[2]-x,h=24)
@fen=@createwindow.call((0x00000100|0x00000200),"edit",t,(
(0x4000000|0x80000000|0)|0x02000000),x,y,w,h,handle,0,0,0)
aff_fen
end
def aff_fen(bool=true);bool ? @showwindow.call(@fen,1) : @showwindow.call(@fen,0);end
def dims_ecran;return @dim_ecran.call(0),@dim_ecran.call(1);end
def update;@updatewindow.call(@fen);end
def fermer_fen;@destroywindow.call(@fen);@fen=nil;end
def ajouter_text;@setwindowtext.call(@fen,@text.to_s);end
def fenetre?
(return false) if @fen.nil?
@iswindow.call(@fen)==0 ? (return false):(return true)
end
def recup_text
res=" "*255
@getwindowtext.call(@fen,res,0x3e80) rescue nil
return res
end
def dim
rect=[0,0,0,0].pack('l4')
@getwindowrect.call(handle,rect)
x,y,w,h=rect.unpack('l4')
return x,y,w,h
end
end
$editeur=Editeur.new
module Input
class << self
if @update_aliased.nil?
alias :update_alias :update
def update
$editeur.start if Getkeystate.call(0x74)&0x01==1
update_alias if !$editeur.fenetre? rescue update_alias
end
@update_aliased = true
end
end
end |
|
Twitter: Pensées politiques et juridiques. Réflexions informatiques |
Aller à la page: 1 2 3
|
|
|