Project1
标题:
求助大佬,如何用脚本来实现当状态持续时替换普攻
[打印本页]
作者:
小姐姐一个
时间:
2020-4-30 19:32
标题:
求助大佬,如何用脚本来实现当状态持续时替换普攻
如题,我搜了半天没搜到..就是当某角色处于某个状态时普攻会替换成某个技能
作者:
Nil2018
时间:
2020-4-30 22:46
不要局限于搜关键字,你需要学会搜合集的名称比如Theoallen
或者进va汉化群搜脚本
# =============================================================================
# TheoAllen - 普通技能设定
# Version : 1.0b
# Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
# (This script documentation is written in informal indonesian language)
# =============================================================================
$imported ||= {}
$imported[:Theo_BasicSkills] = true
# =============================================================================
# Change Logs :
# -----------------------------------------------------------------------------
# 2014.04.23 - Bugfix, crashes when actor is being inflicted by state
# 2013.05.08 - Started and Finished script
# =============================================================================
=begin
介绍 :
本脚本可以设定攻击和防御的技能id,同时还可以根据不同职业、不同武器设定不同的
攻击技能id。
使用方法 :
根据需要使用以下备注。
需要注意的是,最终的技能id由最高优先级的备注决定。
例如:角色备注攻击为4号技能,其装备有备注攻击为8号技能的武器,则该角色的攻击
使用技能为8号技能。
状态备注:
- <attack id: n> # 附加该状态时,攻击使用n号技能
- <guard id: n> # 附加该状态时,防御使用n号技能
武器备注:
- <attack id: n> # 装备该武器时,攻击使用n号技能
职业备注:
- <attack id: n> # 该职业的角色,攻击使用n号技能
- <guard id: n> # 该职业的角色,防御使用n号技能
角色备注:
- <attack id: n> # 该角色,攻击使用n号技能
- <guard id: n> # 该角色,防御使用n号技能
注意 :
当角色武器双持,且都有备注时,会使用第一把武器的备注设定。
使用规定 :
属名脚本作者, TheoAllen. 你可以自由编辑此脚本,只要你不声明你是脚本的原作者
如果你想用此脚本于商业游戏,请和我共享收益.别忘了给我一份免费的游戏拷贝.
=end
# =============================================================================
# 设定 :
# =============================================================================
module THEO
module BASIC
ATTACK = 1 # 攻击技能id (默认 : 1)
GUARD = 2 # 防御技能id (默认 : 2)
end
end
# =============================================================================
# 设定结束
# =============================================================================
module THEO
module BASIC
module REGEXP
ATTACK_ID = /<(?:ATTACK ID|attack_id):[ ]*(\d+)>/i
GUARD_ID = /<(?:GUARD ID|guard_id):[ ]*(\d+)>/i
end
end
end
module DataManager
class << self
alias pre_load_basic_skills_id load_database
end
def self.load_database
pre_load_basic_skills_id
load_basic_skills_id
end
def self.load_basic_skills_id
[$data_actors,$data_weapons,$data_classes,$data_states].each do |db|
db.compact.each do |item|
item.load_theo_basic_skills
end
end
end
end
class RPG::Actor < RPG::BaseItem
attr_accessor :attack_id
attr_accessor :guard_id
def load_theo_basic_skills
@attack_id = THEO::BASIC::ATTACK
@guard_id = THEO::BASIC::GUARD
self.note.split(/[\r\n]+/).each do |line|
case line
when THEO::BASIC::REGEXP::ATTACK_ID
@attack_id = $1.to_i
when THEO::BASIC::REGEXP::GUARD_ID
@guard_id = $1.to_i
end
end
end
end
class RPG::Class < RPG::BaseItem
attr_accessor :attack_id
attr_accessor :guard_id
def load_theo_basic_skills
@attack_id = 0
@guard_id = 0
self.note.split(/[\r\n]+/).each do |line|
case line
when THEO::BASIC::REGEXP::ATTACK_ID
@attack_id = $1.to_i
when THEO::BASIC::REGEXP::GUARD_ID
@guard_id = $1.to_i
end
end
end
end
class RPG::Weapon < RPG::EquipItem
attr_accessor :attack_id
attr_accessor :guard_id
def load_theo_basic_skills
@attack_id = 0
@guard_id = 0
self.note.split(/[\r\n]+/).each do |line|
case line
when THEO::BASIC::REGEXP::ATTACK_ID
@attack_id = $1.to_i
when THEO::BASIC::REGEXP::GUARD_ID
@guard_id = $1.to_i
end
end
end
end
class RPG::State < RPG::BaseItem
attr_accessor :attack_id
attr_accessor :guard_id
def load_theo_basic_skills
@attack_id = 0
@guard_id = 0
self.note.split(/[\r\n]+/).each do |line|
case line
when THEO::BASIC::REGEXP::ATTACK_ID
@attack_id = $1.to_i
when THEO::BASIC::REGEXP::GUARD_ID
@guard_id = $1.to_i
end
end
end
end
class Game_Actor < Game_Battler
def attack_skill_id
return sort_states.find {|state| $data_states[state].attack_id > 0} if
sort_states.any?{ |state| $data_states[state].attack_id > 0}
return weapons[0].attack_id if weapons[0] ? weapons[0].attack_id > 0 : false
return $data_classes[class_id].attack_id if $data_classes[class_id].attack_id > 0
return $data_actors[id].attack_id
end
def guard_skill_id
return sort_states.find {|state| $data_states[state].guard_id > 0} if
sort_states.any? { |state| $data_states[state].guard_id > 0}
return $data_classes[class_id].guard_id if $data_classes[class_id].guard_id > 0
return $data_actors[id].guard_id
end
end
复制代码
作者:
坏数据
时间:
2020-5-1 01:23
TSBS里面的条件判断可以实现拥有某种状态时 普通攻击变成其他技能/其他动画/其他效果/ 等等韩信带净化 只有你们想不到 没有TSBS做不到滴
作者:
小姐姐一个
时间:
2020-5-1 08:58
Nil2018 发表于 2020-4-30 22:46
不要局限于搜关键字,你需要学会搜合集的名称比如Theoallen
或者进va汉化群搜脚本
知道了,谢谢大佬~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1