![RPG Sunrise](https://i.servimg.com/u/f31/11/43/07/45/logo10.png)
|
| | [Script] Ecrire le nom du héro au clavier | |
| | Auteur | Message |
---|
KeyLad Inquisiteur
![Inquisiteur Inquisiteur](https://2img.net/r/ihimizer/img469/5530/inquisiteurwz4.gif)
![KeyLad](https://2img.net/u/1414/86/15/72/avatars/31-78.jpg)
Nombre de messages : 365 Age : 32 Localisation : France, Isère Emploi/loisirs : Guitare, skate, ma copine Projet en Cours : Projet 1 Date d'inscription : 03/10/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: [Script] Ecrire le nom du héro au clavier Mer 3 Oct - 6:34 | |
| Nom du script : Gestion du clavier pour le nom du héro. Utilité(s) : Sert à écrire le nom du héro avec les touches du clavier. Créez un script au dessus de main, et appellez-le comme bon vous semble : - Code:
-
#Gestion de toutes les touches du clavier. #Script otpimisé par Sunmat #Script modifié par Phacog : rajout de touche et fonction keystate
$Key_BACK = 0x08 # BACKSPACE key $Key_TAB = 0x09 # TAB key $Key_RETURN = 0x0D # ENTER key $Key_SHIFT = 0x10 # SHIFT key $Key_PAUSE = 0x13 # PAUSE key $Key_CAPITAL = 0x14 # CAPS LOCK key $Key_ESCAPE = 0x1B # ESC key $Key_SPACE = 0x20 # SPACEBAR $Key_PRIOR = 0x21 # PAGE UP key $Key_NEXT = 0x22 # PAGE DOWN key $Key_END = 0x23 # END key $Key_HOME = 0x24 # HOME key $Key_LEFT = 0x25 # LEFT ARROW key $Key_UP = 0x26 # UP ARROW key $Key_RIGHT = 0x27 # RIGHT ARROW key $Key_DOWN = 0x28 # DOWN ARROW key $Key_SELECT = 0x29 # SELECT key $Key_PRINT = 0x2A # PRINT key $Key_SNAPSHOT = 0x2C # PRINT SCREEN key $Key_INSERT = 0x2D # INS key $Key_DELETE = 0x2E # DEL key
$Key_0 = 0x30 # 0 key $Key_1 = 0x31 # 1 key $Key_2 = 0x32 # 2 key $Key_3 = 0x33 # 3 key $Key_4 = 0x34 # 4 key $Key_5 = 0x35 # 5 key $Key_6 = 0x36 # 6 key $Key_7 = 0x37 # 7 key $Key_8 = 0x38 # 8 key $Key_9 = 0x39 # 9 key
$Key_A = 0x41 # A key $Key_B = 0x42 # B key $Key_C = 0x43 # C key $Key_D = 0x44 # D key $Key_E = 0x45 # E key $Key_F = 0x46 # F key $Key_G = 0x47 # G key $Key_H = 0x48 # H key $Key_I = 0x49 # I key $Key_J = 0x4A # J key $Key_K = 0x4B # K key $Key_L = 0x4C # L key $Key_M = 0x4D # M key $Key_N = 0x4E # N key $Key_O = 0x4F # O key $Key_P = 0x50 # P key $Key_Q = 0x51 # Q key $Key_R = 0x52 # R key $Key_S = 0x53 # S key $Key_T = 0x54 # T key $Key_U = 0x55 # U key $Key_V = 0x56 # V key $Key_W = 0x57 # W key $Key_X = 0x58 # X key $Key_Y = 0x59 # Y key $Key_Z = 0x5A # Z key $Key_LWIN = 0x5B # Left Windows key (Microsoft Natural keyboard) $Key_RWIN = 0x5C # Right Windows key (Natural keyboard) $Key_APPS = 0x5D # Applications key (Natural keyboard)
$Key_NUMPAD0 = 0x60 # Numeric keypad 0 key $Key_NUMPAD1 = 0x61 # Numeric keypad 1 key $Key_NUMPAD2 = 0x62 # Numeric keypad 2 key $Key_NUMPAD3 = 0x63 # Numeric keypad 3 key $Key_NUMPAD4 = 0x64 # Numeric keypad 4 key $Key_NUMPAD5 = 0x65 # Numeric keypad 5 key $Key_NUMPAD6 = 0x66 # Numeric keypad 6 key $Key_NUMPAD7 = 0x67 # Numeric keypad 7 key $Key_NUMPAD8 = 0x68 # Numeric keypad 8 key $Key_NUMPAD9 = 0x69 # Numeric keypad 9 key $Key_MULTIPLY = 0x6A # Multiply key (*) $Key_ADD = 0x6B # Add key (+) $Key_SEPARATOR = 0x6C # Separator key $Key_SUBTRACT = 0x6D # Subtract key (-) $Key_DECIMAL = 0x6E # Decimal key $Key_DIVIDE = 0x6F # Divide key (/)
$Key_F1 = 0x70 # F1 key $Key_F2 = 0x71 # F2 key $Key_F3 = 0x72 # F3 key $Key_F4 = 0x73 # F4 key $Key_F5 = 0x74 # F5 key $Key_F6 = 0x75 # F6 key $Key_F7 = 0x76 # F7 key $Key_F8 = 0x77 # F8 key $Key_F9 = 0x78 # F9 key $Key_F10 = 0x79 # F10 key $Key_F11 = 0x7A # F11 key $Key_F12 = 0x7B # F12 key
$Key_NUMLOCK = 0x90 # NUM LOCK key $Key_SCROLL = 0x91 # SCROLL LOCK key $Key_LSHIFT = 0xA0 # Left SHIFT key $Key_RSHIFT = 0xA1 # Right SHIFT key $Key_LCONTROL = 0xA2 # Left CONTROL key $Key_RCONTROL = 0xA3 # Right CONTROL key $Key_L_ALT = 0xA4 # Left ALT key $Key_R_ALT = 0xA5 # Right ALT key $Key_DOLLARD = 0xBA # $ key $Key_EGUAL = 0xBB # = key $Key_SEP = 0xBC # , key $Key_DASH = 0xBD # - key $Key_DOTT = 0xBE # . key $Key_DDOTT = 0xBF # : key $Key_DEG = 0xDB # ) or ° key $Key_DOTTS = 0xDF # ! key $Key_POURCENT = 0xC0 # ù or % key $Key_STAR = 0xDC # * or µ key $Key_DOLLARD = 0xBA # $ key $Key_GREAT = 0xE2 # < or > key $Key_UNDER = 0xDD $Key_SQUARD = 0xDE # ² key
GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i'],'i') GetKeyboardState = Win32API.new("user32","GetKeyState",['i'],'i') GetSetKeyState = Win32API.new("user32","SetKeyboardState",['i'],'i')
def keystate(rkey) return true unless GetKeyboardState.call(rkey).between?(0,1) return false end
def keyboard(rkey) GetKeyState.call(rkey) & 0x01 == 1 # end
def key(rkey, key = 0) GetKeyboardState.call(rkey) & 0x01 == key # end Créez un autre script au dessus de main et appelez-le comme vous l' entandez, collez-y ceci : - Code:
-
#fonction text_input #creé par Phacog le 20/02/07 #renvoie le caratère correspondant à la touche préssé #gere les majuscule, les accents, les caractère accessible avec la touche [Alt Gr]
def text_input @under = "" unless @under != nil @char = "" if keyboard($Key_A) if @under == "¨" @char = "ä" @under = "" elsif @under == "^" @char = "â" @under = "" elsif @under =="~" @char = "ã" @under = "" elsif @under == "`" @char = "à" @under = "" else @char = "a" end elsif keyboard($Key_B) @char = "b" elsif keyboard($Key_C) @char = "c" elsif keyboard($Key_D) @char = "d" elsif keyboard($Key_E) if keystate($Key_L_ALT) or keystate($Key_R_ALT) @char = "€" elsif @under == "¨" @char = "ë" @under = "" elsif @under == "^" @char = "ê" @under = "" elsif @under =="`" @char = "è" @under ="" else @char = "e" end elsif keyboard($Key_F) @char = "f" elsif keyboard($Key_G) @char = "g" elsif keyboard($Key_H) @char = "h" elsif keyboard($Key_I) if @under == "¨" @char = "ï" @under = "" elsif @under == "^" @char = "î" @under = "" elsif @under == "`" @char = "ì" @under = "" else @char = "i" end elsif keyboard($Key_J) @char = "j" elsif keyboard($Key_K) @char = "k" elsif keyboard($Key_L) @char = "l" elsif keyboard($Key_M) @char = "m" elsif keyboard($Key_N) if @under == "~" @char = "ñ" @under = "" else @char = "n" end elsif keyboard($Key_O) if @under == "¨" @char = "ö" @under = "" elsif @under == "^" @char = "ô" @under = "" elsif @under == "~" @char = "õ" @under = "" elsif @under == "`" @char = "ò" @under = "" else @char = "o" end elsif keyboard($Key_P) @char = "p" elsif keyboard($Key_Q) @char = "q" elsif keyboard($Key_R) @char = "r" elsif keyboard($Key_S) @char = "s" elsif keyboard($Key_T) @char = "t" elsif keyboard($Key_U) if @under == "¨" @char = "ü" @under = "" elsif @under == "^" @char = "û" @under = "" elsif @under == "`" @char = "ù" @under = "" else @char = "u" end elsif keyboard($Key_V) @char = "v" elsif keyboard($Key_W) @char = "w" elsif keyboard($Key_X) @char = "x" elsif keyboard($Key_Y) @char = "y" elsif keyboard($Key_Z) @char = "z" end if keystate($Key_SHIFT) or key($Key_CAPITAL,1) @char = @char.upcase end if keystate($Key_SHIFT) or key($Key_CAPITAL,1) if keyboard($Key_0) @char = "0" elsif keyboard($Key_1) @char = "1" elsif keyboard($Key_2) @char = "2" elsif keyboard($Key_3) @char = "3" elsif keyboard($Key_4) @char = "4" elsif keyboard($Key_5) @char = "5" elsif keyboard($Key_6) @char = "6" elsif keyboard($Key_7) @char = "7" elsif keyboard($Key_8) @char = "8" elsif keyboard($Key_9) @char = "9" elsif keyboard($Key_DEG) @char = "°" elsif keyboard($Key_EGUAL) @char = "+" elsif keyboard($Key_SEP) @char = "?" elsif keyboard($Key_DOTT) @char = "." elsif keyboard($Key_DDOTT) @char = "/" elsif keyboard($Key_DOTTS) @char = "§" elsif keyboard($Key_POURCENT) @char = "%" elsif keyboard($Key_STAR) @char = "µ" elsif keyboard($Key_DOLLARD) @char = "£" elsif keyboard($Key_GREAT) @char = ">" elsif keyboard($Key_UNDER) @under = "¨" end elsif keystate($Key_L_ALT) or keystate($Key_R_ALT) if keyboard($Key_2) @under = "~" elsif keyboard($Key_3) @char = "#" elsif keyboard($Key_4) @char = "{" elsif keyboard($Key_5) @char = "[" elsif keyboard($Key_6) @char = "|" elsif keyboard($Key_7) @under = "`" elsif keyboard($Key_8) @char = "\\" elsif keyboard($Key_9) @char = "^" elsif keyboard($Key_0) @char = "@" elsif keyboard($Key_DEG) @char = "]" elsif keyboard($Key_EGUAL) @char = "}" elsif keyboard($Key_DOLLARD) @char = "¤" end else if keyboard($Key_0) @char = "à" elsif keyboard($Key_1) @char = "&" elsif keyboard($Key_2) @char = "é" elsif keyboard($Key_3) @char = "\"" elsif keyboard($Key_4) @char = "'" elsif keyboard($Key_5) @char = "(" elsif keyboard($Key_6) @char = "-" elsif keyboard($Key_7) @char = "è" elsif keyboard($Key_8) @char = "_" elsif keyboard($Key_9) @char = "ç" elsif keyboard($Key_DEG) @char = ")" elsif keyboard($Key_EGUAL) @char = "=" elsif keyboard($Key_SEP) @char = "," elsif keyboard($Key_DOTT) @char = ";" elsif keyboard($Key_DDOTT) @char = ":" elsif keyboard($Key_DOTTS) @char = "!" elsif keyboard($Key_POURCENT) @char = "ù" elsif keyboard($Key_STAR) @char = "*" elsif keyboard($Key_DOLLARD) @char = "$" elsif keyboard($Key_GREAT) @char = "<" elsif keyboard($Key_UNDER) @under = "^" elsif keyboard($Key_SQUARD) @char = "²" end end if keyboard($Key_NUMPAD0) @char = "0" elsif keyboard($Key_NUMPAD1) @char = "1" elsif keyboard($Key_NUMPAD2) @char = "2" elsif keyboard($Key_NUMPAD3) @char = "3" elsif keyboard($Key_NUMPAD4) @char = "4" elsif keyboard($Key_NUMPAD5) @char = "5" elsif keyboard($Key_NUMPAD6) @char = "6" elsif keyboard($Key_NUMPAD7) @char = "7" elsif keyboard($Key_NUMPAD8) @char = "8" elsif keyboard($Key_NUMPAD9) @char = "9" elsif keyboard($Key_MULTIPLY) @char = "*" elsif keyboard($Key_ADD) @char = "+" elsif keyboard($Key_SUBTRACT) @char = "-" elsif keyboard($Key_DIVIDE) @char = "/" elsif keyboard($Key_DECIMAL) @char = "." end if keyboard($Key_SPACE) @char = " " end if @char != "" @char = @under + @char @under = "" end return @char end
Dernière édition par le Mer 3 Oct - 6:37, édité 1 fois | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | KeyLad Inquisiteur
![Inquisiteur Inquisiteur](https://2img.net/r/ihimizer/img469/5530/inquisiteurwz4.gif)
![KeyLad](https://2img.net/u/1414/86/15/72/avatars/31-78.jpg)
Nombre de messages : 365 Age : 32 Localisation : France, Isère Emploi/loisirs : Guitare, skate, ma copine Projet en Cours : Projet 1 Date d'inscription : 03/10/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier Mer 3 Oct - 6:36 | |
| Créer encore une fois un autre script au dessus de main (c'est le dernier) : - Code:
-
################################################################ # Entrer le noms du héros au clavier # Script fait par phacog le 20/02/07 # #Utilisation : On appele ce script grâce à la commande "Inserer un script", en mettant le code : # # $scene = Entrer_Nom.new(id, max) # # id correspond au numéro du héro # 0 correspond au héros n°1 # 1 correspond au héros n°2 # etc... # # max correspond au nombre maximum de caractères # mettre 0 si on ne veut pas de maximum. ###############################################################
class Window_NameEdit2< Window_Base def initialize(actor, max_char) #création de la fenêtre super(0,0,480,200) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize @actor = actor @max_char = max_char refresh end ###################################################### def refresh # disposition des textes et images sur la fenêtre self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, 20, 480, 32, "Nom du héros :",1) self.contents.draw_text (0,120, 480,32, @max_char.to_s + " caractères maximum",1) unless @max_char == 0 self.contents.font.color = normal_color self.contents.draw_text(140, 52, 200, 32, @actor.name, 1) draw_actor_graphic(@actor, 30, 80) draw_actor_graphic(@actor, 420, 80) end ######################################################## def update super refresh end end ######################################################### class Entrer_Nom def initialize(id, max_char) @max_char = max_char @actor_id = id @actor = $game_party.actors[@actor_id] @nom_tableau = @actor.name.split(//)#le nom est mis dans un tableau @nom_tableau = @nom_tableau[0...@max_char] unless @max_char == 0#si il y a trop de caratctères dans le nom alors on efface les caractères en trop #initialisition du curseur @curseur = 0 @temp_curseur = 10 # toutes les 10 frames le curseur change d'état @choix_curseur = ["_"]*@temp_curseur + [" "]*@temp_curseur # dans un tableau on met les différents états du cuseur @choix_curseur = [""]*(@temp_curseur*2) unless (@max_char == 0 or @nom_tableau.size != @max_char) #pas de curseur si le nom est trop long end ##################################################### def main @spriteset = Spriteset_Map.new #permet d'afficher l'arriere plan @affiche = Window_NameEdit2.new(@actor, @max_char)# crée la fenêtre @affiche.x = 80 @affiche.y = 80 @affiche.back_opacity = 200 Graphics.transition loop do Graphics.update update if $scene != self break end end @affiche.dispose @spriteset.dispose Graphics.freeze end ################################################# def update @curseur = (@curseur + 1)%(@temp_curseur * 2) # mis à jour du curseur @actor.name = @nom_tableau.to_s + @choix_curseur[@curseur] @affiche.update @spriteset.update update_touches end ################################################# def update_touches @char = text_input# récupère la touche tapé au clavier #si un caractère est tapé on le rajoute au nom en s'assurant de ne pas dépasser le max if @char != "" if @nom_tableau.size != @max_char or @max_char == 0 $game_system.se_play($data_system.decision_se) @nom_tableau += [@char] #si le max est atteint, on désactive le curseur @choix_curseur = [""]*(@temp_curseur*2) unless @max_char == 0 or @nom_tableau.size != @max_char else $game_system.se_play($data_system.buzzer_se) end end if keyboard($Key_BACK)#efface un caractère si la touche [backspace] est tapé if @nom_tableau.size == 0 $game_system.se_play($data_system.buzzer_se) else $game_system.se_play($data_system.cancel_se) @nom_tableau.pop @choix_curseur = ["_"]*@temp_curseur + [" "] *@temp_curseur end end if keyboard($Key_RETURN)#fin du script si la touche [entrer] est tapé $game_system.se_play($data_system.cancel_se) @actor.name = @nom_tableau.to_s $scene = Scene_Map.new end end end Maintenant il vous faut le fichier en dessous pour que cela fonctionne : Le fichier Dll : TéléchargementScreen :![[Script] Ecrire le nom du héro au clavier Screen11](https://i.servimg.com/u/f11/11/08/64/63/screen11.jpg) | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | Korion Enchanteur
![Enchanteur Enchanteur](https://2img.net/r/ihimizer/img469/9786/enchanteurvk6.png)
![Korion](https://2img.net/u/1414/86/15/72/avatars/10-53.jpg)
Nombre de messages : 168 Age : 34 Emploi/loisirs : lycéen fan de RPG Projet en Cours : Projet 1 Date d'inscription : 04/08/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier Mer 3 Oct - 14:30 | |
| sympa, mais t'aurais pas un moyen pour que le nom choisit apparaisse dans les dialogues ? | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | KeyLad Inquisiteur
![Inquisiteur Inquisiteur](https://2img.net/r/ihimizer/img469/5530/inquisiteurwz4.gif)
![KeyLad](https://2img.net/u/1414/86/15/72/avatars/31-78.jpg)
Nombre de messages : 365 Age : 32 Localisation : France, Isère Emploi/loisirs : Guitare, skate, ma copine Projet en Cours : Projet 1 Date d'inscription : 03/10/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier Mer 3 Oct - 15:43 | |
| Bonsoir, oui le nom même changé peut apparaître dans une boîte de dialogue. ![[Script] Ecrire le nom du héro au clavier Sanstitre1ta9.th](https://2img.net/r/ihimizer/img261/9134/sanstitre1ta9.th.jpg) Si tu n'as pas cette fonction tu peux utilisé le script 'Message Advence' , il y en a quatre (v1, v2, v3, v4). | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | Korion Enchanteur
![Enchanteur Enchanteur](https://2img.net/r/ihimizer/img469/9786/enchanteurvk6.png)
![Korion](https://2img.net/u/1414/86/15/72/avatars/10-53.jpg)
Nombre de messages : 168 Age : 34 Emploi/loisirs : lycéen fan de RPG Projet en Cours : Projet 1 Date d'inscription : 04/08/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier Mer 3 Oct - 17:48 | |
| je crois pas avoir cette commande, c'est ou, dans afficher un message ? sinon, je veux bien le script qui permet de le faire, si ça te dérange pas de me le passer. | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | KeyLad Inquisiteur
![Inquisiteur Inquisiteur](https://2img.net/r/ihimizer/img469/5530/inquisiteurwz4.gif)
![KeyLad](https://2img.net/u/1414/86/15/72/avatars/31-78.jpg)
Nombre de messages : 365 Age : 32 Localisation : France, Isère Emploi/loisirs : Guitare, skate, ma copine Projet en Cours : Projet 1 Date d'inscription : 03/10/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier Jeu 4 Oct - 12:50 | |
| | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | eychiro Initié
![Initié Initié](https://2img.net/r/ihimizer/img238/9134/casque49sd7.gif)
![eychiro](https://2img.net/u/1414/86/15/72/avatars/26-89.jpg)
Nombre de messages : 29 Age : 35 Localisation : ajaccio, en corse Emploi/loisirs : bts elec , jeux videos , sorties entres potes Date d'inscription : 24/08/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier Mer 10 Oct - 17:14 | |
| Alors moi je n'ai eu qu'a faire a la place du nom du héro un \N1 pour le nom du hero 1 et sa apparait en une sorte de YN1 voila . ha je vien d'y penser j'ai téléchargé un script pour tout faire avec les messages sa joue surement mais désolé je ne sait plus ou je l' ai pris. ![megahappy](/users/1414/86/15/72/smiles/349183.gif) | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | Shive Empereur
![Empereur Empereur](https://2img.net/r/ihimizer/img469/8400/empereurob5.gif)
![Shive](https://2img.net/u/1414/86/15/72/avatars/1-16.jpg)
Nombre de messages : 505 Age : 32 Localisation : Devant son ordi, avec ses potes et à la Réunion! Emploi/loisirs : Lycéen à plein temps Projet en Cours : Crisis, Within Rebellion Date d'inscription : 26/07/2007
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier Jeu 11 Oct - 1:22 | |
| Petit post pour remercier Keylad de nous avoir posté ce topic de script. Un grand merci à lui.
Cordialement, Shive | |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | Contenu sponsorisé
![[Script] Ecrire le nom du héro au clavier Empty](https://2img.net/i/empty.gif) | Sujet: Re: [Script] Ecrire le nom du héro au clavier ![[Script] Ecrire le nom du héro au clavier Icon_minitime](https://2img.net/i/fa/icon_minitime.gif) | |
| |
| ![Aller en bas](https://i.servimg.com/u/f21/11/43/07/45/down_a10.gif) | | | [Script] Ecrire le nom du héro au clavier | |
|
Sujets similaires | ![+](https://2img.net/i/empty.gif) |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|