Ayene - Pon 06 Wrz, 2010 07:27 Temat postu: Dodatkowe przedmioty za potwory XP
~ Dodatkowe przedmioty za potwory XP ~
Krótki opis
Jak wiadomo Baza Danych RMXP pozwala na przyporządkowanie tylko jednego przedmiotu jednemu potworowi. Wobec czego skrypt umożliwia ustawienie przedmiotów dodatkowych. Lepiej jednak nie przesadzać z ich ilością (maksymalna ilość to 6). Wartość można zmienić, edytując linijkę:
Kod:
treasures = treasures[0..5]
Zalecane dokładne testy kompatybilności z innymi (niż domyślny) systemami walki.
Autor skryptu
Ayene [yurika@o2.pl]
Kompatybilność
Tylko XP. Może mieć problemy z kompatybilnością z innymi systemami walki, gdyż nadpisuje całkowicie definicję 'start_phase5'.
Skrypt
Spoiler:
Kod:
#===================================================================
# Dodatkowe przedmioty za potwory XP
# by Ayene
# 06.09.2010 ver 1.0
# www.ultimateam.pl
#===================================================================
module Ayene
ITEM = {# ID potwora => [%, id przedmiotu],[%, id przedmiotu], itd.]
1 => [[100, 2],[100, 23],[100, 23], ],
2 => [[100, 3],[100, 23]],
}
WEAPON = {# ID potwora => [%, id broni],[%, id broni], itd.]
1 => [[100, 2],[100, 23]],
2 => [[100, 3],[100, 23]],
}
ARMOR = {# ID potwora => [%, id pancerza],[%, id pancerza], itd.]
1 => [[100, 2],[100, 23]],
2 => [[100, 3],[100, 23]],
}
# Maksymalna ilość przedmiotów to 6.
end
class Scene_Battle
def start_phase5
@phase = 5
$game_system.me_play($game_system.battle_end_me)
$game_system.bgm_play($game_temp.map_bgm)
exp = 0
gold = 0
treasures = []
for enemy in $game_troop.enemies
unless enemy.hidden
exp += enemy.exp
gold += enemy.gold
if rand(100) < enemy.treasure_prob
if enemy.item_id > 0
treasures.push($data_items[enemy.item_id])
end
if enemy.weapon_id > 0
treasures.push($data_weapons[enemy.weapon_id])
end
if enemy.armor_id > 0
treasures.push($data_armors[enemy.armor_id])
end
end
if Ayene::ITEM.include?(enemy.id)
for i in 0..Ayene::ITEM[enemy.id].size-1
if rand(100) < Ayene::ITEM[enemy.id][i][0]
treasures.push($data_items[Ayene::ITEM[enemy.id][i][1]])
end
end
end
if Ayene::WEAPON.include?(enemy.id)
for i in 0..Ayene::WEAPON[enemy.id].size-1
if rand(100) < Ayene::WEAPON[enemy.id][i][0]
treasures.push($data_weapons[Ayene::WEAPON[enemy.id][i][1]])
end
end
end
if Ayene::ARMOR.include?(enemy.id)
for i in 0..Ayene::ARMOR[enemy.id].size-1
if rand(100) < Ayene::ARMOR[enemy.id][i][0]
treasures.push($data_armors[Ayene::ARMOR[enemy.id][i][1]])
end
end
end
end
end
treasures = treasures[0..5]
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.cant_get_exp? == false
last_level = actor.level
actor.exp += exp
if actor.level > last_level
@status_window.level_up(i)
end
end
end
$game_party.gain_gold(gold)
for item in treasures
case item
when RPG::Item
$game_party.gain_item(item.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item.id, 1)
when RPG::Armor
$game_party.gain_armor(item.id, 1)
end
end
@result_window = Window_BattleResult.new(exp, gold, treasures)
@phase5_wait_count = 100
end
end
Demo
niepotrzebne
Screenshot
Spoiler:
Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
Piszcie w razie problemów.R.I.P. - Pon 06 Wrz, 2010 12:43 No dobra, a te "przedmioty", to dostaje się losowe czy co?, bo nie rozumiem... Ayene - Pon 06 Wrz, 2010 12:47
Kod:
module Ayene
ITEM = {# ID potwora => [%, id przedmiotu],[%, id przedmiotu], itd.]
1 => [[100, 2],[100, 23],[100, 23], ],
2 => [[100, 3],[100, 23]],
}
WEAPON = {# ID potwora => [%, id broni],[%, id broni], itd.]
1 => [[100, 2],[100, 23]],
2 => [[100, 3],[100, 23]],
}
ARMOR = {# ID potwora => [%, id pancerza],[%, id pancerza], itd.]
1 => [[100, 2],[100, 23]],
2 => [[100, 3],[100, 23]],
}
# Maksymalna ilość przedmiotów to 6.
end
Przykładowo:
# ID potwora => [%, id broni],[%, id broni], itd.]
gdzie % to szansa 1~100%
id broni to ID broni w bazie danych.R.I.P. - Pon 06 Wrz, 2010 13:27
Ayene napisał/a:
Kod:
module Ayene
ITEM = {# ID potwora => [%, id przedmiotu],[%, id przedmiotu], itd.]
1 => [[100, 2],[100, 23],[100, 23], ],
2 => [[100, 3],[100, 23]],
}
WEAPON = {# ID potwora => [%, id broni],[%, id broni], itd.]
1 => [[100, 2],[100, 23]],
2 => [[100, 3],[100, 23]],
}
ARMOR = {# ID potwora => [%, id pancerza],[%, id pancerza], itd.]
1 => [[100, 2],[100, 23]],
2 => [[100, 3],[100, 23]],
}
# Maksymalna ilość przedmiotów to 6.
end
Przykładowo:
# ID potwora => [%, id broni],[%, id broni], itd.]
gdzie % to szansa 1~100%
id broni to ID broni w bazie danych.
Echh, zaraz się popłacze, nie wiem co ci anglicy robią a polacy że Anglików skrypty działają od razu na Polskim RM , kurcze czemu!?!, szkoda że nie działa na Polaku, przyokazji żeby nie było zbędnych pytań a mi nie działa, więc jak masz Polskiego RM to ci nie zadziała.... kamil1116 - Pon 06 Wrz, 2010 16:36 ayen mógła byś zrobić to na pl wersje prosze Ayene - Sro 08 Wrz, 2010 06:52 Żeby nie było... specjalnie pofatygowałam się i sprawdziłam tę waszą PL (choć nie powinnam) i nadal nie wiem, co wam nie chodzi. Po prostu nie czytacie konfiguracji:
Spoiler:
kamil1116 - Sro 08 Wrz, 2010 15:14 dobra ok nie działa ale dzięki za fatyge
[ Dodano: Sro 08 Wrz, 2010 16:19 ]
przepraszam wszystko idzie thxCzeliosss - Sro 08 Wrz, 2010 18:14 Skrypt bardzo przydatny. Pewnie go użyję.R.I.P. - Nie 12 Wrz, 2010 16:06
Cytat:
Żeby nie było... specjalnie pofatygowałam się i sprawdziłam tę waszą PL (choć nie powinnam) i nadal nie wiem, co wam nie chodzi. Po prostu nie czytacie konfiguracji:
To coś u mnie nie gra, dzięki za sprawdzenie...
Cytat:
Skrypt bardzo przydatny. Pewnie go użyję.
Nie "Pewnie" tylko oczywiście że go użyjesz.HellKiller - Pon 13 Wrz, 2010 17:45 Muszę powiedzieć że ci RGSS coraz lepiej, choć twoje skrypty są dość łatwe :P.
Podoba mi się to ,że robisz te skrypty dla innych a nie trzymasz je dla siebie.
Ja tak nie potrafię ja mam jakieś 20 w grze (może więcej) ,które nikomu nie udostępnie i mam jeszcze z 30 których nie używam a jakoś nie potrafię się dzielić :D.
Skrypt zrobiłem troszkę inaczej, ale twój pomysł jest dobry, ale trzeba dla każdego "rodzaju przedmiotu" robić id. Ja zrobiłem tak:
Polecam skrypt i pozdrawiam HellKiller .Tekjumen - Wto 30 Lis, 2010 20:59 Fajny skrypt, przyda się ^^ bo będzie w mojej gierce :ppThe Big Master - Sob 22 Gru, 2012 09:13 Siemka mam polskiego RPG Makera Xp i nie wiem które to te ID broni? Wiem o co chodzi ale żadnej linijki typu "ID:2313123", czy to chodzi o nazwe Ico?dere - Nie 17 Lut, 2013 08:22 dziękuje Nex - Nie 17 Lut, 2013 12:21 GuGuś
Tu chodzi o takie ID że jak w bazie danych masz spis np wszystkich broni to po lewej masz takie coś
001:Miecz z brązu
002:Miecz z żelaza
i chodzi o to 001 lub 002 albo 043 a polski Rm nic tu nie zmienia
dere nie spamuj emotkamiRouch - Czw 28 Mar, 2013 15:03 Czytaj konfigurację, no i widać, że nie przejrzałeś całego tematu.