-
Posts
480 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Calendar
Posts posted by LordOfTheTitans
-
-
risolto! ora ho un altro problema ma lo posto in Supporto RGSS
(era lo script che ho postato ad andare in conflitto con l'evento
-
l' evento l' ho scritto sopra ^^
@>Conditional Branch: The A buton is begin pressed
@>Set Move Route: Player
: :$>Cange Speed: 5
: :$>Cange Freq: 3
@>
:Else
@>Set Move Route: Player
: :$>Cange Speed: 4
: :$>Cange Freq: 3
@>
:Branch Endcomunque il problema non sono eventi che vanno in conflitto o script perchè nn funziona nemmeno su un altro progetto, in oltre sono quasi sicuro che prima funzionava!
-
non fuzia comunque
-
è in parallelo, semplicemente se tengo premuto A non cambia nulla e il personaggio si muove normalmente
-
non vincerò mai ma ci provo
http://i49.tinypic.com/14l2fm.png
-
raga ho un problema con un evento Q_Q
ho messo nel mio progetto un evento che dovrebbe permettere di correre premendo il tasto A
ma non funziona, l'evento è questo:
@>Conditional Branch: The A buton is begin pressed
@>Set Move Route: Player
: :$>Cange Speed: 5
: :$>Cange Freq: 3
@>
:Else
@>Set Move Route: Player
: :$>Cange Speed: 4
: :$>Cange Freq: 3
@>
:Branch End
-
l'avevo pensato anche io ^^ comunque penso si possa modificare senza problemi
-
Introduzione:
il "Name Input" di base per XP è scadente e non permette di scrivere con la tastiera, dunque, per il mio progetto ho cercato uno script per migliorarlo e, su un forum inglese ho trovato questo script.
Caratteristiche:
1 finestre trasparenti 2 facilmente modificabile 3 in inglese 4 facilissimo da usare
Problemi:
Alcuni tasti sono sbagliati ad esempio se premo " ' " esce un altro simbolo
Compatibilità:
non testato con l'SDK
Credits:
- Cyclope(Creazione Dello Script)
- Nattmath(Creazione Dell'imput keyboard script)
- Blizzard (Creazione Dei controlli personalizzabili)
Istruzioni:
creare un nuovo script sopra main ed inserire questo.
#============================================================================== # Modyfied Scene_Name # By Cyclope #------------------------------------------------------------------------------ #´ Instructions # Place above main #------------------------------------------------------------------------------ # Credit: # Nattmath (For making Scene_Name Leters Modification) # Blizzard (For making Custom Cotrols) # Cyclope (For modifying Scene_Name Leters Modification and Scene_Name) #============================================================================== #============================================================================== # ** Window_Instructions #------------------------------------------------------------------------------ # This window displays full status specs on the status screen. #============================================================================== class Window_Instruction < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # actor : actor #-------------------------------------------------------------------------- def initialize super( 0, 400, 640, 80) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.name = "Arial" self.contents.font.size = 18 self.contents.font.color = normal_color #Change this text to whatever instructions u want to have! self.contents.draw_text(26, 9, 500, 32, "Enter = OK") self.contents.draw_text(128, 9, 500, 32, "Esc/Backspace = Delete") self.contents.draw_text(336, 9, 500, 32, "abc... = Text") self.contents.draw_text(448, 9, 500, 32, "Shift = Uppercase") end end #============================================================================== # ** Window_TextName #------------------------------------------------------------------------------ # super ( 224, 32, 224, 80) #============================================================================== class Window_TextName < Window_Base def initialize super ( 224, 32, 224, 80) self.contents = Bitmap.new(width - 32, height - 32) @actor = $game_actors[$game_temp.name_actor_id] refresh end def refresh self.contents.clear draw_actor_graphic(@actor, 20, 48) self.contents.font.name = "Arial" self.contents.font.size = 40 self.contents.font.color = normal_color self.contents.draw_text(64, 0, 96, 32, "Name:") end end #============================================================================== # ** Window_NameEdit #------------------------------------------------------------------------------ # This window is used to edit your name on the input name screen. #============================================================================== class Window_NameEdit < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # actor : actor # max_char : maximum number of characters #-------------------------------------------------------------------------- def initialize(actor, max_char) super(16, 128, 608, 96) self.contents = Bitmap.new(width - 32, height - 32) @actor = actor @name = actor.name @max_char = max_char # Fit name within maximum number of characters name_array = @name.split(//)[0...@max_char] @name = "" for i in 0...name_array.size @name += name_array[i] end @default_name = @name @index = name_array.size refresh update_cursor_rect end #-------------------------------------------------------------------------- # * Return to Default Name #-------------------------------------------------------------------------- def restore_default @name = @default_name @index = @name.split(//).size refresh update_cursor_rect end #-------------------------------------------------------------------------- # * Add Character # character : text character to be added #-------------------------------------------------------------------------- def add(character) if @index < @max_char and character != "" @name += character @index += 1 refresh update_cursor_rect end end #-------------------------------------------------------------------------- # * Delete Character #-------------------------------------------------------------------------- def back if @index > 0 # Delete 1 text character name_array = @name.split(//) @name = "" for i in 0...name_array.size-1 @name += name_array[i] end @index -= 1 refresh update_cursor_rect end end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear # Draw name self.contents.font.size = 42 name_array = @name.split(//) for i in 0...@max_char c = name_array[i] if c == nil c = "_" end x = 304 - @max_char * 14 + i * 26 self.contents.draw_text(x, 15, 28, 42, c, 1) end end #-------------------------------------------------------------------------- # * Cursor Rectangle Update #-------------------------------------------------------------------------- def update_cursor_rect x = 304 - @max_char * 14 + @index * 26 self.cursor_rect.set(x, 55, 20, 5) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_cursor_rect end end #============================================================================== # ** Window_NameInput #------------------------------------------------------------------------------ # This window is used to select text characters on the input name screen. #============================================================================== class Window_NameInput < Window_Base CHARACTER_TABLE = [ "", "" ] #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 128, 640, 0) self.contents = Bitmap.new(width - 32, height - 32) @index = 0 refresh end #-------------------------------------------------------------------------- # * Text Character Acquisition #-------------------------------------------------------------------------- def character return CHARACTER_TABLE[@index] end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super end end #============================================================================== # ** Scene_Name #------------------------------------------------------------------------------ # This class performs name input screen processing. #============================================================================== class Scene_Name #-------------------------------------------------------------------------- # * Main Processing #-------------------------------------------------------------------------- def main # Get actor @actor = $game_actors[$game_temp.name_actor_id] # Make windows @edit_window = Window_NameEdit.new(@actor, $game_temp.name_max_char) @edit_window.back_opacity = 160 @input_window = Window_NameInput.new @inst_window = Window_Instruction.new @inst_window.back_opacity = 160 @nametext_window = Window_TextName.new @nametext_window.back_opacity = 160 @spriteset = Spriteset_Map.new # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose of windows @edit_window.dispose @input_window.dispose @inst_window.dispose @nametext_window.dispose @spriteset.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Update windows @edit_window.update @input_window.update @nametext_window.update @inst_window.update # If C button was pressed if Input.trigger?(Input::C) # If cursor position is at [OK] if @input_window.character == nil # If name is empty if @edit_window.name == "" # If name is empty if @edit_window.name == "" # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) return end # Change actor name @actor.name = @edit_window.name # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to map screen $scene = Scene_Map.new return end # If cursor position is at maximum if @edit_window.index == $game_temp.name_max_char # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # If text character is empty if @input_window.character == "" # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Add text character @edit_window.add(@input_window.character) return end end end #============================================================================== # module Input #============================================================================== module Input #---------------------------------------------------------------------------- # Simple ASCII table #---------------------------------------------------------------------------- Key = {'A' => 65, 'B' => 66, 'C' => 67, 'D' => 68, 'E' => 69, 'F' => 70, 'G' => 71, 'H' => 72, 'I' => 73, 'J' => 74, 'K' => 75, 'L' => 76, 'M' => 77, 'N' => 78, 'O' => 79, 'P' => 80, 'Q' => 81, 'R' => 82, 'S' => 83, 'T' => 84, 'U' => 85, 'V' => 86, 'W' => 87, 'X' => 88, 'Y' => 89, 'Z' => 90, '0' => 48, '1' => 49, '2' => 50, '3' => 51, '4' => 52, '5' => 53, '6' => 54, '7' => 55, '8' => 56, '9' => 57, 'NumberPad 0' => 45, 'NumberPad 1' => 35, 'NumberPad 2' => 40, 'NumberPad 3' => 34, 'NumberPad 4' => 37, 'NumberPad 5' => 12, 'NumberPad 6' => 39, 'NumberPad 7' => 36, 'NumberPad 8' => 38, 'NumberPad 9' => 33, 'F1' => 112, 'F2' => 113, 'F3' => 114, 'F4' => 115, 'F5' => 116, 'F6' => 117, 'F7' => 118, 'F8' => 119, 'F9' => 120, 'F10' => 121, 'F11' => 122, 'F12' => 123, ';' => 186, '=' => 187, ',' => 188, '-' => 189, '.' => 190, '/' => 220, '\\' => 191, '\'' => 222, '[' => 219, ']' => 221, '`' => 192, 'Backspace' => 8, 'Tab' => 9, 'Enter' => 13, 'Shift' => 16, 'Left Shift' => 160, 'Right Shift' => 161, 'Left Ctrl' => 162, 'Right Ctrl' => 163, 'Left Alt' => 164, 'Right Alt' => 165, 'Ctrl' => 17, 'Alt' => 18, 'Esc' => 27, 'Space' => 32, 'Page Up' => 33, 'Page Down' => 34, 'End' => 35, 'Home' => 36, 'Insert' => 45, 'Delete' => 46, 'Arrow Left' => 37, 'Arrow Up' => 38, 'Arrow Right' => 39, 'Arrow Down' => 40, 'Mouse Left' => 1, 'Mouse Right' => 2, 'Mouse Middle' => 4, 'Mouse 4' => 5, 'Mouse 5' => 6} # default button configuration UP = [Key['Arrow Up']] LEFT = [Key['Arrow Left']] DOWN = [Key['Arrow Down']] RIGHT = [Key['Arrow Right']] A = [Key['Shift']] B = [Key['Esc'], Key['NumberPad 0'], Key['X']] C = [Key['Space'], Key['Enter'], Key['C']] X = [Key['A']] Y = [Key['S']] Z = [Key['D']] L = [Key['Q'], Key['Page Down']] R = [Key['W'], Key['Page Up']] F5 = [Key['F5']] F6 = [Key['F6']] F7 = [Key['F7']] F8 = [Key['F8']] F9 = [Key['F9']] SHIFT = [Key['Shift']] CTRL = [Key['Ctrl']] ALT = [Key['Alt']] # All keys ALL_KEYS = (0...256).to_a # Win32 API calls GetKeyboardState = Win32API.new('user32','GetKeyboardState', 'P', 'I') GetKeyboardLayout = Win32API.new('user32', 'GetKeyboardLayout','L', 'L') MapVirtualKeyEx = Win32API.new('user32', 'MapVirtualKeyEx', 'IIL', 'I') ToUnicodeEx = Win32API.new('user32', 'ToUnicodeEx', 'LLPPILL', 'L') # some other constants DOWN_STATE_MASK = 0x80 DEAD_KEY_MASK = 0x80000000 # data @state = "\0" * 256 @triggered = Array.new(256, false) @pressed = Array.new(256, false) @released = Array.new(256, false) @repeated = Array.new(256, 0) #---------------------------------------------------------------------------- # update # Updates input. #---------------------------------------------------------------------------- def self.update # get current language layout @language_layout = GetKeyboardLayout.call(0) # get new keyboard state GetKeyboardState.call(@state) # for each key ALL_KEYS.each {|key| # if pressed state if @state[key] & DOWN_STATE_MASK == DOWN_STATE_MASK # not released anymore @released[key] = false # if not pressed yet if !@pressed[key] # pressed and triggered @pressed[key] = true @triggered[key] = true else # not triggered anymore @triggered[key] = false end # update of repeat counter @repeated[key] < 17 ? @repeated[key] += 1 : @repeated[key] = 15 # not released yet elsif !@released[key] # if still pressed if @pressed[key] # not triggered, pressed or repeated, but released @triggered[key] = false @pressed[key] = false @repeated[key] = 0 @released[key] = true end else # not released anymore @released[key] = false end} end #---------------------------------------------------------------------------- # dir4 # 4 direction check. #---------------------------------------------------------------------------- def Input.dir4 return 2 if Input.press?(DOWN) return 4 if Input.press?(LEFT) return 6 if Input.press?(RIGHT) return 8 if Input.press?(UP) return 0 end #---------------------------------------------------------------------------- # dir8 # 8 direction check. #---------------------------------------------------------------------------- def Input.dir8 down = Input.press?(DOWN) left = Input.press?(LEFT) return 1 if down && left right = Input.press?(RIGHT) return 3 if down && right up = Input.press?(UP) return 7 if up && left return 9 if up && right return 2 if down return 4 if left return 6 if right return 8 if up return 0 end #---------------------------------------------------------------------------- # trigger? # Test if key was triggered once. #---------------------------------------------------------------------------- def Input.trigger?(keys) keys = [keys] unless keys.is_a?(Array) return keys.any? {|key| @triggered[key]} end #---------------------------------------------------------------------------- # press? # Test if key is being pressed. #---------------------------------------------------------------------------- def Input.press?(keys) keys = [keys] unless keys.is_a?(Array) return keys.any? {|key| @pressed[key]} end #---------------------------------------------------------------------------- # repeat? # Test if key is being pressed for repeating. #---------------------------------------------------------------------------- def Input.repeat?(keys) keys = [keys] unless keys.is_a?(Array) return keys.any? {|key| @repeated[key] == 1 || @repeated[key] == 16} end #---------------------------------------------------------------------------- # release? # Test if key was released. #---------------------------------------------------------------------------- def Input.release?(keys) keys = [keys] unless keys.is_a?(Array) return keys.any? {|key| @released[key]} end #---------------------------------------------------------------------------- # get_character # vk - virtual key # Gets the character from keyboard input using the input locale identifier # (formerly called keyboard layout handles). #---------------------------------------------------------------------------- def self.get_character(vk) # get corresponding character from virtual key c = MapVirtualKeyEx.call(vk, 2, @language_layout) # stop if character is non-printable and not a dead key return '' if c < 32 && (c & DEAD_KEY_MASK != DEAD_KEY_MASK) # get scan code vsc = MapVirtualKeyEx.call(vk, 0, @language_layout) # result string is never longer than 2 bytes (Unicode) result = "\0" * 2 # get input string from Win32 API length = ToUnicodeEx.call(vk, vsc, @state, result, 2, 0, @language_layout) return (length == 0 ? '' : result) end #---------------------------------------------------------------------------- # get_input_string # Gets the string that was entered using the keyboard over the input locale # identifier (formerly called keyboard layout handles). #---------------------------------------------------------------------------- def self.get_input_string result = '' # check every key ALL_KEYS.each {|key| # if repeated if self.repeat?(key) # get character from keyboard state c = self.get_character(key) # add character if there is a character result += c if c != '' end} # empty if result is empty return '' if result == '' # convert string from Unicode to UTF-8 return self.unicode_to_utf8(result) end #---------------------------------------------------------------------------- # get_input_string # string - string in Unicode format # Converts a string from Unicode format to UTF-8 format as RGSS does not # support Unicode. #---------------------------------------------------------------------------- def self.unicode_to_utf8(string) result = '' string.unpack('S*').each {|c| # characters under 0x80 are 1 byte characters if c < 0x0080 result += c.chr # other characters under 0x800 are 2 byte characters elsif c < 0x0800 result += (0xC0 | (c >> 6)).chr result += (0x80 | (c & 0x3F)).chr # the rest are 3 byte characters else result += (0xE0 | (c >> 12)).chr result += (0x80 | ((c >> 12) & 0x3F)).chr result += (0x80 | (c & 0x3F)).chr end} return result end end #============================================================================== # ** Scene_Name Leters Modification Made By Nattmath and Improved Cyclope #------------------------------------------------------------------------------ # Makes you imput stuf with the keyboard #============================================================================== class Scene_Name alias name_input_update update def update (65...91).each{|i| if Input.trigger?(i) $game_system.se_play($data_system.decision_se) let = Input::Key.index(i) let = let.downcase unless Input.press?(Input::Key['Shift']) @edit_window.add(let) end} (48...58).each{|i| if Input.trigger?(i) $game_system.se_play($data_system.decision_se) let = Input::Key.index(i) @edit_window.add(let) end} (186...192).each{|i| if Input.trigger?(i) $game_system.se_play($data_system.decision_se) let = Input::Key.index(i) @edit_window.add(let) end} (219...222).each{|i| if Input.trigger?(i) $game_system.se_play($data_system.decision_se) let = Input::Key.index(i) @edit_window.add(let) end} if Input.trigger?(Input::Key['Backspace']) @edit_window.back end if Input.trigger?(Input::Key['Arrow Left']) @edit_window.back end if Input.trigger?(Input::Key['Enter']) # If name is empty if @edit_window.name == "" # Return to default name @edit_window.restore_default # If name is empty if @edit_window.name == "" # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) return end # Change actor name @actor.name = @edit_window.name # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to map screen $scene = Scene_Map.new end if Input.trigger?(Input::Key['Space']) @actor.name = @edit_window.name $game_system.se_play($data_system.decision_se) @edit_window.add(" ") end name_input_update end end -
grazie mille, se lo trovo lo posto sul forum?
-
O_O scusate O_O non usa il mouse usa la tastiera D:
comunque il problema è che al posto di scrivere premendo i tasti (come in word o qualsiasi programma di scrittura) il giocatore deve utilizzare le freccette e il taso invio per selezionare le lettere
-
no, per ora stò usando quasi solo eventi
per fare inerire il nome metto negli eventi:
Name imput progressing: Nome Eroe, 16
e quando eseguo l' evento mi si apre una tastiera sullo schermo dove si selezionano le lettere con il mouse
-
salve, vorrei sapere se si può fare in modo che il giocatore possa scrivere con la tastiera e non solo con il mouse ^^
(esempio: nel mio progetto ho messo la possibilità di dare un nome al prorpio personaggio, però quando si attiva l'evento si deve scrivere cliccando su i tasti nella finestra con il mouse e non con la tastiera)
-
bene ^^ ce qualche novita sul programma?
-
z.z il progetto funziona pure sul 1.0.3?
-
sarebbe a dire D:
-
-
si ma le ho provate tutte compresa quella che usavo prima (RGSS102E.dll)
la versione è 1.0.2
-
deve ssere la 1.02 poiche gli script potevo edittarli
è successo cosi:
-martedì 18 settembre ho quasi terminato la dem, scrivo su skype che il giorno dopo la avrei pubblicata e visto che è tardi vado a dormire
-mercoledì 19il giorno successivo vado al computer cerco di aprire il progetto per l'ultima modifica ma mi viene scritto che la dll manca.
-il pomeriggio sempre di mercoledì 19 scarico dal forum le dll'una per una e provo a vedere se con una di quelle parte (la dll c'era gia ma la segnava inesistente)
-giovedì 20 poiche nessuna delle dll scaricate aveva dato segni di partire ho reinstallato il programma.
-al secondo tentativo non mi ha dato più l'errore della dll ma quello della risoluzione
-
grazie o.o scusate per lasezzione sbagliata
-
con il
no non cambia nulla Q_Q
mi riferivo ancora alla dll scusate
comunque di vversione ho solo la 1.1 di rpgmakerxP che a me hasempre funzionato
(infatti avevo quasi finito la demo del mio gioco quando si è bloccata, ameno che non ci siano aggiornamenti non so cosa possa essere cambiato poiche la uso da più di un anno)
-
no non cambia nulla Q_Q
-
nada Q_Q comunque magari sono io che sbaglio ad inserirla dove la devo mettere?
?
-
ri uppo
-
si D:

Mapping Contest
in R²S Challenge
Posted
chi ha vinto ?