/*
YGO 卡片脚本模版 For RQS v0.2b
适用于 R-QuickScript System v0.2b系列
主要包括
R-SA v0.2b ( 低级语言编译器 )
R-SC v0.2b ( 高级类C语言编译器 )
R-VM v0.2b ( RQS虚拟机系统 )
2007.10 <* 其它请查看详细的帮助系统 *>
*/
// ********** 在这里注册要使用的 API 函数 ---------- //
// '注意' API 使用说明书中有详细的帮助
// 这里注册了很多的 API 函数,不用的请删掉
// 获取鼠标坐标
host GetMouseXPos(); // 获取鼠标 X 轴坐标
host GetMouseYPos(); // 获取鼠标 Y 轴坐标
// 其它
host MessageBox(); // 消息对话框( Windows自带的 'MessageBox' )
host GetRandomNumber(); // 获取随机数
// ---- YGO专供API ---- //
host GetCurrentBoutPlayer(); // 获取当前的控制者
host GetCurrentNormalCall(); // 获取当前回合 正常召唤的召唤限定
host GetCurrentCallRestrict(); // 获取当前回合 所有卡的召唤限定
host GetCurrentATKRestrict(); // 获取当前回合 所有卡的攻击限定
host GetCurrentDEFRestrict(); // 获取当前回合 所有卡的防御限定
host GetCurrentConverRestrict();// 获取当前回合 所有卡的攻守转换限定
host GetCurrentTrapRestrict(); // 获取当前回合 陷阱卡发动限定
host GetCurrentMagicRestrict(); // 获取当前回合 魔法卡发动限定
host GetCurrentEffectRestrict();// 获取当前回合 效果卡发动限定
host GetCurrentDealProcessRestrict(); // 抽卡流程限定
host GetCurrentSetoutProcessRestrict(); // 准备流程限定
host GetCurrentMain1ProcessRestrict(); // 主流程1限定
host GetCurrentBattleProcessRestrict(); // 攻击流程限定
host GetCurrentMain2ProcessRestrict(); // 主流程2限定
host TakeOutCard(); // 抽卡
host RemoveCard_SP(); // 移除一张手卡
host ShuffleCard(); // 洗牌
host RandomTakeCard(); // 随即抽取一张卡牌
host AddMapCard(); // 添加一张卡片到场上
host CheckMapPlace(); // 检测区间位置
host GetCardCount_SC(); // 获取上场卡堆的卡牌数量
host GetCardCount_SP(); // 获取手牌的数量
host GetCardCount_MD(); // 获取墓地中卡牌的数量
host GetCardCount_RH(); // 获取融合卡堆的数量
host GetCardCount_CW(); // 获取出外卡的数量
host GetMapCardCount_ZD(); // 获取场上战斗卡的数量
host GetMapCardCount_MFXJ(); // 获取场上魔法陷阱卡的数量
host GetCardIDByIndex_SP(); // 根据索引获取手牌卡片的ID
host ChooseMapCardToMD(); // 选择卡片场上卡片到墓地
host ShowTextDialog(); // 显示文本对话框
// ---------- 在这里声明全局变量 ------------------- //
// 尽量不要使用全局变量,
// 因为可能会和其它的脚本起冲突
// ---------- 在这里为功能函数 --------------------- //
// * 卡片在手牌时的发动判定部分 * //
// 返回 0不满足条件, 1可攻\守\发动\放置, 2只能攻\发动, 3只能防\放置, 4特殊召唤
func CheckCardScript_SP( m_iRole )
{
// 在这里添加此卡在手牌时的触发判定
// m_iRole为当前回合的操控者( 0玩家 1对手 )
return 1;
}
// * 卡片在场上时的发动判定部分 * //
// 返回 0不满足条件, 1可 攻击\攻守转换\发动, 2自动操作, 3翻转效果
func CheckCardScript_Map( m_iRole, m_iPlace )
{
// 在这里添加此卡在场上的触发判定
// m_iRole为当前回合的操控者( 0玩家 1对手 )
// m_iPlace 为此卡在场中的位置
return 1;
}
// * 卡片在场上进攻的发动判定部分 * //
// 返回 0不满足条件, 1可攻击, 2直接攻击角色
func CheckCardScript_ATK( m_iRole, m_iPlace )
{
// 在这里添加此卡在场上的触发判定
// m_iRole为当前回合的操控者( 0玩家 1对手 )
// m_iPlace 为此卡在场中的位置
return 1;
}
// * 卡片动的效果 * //
func StartCardScript_SP( m_iRole, m_iIndex, m_IsATK )
{
// 在这里添加此卡在手牌时的发动效果
// 如果是普通召唤,则在这里改变召唤限定
// m_iRole为当前回合的操控者( 0玩家 1对手 )
// m_IsATK 上场时的表示方式 0防守表示 1攻击表示
}
// * 卡片动的效果 * //
func StartCardScript_Map( m_iRole, m_iPlace )
{
// 在这里添加此卡在场上时的发动效果
// m_iRole为当前回合的操控者( 0玩家 1对手 )
// m_iPlace 为此卡在场中的位置
}
// * 卡片在场上要进攻之前的修正效果 * //
func StartCardScript_StartATK( m_iRole, m_iPlace )
{
// 在这里添加此卡在场上的触发判定
// m_iRole为当前回合的操控者( 0玩家 1对手 )
// m_iPlace 为攻击对象在场中的位置(-1为角色)
}
// * 卡片在场上进攻完成之后的修正效果 * //
func StartCardScript_EndATK( m_iRole, m_iPlace )
{
// 在这里添加此卡在场上的触发判定
// m_iRole为当前回合的操控者( 0玩家 1对手 )
// m_iPlace 为此卡在场中的位置
}
// * 卡片结束到墓地时的效果 * //
// 返回 0撤销操作, 1通过操作
func EndCardScript( m_iRole )
{
// 在这里添加此卡下场去墓地时的处理
// m_iRole为当前回合的操控者( 0玩家 1对手 )
return 1;
}
// ************************************************ //
func _Main()
{
// 这里什么也不用写程序不会调用,
// 但是删掉的话R-VM会报错
} |