Jump to content
Rpg²S Forum

*Lockpicking Minigame


Raxas_Alice
 Share

Recommended Posts

Lockpicking Minigame

Descrizione

Ho trovato questo script girovagando per internet alla ricerca di un minigame e ho pensato di postarlo qui, dato che mi pare unico nel suo genere e anche ben fatto!

Purtroppo non funziona senza SDK, se qualche bravo scripter riuscisse a renderlo per così dire normale, farebbe un favore alla comunità xD

 

Autore

Eilei

 

Allegati

Miniera d'oro stasera! Ho recuperato anche la demo! :D

 

Istruzioni per l'uso

Non è difficile modificarlo: caricare una pic di sfondo e cambiare lo script dove serve, giocando coi colori dei cilindri e con i colori della "serratura". Ecco cosa dice l'autore:

 

1. Change the main background by swapping out Graphics/Pictures/lockpick_background.png for whatever you want.

2. Change the audio file at Audio/BGM/lockpick_music.mp3

3. Change the color of the tumblers by messing with Graphics/Pictures/lockpick_pins.png, but I don't recommend changing the sizes of the pins.

4. Finally, change the minigame lock background colors by editing both Graphics/Pictures/lockpick_cylinder.png and Graphics/Pictures/lockpick_pin_background.png

5. This script isn't otherwise very customizeable at the moment. Feel free to tinker with the number of tumblers per difficulty and such.

 

 

 

#==============================================================================
# ** Lockpick Minigame
#------------------------------------------------------------------------------
# Your Name   : Eilei
# Version	 : 1.0.0
# Date		: September 9, 2007
# SDK Version : Version 2.3, Part I
#==============================================================================

=begin					Installation Instructions

0.) Get SDK if you don't have it; Part I is required for this script.

1.) Copy this script and paste it into your script list, just above Main.

					  Editing Instructions

1.) Change the main background by swapping out
  Graphics/Pictures/lockpick_background.png
for whatever you want.  Change the audio file at 
  Audio/BGM/lockpick_music.mp3
Change the color of the tumblers by messing with
  Graphics/Pictures/lockpick_pins.png,
but I don't recommend changing the sizes of the pins.  Finally, change the
minigame lock background colors by editing both
  Graphics/Pictures/lockpick_cylinder.png
and
  Graphics/Pictures/lockpick_pin_background.png

2.) This script isn't otherwise very customizeable at the moment.  Feel free
to tinker with the number of tumblers per difficulty and such.

					  Usage
					  
1.) See the two chests for the two ways to use this script; one method puts
the lockpicking result in a specified event's self switches, the other
puts it in a specified global switch.

					  Legal Notices
					  
This script is Copyright © 2007 C. Schrupp.

This script is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This script is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

A copy of the GNU General Public License is in gpl.txt in the main
directory.  If not, see <http://www.gnu.org/licenses/>.
=end

#--------------------------------------------------------------------------
# * Begin SDK Log
#--------------------------------------------------------------------------
SDK.log( 'Lockpicking Minigame', 'Eilei', '1.0', '2007-09-08')

#--------------------------------------------------------------------------
# * Begin Requirements Check
#--------------------------------------------------------------------------
SDK.check_requirements( 2.3, [1] )

#--------------------------------------------------------------------------
# * Begin SDK Enable Test
#--------------------------------------------------------------------------
if SDK.enabled?( 'Lockpicking Minigame' )

#----------------------------------------------------------------------------
# Begin Game_Temp Edit
#----------------------------------------------------------------------------
class Game_Temp
 attr_accessor :lock_difficulty   # difficulty for the next lock to be picked
end
#----------------------------------------------------------------------------
# End Game_Temp Edit
#----------------------------------------------------------------------------

#==============================================================================
# ** Scene_LockpickMinigame
#------------------------------------------------------------------------------
#  Scene_LockpickMinigame is the scene to call when you want to run the
#  lockpicking minigame
#
#  NOTE: Scene_LockpickMinigame.set_result MUST be called before $scene is
#  set, or the minigame will not work.
#==============================================================================
class Scene_LockpickMinigame < SDK::Scene_Base

 #---------------------------------------------------------------------------+
 # Scene Constants														   |
 #---------------------------------------------------------------------------+
 LOCK_VERY_EASY  = 0
 LOCK_EASY	   = 1
 LOCK_AVERAGE	= 2
 LOCK_DIFFICULT  = 3
 LOCK_INSANE	 = 4

 # The number of tumblers for each difficulty should be prime to maximize the
 # probability that the puzzle will be solveable.
 LOCK_TUMBLERS = {
LOCK_VERY_EASY => 2,
LOCK_EASY	  => 3,
LOCK_AVERAGE   => 5,
LOCK_DIFFICULT => 7,
LOCK_INSANE	=> 11
 }
 
 LOCK_AUDIO_UNLOCK = RPG::AudioFile.new( 'lock_open' )
 
 # Internal constants
 CYLINDER_WIDTH  = 288
 
 #--------------------------------------------------------------------------
 # * Main Processing : Variable Initialization
 #--------------------------------------------------------------------------
 def main_variable

# Check that the default value is ok
if not LOCK_TUMBLERS.keys.include?( $game_temp.lock_difficulty )
  $game_temp.lock_difficulty = LOCK_VERY_EASY
end

# Initialize the tumbler pins
@pins = Array.new( LOCK_TUMBLERS[ $game_temp.lock_difficulty ] )

# Initialize the current lock modifier
# (guarantees @lock_number will be prime)
n = rand( 40 ) + 1
@lock_number = n**2 + n + 41

 end

 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 def main_sprite
# Initialize viewports
@viewport_background = Viewport.new( 0, 0, 640, 480)
@viewport_background.z = -500
@viewport_lock = Viewport.new( ( 640 - CYLINDER_WIDTH ) / 2, 90,
  CYLINDER_WIDTH, 300 )
@viewport_lock.z = -200

# display background image
@background_sprite = Sprite.new( @viewport_background )
@background_sprite.bitmap = RPG::Cache.picture( 'lockpick_background' )

# display lock cylinder
@cylinder_sprite = Sprite.new( @viewport_lock )
@cylinder_sprite.bitmap = RPG::Cache.picture( 'lockpick_cylinder' )

# display tumbler springs and pins
for i in 0...@pins.size
  @pins[ i ] = Tumbler.new( @viewport_lock )
  @pins[ i ].x = CYLINDER_WIDTH * ( i + 1 ) / ( @pins.size + 1 )
  @pins[ i ].y = 0
end

# display lockpick
@lockpick_sprite = Lockpick.new
@lockpick_sprite.tumblers = @pins.size
 end
 
 #--------------------------------------------------------------------------
 # * Main Processing : Window Initialization
 #--------------------------------------------------------------------------
 def main_window
