078656577er 님이 올리신 찌르기 스크립트를 조금 바꾸어, 만든 스크립트 입니다.
일반 공격에서도, 원거리 사격이 가능합니다.
module N01
# Weapon element that grants a bow animation. Default is 5.
PIERCE_WEAPON_ELEMENT = 17
#------------------------------------------------------------------------------
# Attack Animation Actions
PIERCE_ANIME = {
"WPN_THRUST1" => [ 1, 1, 1, 2, 0, -1, 2, true,"THRUST_1"],
"WPN_THRUST2" => [ 1, 1, 1, 2, 0, -1, 2, true,"THRUST_2"],
"WPN_THRUST3" => [ 1, 1, 1, 2, 0, -1, 2, true,"THRUST_3"],
"THRUST_ATTACK_MOVE" => [ 0, 1, 5, 0, 0, -1, 0, true, "THRUST_1" ],
"PREV_MOVING_TARGET_THRUST" => [ 1, 24, 0, 35, 0, 0, "THRUST_ATTACK_MOVE"],
"SPEAR_JUMP_TO_TARGET" => [ 1, 24, 0, 20, 0, -6, "THRUST_ATTACK_MOVE"],
"THRUST_1" => [ 3, -5,false, 30, 30, 4,false, 1, 1, 20, 0,false],
"THRUST_2" => [ 3, -5,false, 45, 45, 4,false, 1, 1, -4, 3,false],
"THRUST_3" => [ 3, -5,false, 30, 45, 4,false, 1, 1, -4, 3,false],
"open1" => ["sound", "se", 140, 100, "open1"],
"open2" => ["sound", "se", 140, 100, "open2"],
"FLEE_RESET2" => ["reset", 16, 0, 0, "MOVE_AWAY2"],
"MOVE_AWAY2" => [ 1, 2, 2, 1, 0, 1, 0,true,"" ],
}
ANIME.merge!(PIERCE_ANIME)
# Action Sequence
PIERCE_ATTACK_ACTION = {
"PIERCE_ATTACK" => ["WPN_THRUST1",
"WPN_THRUST2","OBJ_ANIM_WEAPON","10","WPN_THRUST3",
"30",
"Can Collapse", "FLEE_RESET2","30","open2","10","open1"],
}
ACTION.merge!(PIERCE_ATTACK_ACTION)
end
module RPG
class Weapon
alias bubs_pierce_base_action base_action
def base_action
if $data_weapons[@id].element_set.include?(N01::PIERCE_WEAPON_ELEMENT)
return "PIERCE_ATTACK"
end
bubs_pierce_base_action
end
end
end
이름은 PIERCE 이지만, 실제로는 사격 입니다.
사용법은, 데이터베이스 에서, 17번 공격 속성을
만들고, 총을 17번 속성으로 지정하면 됩니다.
(이것은, RPG Tankentai SBS 3.4d & ATB 1.2c (Kaduki Demo)에서만 적용되므로,
다른 버전 즉,ATB_1%5B1%5D.1___SBS_3.3_(Eng_1.0_%26_2.1) 에서 적용하려면,
밑의 것을 받으면 됩니다. 주의점 : 사이드뷰 스크립트 아래에 놓아야 됩니다.)
module N01
# Weapon element that grants a bow animation. Default is 5.
PIERCE_WEAPON_ELEMENT = 17
#------------------------------------------------------------------------------
# Attack Animation Actions
PIERCE_ANIME = {
"WPN_THRUST1" => [ 0, 1, 1, 2, 0, -1, 2, true,"THRUST_1"],
"WPN_THRUST2" => [ 0, 1, 1, 2, 0, -1, 2, true,"THRUST_2"],
"WPN_THRUST3" => [ 0, 1, 1, 2, 0, -1, 2, true,"THRUST_3"],
"THRUST_ATTACK_MOVE" => [ 0, 1, 5, 0, 0, -1, 0, true, "THRUST_1" ],
"PREV_MOVING_TARGET_THRUST" => [ 1, 24, 0, 35, 0, 0, "THRUST_ATTACK_MOVE"],
"SPEAR_JUMP_TO_TARGET" => [ 1, 24, 0, 20, 0, -6, "THRUST_ATTACK_MOVE"],
"THRUST_1" => [ 3, -5,false, 30, 30, 4,false, 1, 1, 20, 0,false],
"THRUST_2" => [ 3, -5,false, 45, 45, 4,false, 1, 1, -4, 3,false],
"THRUST_3" => [ 3, -5,false, 30, 45, 4,false, 1, 1, -4, 3,false],
"open1" => ["sound", "se", 140, 100, "open1"],
"open2" => ["sound", "se", 140, 100, "open2"],
"FLEE_RESET2" => ["reset", 16, 0, 0, "MOVE_AWAY2"],
"MOVE_AWAY2" => [ 0, 2, 2, 1, 0, 1, 0,true,"" ],
}
ANIME.merge!(PIERCE_ANIME)
# Action Sequence
PIERCE_ATTACK_ACTION = {
"PIERCE_ATTACK" => ["WPN_THRUST1",
"WPN_THRUST2","OBJ_ANIM_WEAPON","10","WPN_THRUST3",
"30",
"Can Collapse", "FLEE_RESET2","30","open2","10","open1"],
}
ACTION.merge!(PIERCE_ATTACK_ACTION)
end
module RPG
class Weapon
alias bubs_pierce_base_action base_action
def base_action
if $data_weapons[@id].element_set.include?(N01::PIERCE_WEAPON_ELEMENT)
return "PIERCE_ATTACK"
end
bubs_pierce_base_action
end
end
end
사용법은, 위의 스크립트와 같습니다.
(그리고 제가 실험해본 결과, 총을 2개 장비한다고 해서, 2번 발사가 되지는 않습니다.)