player.currency=99999 마력 조각
나머진 actor.rpy 파일 참고
class Actor(object):
def __init__(self, objectname="", name="", level=0, currency=0, vit=0, agi=0, mnt=0, str=0, dex=0, res=0,
physical=0, poison=0, air=0, fire=0, ice=0, shock=0, type="", skills=None, abilities=None, hitface="", sufferface="", info = "", number=0):
self.objectname = objectname
self.original_name = objectname.capitalize().replace("_", " ")
self.name=name
self.level=int(level)
self.base_level=int(level)
self.currency = int(currency)
self.vit=int(vit)
self.agi=int(agi)
self.mnt=int(mnt)
self.str=int(str)
self.dex=int(dex)
self.res=int(res)
self.physical=int(physical)
self.poison=int(poison)
self.air=int(air)
self.fire=int(fire)
self.ice=int(ice)
self.shock=int(shock)
self.type=type
if skills not in [None, [""]]:
self.skills = [getattr(store, x) for x in skills]
else:
self.skills=[]
if abilities not in [None, [""]]:
self.abilities=abilities
else:
self.abilities=[]
self.hitface=hitface
self.sufferface=sufferface
self.info=info
self.number=int(number)
self.items = []
self.valuables = []
self.max_vp = self.vit*5+50
self.vp= float(self.max_vp)
self.dp=self.vp
self.max_ap= self.agi*5+50
self.ap=self.max_ap
self.cp=self.mnt
self.xp=0.0
self.flow=0
self.panic=0
self.paralyze=0
self.disrupt=0
self.stun = 0
if len(self.skills)>0:
self.skill=self.skills[0]
else:
self.skill=None
self.target=None
self.xposition = .85
self.pose="default"
self.dresses=[]
self.dress = "default"
self.stripped = 0
if objectname in ["fox","knight","dark_elf"]:
self.face_list=["normal","hit1","hit2","hit3","embarrassed","happy","angry","joking","laughing","neutral","scared","shocked","shy","smiling"]
elif objectname in ["shopgirl","innkeeper"]:
self.face_list=["normal","hit1","hit2","hit3","embarrassed", "happy","angry","sad"]
else:
self.face_list=["normal","hit1","hit2","hit3","embarrassed"]
self.face="normal"
self.order=0
self.defeat_count=0
self.defeated_count=0
self.soulraise = 0
self.guardtype = None
아이템 추가는 battle.rpy 파일 참고
gain_item = getattr(store, renpy.random.choice(["{}_scroll".format(renpy.random.choice(i.skills[1:]).objectname)]))
player.items.append(copy(gain_item))
아이템 리스트는 items.tsv 파일
문제는 아이템을 갯수로관리를 안하다보니..
아이템 추가시마다 오브젝트 추가를 해야함..
아 몰라
물론 자체 파일자체를 뜯어서 쉽게 만드는것도 가능
확률조작이라던가..
for i in enemy:
if renpy.random.random()<0.005*gain_boost:
gain_item = getattr(store, renpy.random.choice(["{}_scroll".format(renpy.random.choice(i.skills[1:]).objectname)]))
player.items.append(copy(gain_item))
renpy.music.play("Get_Item", channel="audio")
annotator("당신은 [gain_item.name]를 획득했습니다.")
elif renpy.random.random()< 0.0005*min(i.level-50, 10)*gain_boost:
gain_item = renpy.random.choice([vitality_seed_h, agility_seed_h, mentality_seed_h, strength_seed_h, dexterity_seed_h, resilience_seed_h])
player.items.append(copy(gain_item))
renpy.music.play("Get_Item", channel="audio")
annotator("당신은 [gain_item.name]를 획득했습니다.")
elif renpy.random.random()< 0.0005*min(i.level-30, 20)*gain_boost:
gain_item = renpy.random.choice([vitality_seed_l, agility_seed_l, mentality_seed_l, strength_seed_l, dexterity_seed_l, resilience_seed_l])
player.items.append(copy(gain_item))
renpy.music.play("Get_Item", channel="audio")
annotator("당신은 [gain_item.name]를 획득했습니다.")
elif renpy.random.random()< 0.0005*min(i.level-10, 50-i.level)*gain_boost:
gain_item = renpy.random.choice([vitality_seed_m, agility_seed_m, mentality_seed_m, strength_seed_m, dexterity_seed_m, resilience_seed_m])
player.items.append(copy(gain_item))
renpy.music.play("Get_Item", channel="audio")
annotator("당신은 [gain_item.name]를 획득했습니다.")
elif renpy.random.random()<0.0001*min(20, 30-i.level)*gain_boost:
gain_item = renpy.random.choice([vitality_seed_s, agility_seed_s, mentality_seed_s, strength_seed_s, dexterity_seed_s, resilience_seed_s])
player.items.append(copy(gain_item))
renpy.music.play("Get_Item", channel="audio")
annotator("당신은 [gain_item.name]를 획득했습니다.")
마력 획득량 조작이라던가.. 아 물론 고정값도 가능
player.currency += gain_currency 를 player.currency += (gain_currency*100) 나
player.currency += 9999999 나
player.currency = 99999999999
뭐 좋을대루
경험치 획득은
if player.has(luck_statue):
gain_boost = persistent.xp*2.0
else:
gain_boost = persistent.xp
걍 뒷줄에다가
gain_boost = 9999999 해도 되고
주의사항
py 파일 수정시 파이슨 코드 작성법 정도는 알고 있을것..
일반 코딩하고 작성법 다름
특히 탭!
캐릭 정보는 libcall.rpy 파일로 추정
character.k.ap=999 같은건 안먹히는데 이건 게임 초기값만 설정하는건가봄.[게임 로딩시]
즉 실시간 전투용 값들이 저장되는건 별도란 뜻
current_actor=party[0]
chosen_actor=None
chosen_skill=None
chosen_item = None
active_actor=None
shown_actor=None
current_message = ""
current_ex_message = ""
partyaction = "manual"
partytarget=enemy[0]
battleturn=0
in_battle=True
current_captured = []
enemy_alive=len(enemy)
battleorder = party[0:3] + enemy[0:3]
if boss_level or (isinstance(stand, Coordinate) and stand.level.level >= 25):
allow_capture = False
else:
allow_capture = True
for i in enemy:
if boss_level:
if minion and i.level < boss_level:
i.level += int((boss_level - i.level)/3.0 +.9)
else:
i.level = boss_level
elif enemy_level and i.level < enemy_level:
i.level += int((enemy_level - i.level)/3.0 + renpy.random.random())
for i in party+enemy:
i.ap=int(i.max_ap*(0.4+renpy.random.random()*2/5.0))
if boss_level and i in enemy:
i.ap += i.max_ap/5
if "은밀함" in i.abilities:
i.ap += i.max_ap/5
if i.ap > i.max_ap:
i.ap=i.max_ap
i.order = renpy.random.randint(10, 20) - i.agi
if i in enemy:
i.order += - i.level + int(sum([x.level for x in party])/len(party))
i.skill=i.skills[0]
i.reset_cp()
i.face_change()
아래 아주 잘됨.
party[0].max_ap=9999
party[0].max_vp=9999
party[1].max_ap=9999
party[2].max_ap=9999
party[3].max_ap=9999
아 물론 적 체력 0도 가능
enemy[0].쩌구 저쩌구어
'게임 이야기' 카테고리의 다른 글
던파 (2) | 2017.03.29 |
---|---|
던ㅊㅍ파 (0) | 2017.03.03 |
현재 던파 키운 캐릭들 (0) | 2015.12.25 |
Custom Maid 3D 2 커스텀 메이드 3d 2 치트 일기 (63) | 2015.08.02 |
.. (0) | 2012.06.21 |