@help_window = Window_Help.new
@help_window.set_text(
  'Line up the tumbler pins with the cylinder to pick the lock.' )
@help_window.back_opacity = 160
 end
 
 #--------------------------------------------------------------------------
 # * Main Processing : Audio Initialization
 #--------------------------------------------------------------------------
 def main_audio
$game_system.bgm_play( RPG::AudioFile.new( 'lockpick_music', 80 ))
 end

 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
# game cancelled
if Input.trigger?( Input::B )
  $scene = Scene_Map.new
end

# Don't allow other input if animating
if @lockpick_sprite.move?
  return
end
for i in 0...@pins.size
  if @pins[ i ].move?
	return
  end
end

# move the lockpick left or right
if Input.trigger?( Input::RIGHT )
  @lockpick_sprite.move_right
  if not @lockpick_sprite.move?
	$game_system.se_play( $data_system.buzzer_se )
  end
end
if Input.trigger?( Input::LEFT )
  @lockpick_sprite.move_left
  if not @lockpick_sprite.move?
	$game_system.se_play( $data_system.buzzer_se )
  end
end

# knock a tumbler up - cascades
if Input.trigger?( Input::UP )
  @pins[ @lockpick_sprite.position ].raise
  if @pins[ @lockpick_sprite.position ].move?
	$game_system.se_play( Tumbler::TUMBLER_AUDIO_UP )
	@lockpick_sprite.tap_up
	if @lockpick_sprite.position > 0 # first pin guaranteed no cascades
	  @pins[ ( @lock_number * @lockpick_sprite.position ) %
		@pins.size ].raise
	end
	if $game_temp.lock_difficulty == LOCK_INSANE
	  @pins[ ( @lock_number + @lockpick_sprite.position ) %
		@pins.size ].lower
	end
  else
	$game_system.se_play($data_system.buzzer_se)
  end
end

# knock a tumbler down - cascades
if Input.trigger?( Input::DOWN )
  @pins[ @lockpick_sprite.position ].lower
  if @pins[ @lockpick_sprite.position ].move?
	$game_system.se_play( Tumbler::TUMBLER_AUDIO_DOWN )
	@lockpick_sprite.tap_down
	if @lockpick_sprite.position > 0 # first pin guaranteed no cascades
	  @pins[ ( @lock_number * @lockpick_sprite.position ) %
		@pins.size ].lower
	end
	if $game_temp.lock_difficulty == LOCK_INSANE
	  @pins[ ( @lock_number + @lockpick_sprite.position ) %
		@pins.size ].raise
	end
  else
	$game_system.se_play( $data_system.buzzer_se )
  end
end

# game finished, maybe
if Input.trigger?( Input::C )
  unlockable = true
  for i in 0...@pins.size
	if not @pins[ i ].open?
	  unlockable = false
	  break
	end
  end
  if unlockable
	
	$game_system.se_play( LOCK_AUDIO_UNLOCK )
	$scene = Scene_Map.new
	
	# change the specified result switch
	if @result_switch == 'X'
	  # not a self-switch
	  $game_switches[ @result_id ] = true
	else
	  $game_self_switches[ [ $game_map.map_id, @result_id,
		@result_switch ] ] = true
	end
	$game_map.need_refresh = true
  else
	$game_system.se_play( $data_system.buzzer_se )
  end
end

 end

 #--------------------------------------------------------------------------
 # * Main Processing : Ending
 #--------------------------------------------------------------------------
 def main_end
Audio.bgm_fade( 2000 )
 end

 #--------------------------------------------------------------------------
 # * set_result specifies which game switch is to be changed to true on a
 # successful lockpick.
 # id = event id for a self-switch, or switch id for a global switch
 # self_switch = 'A', etc. for a self-switch.
 # LEAVE self_switch BLANK TO SPECIFY A GLOBAL SWITCH
 #--------------------------------------------------------------------------
 def set_result( id, self_switch = 'X' )
@result_id = id
@result_switch = self_switch
 end
 
end # class Scene_LockpickMinigame

#==============================================================================
# ** Tumbler
#------------------------------------------------------------------------------
#  Tumbler represents one of the lock's tumblers
#==============================================================================
class Tumbler < Sprite
 #---------------------------------------------------------------------------+
 # Tumbler Constants														 |
 #---------------------------------------------------------------------------+
 # Maximum vertical size (in potential openings) of a tumbler
 TUMBLER_POSITIONS = 6
 
 # Bitmap sources for the pictures
 TUMBLER_PIN_BITMAP	= RPG::Cache.picture( 'lockpick_pins' )
 TUMBLER_SPRING_BITMAP = [
RPG::Cache.picture( 'lockpick_spring1' ),
RPG::Cache.picture( 'lockpick_spring2' ),
RPG::Cache.picture( 'lockpick_spring3' ),
RPG::Cache.picture( 'lockpick_spring4' ),
RPG::Cache.picture( 'lockpick_spring5' ),
RPG::Cache.picture( 'lockpick_spring6' )
 ]
 TUMBLER_BACKGROUND_BITMAP = RPG::Cache.picture( 'lockpick_pin_background' )
 
 # Source rectangles inside the tumbler pin bitmap
 TUMBLER_DRIVER_TOP	= Rect.new(  0,  0, 20,  2 )
 TUMBLER_DRIVER_MIDDLE = Rect.new(  0,  2, 20, 27 )
 TUMBLER_DRIVER_BOTTOM = Rect.new(  0, 29, 20,  3 )
 TUMBLER_KEY_TOP	   = Rect.new( 20,  0, 20,  3 )
 TUMBLER_KEY_MIDDLE	= Rect.new( 20,  3, 20, 17 )
 TUMBLER_KEY_BOTTOM	= Rect.new( 20, 20, 20, 12 )
 
 # Audio for ratcheting
 TUMBLER_AUDIO_UP   = RPG::AudioFile.new( 'tumbler', 100, 105 )
 TUMBLER_AUDIO_DOWN = RPG::AudioFile.new( 'tumbler', 100,  95 )

 # Rate at which the tumbler pins move up and down
 TUMBLER_MOVE_SPEED = 2  # this should be a factor of 20 (ie, 1, 2, 4, 5 )

 #---------------------------------------------------------------------------+
 # Tumbler Methods														   |
 #---------------------------------------------------------------------------+
 def initialize( *arg )
super *arg
@opening = rand( TUMBLER_POSITIONS )
while @level.nil? or @level + @opening == TUMBLER_POSITIONS - 1
  @level = rand( TUMBLER_POSITIONS )
end
self.bitmap = Bitmap.new( 22, 262 )
self.bitmap.blt( 0, 0, TUMBLER_BACKGROUND_BITMAP,
  TUMBLER_BACKGROUND_BITMAP.rect )
@current = ( @level + 1 ) * 20 - TUMBLER_MOVE_SPEED
 end
 
 #--------------------------------------------------------------------------
 # * raise moves the tumbler up a number of clicks
 # distance = maximum distance raised
 #--------------------------------------------------------------------------
 def raise( distance = 1 )
@level -= distance
if @level >= TUMBLER_POSITIONS
  @level = TUMBLER_POSITIONS - 1
elsif @level < 0
  @level = 0
end
 end

 #--------------------------------------------------------------------------
 # * lower moves the tumbler down a number of clicks
 # distance = maximum distance lowered
 #--------------------------------------------------------------------------
 def lower( distance = 1 )
@level += distance
if @level >= TUMBLER_POSITIONS
  @level = TUMBLER_POSITIONS - 1
elsif @level < 0
  @level = 0
end
 end

 #--------------------------------------------------------------------------
 # * open? determines if the current level is the same as the opening
 # between the driver and key pins
 #--------------------------------------------------------------------------
 def open?
return @level + @opening == TUMBLER_POSITIONS - 1
 end

 #--------------------------------------------------------------------------
 # * move? determines if the pin is currently moving
 #--------------------------------------------------------------------------
 def move?
return @current != ( @level + 1 ) * 20
 end
 
 #--------------------------------------------------------------------------
 # * update updates the current display of the tumbler, ratcheting it up
 # or down depending on its current position vs. desired
 #--------------------------------------------------------------------------
 def update

super

# See if we need to update position
if not move?
  return
elsif @current - ( @level + 1 ) * 20 > 0
  @current -= TUMBLER_MOVE_SPEED # move up
else
  @current += TUMBLER_MOVE_SPEED # move down
end

# Fill in the background
self.bitmap.fill_rect( Rect.new( 1, 1, 20, 260 ),
  Color.new( 255, 255, 255 ) )

# Draw the spring
spring_level = ( ( @current + 10 ) / 20 ) - 1
self.bitmap.stretch_blt( Rect.new( 1, 1, 20, @current + 1 ),
  TUMBLER_SPRING_BITMAP[ spring_level ],
  TUMBLER_SPRING_BITMAP[ spring_level ].rect )
  
# Draw the driver pin
self.bitmap.blt( 1, @current + 1, TUMBLER_PIN_BITMAP,
  TUMBLER_DRIVER_TOP )
self.bitmap.stretch_blt( Rect.new( 1, @current + 3, 20,
  ( @opening + 1 ) * 20 - 5 ), TUMBLER_PIN_BITMAP,
  TUMBLER_DRIVER_MIDDLE )
self.bitmap.blt( 1, ( @opening + 1 ) * 20 + @current - 2,
  TUMBLER_PIN_BITMAP, TUMBLER_DRIVER_BOTTOM )

# Draw the key pin
self.bitmap.blt( 1, ( @opening + 1 ) * 20 + @current + 1,
  TUMBLER_PIN_BITMAP, TUMBLER_KEY_TOP )
self.bitmap.stretch_blt( Rect.new( 1, ( @opening + 1 ) * 20 + @current + 4,
  20, ( TUMBLER_POSITIONS - @opening ) * 20 - 15 ), TUMBLER_PIN_BITMAP,
  TUMBLER_KEY_MIDDLE )
self.bitmap.blt( 1, ( TUMBLER_POSITIONS + 1 ) * 20 + @current - 11,
  TUMBLER_PIN_BITMAP, TUMBLER_KEY_BOTTOM )

 end

 
 def set_result_switch( event_id, switch_id )
 end
 
end # class Tumbler

#==============================================================================
# ** Lockpick
#------------------------------------------------------------------------------
#  Lockpick represents the game's lockpick
#==============================================================================
class Lockpick < Sprite
 
 attr_accessor :tumblers
 attr_accessor :position
 
 #---------------------------------------------------------------------------+
 # Lockpick Constants														 |
 #---------------------------------------------------------------------------+
 LOCKPICK_X_OFFSET = ( 640 - Scene_LockpickMinigame::CYLINDER_WIDTH ) / 2 - 482
 LOCKPICK_MOVEMENT_SPEED = 8  # This can be any integer; higher is faster
 
 #--------------------------------------------------------------------------
 # * initialize sets the starting lockpick x coordinate
 #--------------------------------------------------------------------------
 def initialize( *arg )
super *arg

self.bitmap = RPG::Cache.picture( 'lockpick_lockpick' )
self.x = LOCKPICK_X_OFFSET
self.y = 355

@position = 0
@current = 0
@tumblers = 1
@tap_count = 0
 end
 
 #--------------------------------------------------------------------------
 # * move_right moves the lockpick right one tumbler
 #--------------------------------------------------------------------------
 def move_right
if @tap_count != 0
  return
end
if @position >= @tumblers - 1
  @position = @tumblers - 1
else
  @position += 1
end
 end
 
 #--------------------------------------------------------------------------
 # * move_left moves the lockpick left one tumbler
 #--------------------------------------------------------------------------
 def move_left
if @tap_count != 0
  return
end
if @position <= 0
  @position = 0
else
  @position -= 1
end
 end

 #--------------------------------------------------------------------------
 # * tap_up moves the lockpick in an upwards tapping motion
 #--------------------------------------------------------------------------
 def tap_up
@tap_count = 8
 end

 #--------------------------------------------------------------------------
 # * tap_down moves the lockpick in a downwards tapping motion
 #--------------------------------------------------------------------------
 def tap_down
@tap_count = -6
 end
 
 #--------------------------------------------------------------------------
 # * move? determines if the lockpick needs to move
 #--------------------------------------------------------------------------
 def move?
current_x = Scene_LockpickMinigame::CYLINDER_WIDTH * ( @position + 1 ) /
  ( @tumblers + 1 )
return ( @current != current_x or @tap_count != 0 )
 end

 #--------------------------------------------------------------------------
 # * initialize sets the starting lockpick x coordinate
 #--------------------------------------------------------------------------
 def update
super

# See if we're animated up or down
if @tap_count != 0 # down
  if @tap_count < 0
	self.x = @current + LOCKPICK_X_OFFSET
	self.y = 354 - @tap_count
	@tap_count += 1
  else # up
	self.x = @current + LOCKPICK_X_OFFSET - @tap_count
	self.y = 356 - @tap_count
	@tap_count -= 1
  end
  return
end

# See if we need to update position
if not move?
  return
elsif Scene_LockpickMinigame::CYLINDER_WIDTH * ( @position + 1 ) /
	( @tumblers + 1 ) > @current
  @current += LOCKPICK_MOVEMENT_SPEED
else
  @current -= LOCKPICK_MOVEMENT_SPEED
end

# if we're close, just set it to the right value
if ( @current - Scene_LockpickMinigame::CYLINDER_WIDTH * ( position + 1 ) /
	( @tumblers + 1 ) ).abs <=
	LOCKPICK_MOVEMENT_SPEED / 2
  @current = Scene_LockpickMinigame::CYLINDER_WIDTH * ( @position + 1 ) /
	( @tumblers + 1 )
end

self.x = @current + LOCKPICK_X_OFFSET
self.y = 355
 end
 
end # class Lockpick
 
end # if SDK.enabled?

 

 

Bugs e Conflitti Noti

Non funziona senza SDK 2.3

 

EDIT -I tuoi piedini pelosi sono salvi coniglietto xD

Edited by Raxas_Alice

http://fc01.deviantart.net/fs71/f/2014/092/2/f/shtbanner_by_flaminiakennedy-d7cq8qm.png http://www.freankexpo.net/signature/697.png



Miglior Esplicazione del Progetto nel Cover Contest
http://www.rpg2s.net/cover_contest/icons/cc_special.png
Secondo posto allo Screen Contest #58
http://rpg2s.net/gif/SCContest2Oct.gif
Secondo posto allo Screen Contest #59
http://rpg2s.net/gif/SCContest2Oct.gif
Terzo posto allo Screen Contest #68
http://rpg2s.net/gif/SCContest3Oct.gif

Link to comment
Share on other sites

Ah quello che usi nel progetto :D

Buono script per minigiochi di serrature! ^ ^

Quando posti il codice usa il tag con la parola ruby, così viene lo script tutto colorato arcobalenosamente ° ° :sisi:

XD Editato!

^ ^

 

EDIT: argh grosso problema D: D:, insieme allo script ha copiato pure i numeri delle righe quindi bisognerebbe cancellare tutti i numeri da uno a 582 ;______ ;

 

EDIT2: numeri tolti copia-incollando lo script di nuovo, ma... non capisco perchè lo dà tutto blu senza colorarlo...

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

No, non lo sto usando io, volevo ma servirebbe l'sdk e non voglio implementarlo perchè ho sentito che da un sacco di problemi, almeno credo.

Allora a tempo perso mi sa che li cancellerò io :sisi:

Poi mi suiciderò xD

http://fc01.deviantart.net/fs71/f/2014/092/2/f/shtbanner_by_flaminiakennedy-d7cq8qm.png http://www.freankexpo.net/signature/697.png



Miglior Esplicazione del Progetto nel Cover Contest
http://www.rpg2s.net/cover_contest/icons/cc_special.png
Secondo posto allo Screen Contest #58
http://rpg2s.net/gif/SCContest2Oct.gif
Secondo posto allo Screen Contest #59
http://rpg2s.net/gif/SCContest2Oct.gif
Terzo posto allo Screen Contest #68
http://rpg2s.net/gif/SCContest3Oct.gif

Link to comment
Share on other sites

Poi mi suiciderò xD

Ah aspetta non editare (e scendi da quel grattacielo... dalla via delle scale! XDXD)! XD Ho fatto io copia-incollando di nuovo lo script da altre fonti! XD Rimane un problema (il tutto blu ° °)... ho chiesto a chi se ne intende.

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Se riuscirai a far sistemare quello script al diavolo l'SDK, lo userò assolutamente e ti bacerò quei batuffolosi piedini da coniglietto finchè non ti si consumeranno! XD

http://fc01.deviantart.net/fs71/f/2014/092/2/f/shtbanner_by_flaminiakennedy-d7cq8qm.png http://www.freankexpo.net/signature/697.png



Miglior Esplicazione del Progetto nel Cover Contest
http://www.rpg2s.net/cover_contest/icons/cc_special.png
Secondo posto allo Screen Contest #58
http://rpg2s.net/gif/SCContest2Oct.gif
Secondo posto allo Screen Contest #59
http://rpg2s.net/gif/SCContest2Oct.gif
Terzo posto allo Screen Contest #68
http://rpg2s.net/gif/SCContest3Oct.gif

Link to comment
Share on other sites

Ho letto in un forum che serve solo Scene_Base dell'SDK, quindi ho estratto quella parte ed "eliminato" il codice per la verifica della presenza dell'SDK . . .

Non ho la più pallida idea se funzioni o meno, comunque . . .

 

 

module SDK

class Scene_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
@previous_scene = $scene.class
 end
 #--------------------------------------------------------------------------
 # * Main Processing
 #--------------------------------------------------------------------------
 def main
main_variable				 # Main Variable Initialization
main_spriteset				# Main Spriteset Initialization
main_sprite				   # Main Sprite Initialization
main_window				   # Main Window Initialization
main_audio					# Main Audio Initialization
main_transition			   # Main Transition Initialization
loop do					   # Scene Loop
  main_loop				   # Main Loop
  break if main_break?		# Break If Breakloop Test 
end						   # End Scene Loop
Graphics.freeze			   # Prepare for transition
main_dispose				  # Main Dispose
main_end					  # Main End
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Variable Initialization
 #--------------------------------------------------------------------------
 def main_variable ; end
 #--------------------------------------------------------------------------
 # * Main Processing : Spriteset Initialization
 #--------------------------------------------------------------------------
 def main_spriteset; end
 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 def main_sprite; end
 #--------------------------------------------------------------------------
 # * Main Processing : Window Initialization
 #--------------------------------------------------------------------------
 def main_window; end
 #--------------------------------------------------------------------------
 # * Main Processing : Audio Initialization
 #--------------------------------------------------------------------------
 def main_audio	; end
 #--------------------------------------------------------------------------
 # * Main Processing : Transition
 #--------------------------------------------------------------------------
 def main_transition
Graphics.transition
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Loop
 #--------------------------------------------------------------------------
 def main_loop
Graphics.update			 # Update game screen
Input.update				# Update input information
main_update				 # Update scene objects
update					  # Update Processing
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Break Loop Test
 #--------------------------------------------------------------------------
 def main_break?
return $scene != self # Abort loop if sceen is changed
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Disposal
 #--------------------------------------------------------------------------
 def main_dispose
# Passes Through All Instance Variables
self.instance_variables.each do |object_name|
  # Evaluates Object
  object = eval object_name
  # Pass Object To Auto Dispose
  auto_dispose(object)
end
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Ending
 #--------------------------------------------------------------------------
 def main_end	  ; end
 #--------------------------------------------------------------------------
 # * Main Processing : Update
 #--------------------------------------------------------------------------
 def main_update
# Passes Through All Instance Variables
self.instance_variables.each do |object_name|
  # Evaluates Object
  object = eval object_name
  # Pass Object To Auto Update
  auto_update(object)
end
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Auto Update
 #--------------------------------------------------------------------------
 def auto_update(object)
