RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
The Ring menu script step by step! right here!

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 88
BLACKSHEEP
i found this in french and take no credit for any thing the script can be found at rpg-createan.com or google (rpg maker xp  script ring menu) i found that many people want this script and i had trouble finding it so its right here

first make a new script by hitting alt-I main name it ring menu then cut and paste the code below into the script

NOTE! after you do this read the bottom or this will not work!

--


Code: [Select]
#==============================================================================
# Script téléchargé sur RPG-création : www.rpg-creation.com
# ?¡ Window_RingMenu
#==============================================================================
#==============================================================================
# Edited by MakirouAru
#==============================================================================
class Window_RingMenu < Window_Base
#--------------------------------------------------------------------------
# ?› ƒNƒ‰ƒX’è?”
#--------------------------------------------------------------------------

STARTUP_FRAMES = 20 # ?‰ŠúƒAƒjƒ??[ƒVƒ‡ƒ“‚̃tƒŒ?[ƒ€?”
MOVING_FRAMES = 5 # ƒŠƒ“ƒO‚ð‰ñ‚µ‚½Žž‚̃tƒŒ?[ƒ€?”
RING_R = 64 # ƒŠƒ“ƒO‚Ì”¼Œa
ICON_ITEM = RPG::Cache.icon("034-Item03") # ?uƒAƒCƒeƒ€?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_SKILL = RPG::Cache.icon("thumb_magia3") # ?uƒXƒLƒ‹?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_EQUIP = RPG::Cache.icon("001-Weapon01") # ?u‘•”õ?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_STATUS = RPG::Cache.icon("050-Skill07") # ?uƒXƒe?[ƒ^ƒX?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_SAVE = RPG::Cache.icon("thumb_BasicSkill") # ?uƒZ?[ƒu?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_EXIT = RPG::Cache.icon("thumb_leave") # ?u?I—¹?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_DISABLE= RPG::Cache.icon("") # Žg—p‹ÖŽ~?€–Ú‚É•t‚¬ƒAƒCƒRƒ“
SE_STARTUP = "056-Right02" # ƒ?ƒjƒ…?[‚ðŠJ‚¢‚½‚Æ‚«‚ɖ‚炕SE
MODE_START = 1 # ƒXƒ^?[ƒgƒAƒbƒvƒAƒjƒ??[ƒVƒ‡ƒ“
MODE_WAIT = 2 # ‘Ò‹@
MODE_MOVER = 3 # ŽžŒv‰ñ‚è‰ñ“]ƒAƒjƒ??[ƒVƒ‡ƒ“
MODE_MOVEL = 4 # ”½ŽžŒv‰ñ‚è‰ñ“]ƒAƒjƒ??[ƒVƒ‡ƒ“
#--------------------------------------------------------------------------
# ?› ƒAƒNƒZƒT
#--------------------------------------------------------------------------
attr_accessor :index
#--------------------------------------------------------------------------
# ?œ ƒIƒuƒWƒFƒNƒg?‰Šú‰»
#--------------------------------------------------------------------------
def initialize( center_x, center_y )
super(0, 0, 640, 480)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = "Arial"
self.opacity = 0
self.back_opacity = 0
s1 = "Item"
s2 = "Skill"
s3 = "Equip"
s4 = "Stat"
s5 = "Save"
s6 = "Quite"
@commands = [ s1, s2, s3, s4, s5, s6 ]
@item_max = 6
@index = 0
@items = [ ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT ]
@disabled = [ false, false, false, false, false, false ]
@cx = center_x - 16
@cy = center_y - 16
setup_move_start
refresh
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V
#--------------------------------------------------------------------------
def update
super
refresh
end
#--------------------------------------------------------------------------
# ?œ ‰æ–Ê?Ä•`‰æ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# ƒAƒCƒRƒ“‚ð•`‰æ
case @mode
when MODE_START
refresh_start
when MODE_WAIT
refresh_wait
when MODE_MOVER
refresh_move(1)
when MODE_MOVEL
refresh_move(0)
end
# ƒAƒNƒeƒBƒu‚ȃRƒ}ƒ“ƒh–¼•Ž¦
rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32)
self.contents.draw_text(rect, @commands[@index],1)
end
#--------------------------------------------------------------------------
# ?› ‰æ–Ê?Ä•`‰æ(?‰Šú‰»Žž)
#--------------------------------------------------------------------------
def refresh_start
d1 = 2.0 * Math::PI / @item_max
d2 = 1.0 * Math::PI / STARTUP_FRAMES
r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES
for i in 0...@item_max
j = i - @index
d = d1 * j + d2 * @steps
x = @cx + ( r * Math.sin( d ) ).to_i
y = @cy - ( r * Math.cos( d ) ).to_i
draw_item(x, y, i)
end
@steps -= 1
if @steps < 1
@mode = MODE_WAIT
end
end
#--------------------------------------------------------------------------
# ?› ‰æ–Ê?Ä•`‰æ(‘Ò‹@Žž)
#--------------------------------------------------------------------------
def refresh_wait
d = 2.0 * Math::PI / @item_max
for i in 0...@item_max
j = i - @index
x = @cx + ( RING_R * Math.sin( d * j ) ).to_i
y = @cy - ( RING_R * Math.cos( d * j ) ).to_i
draw_item(x, y, i)
end
end
#--------------------------------------------------------------------------
# ?› ‰æ–Ê?Ä•`‰æ(‰ñ“]Žž)
# mode : 0=”½ŽžŒv‰ñ‚è 1=ŽžŒv‰ñ‚è
#--------------------------------------------------------------------------
def refresh_move( mode )
d1 = 2.0 * Math::PI / @item_max
d2 = d1 / MOVING_FRAMES
d2 *= -1 if mode != 0
for i in 0...@item_max
j = i - @index
d = d1 * j + d2 * @steps
x = @cx + ( RING_R * Math.sin( d ) ).to_i
y = @cy - ( RING_R * Math.cos( d ) ).to_i
draw_item(x, y, i)
end
@steps -= 1
if @steps < 1
@mode = MODE_WAIT
end
end
#--------------------------------------------------------------------------
# ?œ ?€–Ú‚Ì•`‰æ
# x :
# y :
# i : ?€–Ú”Ô?†
#--------------------------------------------------------------------------
def draw_item(x, y, i)
#p "x=" + x.to_s + " y=" + y.to_s + " i=" + @items[i].to_s
rect = Rect.new(0, 0, @items[i].width, @items[i].height)
if @index == i
self.contents.blt( x, y, @items[i], rect )
if @disabled[@index]
self.contents.blt( x, y, ICON_DISABLE, rect )
end
else
self.contents.blt( x, y, @items[i], rect, 128 )
if @disabled[@index]
self.contents.blt( x, y, ICON_DISABLE, rect, 128 )
end
end
end
#--------------------------------------------------------------------------
# ?œ ?€–ڂ𖳌ø‚É‚•‚é
# index : ?€–Ú”Ô?†
#--------------------------------------------------------------------------
def disable_item(index)
@disabled[index] = true
end
#--------------------------------------------------------------------------
# ?› ?‰Šú‰»ƒAƒjƒ??[ƒVƒ‡ƒ“‚Ì?€”õ
#--------------------------------------------------------------------------
def setup_move_start
@mode = MODE_START
@steps = STARTUP_FRAMES
if SE_STARTUP != nil and SE_STARTUP != ""
Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100)
end
end
#--------------------------------------------------------------------------
# ?› ‰ñ“]ƒAƒjƒ??[ƒVƒ‡ƒ“‚Ì?€”õ
#--------------------------------------------------------------------------
def setup_move_move(mode)
if mode == MODE_MOVER
@index -= 1
@index = @items.size - 1 if @index < 0
elsif mode == MODE_MOVEL
@index += 1
@index = 0 if @index >= @items.size
else
return
end
@mode = mode
@steps = MOVING_FRAMES
end
#--------------------------------------------------------------------------
# ?› ƒAƒjƒ??[ƒVƒ‡ƒ“’†‚©‚Ç‚¤‚©
#--------------------------------------------------------------------------
def animation?
return @mode != MODE_WAIT
end
end
#==============================================================================
# ?¡ Window_MenuStatus
#------------------------------------------------------------------------------
# ?@ƒ?ƒjƒ…?[‰æ–ʂŃp?[ƒeƒBƒ?ƒ“ƒo?[‚̃Xƒe?[ƒ^ƒX‚𕎦‚•‚éƒEƒBƒ“ƒhƒE‚Å‚•?B
#==============================================================================

