Войти на сайт
×
ТЕМА: Survival System v1.11
Survival System v1.11 9 года 3 нед. назад #86263
|
В скриптах не шарю, по-этому вот.
Скопировал - вставил, а он не работает, при запуске ошибка, хоть убей. Сам скрипт: =begin
======================================
Survival System v1.11 (formerly known as Needs System)
Created by: Apellonyx
Released: 2 April 2013
Last Update: 5 April 2013
======================================
Terms of Use:
You are free to use this system however you wish, in commercial and non-
commercial games alike. If you edit the script extensively, it is not
necessary to credit me (since you clearly only used my code as a framework),
but I would appreciate credit if it is used in its current form, or if only
minor changes were made to the script.
======================================
Support:
While I am not wildly active, I usually log onto "rpgmakervxace.com" daily,
so if you have any questions pertaining to the script, you can ask any
questions there, in the topic in which this script was released. Just as a
warning, though, I will not edit the script to make it compatible with any
special menu systems, but I will try to fix bugs as they come up. If you
find one, let me know, and I'll do my best to squash the thing.
======================================
Changelog:
v1.0: 2 April 2013 - Original version. Included food, water, rest, and life.
v1.01: 3 April 2013 - Added configurable maximum values for food,
water, and rest, and made the maximum for life a configurable value. The
failsafe mentioned in v1.0's Instructions is no longer needed.
v1.02: 3 April 2013 - Added support for a fully configurable "reverse logic"
stat, as suggested by esrann.
v1.10: 5 April 2013 - Complete rewrite using global variables rather than
game variables and switches. All stats are now optional, configurable,
and can be hidden from the menu.
v1.11: 17 May 2013 - Fixed a major bug involving the use of float values.
Floats should work just fine now without causing the game to crash or
the script to just die randomly. Also added background opacity config.
======================================
Requirements:
There are no longer any requirements for this script. I'm working on a
script that will allow the global variables to be changed through note
calls, but it may be a minute for that.
======================================
Description:
This sets up a needs system, which includes food, water, and rest, all of
which affect the main need, life. The 1.02 update also added a reverse logic
stat for toxin or radiation handling. All five stats, along with their
update rates, are handled by global variables, and can be changed at any
time with a simple script call.
======================================
Instructions:
First, you're going to want to set up how you want the script to run. All of
the options are in the first module of the script, named "Anyx." I don't
recommend changing anything after that module unless you know what you are
doing.
Second, once you have all of your options set up, you can go about setting
up the nourishment items. All you have to do is set it up in the database as
you normally would, and then attach an effect that calls a common event.
Inside the common event, use one of the following scripts call to change the
appropriate variable. It's as simple as that.
$survival_v[id] op value
id = The stat you want to change. 1 is for life, 2 food, 3 water, 4 rest,
and 5 toxin. Ids 6-10 are used to hold the stats' rates. 6 is for life, 7
food, 8 water, 9 rest, and 10 toxin (setting any of these rates to 0 will
disable updates for its stat, effectively pausing the system for that stat
individually without pausing it for the others)
op = The operator used to formulate the new value. += is used to add, -= is
for subtraction, *= is for multiplication, /= is for division, and %= is
for modulus. There are others, and they all work, but I don't imagine you
would use them for this script, so I won't explain them here.
value = The value you would like to alter the variable by. For example, if
you are adding 10 to a variable, this would be 10.
$survival_s[id] = value
id = The stat you wish to enable or disable. 1 is for life, 2 food, 3 water,
4 rest, 5 toxin. Ids 6-10 are used to hide the stat bars from the menu.
value = true/false. Setting the value to true for ids 1-5 will enable the
associated stat. Setting it to false will disable it completely. For ids
6-10, setting the value to true will hide that stat from the menu, but
still allow it to update (this can be customized using the LIFEHIDEVAL,
FOODHIDEVAL, WATERHIDEVAL, RESTHIDEVAL, and TOXINHIDEVAL options in the
Anyx module below. When the hide option is true, that stat will be hidden
from the menu until the stat is below the (STAT)HIDEVAL's value, or above
the TOXINHIDEVAL's value for the toxin stat). If false, the stat will be
visible in the menu at all times.
You no longer need to manually set the initial values for each variable, as
this can be done through the script, but you do need to turn on the survival
switch manually, or the script won't do anything.
======================================
=end
$imported = {} if $imported.nil?
$imported['Apellonyx-Survival'] = true
puts "Load: Survival System v1.10 by Apellonyx"
module Anyx
WINXPOS = 0 # X position of the survival window
WINYPOS = 320 # Y position of the survival window
WINWIDTH = 160 # Width of the survival window
WINTEXT = 20 # Text size used in the survival window (looks best at 20)
WINOPACITY = 255 # Opacity of the survival window
SURVIVALSWITCH = 1 # Game switch ID for enabling and disabling the system
ONINBATTLE = true # Whether the system will update during battle scenes
DEATHATZERO = true # If true, will cause a gameover when the life stat
# reaches 0
DEATHFULLTOXIN = true # If true, will cause a gameover when the toxin stat
# reaches its maximum value
LIFEVOCAB = "Life" # Vocab used for the life stat in the menu
LIFEINIT = 100 # Initial value of the life stat in new games
LIFERATE = 300 # Number of frames between life stat updates
LIFEMAX = 100 # Maximum value for the life bar in the menu
LIFEEXC = 100 # Maximum value for the life stat (can exceed LIFEMAX)
LIFEENABLE = true # If true, the life stat will be enabled
LIFEHIDE = true # If true, the life bar will be hidden from the menu
LIFEHIDEVAL = 100 # If LIFEHIDE is true, the life bar will appear when it
# falls below this value.
FOODVOCAB = "Food" # Vocab used for the food stat in the menu
FOODINIT = 100 # Initial value of the food stat in new games
FOODRATE = 1200 # Number of frames between food stat updates
FOODMAX = 100 # Maximum value for the food bar in the menu
FOODEXC = 110 # Maximum value for the food stat (can exceed FOODMAX)
FOODMOD = -1.0 # Value of the food stat's change each update; positive
# values will increase the stat over time, negative
# values decrease the stat over time, and 0 will cause
# no update to occur over time. Accepts float values.
FOODENABLE = true # If true, the food stat will be enabled
FOODHIDE = true # If true, the food bar will be hidden from the menu
FOODHIDEVAL = 100 # If FOODHIDE is true, the food bar will appear when it
# falls below this value.
WATERVOCAB = "Water" # Vocab used for the water stat in the menu
WATERINIT = 100 # Initial value of the water stat in new games
WATERRATE = 900 # Number of frames between water stat updates
WATERMAX = 100 # Maximum value for the water bar in the menu
WATEREXC = 110 # Maximum value for the water stat (can exceed WATERMAX)
WATERMOD = -1.0 # Value of the water stat's change each update; positive
# values will increase the stat over time, negative
# values decrease the stat over time, and 0 will cause
# no update to occur over time. Accepts float values.
WATERENABLE = true # If true, the water stat will be enabled
WATERHIDE = true # If true, the water bar will be hidden from the menu
WATERHIDEVAL = 100 # If WATERHIDE is true, the water bar will appear when
# it falls below this value.
RESTVOCAB = "Rest" # Vocab used for the rest stat in the menu
RESTINIT = 100 # Initial value of the rest stat in new games
RESTRATE = 1500 # Number of frames between rest stat updates
RESTMAX = 100 # Maximum value for the rest bar in the menu
RESTEXC = 110 # Maximum value for the rest stat (can exceed RESTMAX)
RESTMOD = -1.0 # Value of the rest stat's change each update; positive
# values will increase the stat over time, negative
# values decrease the stat over time, and 0 will cause
# no update to occur over time. Accepts float values.
RESTENABLE = true # If true, the rest stat will be enabled
RESTHIDE = true # If true, the rest bar will be hidden from the menu
RESTHIDEVAL = 100 # If RESTHIDE is true, the rest bar will appear when it
# falls below this value.
TOXINVOCAB = "Toxin" # Vocab used for the toxin stat in the menu
TOXININIT = 0 # Initial value of the toxin stat in new games
TOXINRATE = 100 # Number of frames between toxin stat updates
TOXINMAX = 1000 # Maximum value for the toxin stat and toxin bar
TOXINMOD = 0.1 # Value of the toxin stat's change each update; positive
# values will increase the stat over time, negative
# values decrease the stat over time, and 0 will cause
# no update to occur over time. Accepts float values.
TOXINENABLE = true # If true, the toxin stat will be enabled
TOXINHIDE = true # If true, the toxin bar will be hidden from the menu
TOXINHIDEVAL = 0 # If TOXINHIDE is true, the toxin bar will appear when it
# rises above this value.
LIFECOLORL = 17 # Color ID of the left side of the life bar
LIFECOLORR = 6 # Color ID of the right side of the life bar
FOODCOLORL = 3 # Color ID of the left side of the food bar
FOODCOLORR = 24 # Color ID of the right side of the food bar
WATERCOLORL = 16 # Color ID of the left side of the water bar
WATERCOLORR = 4 # Color ID of the right side of the water bar
RESTCOLORL = 31 # Color ID of the left side of the rest bar
RESTCOLORR = 13 # Color ID of the right side of the rest bar
TOXINCOLORL = 10 # Color ID of the left side of the toxin bar
TOXINCOLORR = 2 # Color ID of the right side of the toxin bar
EXCCOLOR = 11 # Color ID of text for stat values over 100%
SATCOLOR = 24 # Color ID of text for stat values between 76 and 100%
AVECOLOR = 17 # Color ID of text for stat values between 51 and 75%
LOWCOLOR = 14 # Color ID of text for stat values between 26 and 50%
DANCOLOR = 20 # Color ID of text for stat values between 1 and 25%
DEPCOLOR = 18 # Color ID of text for stat values of 0%
################################################################################
################################################################################
### ###
### I don't recommend editing anything past this line unless you know what ###
### you are doing. If you do know what you're doing, however, go for it! ###
### ###
################################################################################
################################################################################
def self.create_survival_commands
$survival_v = Survival_Variables.new
$survival_s = Survival_Switches.new
$survival_v[1] = LIFEINIT
$survival_v[6] = LIFERATE
$survival_s[1] = LIFEENABLE
$survival_s[6] = LIFEHIDE
$survival_v[2] = FOODINIT
$survival_v[7] = FOODRATE
$survival_s[2] = FOODENABLE
$survival_s[7] = FOODHIDE
$survival_v[3] = WATERINIT
$survival_v[8] = WATERRATE
$survival_s[3] = WATERENABLE
$survival_s[8] = WATERHIDE
$survival_v[4] = RESTINIT
$survival_v[9] = RESTRATE
$survival_s[4] = RESTENABLE
$survival_s[9] = RESTHIDE
$survival_v[5] = TOXININIT
$survival_v[10] = TOXINRATE
$survival_s[5] = TOXINENABLE
$survival_s[10] = TOXINHIDE
end # def self.create_survival_commands
class Survival_Variables
def initialize
@data = []
end # def initialize
def [](variable_id)
@data[variable_id] || 0
end # def [](variable_id)
def []=(variable_id, value)
@data[variable_id] = value
on_change
end # def []=(variable_id, value)
def on_change
$game_map.need_refresh = true
end # def on_change
end # class Survival_Variables
class Survival_Switches
def initialize
@data = []
end # def initialize
def [](switch_id)
@data[switch_id] || false
end # def [](switch_id)
def []=(switch_id, value)
@data[switch_id] = value
on_change
end # def []=(switch_id, value)
def on_change
$game_map.need_refresh = true
end # def on_change
end # class Survival_Switches
def self.update
if $game_switches[SURVIVALSWITCH] == true
if $survival_s[1] == true
if $survival_v[6] > 0
if Graphics.frame_count % $survival_v[6] == 0
Anyx.life_update
end # if Graphics.frame_count % $survival_v[6] == 0
end # if $survival_v[6] > 0
end # if $survival_s[1] == true
if $survival_s[2] == true
if $survival_v[7] > 0
if Graphics.frame_count % $survival_v[7] == 0
if $survival_v[2] < FOODEXC
$survival_v[2] += FOODMOD if $survival_v[2] > 0
end
end # if Graphics.frame_count % $survival_v[7] == 0
end # if $survival_v[7] > 0
end # if $survival_s[1] == true
if $survival_s[3] == true
if $survival_v[8] > 0
if Graphics.frame_count % $survival_v[8] == 0
if $survival_v[3] < WATEREXC
$survival_v[3] += WATERMOD if $survival_v[3] > 0
end
end # if Graphics.frame_count % $survival_v[8] == 0
end # if $survival_v[8] > 0
end # if $survival_s[3] == true
if $survival_s[4] == true
if $survival_v[9] > 0
if Graphics.frame_count % $survival_v[9] == 0
if $survival_v[4] < RESTEXC
$survival_v[4] += RESTMOD if $survival_v[4] > 0
end
end # if Graphics.frame_count % $survival_v[9] == 0
end # if $survival_v[9] > 0
end # if $survival_s[4] == true
if $survival_s[5] == true
if $survival_v[10] > 0
if Graphics.frame_count % $survival_v[10] == 0
if $survival_v[5] < TOXINMAX
$survival_v[5] += TOXINMOD if $survival_v[5] > 0
end
end # if Graphics.frame_count % $survival_v[10] == 0
end # if $survival_v[10] > 0
end # if $survival_s[5] == true
$survival_v[1] = 0 if $survival_v[1] < 0
$survival_v[2] = 0 if $survival_v[2] < 0
$survival_v[3] = 0 if $survival_v[3] < 0
$survival_v[4] = 0 if $survival_v[4] < 0
$survival_v[5] = 0 if $survival_v[5] < 0
$survival_v[1] = LIFEEXC if $survival_v[1] > LIFEEXC
$survival_v[2] = FOODEXC if $survival_v[2] > FOODEXC
$survival_v[3] = WATEREXC if $survival_v[3] > WATEREXC
$survival_v[4] = RESTEXC if $survival_v[4] > RESTEXC
$survival_v[5] = TOXINMAX if $survival_v[5] > TOXINMAX
if $survival_v[1] <= 0
SceneManager.call(Scene_Gameover) if DEATHATZERO
end # if $survival_v[1] <= 0
if $survival_v[5] >= TOXINMAX
SceneManager.call(Scene_Gameover) if DEATHFULLTOXIN
end # if $survival_v[5] >= TOXINMAX
end # if $game_switches[SURVIVALSWITCH] == true
end # def update
def self.life_update
if $survival_s[2] == true
food_25 = FOODMAX / 4
food_26 = food_25 + 0.001
food_50 = food_25 * 2
food_51 = food_50 + 0.001
food_75 = food_25 * 3
food_76 = food_75 + 0.001
food_mod = -0.3 if 0 >= $survival_v[2]
food_mod = -0.2 if (1..food_25) === $survival_v[2]
food_mod = -0.1 if (food_26..food_50) === $survival_v[2]
food_mod = 0.0 if (food_51..food_75) === $survival_v[2]
food_mod = 0.1 if (food_76..FOODMAX) === $survival_v[2]
food_mod = 0.2 if FOODMAX < $survival_v[2]
else
food_mod = 0
end # if $survival_s[2] == true
if $survival_s[3] == true
water_25 = WATERMAX / 4
water_26 = water_25 + 0.001
water_50 = water_25 * 2
water_51 = water_50 + 0.001
water_75 = water_25 * 3
water_76 = water_75 + 0.001
water_mod = -0.3 if 0 >= $survival_v[3]
water_mod = -0.2 if (1..water_25) === $survival_v[3]
water_mod = -0.1 if (water_26..water_50) === $survival_v[3]
water_mod = 0.0 if (water_51..water_75) === $survival_v[3]
water_mod = 0.1 if (water_76..WATERMAX) === $survival_v[3]
water_mod = 0.2 if WATERMAX < $survival_v[3]
else
water_mod = 0
end # if $survival_s[4] == true
if $survival_s[4] == true
rest_25 = RESTMAX / 4
rest_26 = rest_25 + 0.001
rest_50 = rest_25 * 2
rest_51 = rest_50 + 0.001
rest_75 = rest_25 * 3
rest_76 = rest_75 + 0.001
rest_mod = -0.3 if 0 >= $survival_v[4]
rest_mod = -0.2 if (1..rest_25) === $survival_v[4]
rest_mod = -0.1 if (rest_26..rest_50) === $survival_v[4]
rest_mod = 0.0 if (rest_51..rest_75) === $survival_v[4]
rest_mod = 0.1 if (rest_76..RESTMAX) === $survival_v[4]
rest_mod = 0.2 if RESTMAX < $survival_v[4]
else
rest_mod = 0
end # if $survival_s[4] == true
if $survival_s[5] == true
toxin_25 = TOXINMAX / 4
toxin_26 = toxin_25 + 0.001
toxin_50 = toxin_25 * 2
toxin_51 = toxin_50 + 0.001
toxin_75 = toxin_25 * 3
toxin_76 = toxin_75 + 0.001
toxin_99 = TOXINMAX - 0.001
toxin_mod = 0.1 if 0 >= $survival_v[5]
toxin_mod = 0.0 if (1..toxin_25) === $survival_v[5]
toxin_mod = -0.2 if (toxin_26..toxin_50) === $survival_v[5]
toxin_mod = -0.4 if (toxin_51..toxin_75) === $survival_v[5]
toxin_mod = -0.6 if (toxin_76..toxin_99) === $survival_v[5]
toxin_mod = -0.8 if TOXINMAX <= $survival_v[5]
else
toxin_mod = 0.0
end # if $survival_s[5] == true
life_mod = food_mod + water_mod + rest_mod + toxin_mod
$survival_v[1] += life_mod.round.to_i
end # def life_update()
end # module Anyx
class Scene_Title
alias survival_new_game command_new_game
def command_new_game
Anyx.create_survival_commands
survival_new_game
end # def command_new_game
end # class Scene_Title
class Scene_Map < Scene_Base
alias survival_map_update update
def update
Anyx.update
survival_map_update
end # def update
end # class Scene_Base
class Scene_Battle < Scene_Base
alias survival_battle_update update
def update
if Anyx::ONINBATTLE == true
Anyx.update
survival_battle_update
end # if Anyx::ONINBATTLE == true
end # def update
end # class Scene_Base
class Scene_Menu < Scene_MenuBase
alias survival_menu_start start
def start
create_survival_window
survival_menu_start
end # def start
def create_survival_window
barcount = 0
if $survival_s[1] == true
barcount += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
end # if $survival_s[1] == true
if $survival_s[2] == true
barcount += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
end # if $survival_s[2] == true
if $survival_s[3] == true
barcount += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
end # if $survival_s[3] == true
if $survival_s[4] == true
barcount += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
end # if $survival_s[4] == true
if $survival_s[5] == true
barcount += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
end # if $survival_s[5] == true
@survival_window = Window_Survival.new
@survival_window.contents.draw_text(0, 0, 500, 24, " Survival System") if barcount == 0
barcount -= 1 if barcount >= 1
survivalwinypos = Anyx::WINYPOS - (24 * barcount)
@survival_window.x = Anyx::WINXPOS
@survival_window.y = survivalwinypos
@survival_window.opacity = Anyx::WINOPACITY
end # def create_survival_window
end # class Scene_Menu < Scene_MenuBase
class Window_Survival < Window_Base
def initialize
winheight = 0
if $survival_s[1] == true
winheight += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
end # if $survival_s[1] == true
if $survival_s[2] == true
winheight += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
end # if $survival_s[2] == true
if $survival_s[3] == true
winheight += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
end # if $survival_s[3] == true
if $survival_s[4] == true
winheight += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
end # if $survival_s[4] == true
if $survival_s[5] == true
winheight += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
end # if $survival_s[5] == true
if winheight == 0
winheight = 1
end # if winheight == 0
super(0, 0, Anyx::WINWIDTH, fitting_height(winheight))
self.opacity = Anyx::WINOPACITY
refresh
end # def initialize
def exc_color
text_color(Anyx::EXCCOLOR)
end # def exc_color
def sat_color
text_color(Anyx::SATCOLOR)
end # def sat_color
def ave_color
text_color(Anyx::AVECOLOR)
end # def ave_color
def low_color
text_color(Anyx::LOWCOLOR)
end # def low_color
def dan_color
text_color(Anyx::DANCOLOR)
end # def dan_color
def dep_color
text_color(Anyx::DEPCOLOR)
end # def dep_color
def refresh
contents.clear
contents.font.size = Anyx::WINTEXT
lineheight = 0
if $survival_s[1] == true
if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
draw_life(0,0,lineheight)
lineheight += 24
end # if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
end # if $survival_s[1] == true
if $survival_s[2] == true
if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
draw_food(0,0,lineheight)
lineheight += 24
end # if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
end # if $survival_s[2] == true
if $survival_s[3] == true
if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
draw_water(0,0,lineheight)
lineheight += 24
end # if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
end # if $survival_s[3] == true
if $survival_s[4] == true
if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
draw_rest(0,0,lineheight)
lineheight += 24
end # if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
end # if $survival_s[4] == true
if $survival_s[5] == true
if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
draw_toxin(0,0,lineheight)
lineheight += 24
end # if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
end # if $survival_s[5] == true
end # def refresh
def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22)
life_25 = Anyx::LIFEMAX / 4
life_26 = life_25 + 0.001
life_50 = life_25 * 2
life_51 = life_50 + 0.001
life_75 = life_25 * 3
life_76 = life_75 + 0.001
life_99 = Anyx::LIFEMAX - 0.001
life_color = dep_color if 1 > $survival_v[1]
life_color = dan_color if (1..life_25) === $survival_v[1]
life_color = low_color if (life_26..life_50) === $survival_v[1]
life_color = ave_color if (life_51..life_75) === $survival_v[1]
life_color = sat_color if (life_76..life_99) === $survival_v[1]
life_color = exc_color if Anyx::LIFEMAX <= $survival_v[1]
life_rate = $survival_v[1] / Anyx::LIFEMAX.to_f
draw_gauge(x, y, width, life_rate, text_color(Anyx::LIFECOLORL), text_color(Anyx::LIFECOLORR))
change_color(system_color)
draw_text(x, y, 100, line_height, Anyx::LIFEVOCAB)
draw_current_and_max_values(x, y, width, $survival_v[1].round.to_i, Anyx::LIFEMAX, life_color, life_color)
end # def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22)
def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22)
food_25 = Anyx::FOODMAX / 4
food_26 = food_25 + 0.001
food_50 = food_25 * 2
food_51 = food_50 + 0.001
food_75 = food_25 * 3
food_76 = food_75 + 0.001
food_99 = Anyx::FOODMAX - 0.001
food_color = dep_color if 1 > $survival_v[2]
food_color = dan_color if (1..food_25) === $survival_v[2]
food_color = low_color if (food_26..food_50) === $survival_v[2]
food_color = ave_color if (food_51..food_75) === $survival_v[2]
food_color = sat_color if (food_76..food_99) === $survival_v[2]
food_color = exc_color if Anyx::FOODMAX <= $survival_v[2]
food_rate = $survival_v[2] / Anyx::FOODMAX.to_f
draw_gauge(x, y, width, food_rate, text_color(Anyx::FOODCOLORL), text_color(Anyx::FOODCOLORR))
change_color(system_color)
draw_text(x, y, 100, line_height, Anyx::FOODVOCAB)
draw_current_and_max_values(x, y, width, $survival_v[2].round.to_i, Anyx::FOODMAX, food_color, food_color)
end # def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22)
def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22)
water_25 = Anyx::WATERMAX / 4
water_26 = water_25 + 0.001
water_50 = water_25 * 2
water_51 = water_50 + 0.001
water_75 = water_25 * 3
water_76 = water_75 + 0.001
water_99 = Anyx::WATERMAX - 0.001
water_color = dep_color if 1 > $survival_v[3]
water_color = dan_color if (1..water_25) === $survival_v[3]
water_color = low_color if (water_26..water_50) === $survival_v[3]
water_color = ave_color if (water_51..water_75) === $survival_v[3]
water_color = sat_color if (water_76..water_99) === $survival_v[3]
water_color = exc_color if Anyx::WATERMAX <= $survival_v[3]
water_rate = $survival_v[3] / Anyx::WATERMAX.to_f
draw_gauge(x, y, width, water_rate, text_color(Anyx::WATERCOLORL), text_color(Anyx::WATERCOLORR))
change_color(system_color)
draw_text(x, y, 100, line_height, Anyx::WATERVOCAB)
draw_current_and_max_values(x, y, width, $survival_v[3].round.to_i, Anyx::WATERMAX, water_color, water_color)
end # def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22)
def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22)
rest_25 = Anyx::WATERMAX / 4
rest_26 = rest_25 + 0.001
rest_50 = rest_25 * 2
rest_51 = rest_50 + 0.001
rest_75 = rest_25 * 3
rest_76 = rest_75 + 0.001
rest_99 = Anyx::RESTMAX - 0.001
rest_color = dep_color if 1 > $survival_v[4]
rest_color = dan_color if (1..rest_25) === $survival_v[4]
rest_color = low_color if (rest_26..rest_50) === $survival_v[4]
rest_color = ave_color if (rest_51..rest_75) === $survival_v[4]
rest_color = sat_color if (rest_76..rest_99) === $survival_v[4]
rest_color = exc_color if Anyx::RESTMAX <= $survival_v[4]
rest_rate = $survival_v[4] / Anyx::RESTMAX.to_f
draw_gauge(x, y, width, rest_rate, text_color(Anyx::RESTCOLORL), text_color(Anyx::RESTCOLORR))
change_color(system_color)
draw_text(x, y, 100, line_height, Anyx::RESTVOCAB)
draw_current_and_max_values(x, y, width, $survival_v[4].round.to_i, Anyx::RESTMAX, rest_color, rest_color)
end # def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22)
def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22)
toxin_25 = Anyx::TOXINMAX / 4
toxin_26 = toxin_25 + 0.001
toxin_50 = toxin_25 * 2
toxin_51 = toxin_50 + 0.001
toxin_75 = toxin_25 * 3
toxin_76 = toxin_75 + 0.001
toxin_99 = Anyx::TOXINMAX - 0.001
toxin_color = exc_color if 1 > $survival_v[5]
toxin_color = sat_color if (1..toxin_25) === $survival_v[5]
toxin_color = ave_color if (toxin_26..toxin_50) === $survival_v[5]
toxin_color = low_color if (toxin_51..toxin_75) === $survival_v[5]
toxin_color = dan_color if (toxin_76..toxin_99) === $survival_v[5]
toxin_color = dep_color if Anyx::TOXINMAX <= $survival_v[5]
toxin_rate = $survival_v[5] / Anyx::TOXINMAX.to_f
draw_gauge(x, y, width, toxin_rate, text_color(Anyx::TOXINCOLORL), text_color(Anyx::TOXINCOLORR))
change_color(system_color)
draw_text(x, y, 100, line_height, Anyx::TOXINVOCAB)
draw_current_and_max_values(x, y, width, $survival_v[5].round.to_i, Anyx::TOXINMAX, toxin_color, toxin_color)
end # def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22)
end # class
module DataManager
def self.make_save_contents
contents = {}
contents[:system] = $game_system
contents[:timer] = $game_timer
contents[:message] = $game_message
contents[:switches] = $game_switches
contents[:variables] = $game_variables
contents[:self_switches] = $game_self_switches
contents[:actors] = $game_actors
contents[:party] = $game_party
contents[:troop] = $game_troop
contents[:map] = $game_map
contents[:player] = $game_player
contents[:anyx_ss] = $survival_s
contents[:anyx_sv] = $survival_v
contents
end # self.make_save_contents
def self.extract_save_contents(contents)
$game_system = contents[:system]
$game_timer = contents[:timer]
$game_message = contents[:message]
$game_switches = contents[:switches]
$game_variables = contents[:variables]
$game_self_switches = contents[:self_switches]
$game_actors = contents[:actors]
$game_party = contents[:party]
$game_troop = contents[:troop]
$game_map = contents[:map]
$game_player = contents[:player]
$survival_s = contents[:anyx_ss]
$survival_v = contents[:anyx_sv]
end # self.extract_save_contents(contents)
end # module DataManager
Вообщем, спасите - помогите)
Вложения:
|
Последнее редактирование: 9 года 3 нед. назад от strelokhalfer.
Администратор запретил публиковать записи гостям.
|
Survival System v1.11 9 года 3 нед. назад #86264
|
pastebin.com/raw.php?i=4FLHGRsk - попробуй от сюда
|
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Smolvile
|
Survival System v1.11 9 года 3 нед. назад #86265
|
strelokhalfer пишет:
pastebin.com/raw.php?i=4FLHGRsk - попробуй от сюда Спасибо, теперь все в норме. |
Администратор запретил публиковать записи гостям.
|
Модераторы: NeKotZima
Время создания страницы: 0.327 секунд