KrĂłtki opis
potrzebowaĹem ten skrypt i byĹem pewien, Ĺźe go tu widziaĹem, ale nie, wsiÄ kĹ. Dlatego pobraĹem angielkojÄzyczny i przetĹumaczyĹem. Dleczego go tu umieszczam? Nie mam pojÄcia.
DziÄki niemu moĹźecie ustawiÄ, Ĺźe postaÄ dostanie skilla, jeĹźeli ma dany przedmiot lub zaĹoĹźony dany equip (mi siÄ ten skrypt przyda do amunicji, nie pytajcie dlaczego).
Autor skryptu
modern algebra
TĹumaczenie
Ja
KompatybilnoĹÄ
Tylko RPG Maker VX
Skrypt
Spoiler:
Kod:
#=====================================================
# TytuĹ: Skille z itemĂłw
# Oryginalny TytuĹ: Skill Teaching Equipment & Items
# Version 2.0
# Autor: modern algebra (rmrk.net)
# Data: 27 jenuary (cokolwiek to oznacza) 2008
# TĹumaczenie: Teyan (www.ultimateam.pl)
# Data tĹumaczenia: 01.01.2010r.
#~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# INSTRUKCJA:
# Wklej ten skrypt nad Main.
#
# Wpisz poniĹźszy kod w Note/Notatkach przedmiotu lub ekwipunku
#
# \ls[skill_id, level_min]
#
# Gdzie:
# skill_id to numer skilla, ktĂłrego postaÄ siÄ nauczy,
# level_min to wymagany poziom danej postaci - nieobowiÄ zkowy tzn:
# nie musimy pisaÄ: np: \ls[2, 0] by bohater otrzymaĹ skill natychmist po zaĹoĹźeniu danego przedmiotu
# wystarczy, Ĺźe napiszemy np: \ls[2]
#
#
#==================NIE GRZEB PONIĹťEJ!!!!!!!!!!!!!!!!!===========
#==================Ja nawet nie tĹumaczyĹem.====================
# ** RPG::BaseItem
#~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# new method - skill_ids
#=========================================================
class RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Skill IDs
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def skill_ids
# Only works for Item, Weapon, and Armor
return if self.class == RPG::Skill
learn_skills = []
# Dissect Note
text = self.note.dup
while text[/\\ls\[(\w+),*\s*(\d*?)\]/i] != nil
text.sub! (/\\ls\[(\w+),*\s*(\d*?)\]/i) { '' }
learn_skills.push ([$1.to_i, $2.to_i])
end
return learn_skills
end
end
class Game_Actor < Game_Battler
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Change Equipment
# equip_type : type of equipment
# id : weapon or armor ID (If 0, remove equipment)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_skill_teaching_items_equipment_change change_equip
def change_equip (equip_type, item, test = false)
unless test
last_item = equips[equip_type]
# Forget the skills from what was previously equipped
skill_ids = last_item.nil? ? [] : last_item.skill_ids
skill_ids.each { |skill_id|
forget_skill (skill_id[0]) if @unnatural_skills.include? (skill_id[0])
@unnatural_skills.delete (skill_id[0])
}
end
# Run original method
ma_skill_teaching_items_equipment_change (equip_type, item, test)
unless test
last_item = equips[equip_type]
# Learn the skills from current_equipment
skill_ids = last_item.nil? ? [] : last_item.skill_ids
skill_ids.each { |skill_id|
unless skill_learn? ($data_skills[skill_id[0]]) || self.level < skill_id[1]
learn_skill (skill_id[0])
@unnatural_skills.push (skill_id[0])
end
}
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Setup
# actor_id : actor ID
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_skill_teaching_items_actor_setup setup
def setup (actor_id)
@unnatural_skills = []
# Run original method
ma_skill_teaching_items_actor_setup (actor_id)
for item in equips
next if item.nil?
item.skill_ids.each { |skill_id|
next if skill_learn? ($data_skills[skill_id[0]]) || self.level < skill_id[1]
@unnatural_skills.push (skill_id[0])
learn_skill (skill_id[0])
}
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Level Up
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_skl_teacher_equip_actor_lvlup level_up
def level_up
modalg_skl_teacher_equip_actor_lvlup
# Check Equipment and learn skills if not already learned
equips.each { |item|
next if item == nil
item.skill_ids.each { |skill_id|
unless skill_learn? ($data_skills[skill_id[0]]) || self.level < skill_id[1]
learn_skill (skill_id[0])
@unnatural_skills.push (skill_id[0])
end
}
}
end
end
class Game_Battler
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Item Test
# user : person using item
# item : the item being used
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_skill_teaching_items_test_item item_test
def item_test (user, item)
effective = ma_skill_teaching_items_test_item (user, item)
if self.class != Game_Enemy
item.skill_ids.each { |skill_id|
effective |= !skill_learn? ($data_skills[skill_id[0]]) && self.level > skill_id[1]
}
end
return effective
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Application of Item Effects
# item : item
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_skill_teaching_items_effect_item item_effect
def item_effect (user, item)
# Run original method
ma_skill_teaching_items_effect_item (user, item)
item.skill_ids.each { |skill_id|
if self.class != Game_Enemy && self.level > skill_id[1]
@unnatural_skills.delete (skill_id[0])
learn_skill (skill_id[0])
end
}
end
end
Demo
Niepotrzebne
'Skrinszot'
Niepotrzebny.
Instrukcja
1. Wklejcie, z Ĺaski swojej, skrypt nad "Main".
2. Reszta instrukcji znajduje siÄ w treĹci tego @!%&%!@ skryptu
3. Nie zadawajcie wiÄcej pytaĹ.
4. Nie piszcie postĂłw, bo zostaniecie oskarĹźeni o spam!
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