class Window_RingMenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ?œ ƒIƒuƒWƒFƒNƒg?‰Šú‰»
#--------------------------------------------------------------------------
def initialize
super(204, 64, 232, 352)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
# ?œ ƒŠƒtƒŒƒbƒVƒ…
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.name = "Arial"
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 80
y = 80 * i
actor = $game_party.actors[i]
draw_actor_graphic(actor, x - 40, y + 80)
draw_actor_name(actor, x, y + 24)
end
end
#--------------------------------------------------------------------------
# ?œ ƒJ?[ƒƒ‹‚Ì‹éŒ`?X?V
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 80, self.width - 32, 80)
end
end
end
#==============================================================================
# #?¡ Scene_RingMenu
# ?¡ Scene_Menu
#------------------------------------------------------------------------------
# ?@ƒ?ƒjƒ…?[‰æ–Ê‚Ì?ˆ—?‚ð?s‚¤ƒNƒ‰ƒX‚Å‚•?B
#==============================================================================

#class Scene_RingMenu
class Scene_Menu
#--------------------------------------------------------------------------
# ?œ ƒIƒuƒWƒFƒNƒg?‰Šú‰»
# menu_index : ƒRƒ}ƒ“ƒh‚̃J?[ƒƒ‹?‰ŠúˆÊ’u
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ?œ ƒ?ƒCƒ“?ˆ—?
#--------------------------------------------------------------------------
def main
# ƒXƒvƒ‰ƒCƒgƒZƒbƒg‚ð?ì?¬
@spriteset = Spriteset_Map.new
# ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð?ì?¬
px = $game_player.screen_x - 15
py = $game_player.screen_y - 24
@command_window = Window_RingMenu.new(px,py)
@command_window.index = @menu_index
# ƒp?[ƒeƒB?l?”‚ª 0 ?l‚Ì?ê?‡
if $game_party.actors.size == 0
# ƒAƒCƒeƒ€?AƒXƒLƒ‹?A‘•”õ?AƒXƒe?[ƒ^ƒX‚𖳌ø‰»
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
@command_window.z = 100
# ƒZ?[ƒu‹ÖŽ~‚Ì?ê?‡
if $game_system.save_disabled
# ƒZ?[ƒu‚𖳌ø‚É‚•‚é
@command_window.disable_item(4)
end
# ƒXƒe?[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ð?ì?¬
@status_window = Window_RingMenuStatus.new
@status_window.x = 160
@status_window.y = 0
@status_window.z = 200
@status_window.visible = false
# ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“ŽÀ?s
Graphics.transition
# ƒ?ƒCƒ“ƒ‹?[ƒv
loop do
# ƒQ?[ƒ€‰æ–Ê‚ð?X?V
Graphics.update
# “ü—Í?î•ñ‚ð?X?V
Input.update
# ƒtƒŒ?[ƒ€?X?V
update
# ‰æ–Ê‚ª?Ø‚è‘Ö‚í‚Á‚½‚烋?[ƒv‚ð’†’f
if $scene != self
break
end
end
# ƒgƒ‰ƒ“ƒWƒVƒ‡ƒ“?€”õ
Graphics.freeze
# ƒXƒvƒ‰ƒCƒgƒZƒbƒg‚ð‰ð•ú
@spriteset.dispose
# ƒEƒBƒ“ƒhƒE‚ð‰ð•ú
@command_window.dispose
@status_window.dispose
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V
#--------------------------------------------------------------------------
def update
# ƒEƒBƒ“ƒhƒE‚ð?X?V
@command_window.update
@status_window.update
# ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚Ì?ê?‡: update_command ‚ðŒÄ‚Ô
if @command_window.active
update_command
return
end
# ƒXƒe?[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚Ì?ê?‡: update_status ‚ðŒÄ‚Ô
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V (ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚Ì?ê?‡)
#--------------------------------------------------------------------------
def update_command
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽ?ê?‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒ}ƒbƒv‰æ–Ê‚É?Ø‚è‘Ö‚¦
$scene = Scene_Map.new
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽ?ê?‡
if Input.trigger?(Input::C)
# ƒp?[ƒeƒB?l?”‚ª 0 ?l‚Å?AƒZ?[ƒu?AƒQ?[ƒ€?I—¹ˆÈŠO‚̃Rƒ}ƒ“ƒh‚Ì?ê?‡
if $game_party.actors.size == 0 and @command_window.index < 4
# ƒuƒU?[ SE ‚ð‰‰‘t
$game_system.se_play($data_system.buzzer_se)
return
end
# ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J?[ƒƒ‹ˆÊ’u‚Å•ªŠò
case @command_window.index
when 0 # ƒAƒCƒeƒ€
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒCƒeƒ€‰æ–Ê‚É?Ø‚è‘Ö‚¦
$scene = Scene_Item.new
when 1 # ƒXƒLƒ‹
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒXƒe?[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚•‚é
@command_window.active = false
@status_window.active = true
@status_window.visible = true
@status_window.index = 0
when 2 # ‘•”õ
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)

