Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Pon 06 Wrz, 2010 06:27
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.
Pomógł: 9 razy Dołączył: 28 Mar 2010 Posty: 173 Skąd: Warszawa
Wysłany: Pon 06 Wrz, 2010 12: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....
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sro 08 Wrz, 2010 05: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:
________________________ ...Amelanduil & FireBlade words will be remembered... ...Amelanduil & FireBlade acts will be remembered... ...Amelanduil & FireBlade never gonna die...
Pomógł: 9 razy Dołączył: 28 Mar 2010 Posty: 173 Skąd: Warszawa
Wysłany: Nie 12 Wrz, 2010 15: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:
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:
Pomógł: 6 razy Dołączył: 19 Gru 2012 Posty: 81 Skąd: Masz taki nr. IQ ?
Wysłany: 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?
________________________
Siema
Gość, Jeżeli ci Pomogłem, możesz mi dać .
_______________________________________________________________
Niestety, padł mi komp z Projektami, więc przez pewien czas niestety nici z Projektów :C
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
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum