太阳神三国杀LUA手册.doc

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
太阳神三国杀LUA手册

--大家好我是hypercross。 --从这个文件开始讲解DIY接口的用法。 --首先,这个文件说明DIY需要的文件及其结构。 --DIY是以module的形式存在的。每个Module即是一个UTF8格式的Lua文件(建议用notepad++编辑),包含如下格式的代码: module(extensions.moligaloo, package.seeall) -- 进入module。这里moligaloo这个词必须和文件名相同。 extension = sgs.Package(moligaloo) -- 创建扩展包对象。变量名必须为extension。参数名为扩展包的objectName,也是通常会使用的扩展包标识 shiqian = sgs.General(extension, shiqian, qun) -- 创建武将对象,这里我们的武将是时迁。关于武将属性的详细说明见reference文档。 shentou = sgs.CreateViewAsSkill{ --创建技能,技能种类为ViewAsSkill。这里的技能是“出牌阶段,你可以将任意一张梅花手牌当作顺手牵羊使用。” name = shentou, n = 1, view_filter = function(self, selected, to_select) return to_select:getSuit() == sgs.Card_Club and not to_select:isEquipped() end, view_as = function(self, cards) if #cards == 1 then local card = cards[1] local new_card =sgs.Sanguosha:cloneCard(snatch, card:getSuit(), card:getNumber()) new_card:addSubcard(card:getId()) new_card:setSkillName(self:objectName()) return new_card end end }--关于技能的说明将是几乎所有其他帮助文件的重点。此处省略。 sgs.LoadTranslationTable{ [shentou] = 神偷, [:shentou] = 你可以将你的梅花手牌当做顺手牵羊使用。, } --此段为翻译,将技能名称与描述中文化,否则你将会看到拼音 shiqian:addSkill(shentou) --将神偷技能赋予时迁 --你可以将本文件保存至extension目录下的moligaloo.lua并启动游戏。此时扩展包即已经被添加至游戏。 --为了完善DIY扩展包,需要将音频、图片以及翻译代码放到指定目录。这一点将在其他文档中说明。 --技能详解1:ViewAsSkill(视为技,也叫视作技) --在太阳神三国杀中,常用的基本技能是两种:触发技和视为技。我们使用这两种基本技能的复合来完成大多数复杂的技能。 --此外,我们还有距离技,禁止技等特殊类型的技能,它们用于实现某些某种程度上 “要求改变游戏系统” 的技能。 --触发技可以用来实现”在某个时机,满足发动条件时,执行某个效果(包括做出选择)这样的技能。 --触发技也可以用来改变游戏事件而不仅是单纯的产生效果。比如,放弃摸牌阶段并执行xx这样的技能也可以用触发技实现。 --事实上,一个触发技就是一条游戏规则。如果某名武将具有某个触发技,这个触发技就会被在服务端“注册”成为这局游戏的一条规则。 --被注册的触发技,通常会根据玩家“是否存活”以及玩家的武将“是否具有该技能”来决定是否被执行。 --视为技可以用来实现“可将某牌作为某牌打出”这样的技能。 --视为技的定义对于AI而言是无效的。为了让AI使用视为技,你基本上需要在AI中重新写一遍技能的定义。 --这是因为视为技是在客户端运行的,而AI在服务器端运行;触发技也是在服务端运行。 --如果某名玩家具有某个视作技,该技能通常就会被”注册“到该玩家的客户端。这个动作与其他玩家是不相干的。 --总之,视为技负责在客户端管理,有哪些牌可以选中,选中的牌又会被当成什么牌,这样的效果; --但是视为技的运行本身不影响游戏进程;视为技做的事情是通过将特定的牌(甚至没有牌)“视为”特定的牌, --来允许你使用那张本来不存在的牌。这也是大多数”主动技能“的实现方式。 --距离技和禁止技则分别用于实现“修改玩家间的距离”,以及“某人不能对某人使用某牌”这样的效果。 --与其

文档评论(0)

5500046 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档