- Регистрация
- 20.06.2024
- Темы
- 6
- Сообщения
- 464
- Реакции
- 221
- Возраст
- 32
Смотри требования к моду и версию игры на которой он будет работать. Самая новая - не подходит.Да самая новая, что на F95zone опубликована
Смотри требования к моду и версию игры на которой он будет работать. Самая новая - не подходит.Да самая новая, что на F95zone опубликована
не, пока не добрался. Над маной экспериментировал и пытался заставить игру при повышении хп или стамины Навыком, хилить на это количество. Ну то есть повысил ты хп на 14 ед., но у тебя все равно все еще 10, а не 14. А еще выяснил, что на 87 лвл Лона от "медитации" получает 6к опыта, по новой системе опыта.)))Кстати, когда соберешься добавлять предметы продавцам...
Я могу подсказать, как их добавить так, чтоб не лезть в диалоги с ними. Метод с json - он для централизованного добавления. Тут требуется чтоб Эккма выполнил квест на о-json-ивание продавцов. Ну или это имеет смысл, если добавлений реально дофига. Тогда этот квест может выполнить и мододел лично для своих предметов.
А пока что, можно сделать все гораздо проще.
def setup(actor_id)
p "actor setup actor_id=>#{actor_id}"
@actor_id = actor_id
@name = actor.name
@nickname = actor.nickname
init_graphics
@class_id = actor.class_id
@level = actor.initial_level
@exp = {}
@ext_items = [nil,nil,nil,nil,nil]
@equips = []
@hom_effects_data = []
@immune_tgt_states = []
@original_immune_tgt_states = []
@immune_tgt_state_type = []
@equip_part_covered = []
@add_specs=Note.get_data(actor.note)
@chs_configured=@add_specs["chs_config"]
@debug_attribute=false
#@portrait_sync=true #unuse
@mouth_block=0
@weigth_carried=0 #?????????
@max_stats=Hash.new
@hit_LinkToMaster = false
@is_object = false
@immune_state_effect = false
@immune_damage = false
@master = nil
@actStat=LonaActorStat.new #??????????????stat??????????????????????????????
@actStat.npc_name="Lona"
@state_frames={}
@name_order = $data_lona_portrait[0]
init_exp
init_lonaStat #??????@stat???????portrait?????@prt_stat??
init_statMap
initialize_battle_system
stat["Race"] = "Human"
stat["always"]="on"
stat["persona"]="typical"
stat["sex_pos"]=-1
init_cums
clear_param_plus
clear_states
init_rec_stats #96_Game_Actor_Attribute.rb
@prev_health = self.health
@prev_sta = self.sta
@prev_mp = self.mp # MP
@actStat.check_stat_old
@actStat.actor = self
end
1) Ну, усложняй математику. Ну или фирменная медитация Лоны - весьма могуча, чо.не, пока не добрался. Над маной экспериментировал и пытался заставить игру при повышении хп или стамины Навыком, хилить на это количество. Ну то есть повысил ты хп на 14 ед., но у тебя все равно все еще 10, а не 14. А еще выяснил, что на 87 лвл Лона от "медитации" получает 6к опыта, по новой системе опыта.)))
И пытался понять как один модуль, может добавить в другой - строку. К примеру, вот этот код для нужен только ради одной строки "@prev_mp = self.mp # MP", а приходится копировать весь.
юху! а нужна 9.1.1.1Да самая новая, что на F95zone опубликована
class Game_Actor < Game_Battler
attr_accessor :prev_arousal_corsys
alias_method :setup_corsys, :setup
def setup(actor_id)
setup_corsys(actor_id)
@prev_arousal_corsys = self.arousal
end
end
class LonaActorStat < ActorStat
alias_method :set_stat_corsys, :set_stat
def set_stat(stat_name, value, type=CURRENT_STAT)
set_stat_corsys(stat_name, value, type)
#return if !stat_name
return p "stats not exist on PlayerActor stat_name=>#{stat_name} V=>#{value} t=>#{type}" if @stat[stat_name].nil?
value=value.round(3) if value.is_a?(Float)
@stat[stat_name][type]=value
#when setting MAX_STAT or MIN_STAT we need to not check them in order to prevent situation when we first increase MAX_STAT, then round to MAX_TRUE, then apply reduction by decreasing MAX_STAT
#setting MAX_TRUE and MIN_TRUE will break whole chain of checks with how they're made anyway, so it'll be applied only on next refresh.
check_current_stat(stat_name) if type == CURRENT_STAT
#those calls were in update_state_frames each frame
if type == CURRENT_STAT && !@actor.nil? then
if stat_name == "arousal".freeze then
@actor.check_prev_arousal_to_sta
@actor.prev_arousal_corsys = @actor.arousal
end
end
end
end
ага, я тоже почитал про алиас и почти ничего не понял.)))1) Ну, усложняй математику. Ну или фирменная медитация Лоны - весьма могуча, чо.
2)
Прицепись к def через алиас-метод.
В своей версии - вызови старый def .
И добавь одну строку после него, или до него.
я сделал вот так и это сработало В руководствах очень непонятно пишут...Нет. Алиас - переименовывает старый def. (или создает копию под новым именем, я не разбирался)
И потом ты можешь написать def под тем же именем как в игре, и внутри вызвать переименованный старый def. Вместо того чтоб копировать из него код.
alias_method(:setup_role_play, :setup)
def setup_role_play
setup(actor_id)
@prev_mp = self.mp # MP
end
Надо вот так:я сделал вот так и это сработало В руководствах очень непонятно пишут...
Ruby:alias_method(:setup_role_play, :setup) def setup_role_play setup(actor_id) @prev_mp = self.mp # MP end
Хорошо. Теперь можно будет посокращать все те горы мусора, которые я наворотил.))
attr_accessor :prev_mp # По аналогии с другими статами типа prev. Я не особо разбирался нафиг оно надо, просто делал как Эккма.
alias_method(:setup_role_play, :setup) #переименовать setup → setup_role_play
def setup(actor_id) #Наш новый def. При его запуске в него подаются данные об actor_id другими def. Как и в оригинальный.
#И остальной код игры будет принимать его за оригинальный потому что имя то же самое.
setup_role_play(actor_id) # вызов старой версии def, который мы переименовали. И мы передаем ему эстафетным методом данные об actor_id.
@prev_mp = self.mp # MP
end
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя. Предоставляя нам персональные данные, вы соглашаетесь на их обработку в соответствии с этой политикой.
Посмотрите дополнительную информацию и настройте свои предпочтения