# Return If Object isn't a Hash, Array or Respond to Update
return unless object.is_a?(Hash) || object.is_a?(Array) || 
			  object.respond_to?(:update)
# If Hash Object
if object.is_a?(Hash)
  object.each do |key, value|
	# Pass Key & Value to Auto Update
	auto_update(key); auto_update(value)
  end
  return
end
# If Array Object
if object.is_a?(Array)
  # Pass All Object to Auto Update
  object.each {|obj| auto_update(obj)}
  return
end
# If Responds to Dispose
if object.respond_to?(:dispose)
  # If Responds to Disposed? && is Disposed or Responds to Disable
  # Dispose and dispose is disabled
  if (object.respond_to?(:disposed?) && object.disposed?) ||
	 (object.respond_to?(:disable_dispose?) && object.disable_dispose?)
	# Return
	return
  end
end
# If Responds to Update
if object.respond_to?(:update)
  # If Responds to Disable Update & Update Disabled
  if object.respond_to?(:disable_update?) && object.disable_update?
	# Return
	return
  end
  # Update Object
  object.update
end
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Auto Dispose
 #--------------------------------------------------------------------------
 def auto_dispose(object)
# Return If Object isn't a Hash, Array or Respond to Dispose
return unless object.is_a?(Hash) || object.is_a?(Array) || 
			  object.respond_to?(:dispose)
# If Hash Object
if object.is_a?(Hash)
  object.each do |key, value|
	# Pass Key & Value to Auto Dispose
	auto_dispose(key); auto_dispose(value)
  end
  return
end
# If Array Object
if object.is_a?(Array)
  # Pass All Object to Auto Dispose
  object.each {|obj| auto_dispose(obj)}
  return
end
# If Responds to Dispose
if object.respond_to?(:dispose)
  # If Responds to Disposed? && is Disposed or Responds to Disable
  # Dispose and dispose is disabled
  if (object.respond_to?(:disposed?) && object.disposed?) ||
	 (object.respond_to?(:disable_dispose?) && object.disable_dispose?)
	# Return
	return
  end
  # Dispose Object
  object.dispose
end
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update		; end
end

end


#==============================================================================
# ** Lockpick Minigame
#------------------------------------------------------------------------------
# Your Name   : Eilei
# Version	 : 1.0.0
# Date		: September 9, 2007
# SDK Version : Version 2.3, Part I
#==============================================================================

=begin					Installation Instructions

0.) Get SDK if you don't have it; Part I is required for this script.

1.) Copy this script and paste it into your script list, just above Main.

					  Editing Instructions

1.) Change the main background by swapping out
  Graphics/Pictures/lockpick_background.png
for whatever you want.  Change the audio file at
  Audio/BGM/lockpick_music.mp3
Change the color of the tumblers by messing with
  Graphics/Pictures/lockpick_pins.png,
but I don't recommend changing the sizes of the pins.  Finally, change the
minigame lock background colors by editing both
  Graphics/Pictures/lockpick_cylinder.png
and
  Graphics/Pictures/lockpick_pin_background.png

2.) This script isn't otherwise very customizeable at the moment.  Feel free
to tinker with the number of tumblers per difficulty and such.
  
					  Usage
					 
1.) See the two chests for the two ways to use this script; one method puts
the lockpicking result in a specified event's self switches, the other
puts it in a specified global switch.

					  Legal Notices
					 
This script is Copyright © 2007 C. Schrupp.

This script is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This script is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

A copy of the GNU General Public License is in gpl.txt in the main
directory.  If not, see <http://www.gnu.org/licenses/>.
=end

#--------------------------------------------------------------------------
# * Begin SDK Log
#--------------------------------------------------------------------------
# SDK.log( 'Lockpicking Minigame', 'Eilei', '1.0', '2007-09-08')

#--------------------------------------------------------------------------
# * Begin Requirements Check
#--------------------------------------------------------------------------
# SDK.check_requirements( 2.3, [1] )

#--------------------------------------------------------------------------
# * Begin SDK Enable Test
#--------------------------------------------------------------------------
# if SDK.enabled?( 'Lockpicking Minigame' )

#----------------------------------------------------------------------------
# Begin Game_Temp Edit
#----------------------------------------------------------------------------
class Game_Temp
 attr_accessor :lock_difficulty   # difficulty for the next lock to be picked
end
#----------------------------------------------------------------------------
# End Game_Temp Edit
#----------------------------------------------------------------------------

#==============================================================================
# ** Scene_LockpickMinigame
#------------------------------------------------------------------------------
#  Scene_LockpickMinigame is the scene to call when you want to run the
#  lockpicking minigame
#
#  NOTE: Scene_LockpickMinigame.set_result MUST be called before $scene is
#  set, or the minigame will not work.
#==============================================================================
class Scene_LockpickMinigame < SDK::Scene_Base

 #---------------------------------------------------------------------------+
 # Scene Constants														   |
 #---------------------------------------------------------------------------+
 LOCK_VERY_EASY  = 0
 LOCK_EASY	   = 1
 LOCK_AVERAGE	= 2
 LOCK_DIFFICULT  = 3
 LOCK_INSANE	 = 4

 # The number of tumblers for each difficulty should be prime to maximize the
 # probability that the puzzle will be solveable.
 LOCK_TUMBLERS = {
LOCK_VERY_EASY => 2,
LOCK_EASY	  => 3,
LOCK_AVERAGE   => 5,
LOCK_DIFFICULT => 7,
LOCK_INSANE	=> 11
 }

 LOCK_AUDIO_UNLOCK = RPG::AudioFile.new( 'lock_open' )

 # Internal constants
 CYLINDER_WIDTH  = 288

 #--------------------------------------------------------------------------
 # * Main Processing : Variable Initialization
 #--------------------------------------------------------------------------
 def main_variable

# Check that the default value is ok
if not LOCK_TUMBLERS.keys.include?( $game_temp.lock_difficulty )
  $game_temp.lock_difficulty = LOCK_VERY_EASY
end

# Initialize the tumbler pins
@pins = Array.new( LOCK_TUMBLERS[ $game_temp.lock_difficulty ] )
  
# Initialize the current lock modifier
# (guarantees @lock_number will be prime)
n = rand( 40 ) + 1
@lock_number = n**2 + n + 41

 end

 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 def main_sprite
# Initialize viewports
@viewport_background = Viewport.new( 0, 0, 640, 480)
@viewport_background.z = -500
@viewport_lock = Viewport.new( ( 640 - CYLINDER_WIDTH ) / 2, 90,
  CYLINDER_WIDTH, 300 )
@viewport_lock.z = -200
  
# display background image
@background_sprite = Sprite.new( @viewport_background )
@background_sprite.bitmap = RPG::Cache.picture( 'lockpick_background' )
  
# display lock cylinder
@cylinder_sprite = Sprite.new( @viewport_lock )
@cylinder_sprite.bitmap = RPG::Cache.picture( 'lockpick_cylinder' )
  
# display tumbler springs and pins
for i in 0...@pins.size
  @pins[ i ] = Tumbler.new( @viewport_lock )
  @pins[ i ].x = CYLINDER_WIDTH * ( i + 1 ) / ( @pins.size + 1 )
  @pins[ i ].y = 0
end
  
# display lockpick
@lockpick_sprite = Lockpick.new
@lockpick_sprite.tumblers = @pins.size
 end

 #--------------------------------------------------------------------------
 # * Main Processing : Window Initialization
 #--------------------------------------------------------------------------
 def main_window
@help_window = Window_Help.new
@help_window.set_text(
  'Line up the tumbler pins with the cylinder to pick the lock.' )
@help_window.back_opacity = 160
 end

 #--------------------------------------------------------------------------
 # * Main Processing : Audio Initialization
 #--------------------------------------------------------------------------
 def main_audio
$game_system.bgm_play( RPG::AudioFile.new( 'lockpick_music', 80 ))
 end

 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
# game cancelled
if Input.trigger?( Input::B )
  $scene = Scene_Map.new
end
  
# Don't allow other input if animating
if @lockpick_sprite.move?
  return
end
for i in 0...@pins.size
  if @pins[ i ].move?
	return
  end
end
  
# move the lockpick left or right
if Input.trigger?( Input::RIGHT )
  @lockpick_sprite.move_right
  if not @lockpick_sprite.move?
	$game_system.se_play( $data_system.buzzer_se )
  end
end
if Input.trigger?( Input::LEFT )
  @lockpick_sprite.move_left
  if not @lockpick_sprite.move?
	$game_system.se_play( $data_system.buzzer_se )
  end
end
  
# knock a tumbler up - cascades
if Input.trigger?( Input::UP )
  @pins[ @lockpick_sprite.position ].raise
  if @pins[ @lockpick_sprite.position ].move?
	$game_system.se_play( Tumbler::TUMBLER_AUDIO_UP )
	@lockpick_sprite.tap_up
	if @lockpick_sprite.position > 0 # first pin guaranteed no cascades
	  @pins[ ( @lock_number * @lockpick_sprite.position ) %
		@pins.size ].raise
	end
	if $game_temp.lock_difficulty == LOCK_INSANE
	  @pins[ ( @lock_number + @lockpick_sprite.position ) %
		@pins.size ].lower
	end
  else
	$game_system.se_play($data_system.buzzer_se)
  end
end
  
# knock a tumbler down - cascades
if Input.trigger?( Input::DOWN )
  @pins[ @lockpick_sprite.position ].lower
  if @pins[ @lockpick_sprite.position ].move?
	$game_system.se_play( Tumbler::TUMBLER_AUDIO_DOWN )
	@lockpick_sprite.tap_down
	if @lockpick_sprite.position > 0 # first pin guaranteed no cascades
	  @pins[ ( @lock_number * @lockpick_sprite.position ) %
		@pins.size ].lower
	end
	if $game_temp.lock_difficulty == LOCK_INSANE
	  @pins[ ( @lock_number + @lockpick_sprite.position ) %
		@pins.size ].raise
	end
  else
	$game_system.se_play( $data_system.buzzer_se )
  end
end

# game finished, maybe
if Input.trigger?( Input::C )
  unlockable = true
  for i in 0...@pins.size
	if not @pins[ i ].open?
	  unlockable = false
	  break
	end
  end
  if unlockable
   
	$game_system.se_play( LOCK_AUDIO_UNLOCK )
	$scene = Scene_Map.new
   
	# change the specified result switch
	if @result_switch == 'X'
	  # not a self-switch
	  $game_switches[ @result_id ] = true
	else
	  $game_self_switches[ [ $game_map.map_id, @result_id,
		@result_switch ] ] = true
	end
	$game_map.need_refresh = true
  else
	$game_system.se_play( $data_system.buzzer_se )
  end
end

 end

 #--------------------------------------------------------------------------
 # * Main Processing : Ending
 #--------------------------------------------------------------------------
 def main_end
Audio.bgm_fade( 2000 )
 end

 #--------------------------------------------------------------------------
 # * set_result specifies which game switch is to be changed to true on a
 # successful lockpick.
 # id = event id for a self-switch, or switch id for a global switch
 # self_switch = 'A', etc. for a self-switch.
 # LEAVE self_switch BLANK TO SPECIFY A GLOBAL SWITCH
 #--------------------------------------------------------------------------
 def set_result( id, self_switch = 'X' )
@result_id = id
@result_switch = self_switch
 end

end # class Scene_LockpickMinigame

#==============================================================================
# ** Tumbler
#------------------------------------------------------------------------------
#  Tumbler represents one of the lock's tumblers
#==============================================================================
class Tumbler < Sprite
 #---------------------------------------------------------------------------+
 # Tumbler Constants														 |
 #---------------------------------------------------------------------------+
 # Maximum vertical size (in potential openings) of a tumbler
 TUMBLER_POSITIONS = 6

 # Bitmap sources for the pictures
 TUMBLER_PIN_BITMAP	= RPG::Cache.picture( 'lockpick_pins' )
 TUMBLER_SPRING_BITMAP = [
RPG::Cache.picture( 'lockpick_spring1' ),
RPG::Cache.picture( 'lockpick_spring2' ),
RPG::Cache.picture( 'lockpick_spring3' ),
RPG::Cache.picture( 'lockpick_spring4' ),
RPG::Cache.picture( 'lockpick_spring5' ),
RPG::Cache.picture( 'lockpick_spring6' )
 ]
 TUMBLER_BACKGROUND_BITMAP = RPG::Cache.picture( 'lockpick_pin_background' )

 # Source rectangles inside the tumbler pin bitmap
 TUMBLER_DRIVER_TOP	= Rect.new(  0,  0, 20,  2 )
 TUMBLER_DRIVER_MIDDLE = Rect.new(  0,  2, 20, 27 )
 TUMBLER_DRIVER_BOTTOM = Rect.new(  0, 29, 20,  3 )
 TUMBLER_KEY_TOP	   = Rect.new( 20,  0, 20,  3 )
 TUMBLER_KEY_MIDDLE	= Rect.new( 20,  3, 20, 17 )
 TUMBLER_KEY_BOTTOM	= Rect.new( 20, 20, 20, 12 )

 # Audio for ratcheting
 TUMBLER_AUDIO_UP   = RPG::AudioFile.new( 'tumbler', 100, 105 )
 TUMBLER_AUDIO_DOWN = RPG::AudioFile.new( 'tumbler', 100,  95 )

 # Rate at which the tumbler pins move up and down
 TUMBLER_MOVE_SPEED = 2  # this should be a factor of 20 (ie, 1, 2, 4, 5 )

 #---------------------------------------------------------------------------+
 # Tumbler Methods														   |
 #---------------------------------------------------------------------------+
 def initialize( *arg )
