Search the Community
Showing results for tags 'Rgss3'.
-
Aiuto! Chi può convertire lo yam: keyboard script?
ale9789 posted a question in Supporto RGSS3 (VX-Ace)
Vi prego questo script serve assolutamente per il mio progetto che sto portando avanti con rpg maker vx ace. Eccovi lo script: lass << Input #-------------------------------------------------------------------------- # Aliases (Mods - Linked to Module) - Created by OriginalWij #-------------------------------------------------------------------------- alias ow_dt_i_press press? unless $@ alias ow_dt_i_trigger trigger? unless $@ alias ow_dt_i_repeat repeat? unless $@ alias ow_dt_i_update update unless $@ end module Input #-------------------------------------------------------------------------- # constants - Created by OriginalWij and Yanfly #-------------------------------------------------------------------------- LETTERS = {} LETTERS['A'] = 65; LETTERS['B'] = 66; LETTERS['C'] = 67; LETTERS['D'] = 68 LETTERS['E'] = 69; LETTERS['F'] = 70; LETTERS['G'] = 71; LETTERS['H'] = 72 LETTERS['I'] = 73; LETTERS['J'] = 74; LETTERS['K'] = 75; LETTERS['L'] = 76 LETTERS['M'] = 77; LETTERS['N'] = 78; LETTERS['O'] = 79; LETTERS['P'] = 80 LETTERS['Q'] = 81; LETTERS['R'] = 82; LETTERS['S'] = 83; LETTERS['T'] = 84 LETTERS['U'] = 85; LETTERS['V'] = 86; LETTERS['W'] = 87; LETTERS['X'] = 88 LETTERS['Y'] = 89; LETTERS['Z'] = 90 NUMBERS = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57] NUMPAD = [96, 97, 98, 99, 100, 101, 102, 103, 104, 105] BACK = 138; ENTER = 143; SPACE = 32; SCOLON = 186; ESC = 157 QUOTE = 222; EQUALS = 187; COMMA = 188; USCORE = 189; PERIOD = 190 SLASH = 191; LBRACE = 219; RBRACE = 221; BSLASH = 220; TILDE = 192 F10 = 121; F11 = 122; CAPS = 20; NMUL = 106; NPLUS = 107 NSEP = 108; NMINUS = 109; NDECI = 110; NDIV = 111; Extras = [uSCORE, EQUALS, LBRACE, RBRACE, BSLASH, SCOLON, QUOTE, COMMA, PERIOD, SLASH, NMUL, NPLUS, NSEP, NMINUS, NDECI, NDIV] #-------------------------------------------------------------------------- # initial module settings - Created by OriginalWij and Yanfly #-------------------------------------------------------------------------- GetKeyState = Win32API.new("user32", "GetAsyncKeyState", "i", "i") GetCapState = Win32API.new("user32", "GetKeyState", "i", "i") KeyRepeatCounter = {} module_function #-------------------------------------------------------------------------- # alias method: update - Created by OriginalWij #-------------------------------------------------------------------------- def update ow_dt_i_update for key in KeyRepeatCounter.keys if (GetKeyState.call(key).abs & 0x8000 == 0x8000) KeyRepeatCounter[key] += 1 else KeyRepeatCounter.delete(key) end end end #-------------------------------------------------------------------------- # alias method: press? - Created by OriginalWij #-------------------------------------------------------------------------- def press?(key) return ow_dt_i_press(key) if key < 30 adjusted_key = adjust_key(key) return true unless KeyRepeatCounter[adjusted_key].nil? return key_pressed?(adjusted_key) end #-------------------------------------------------------------------------- # alias method: trigger? - Created by OriginalWij #-------------------------------------------------------------------------- def trigger?(key) return ow_dt_i_trigger(key) if key < 30 adjusted_key = adjust_key(key) count = KeyRepeatCounter[adjusted_key] return ((count == 0) or (count.nil? ? key_pressed?(adjusted_key) : false)) end #-------------------------------------------------------------------------- # alias method: repeat? - Created by OriginalWij #-------------------------------------------------------------------------- def repeat?(key) return ow_dt_i_repeat(key) if key < 30 adjusted_key = adjust_key(key) count = KeyRepeatCounter[adjusted_key] return true if count == 0 if count.nil? return key_pressed?(adjusted_key) else return (count >= 23 and (count - 23) % 6 == 0) end end #-------------------------------------------------------------------------- # new method: adjust_key - Created by OriginalWij #-------------------------------------------------------------------------- def adjust_key(key) key -= 130 if key.between?(130, 158) return key end #-------------------------------------------------------------------------- # new method: key_pressed? - Created by OriginalWij #-------------------------------------------------------------------------- def key_pressed?(key) if (GetKeyState.call(key).abs & 0x8000 == 0x8000) KeyRepeatCounter[key] = 0 return true end return false end #-------------------------------------------------------------------------- # new method: typing? - Created by Yanfly #-------------------------------------------------------------------------- def typing? return true if repeat?(SPACE) for i in 'A'..'Z' return true if repeat?(LETTERS[i]) end for i in 0...NUMBERS.size return true if repeat?(NUMBERS[i]) return true if repeat?(NUMPAD[i]) end for key in Extras return true if repeat?(key) end return false end #-------------------------------------------------------------------------- # new method: key_type - Created by Yanfly #-------------------------------------------------------------------------- def key_type return " " if repeat?(SPACE) for i in 'A'..'Z' next unless repeat?(LETTERS[i]) return upcase? ? i.upcase : i.downcase end for i in 0...NUMBERS.size return i.to_s if repeat?(NUMPAD[i]) if !press?(SHIFT) return i.to_s if repeat?(NUMBERS[i]) elsif repeat?(NUMBERS[i]) case i when 1; return "!" when 2; return "@" when 3; return "#" when 4; return "$" when 5; return "%" when 6; return "^" when 7; return "&" when 8; return "*" when 9; return "(" when 0; return ")" end end end for key in Extras next unless repeat?(key) case key when USCORE; return press?(SHIFT) ? "_" : "-" when EQUALS; return press?(SHIFT) ? "+" : "=" when LBRACE; return press?(SHIFT) ? "{" : "[" when RBRACE; return press?(SHIFT) ? "}" : "]" when BSLASH; return press?(SHIFT) ? "|" : "\\" when SCOLON; return press?(SHIFT) ? ":" : ";" when QUOTE; return press?(SHIFT) ? '"' : "'" when COMMA; return press?(SHIFT) ? "<" : "," when PERIOD; return press?(SHIFT) ? ">" : "." when SLASH; return press?(SHIFT) ? "?" : "/" when NMUL; return "*" when NPLUS; return "+" when NSEP; return "," when NMINUS; return "-" when NDECI; return "." when NDIV; return "/" end end return "" end #-------------------------------------------------------------------------- # new method: upcase? - Created by Yanfly #-------------------------------------------------------------------------- def upcase? return !press?(SHIFT) if GetCapState.call(CAPS) == 1 return true if press?(SHIFT) return false end end- 2 replies
-
- rgss3
- rpg maker vx-ace
-
(and 2 more)
Tagged with:
-
Autore: Holy87 Descrizione: http://img545.imageshack.us/img545/8086/scriptl.png Apre ed esegue applicazioni e comandi di sistema. Apre il browser ad una pagina scelta, apre il blocco note, calcolatrice, terminale di comando; spegne il computer dopo un certo periodo di tempo (o annulla l'arresto) e altro ancora, tutto scrivendo dei comandi dalla finestra Script degli eventi. Si possono appunto creare situazioni molto "originali": Istruzioni: Copiare lo script sotto Materials, prima del Main. Istruzioni e comandi possibili sono all'interno dello script. Compatibilità: Compatibile per RPG Maker VX e VX-Ace e con tutti gli script personalizzati. Script:
-
MSX - Bars Type Descrizione Due nuovi tipi di barra. Autore Melosx Screnshot Istruzioni per l'uso Inserire lo script sopra Main e sotto Materials Script Bugs e Conflitti Noti N/A
-
Autore: Craze Descrizione: Questo script permette di unire i bonus elementali. Nel normale combattimento, se un eroe ha come status Attacco Fuoco e colpisce un nemico debole a questo elemento con un attacco di lancia, viene fatta la media tra elemento Fuoco e attributo Lancia. Con questo script, il danno sarà in base all'elemento più forte, e nel caso ci siano due elementi di cui il nemico è debole, il danno sarà raddoppiato. Istruzioni: Installare lo script nella sezione Add-On dell'RGSS3.
