XP 스크립트

http://www.gamebaker.com/rmxp/scripts/battle-items.htm
  시전시 아이템을 소모하는 스킬을 만드는 스크립트입니다.  아이템을 사용하는 스킬을 만들 때는 DB에서 아이템 이름 뒤에 /S[스킬id]라고 써 주면 됩니다. (S는 항상 대문자)  물론 해당 아이템은 전투에서 사용가능해야 합니다.


#=============================================================================
# ** SG Skill Invoking Battle Items
#=============================================================================
# sandgolem
# Version 1
# 3.06.06
#=============================================================================

# Place S[#] in any of your item (not armor, weapon) names
# The item will use that skill when used in battle.

#=============================================================================
#
# To check for updates or find more scripts, visit:
#      http://www.gamebaker.com/rmxp/scripts/
#
# To use this script, copy it and insert it in a new section above "Main",
# under the default scripts, the SDK if you're using it, and anything else
# that rewrites this part of battle.
#
# SG Settings Control is required for this script! Must be above this.
#
# Have problems? You can leave me a message at:
# http://www.gamebaker.com/users/sandgolem
#
#=============================================================================

#--------------------------------------------------------------------------
# * SDK Log Script
#--------------------------------------------------------------------------
begin
  SDK.log("SG Skill Invoking Battle Items", "sandgolem", 1, "3.06.06")
  if SDK.state("SG Skill Invoking Battle Items") != true
    @sg_skillinvoking_disabled = true
  end
  rescue
end

#--------------------------------------------------------------------------
# * Begin SDK Enable Test
#--------------------------------------------------------------------------
if !@sg_skillinvoking_disabled

class SG_Start
  alias sandgolem_sinvoke_start start_game
  def start_game
    sandgolem_sinvoke_start
    sg_skillinvoking_set
  end

  def sg_skillinvoking_set
    if $sg_loaded != true
      $data_sg['invoke items'] = {}
      for i in 1...$data_items.size
        if $data_items[i].name.include?('S')
          $data_sg['invoke items'][i] = $data_items[i].name.slice(/\[S][([0-9]+)]/).to_s
          $data_sg['invoke items'][i].gsub!(/\S[/,'')
          $data_sg['invoke items'][i] = $data_sg['invoke items'][i].chop
          $data_items[i].name.gsub!(/\[S][([0-9]+)]/,'')
        end
      end
    end
  end
end

if $sg_loaded != nil && $sg_loaded != true
  sg_temp = SG_Start.new
  sg_temp.sg_skillinvoking_set
  sg_temp = nil
  $sg_loaded.refresh
end

class Game_Battler
  attr_accessor :sg_sinvoke
end

class Game_Actor < Game_Battler
  alias sandgolem_sinvoke_actor_canuse skill_can_use?
  def skill_can_use?(skill_id)
    if @sg_sinvoke
      return super
    end
    sandgolem_sinvoke_actor_canuse(skill_id)
  end
end

class Scene_Battle
  alias sandgolem_sinvoke_battle_skillact make_skill_action_result
  def make_skill_action_result
    sandgolem_sinvoke_battle_skillact
    if @active_battler.sg_sinvoke
      @active_battler.maxsp -= @active_battler.sg_sinvoke
      @active_battler.sg_sinvoke = nil
    end
  end
 
  alias sandgolem_sinvoke_battle_itemr make_item_action_result
  def make_item_action_result
    if $data_sg['invoke items'].has_key?(@active_battler.current_action.item_id)
      @item = $data_items[@active_battler.current_action.item_id]
      unless $game_party.item_can_use?(@item.id)
        @phase4_step = 1
        return
      end
      if @item.consumable
        $game_party.lose_item(@item.id, 1)
      end
      @active_battler.current_action.item_id = nil
      @active_battler.current_action.skill_id = $data_sg['invoke items'][@item.id].to_i
      @active_battler.sg_sinvoke = $data_skills[@active_battler.current_action.skill_id].sp_cost
      @active_battler.maxsp += @active_battler.sg_sinvoke
      @active_battler.sp += @active_battler.sg_sinvoke
      make_skill_action_result
      return
    end
    sandgolem_sinvoke_battle_itemr
  end 
end

#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6157
1021 키입력 한글입력스크립트 16 file 아방스 2007.11.09 11824
1020 온라인 채팅 가능 온라인 스크립트 배포 107 file 아방스 2009.01.03 10680
1019 온라인 RPG 만들기 xp 온라인 스크립트 33 아방스 2007.11.09 9593
1018 맵/타일 [유니크급] RPG XP 게임을 3D화로 보자! Neo Mode7 script / 52 file 쉴더 2009.02.28 9442
1017 온라인 온라인 스크립트 Unis Net RMXP 공식 배포! 25 file 뮤바보 2011.12.25 9400
1016 온라인 광넷[ 광땡 온라인 + 넷플레이 ] 62 - 하늘 - 2009.08.02 9003
1015 전투 [액알]neo_a-rpg_module_1[1][1].2 스크립트 83 file 은빛바람 2009.10.03 8299
1014 이름입력 대화창에 얼굴, 이름 띄우기 37 킬라롯 2008.11.09 7497
1013 온라인 넷플레이1.7.0+abs5.5+한챗 49 쀍뛝쒧 2009.01.24 7286
1012 메뉴 메이플스토리처럼 메뉴를^^ 57 file 딸기님 2010.07.13 7142
1011 메시지 대화창에 얼굴 그래픽 띠우기 73 아방스 2007.11.09 7119
1010 스킬 ABP액알 v1.2 스킬추가, 버그수정판 36 file 백호 2009.02.22 6920
1009 전투 [신기술 체험] 강회된 횡스크롤 액알 13 file 백호 2009.02.22 6841
1008 메뉴 온라인메뉴처럼!! 메이플 메뉴처럼!! 변신~스크립트 33 WMN 2008.03.17 6818
1007 그래픽 화면을 부드럽게 해주는스크립트[ 아주 유용] 56 file - 하늘 - 2009.08.05 6561
1006 온라인 Mr.Metring NPE 1.0 [RPG XP 온라인 스크립트] 35 아방스 2009.01.07 6535
1005 이름입력 케릭터 위에 또는 NPC 위에 이름 뛰우기 [헬악이님 제공] 49 file 아방스 2007.11.09 6408
1004 액터 시트르산의 XP용 감정 말풍선 표시 스크립트 37 file 시트르산 2011.01.25 6110
1003 HUD 주인공,NPC이름 머리 나타내기 49 file 송긔 2010.11.28 6062
1002 전투 액알 스크립트 24 백호 2009.02.22 6014
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52