super *arg
@opening = rand( TUMBLER_POSITIONS )
while @level.nil? or @level + @opening == TUMBLER_POSITIONS - 1
  @level = rand( TUMBLER_POSITIONS )
end
self.bitmap = Bitmap.new( 22, 262 )
self.bitmap.blt( 0, 0, TUMBLER_BACKGROUND_BITMAP,
  TUMBLER_BACKGROUND_BITMAP.rect )
@current = ( @level + 1 ) * 20 - TUMBLER_MOVE_SPEED
 end

 #--------------------------------------------------------------------------
 # * raise moves the tumbler up a number of clicks
 # distance = maximum distance raised
 #--------------------------------------------------------------------------
 def raise( distance = 1 )
@level -= distance
if @level >= TUMBLER_POSITIONS
  @level = TUMBLER_POSITIONS - 1
elsif @level < 0
  @level = 0
end
 end

 #--------------------------------------------------------------------------
 # * lower moves the tumbler down a number of clicks
 # distance = maximum distance lowered
 #--------------------------------------------------------------------------
 def lower( distance = 1 )
@level += distance
if @level >= TUMBLER_POSITIONS
  @level = TUMBLER_POSITIONS - 1
elsif @level < 0
  @level = 0
end
 end

 #--------------------------------------------------------------------------
 # * open? determines if the current level is the same as the opening
 # between the driver and key pins
 #--------------------------------------------------------------------------
 def open?
return @level + @opening == TUMBLER_POSITIONS - 1
 end

 #--------------------------------------------------------------------------
 # * move? determines if the pin is currently moving
 #--------------------------------------------------------------------------
 def move?
return @current != ( @level + 1 ) * 20
 end

 #--------------------------------------------------------------------------
 # * update updates the current display of the tumbler, ratcheting it up
 # or down depending on its current position vs. desired
 #--------------------------------------------------------------------------
 def update
  
super
  
# See if we need to update position
if not move?
  return
elsif @current - ( @level + 1 ) * 20 > 0
  @current -= TUMBLER_MOVE_SPEED # move up
else
  @current += TUMBLER_MOVE_SPEED # move down
end
  
# Fill in the background
self.bitmap.fill_rect( Rect.new( 1, 1, 20, 260 ),
  Color.new( 255, 255, 255 ) )
  
# Draw the spring
spring_level = ( ( @current + 10 ) / 20 ) - 1
self.bitmap.stretch_blt( Rect.new( 1, 1, 20, @current + 1 ),
  TUMBLER_SPRING_BITMAP[ spring_level ],
  TUMBLER_SPRING_BITMAP[ spring_level ].rect )
 
# Draw the driver pin
self.bitmap.blt( 1, @current + 1, TUMBLER_PIN_BITMAP,
  TUMBLER_DRIVER_TOP )
self.bitmap.stretch_blt( Rect.new( 1, @current + 3, 20,
  ( @opening + 1 ) * 20 - 5 ), TUMBLER_PIN_BITMAP,
  TUMBLER_DRIVER_MIDDLE )
self.bitmap.blt( 1, ( @opening + 1 ) * 20 + @current - 2,
  TUMBLER_PIN_BITMAP, TUMBLER_DRIVER_BOTTOM )
  
# Draw the key pin
self.bitmap.blt( 1, ( @opening + 1 ) * 20 + @current + 1,
  TUMBLER_PIN_BITMAP, TUMBLER_KEY_TOP )
self.bitmap.stretch_blt( Rect.new( 1, ( @opening + 1 ) * 20 + @current + 4,
  20, ( TUMBLER_POSITIONS - @opening ) * 20 - 15 ), TUMBLER_PIN_BITMAP,
  TUMBLER_KEY_MIDDLE )
self.bitmap.blt( 1, ( TUMBLER_POSITIONS + 1 ) * 20 + @current - 11,
  TUMBLER_PIN_BITMAP, TUMBLER_KEY_BOTTOM )
  
 end


 def set_result_switch( event_id, switch_id )
 end

end # class Tumbler

#==============================================================================
# ** Lockpick
#------------------------------------------------------------------------------
#  Lockpick represents the game's lockpick
#==============================================================================
class Lockpick < Sprite

 attr_accessor :tumblers
 attr_accessor :position

 #---------------------------------------------------------------------------+
 # Lockpick Constants														 |
 #---------------------------------------------------------------------------+
 LOCKPICK_X_OFFSET = ( 640 - Scene_LockpickMinigame::CYLINDER_WIDTH ) / 2 - 482
 LOCKPICK_MOVEMENT_SPEED = 8  # This can be any integer; higher is faster

 #--------------------------------------------------------------------------
 # * initialize sets the starting lockpick x coordinate
 #--------------------------------------------------------------------------
 def initialize( *arg )
super *arg
  
self.bitmap = RPG::Cache.picture( 'lockpick_lockpick' )
self.x = LOCKPICK_X_OFFSET
self.y = 355
  
@position = 0
@current = 0
@tumblers = 1
@tap_count = 0
 end

 #--------------------------------------------------------------------------
 # * move_right moves the lockpick right one tumbler
 #--------------------------------------------------------------------------
 def move_right
if @tap_count != 0
  return
end
if @position >= @tumblers - 1
  @position = @tumblers - 1
else
  @position += 1
end
 end

 #--------------------------------------------------------------------------
 # * move_left moves the lockpick left one tumbler
 #--------------------------------------------------------------------------
 def move_left
if @tap_count != 0
  return
end
if @position <= 0
  @position = 0
else
  @position -= 1
end
 end

 #--------------------------------------------------------------------------
 # * tap_up moves the lockpick in an upwards tapping motion
 #--------------------------------------------------------------------------
 def tap_up
@tap_count = 8
 end

 #--------------------------------------------------------------------------
 # * tap_down moves the lockpick in a downwards tapping motion
 #--------------------------------------------------------------------------
 def tap_down
@tap_count = -6
 end

 #--------------------------------------------------------------------------
 # * move? determines if the lockpick needs to move
 #--------------------------------------------------------------------------
 def move?
current_x = Scene_LockpickMinigame::CYLINDER_WIDTH * ( @position + 1 ) /
  ( @tumblers + 1 )
return ( @current != current_x or @tap_count != 0 )
 end

 #--------------------------------------------------------------------------
 # * initialize sets the starting lockpick x coordinate
 #--------------------------------------------------------------------------
 def update
super
  
