- Сообщений: 58
- Спасибо получено: 0
Скрипт касается лимита инвентаря.Помогите улучшить
16 года 7 мес. назад - 16 года 7 мес. назад #28811
от Maximus
Вообщем задумка такая.
1. Указываем ID вещи, оружия, брони...
2. Указываем лимит
После чего инвентарь заполняется только до указаного лимита.
Казалось - бы, ничего сверхестественного. Но я обнаружил ОДИН БОЛЬШОЙ ЛЯП. После того, как набирается придеал шмоток в инвентаре, вещи в сундуках, и бочках, будут пропадать в некуда... Как же с этим бороться?
А метод есть! Нужно что бы после того как шмотки достигли лимита, скриптик переключал специальный свитч, с текстом "Ваш инвентарь перегружен! Вы не можете взять вещи!". Вот собственно скриптик, который я нарыл на
RPG Revolution. com.
Вы скажете, - так в чём же проблема? А проблема в том, что до меня не доходит, как создать условия при которых данный скриптик будет выключать этот свитч, после того, как инвентарь становится свободным!
Вообще, будет здорово, если кто нибудь поможет реализовать эту задумку! Заранее спасибо!
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*
#============================================================================
# *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*
#============================================================================
Вы скажете, - так в чём же проблема? А проблема в том, что до меня не доходит, как создать условия при которых данный скриптик будет выключать этот свитч, после того, как инвентарь становится свободным!
Вообще, будет здорово, если кто нибудь поможет реализовать эту задумку! Заранее спасибо!
Последнее редактирование: 16 года 7 мес. назад пользователем Maximus.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.088 секунд
