coder en ruby en cours de jeu V2
Jeu 4 Déc 2008 - 22:24
pas mal de recherches...
et voici le résultat
Permet de coder en ruby en cours de jeu... via une popup windows... ce qui laisse présager plein d'autres possibilités !
extraction et réédition des messages... affichage de commandes d'events en cours...
touche F5 pour masquer/afficher la popup
a placer au dessus de main:
et voici le résultat
Permet de coder en ruby en cours de jeu... via une popup windows... ce qui laisse présager plein d'autres possibilités !
extraction et réédition des messages... affichage de commandes d'events en cours...
touche F5 pour masquer/afficher la popup
a placer au dessus de main:
- Code:
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Editeur Ruby pour RMVX v.2.2
# berka http://rpgmakervx.1fr1.net
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 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
- ArayashikiMembre
- Nombre de messages : 655
Age : 34
Localisation : Trois lettres me demangent. Oserai-je ?
Distinction : FUCKING nouveau dieu du mal. Gros connard en chef.
Date d'inscription : 18/08/2008
Re: coder en ruby en cours de jeu V2
Jeu 4 Déc 2008 - 22:31
Et aussi crée une console à la baldur gate tu vois ce que je veux dire ?
Re: coder en ruby en cours de jeu V2
Jeu 4 Déc 2008 - 22:44
oui... parfaitement possible
je remanie un peu le script et c'est bon !
je remanie un peu le script et c'est bon !
Re: coder en ruby en cours de jeu V2
Sam 6 Déc 2008 - 15:07
Nouvelle version
alias de la methode update de Input: plus de stabilité
alias de la methode update de Input: plus de stabilité
Re: coder en ruby en cours de jeu V2
Dim 7 Déc 2008 - 14:16
bug suite a l'appui de F12 réglé... merci à krosk !
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum