Ace 스크립트

=begin
#===============================================================================
 ** Effect: Recoil Damage
 Author: Tsukihime
 Date: Sep 12, 2013
--------------------------------------------------------------------------------
 ** Change log
 Sep 12, 2013
   - added element type for recoil damage
 Aug 28, 2013
   - added "guard" trigger for all objects
 Aug 25, 2013
   - recoil effect occurs when battler gets hit
 May 14, 2013
   - initial release
--------------------------------------------------------------------------------   
 ** Terms of Use
 * Free to use in commercial/non-commercial projects
 * No real support. The script is provided as-is
 * Will do bug fixes, but no compatibility patches
 * Features may be requested but no guarantees, especially if it is non-trivial
 * Preserve this header
--------------------------------------------------------------------------------
 ** Required
 
 -Effects Manager
  (http://himeworks.wordpress.com/2012/10/05/effects-manager/)

--------------------------------------------------------------------------------
 ** Description
 
 This effect is activated when an attack is successfully made.
 The user will take some amount of damage according to the effect.
 
--------------------------------------------------------------------------------
 ** Installation
 
 Place this script below Effect Manager and above Main.
 
--------------------------------------------------------------------------------
 ** Usage
 
 Tag effect objects with
 
    <eff: recoil_damage formula element_id>
    
 Where the formula is any valid ruby statement that evaluates to a number.
 
 The `element_id` is the ID of the element you want the recoil damage to be.
 Look up the ID in the Terms tab. If you set it to -1, then it will be the
 "atk element" of the target which can be set using features.
 
#===============================================================================
=end
$imported = {} if $imported.nil?
$imported["Effect_RecoilDamage"] = true
#===============================================================================
# ** Rest of the script
#===============================================================================
module Effect
  module Recoil_Damage
    
    Vocab = "%s took %s damage from the recoil!"
    Effect_Manager.register_effect(:recoil_damage)
  end
end

module RPG
  class BaseItem
    def add_effect_recoil_damage(code, data_id, args)
      args[1] = args[1] ? eval(args[1]) : 0
      add_effect(code, data_id, args)
    end
  end
end

class Game_Battler < Game_BattlerBase
  
  def effect_recoil_damage(user, item, effect)
    elementID = effect.value1[1]
    value = eval(effect.value1[0]).to_i
    value *= effect_recoil_element_rate(user, elementID)
    value = value.to_i
    user.hp -= value
    user.perform_collapse_effect if user.dead?
    @result.effect_results.push(sprintf(Effect::Recoil_Damage::Vocab, user.name, value))
    @result.success = true
  end
  
  #-----------------------------------------------------------------------------
  # 
  #-----------------------------------------------------------------------------
  def effect_recoil_element_rate(user, elementID)
    if elementID < 0
      atk_elements.empty? ? 1.0 : user.elements_max_rate(atk_elements)
    else
      user.element_rate(elementID)
    end
  end
  
  alias :state_effect_recoil_damage_attack :effect_recoil_damage
  alias :state_effect_recoil_damage_guard :effect_recoil_damage
  alias :item_effect_recoil_damage :effect_recoil_damage
  alias :enemy_effect_recoil_damage_attack :effect_recoil_damage
  alias :enemy_effect_recoil_damage_guard :effect_recoil_damage
  alias :actor_effect_recoil_damage_attack :effect_recoil_damage
  alias :actor_effect_recoil_damage_guard :effect_recoil_damage
end

class Game_Actor < Game_Battler
  
  alias :armor_effect_recoil_damage_attack :effect_recoil_damage
  alias :armor_effect_recoil_damage_guard :effect_recoil_damage
  alias :weapon_effect_recoil_damage_attack :effect_recoil_damage
  alias :weapon_effect_recoil_damage_guard :effect_recoil_damage
  alias :class_effect_recoil_damage_attack :effect_recoil_damage
  alias :class_effect_recoil_damage_guard :effect_recoil_damage
end




공격할경우, 준 데미지의 n%만큼의 데미지를 자신이 입게됩니다.

<eff: recoil_damage 공식>을 스킬칸에 넣으면 된다는데...

사실은 실험하다 때려침


※ 필수 스크립트

http://himeworks.wordpress.com/2012/10/05/effects-manager/

Who's 스리아씨

?
뺘라뺘뺘
  • ?
    반내림 2013.10.11 17:42
    헐랭..감사합니다!
  • ?
    반내림 2013.10.11 17:59
    위 스크립트를 쓰려면 링크해두신곳의 스크립트를 먼저 넣어야하는건가요??
  • ?
    반내림님 축하합니다.^^ 2013.10.11 17:59
    포인트 팡팡!에 당첨되셨습니다.
    반내림님은 19포인트를 보너스로 받으셨습니다.
  • ?
    스리아씨 2013.10.11 18:02
    일단 링크해둔 스크립트를 넣어야 사용되는 듯 합니다.
  • ?
    반내림 2013.10.14 20:24
    준 데미지의 몇%가 아닌 그냥 정해진 값만큼 사용자가 데미지를 받네요..
    아쉬움..

    몇%로 하려해도 에러뜨구..
  • ?
    스리아씨 2013.10.14 21:06
    데미지공식이 a.atk * 1이면, 반동을 a.atk * 0.5로 하면 될지도.
  • ?
    반내림 2013.10.14 21:56
    안되네요..허허
  • profile
    karikari 2014.01.23 19:13
    scene-skill 칸인가요??

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 5110
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 28928
57 아이템 랜덤 아이템샵. 1 탐험가 2012.10.28 2297
56 전투 레벨업시 HP/MP 전체회복 9 쿠쿠밥솥 2012.02.05 5029
55 맵/타일 레이어 맵 <layer> 기능 2 file LuD 2017.08.03 1472
54 맵/타일 맵 이동시 이벤트(NPC) 위치 유지하기 (수정) 4 이브 2012.11.07 2144
53 파티 맵에서 4명 이상 대열 이동 가능수 조절하는 스크립트 5 Omegaroid 2013.10.17 1785
52 메뉴 메뉴창 없애기 2 file hamin 2014.02.28 3879
51 기타 메시지 표시 중에 자동으로 타이머 멈추기 1 file Bunny_Boy 2014.12.07 1028
50 아이템 물품 이름 컬러 변경 14 까까까 2012.01.04 5632
49 미니맵 미니맵 표시 스크립트 21 file 아방스 2012.01.16 6488
48 변수/스위치 변수/스위치 전역 저장 시스템 ( 게임이 종료 및 재시작되어도 값이 변하지 않는 변수와 스위치를 설정 ) 7 미루 2013.07.11 3170
47 오디오 볼륨변경 스크립트 레기우스州 2020.08.09 515
46 온라인 브라우저 열기 스크립트 1 큔. 2018.09.09 672
45 장비 사용자 장비 슬롯 1.1 27 file 아방스 2012.01.31 6615
44 전투 사이드뷰 배틀 스크립트 (Animated Battlers By Jet10985) 6 file Rebiart 2014.05.18 4517
43 기타 사칙연산 게임 by 77er 1 file 77ER. 2013.08.19 1606
42 상태/속성 상태를 해제하는 상태 3 file 레미티 2013.03.07 1545
41 그래픽 셰이크 강화 스크립트 file 시낵스 2023.12.13 158
40 스킬 스킬 숙련도 시스템 8 아이미르 2012.02.24 4918
39 스킬 스킬 스틸 시스템 5 아르피쥐 2011.12.18 3880
38 전투 스킬 캐스팅 시스템 3 스리아씨 2013.10.12 32175
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11