-
Maximus
-
-
Вне сайта
-
Бывалый
-
- Сообщений: 58
-
-
|
Вообщем задумка такая.
1. Указываем ID вещи, оружия, брони...
2. Указываем лимит
После чего инвентарь заполняется только до указаного лимита.
Казалось - бы, ничего сверхестественного. Но я обнаружил ОДИН БОЛЬШОЙ ЛЯП. После того, как набирается придеал шмоток в инвентаре, вещи в сундуках, и бочках, будут пропадать в некуда... Как же с этим бороться?
А метод есть! Нужно что бы после того как шмотки достигли лимита, скриптик переключал специальный свитч, с текстом "Ваш инвентарь перегружен! Вы не можете взять вещи!". Вот собственно скриптик, который я нарыл на
RPG Revolution. com.
#============================================================================
# *Syn's Maximum Item Limits*
#
# Written by Synthesize
# Version 1.00
# August 15, 2007
#============================================================================
#
# Compatability
# Rewrites:
# Game_Party::gain_item
# Game_Party::gain_weapon
# Game_Party::gain_armor
#
# Begin Customization Section
#
module SynItemMax
# Format = {item_id => maximum amount}
Max_item = {1=>32,
2=>7,
3=>10,
4=>7,
5=>32,
6=>7,
7=>5,
15=>32,
16=>7,
17=>7,
18=>7,
19=>10,
22=>20,
23=>30,
24=>32,
25=>30,
}
# Default Max Item Storage
Max_item.default = 9999
# Format = {weapon_id => maximum amount}
Max_weapon = {1=>5,
2=>5,
3=>5,
4=>5,
5=>5,
6=>5,
7=>5,
8=>5,
9=>5,
10=>5,
11=>5,
12=>5,
13=>5,
}
# Maximum Weapon storage
Max_weapon.default = 5
# Format = {armor_id => maximum amount}
Max_armor = {1=>10,
2=>10,
3=>10,
4=>10,
5=>10,
6=>10,
7=>10,
8=>10,
9=>10,
10=>10,
11=>10,
12=>10,
13=>10,
14=>10,
15=>10,
16=>10,
17=>10,
18=>10,
19=>10,
20=>10,
21=>10,
22=>10,
23=>10,
24=>10,
25=>10,
26=>10,
}
# Maximum storage space
Max_armor.default = 10
end
#
# Begin Game_Party rewrite
#
class Game_Party
#
# Rewrite gain_item
#
def gain_item(item_id,n)
if item_id > 0
@items[item_id] = item_number(item_id) + n, 0].max, SynItemMax::Max_item[item_id.min
if @items[item_id] = SynItemMax::Max_item[item_id]
$game_switches[switch_id = 276] = true
$game_map.refresh
else
$game_switches[switch_id = 276] = false
$game_map.refresh
end
end
end
#
# Rewrite gain_weapon
#
def gain_weapon(weapon_id,n)
if weapon_id > 0
@weapons[weapon_id] = weapon_number(weapon_id) + n, 0].max, SynItemMax::Max_weapon[weapon_id.min
$game_switches[switch_id = 276] = true
$game_map.refresh
else
$game_switches[switch_id = 276] = false
$game_map.refresh
end
end
#
# Rewrite gain_armor
#
def gain_armor(armor_id,n)
if armor_id > 0
@armors[armor_id] = armor_number(armor_id) + n, 0].max, SynItemMax::Max_armor[armor_id.min
$game_switches[switch_id = 276] = true
$game_map.refresh
else
$game_switches[switch_id = 276] = false
$game_map.refresh
end
end
end
#============================================================================
# Written by Synthesize
# Version 1.00
# August 15, 2007
#
# *Syns Maximum Item Limits*
#============================================================================
Вы скажете, - так в чём же проблема? А проблема в том, что до меня не доходит, как создать условия при которых данный скриптик будет выключать этот свитч, после того, как инвентарь становится свободным!
Вообще, будет здорово, если кто нибудь поможет реализовать эту задумку! Заранее спасибо!
|