# See if we're animated up or down
if @tap_count != 0 # down
  if @tap_count < 0
	self.x = @current + LOCKPICK_X_OFFSET
	self.y = 354 - @tap_count
	@tap_count += 1
  else # up
	self.x = @current + LOCKPICK_X_OFFSET - @tap_count
	self.y = 356 - @tap_count
	@tap_count -= 1
  end
  return
end

# See if we need to update position
if not move?
  return
elsif Scene_LockpickMinigame::CYLINDER_WIDTH * ( @position + 1 ) /
	( @tumblers + 1 ) > @current
  @current += LOCKPICK_MOVEMENT_SPEED
else
  @current -= LOCKPICK_MOVEMENT_SPEED
end
  
# if we're close, just set it to the right value
if ( @current - Scene_LockpickMinigame::CYLINDER_WIDTH * ( position + 1 ) /
	( @tumblers + 1 ) ).abs <=
	LOCKPICK_MOVEMENT_SPEED / 2
  @current = Scene_LockpickMinigame::CYLINDER_WIDTH * ( @position + 1 ) /
	( @tumblers + 1 )
end

self.x = @current + LOCKPICK_X_OFFSET
self.y = 355
 end

end # class Lockpick

# end # if SDK.enabled?

 

 

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

Se riuscirai a far sistemare quello script al diavolo l'SDK, lo userò assolutamente e ti bacerò quei batuffolosi piedini da coniglietto finchè non ti si consumeranno! XD

Ora mi si vede bene non più blu, funziona... XD

Per il fatto delle SDK ci penserà il buon giver (ai miei piedini ci tengo! XDXD), dagli magari conferma degli edit che lui non possiede rpgmaker! ^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Un sistema di lockpicking come quello di Oblivion? Figata :D

Certo, la grafica fa abbastanza cagare, ma è sempre possibile sostituirla con le immagini originali del gioco.

Se mi gira vedo di farne una versione ad eventi.

(Sì, sono l'AnteroLehtinen che bazzica in chat. E... sì, una volta insegnavo storyboarding.)

http://img26.imageshack.us/img26/7048/firmadn.png

Link to comment
Share on other sites

Sembrerebbe interessante.... peccato che serve l'SDK.

Comunque, non è lo stesso utilizzato da Theoras in Raldon?

Nooooooooooooooooooooooooooooooooooooooooooo!

Il mio meraviglioso progetto con Rpg Maker 2009 Ultimate, "A Frog's Story", è morto per sempre cancellato dal PC insieme a metà della mia chiave USB... Ci avevo lavorato dei mesi... Ma la vita va avanti XD

 

Io non dico che sei scemo, ma se qualcuno lo dicesse, credo che approverei volentieri!
Epic Quote!
Link to comment
Share on other sites

Uh, ci mancava questo script, che dire, molto interessante, da un tocco in più di originalità al gioco.^^

Sembrerebbe interessante.... peccato che serve l'SDK.

Comunque, non è lo stesso utilizzato da Theoras in Raldon?

Mi pare di si, molte persone lo cercavano in passato. :sisi:

PROGETTI IN CORSO:

 

http://img88.imageshack.us/img88/8484/bannerfirmabetatester.jpg

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

In chat il mio nickname sarà Aleks o Al, mi pento ancora di essermi messo il nick tamarro di Aliuzz.ç_ç

 

http://img571.imageshack.us/img571/6659/alicei.png

membro ufficiale fondatore n4 di mrfruffolobatuffolo

http://img717.imageshack.us/img717/4789/mrfruffolobanner.jpg

 

 

Rudo:

Ti ringrazio. Ci misi tutto me stesso diversi anni fa per realizzare CrystalQuest. Sebbene la mia visione sia cambiata con il passare del tempo, ci sono molti aspetti che manterrei se dovessi (per assurdo) realizzare una nuova avventura oggi.

 

Questo non accade tutti i giorni,sono commosso.ç_ç

 

 

Orgoglioso membro del trio *o*

Link to comment
Share on other sites

ma farlo ad eventi no eh? XD, è semplice.

http://i47.tinypic.com/245zg48.jpg

Epic win:

A nessuno è mai successo di fare sogni lucidi?
Ne faccio solo opachi... =(

Progetto in corso:

  • Lands Siege

Lands Siege, il destino è nelle tue mani. Se volete vedere un gioco degno del suo nome cliccate sul banner. Il gioco è ancora in via di sviluppo.

 

Collaborazione speciale al progetto Lands Siege:

Valentino Avon (Scripter)

http://i33.tinypic.com/112fq1l.jpg

 

Storia l l l l l l l l l l

Grafica l l l l l l l l l l

Sonoro l l l l l l l l l l

Eventi l l l l l l l l l l

Script l l l l l l l l l l

 

Completamento gioco l l l l l l l l l l

 

 

Contest

http://i52.tinypic.com/2lazfpg.jpg

 

 

Link to comment
Share on other sites

ma farlo ad eventi no eh? XD, è semplice.

si va bè che è "semplice" si lo è se ci si lavora ma anche un menu come la maggior parte del forum o molti altri script, tipo quello del salto e della corsa, ecc...sono semplici, si può fare quasi tutto quello che c'è tra gli script della community, ma più che altro qualcuno preferisce far da solo e altri preferiscono la pappa pronta per mancanza di tempo o perchè è quello che intendevano fare ed è lo script giusto che serve a quella persona, o anche i niubbi che si sono avvicinati al mondo del making da poco e guardano gli script per capirne di più in modo da vedere come si fa una determinata cosa, creditando gli autori, infondo gli script postati sevono a questo, no?xD

PROGETTI IN CORSO:

 

http://img88.imageshack.us/img88/8484/bannerfirmabetatester.jpg

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

In chat il mio nickname sarà Aleks o Al, mi pento ancora di essermi messo il nick tamarro di Aliuzz.ç_ç

 

http://img571.imageshack.us/img571/6659/alicei.png

membro ufficiale fondatore n4 di mrfruffolobatuffolo

http://img717.imageshack.us/img717/4789/mrfruffolobanner.jpg

 

 

Rudo:

Ti ringrazio. Ci misi tutto me stesso diversi anni fa per realizzare CrystalQuest. Sebbene la mia visione sia cambiata con il passare del tempo, ci sono molti aspetti che manterrei se dovessi (per assurdo) realizzare una nuova avventura oggi.

 

Questo non accade tutti i giorni,sono commosso.ç_ç

 

 

Orgoglioso membro del trio *o*

Link to comment
Share on other sites

Alt, alt.

Non sembra poi così semplice, soprattutto per la parte della gestione dei movimenti delle pics.

(Sì, sono l'AnteroLehtinen che bazzica in chat. E... sì, una volta insegnavo storyboarding.)

http://img26.imageshack.us/img26/7048/firmadn.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...