# ƒXƒe?[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚•‚é
@command_window.active = false
@status_window.active = true
@status_window.visible = true
@status_window.index = 0
when 3 # ƒXƒe?[ƒ^ƒX
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒXƒe?[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚•‚é
@command_window.active = false
@status_window.active = true
@status_window.visible = true
@status_window.index = 0
when 4 # ƒZ?[ƒu
# ƒZ?[ƒu‹ÖŽ~‚Ì?ê?‡
if $game_system.save_disabled
# ƒuƒU?[ SE ‚ð‰‰‘t
$game_system.se_play($data_system.buzzer_se)
return
end
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒZ?[ƒu‰æ–Ê‚É?Ø‚è‘Ö‚¦
$scene = Scene_Save.new
when 5 # ƒQ?[ƒ€?I—¹
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒQ?[ƒ€?I—¹‰æ–Ê‚É?Ø‚è‘Ö‚¦
$scene = Scene_End.new
end
return
end
# ƒAƒjƒ??[ƒVƒ‡ƒ“’†‚È‚çƒJ?[ƒƒ‹‚Ì?ˆ—?‚ð?s‚í‚È‚¢
return if @command_window.animation?
# ?ªor?© ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽ?ê?‡
if Input.press?(Input::UP) or Input.press?(Input::LEFT)
$game_system.se_play($data_system.cursor_se)
@command_window.setup_move_move(Window_RingMenu::MODE_MOVEL)
return
end
# ?«or?¨ ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽ?ê?‡
if Input.press?(Input::DOWN) or Input.press?(Input::RIGHT)
$game_system.se_play($data_system.cursor_se)
@command_window.setup_move_move(Window_RingMenu::MODE_MOVER)
return
end
end
#--------------------------------------------------------------------------
# ?œ ƒtƒŒ?[ƒ€?X?V (ƒXƒe?[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ªƒAƒNƒeƒBƒu‚Ì?ê?‡)
#--------------------------------------------------------------------------
def update_status
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽ?ê?‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒAƒNƒeƒBƒu‚É‚•‚é
@command_window.active = true
@status_window.active = false
@status_window.visible = false
@status_window.index = -1
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽ?ê?‡
if Input.trigger?(Input::C)
# ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J?[ƒƒ‹ˆÊ’u‚Å•ªŠò
case @command_window.index
when 1 # ƒXƒLƒ‹
# ‚±‚̃AƒNƒ^?[‚Ì?s“®?§ŒÀ‚ª 2 ˆÈ?ã‚Ì?ê?‡
if $game_party.actors[@status_window.index].restriction >= 2
# ƒuƒU?[ SE ‚ð‰‰‘t
$game_system.se_play($data_system.buzzer_se)
return
end
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒXƒLƒ‹‰æ–Ê‚É?Ø‚è‘Ö‚¦
$scene = Scene_Skill.new(@status_window.index)
when 2 # ‘•”õ
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ‘•”õ‰æ–Ê‚É?Ø‚è‘Ö‚¦
$scene = Scene_Equip.new(@status_window.index)
when 3 # ƒXƒe?[ƒ^ƒX
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒXƒe?[ƒ^ƒX‰æ–Ê‚É?Ø‚è‘Ö‚¦
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end

--

now that this is in find lines 16-21 they look like this

CON_ITEM = RPG::Cache.icon("034-Item03") # ?uƒAƒCƒeƒ€?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_SKILL = RPG::Cache.icon("thumb_magia3") # ?uƒXƒLƒ‹?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_EQUIP = RPG::Cache.icon("001-Weapon01") # ?u‘•”õ?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_STATUS = RPG::Cache.icon("050-Skill07") # ?uƒXƒe?[ƒ^ƒX?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_SAVE = RPG::Cache.icon("thumb_BasicSkill") # ?uƒZ?[ƒu?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“
ICON_EXIT = RPG::Cache.icon("thumb_leave") # ?u?I—¹?vƒ?ƒjƒ…?[‚̃AƒCƒRƒ“

were it says ("034-item03")- change the name inside the"" this to any icon one you like
all these are icons that do not come with rpg maker xp so trying to use the script with it is pointless


if you want to change the word such as save skill ext  find lines 41-46
and after the s1-s6 change the words to whatever you like thank you i will not be responding to questions in this forum i hope you all like it kuy

« Last Edit: November 20, 2006, 11:33:10 AM by Blizzard »

pokeball :)OfflineMale
********
Cheese
Rep:
Level 95
?
can we get a screenshot
Watch out for: HaloOfTheSun

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
Use [ code ] tags, otherwise the code will get corrupted most probably.
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

**
Rep: +0/-0Level 88
BLACKSHEEP
screen shot? okay one sec sorry for not responding sooner i said i might not respond in my post.

**
Rep: +0/-0Level 88
BLACKSHEEP
i got a screen shot for you let me know how you like it--

blacksheep

**
Rep:
Level 88
how would this work during gameplay? I've never played with a ring menu.

***
Rep:
Level 88
Smarter than the average bear
It's just a ring menu that has icons you press left and right to choose between them.

It looks like you have the older one though :/ The newer one edited by Dubealex of creation asylum shows location window, gold and something else :P

**
Rep: +0/-0Level 88