游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3367|回复: 8

求证:技能施放与多段攻击的命令处理问题

[复制链接]

5

主题

172

帖子

300

积分

中级会员

Rank: 3Rank: 3

积分
300
发表于 2008-12-21 17:13:00 | 显示全部楼层 |阅读模式
假设设计需求如下图所示:脚本可控制技能吟唱时间、释放时间(多段攻击时间)、冷却时间。其中释放时间中可设置多段攻击和多段攻击时间。细致到a、b、c、d四个时间点并在被攻击双方客户端产生伤害效果如吐血、被击晕冒金星、喷血等(非动作类特效)。策划填写AB、Ba、ab、bc、cd、dC、CD时间及其对应动作和效果。
那么,求证如下:
1、客户端攻击指令的发送是否在a/b/c/d4个点分别发送,还是在B就已经发送?服务器存在计时吗?
2、是否每个同步了战斗的客户端都要创建AB、Ba、ab、bc、cd、dC、CD7个计时器?还是直接通过服务器同步结果和效果?
3、吟唱时间允许被打断,那么吟唱时间计时器是否同时存在于客户端和服务器?
请各位程序大大不吝赐教!
sf_20081221171233.gif

4

主题

330

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
发表于 2008-12-23 09:50:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

首先想确认释放时间是否可被中断
    如Ba→ab时是否存在被打断的情况
建议再确认下冷却时间是在释放时间结束后开始跳
还是在吟唱时间结束后允许释放时开始跳
如果是在释放时间结束后开始跳那么释放时间最好为不可终止

我是策划。无意中点进来。。感觉好象策划提的需求太笼统了吧?

4

主题

330

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
发表于 2008-12-23 10:18:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

1.如果不存在打断的情况直接在B把指令就发送过去了。abcd四个点只不过是客户端处理成4次攻击效果而已
2.不明白
3.无论是否能打断,服务端客户端都的同时进行计时吧?不然怎么验证?

4

主题

330

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
发表于 2008-12-23 10:19:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

呃小策划随便讲。。仅供参考。。

5

主题

172

帖子

300

积分

中级会员

Rank: 3Rank: 3

积分
300
 楼主| 发表于 2008-12-23 12:23:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

求证而已,可叹程序无人

4

主题

330

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
发表于 2008-12-23 14:32:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

哦。。。呵呵。。看得不太明白你要证明什么。这里好象策划比较多程序偏少的说

4

主题

330

帖子

341

积分

中级会员

Rank: 3Rank: 3

积分
341
发表于 2008-12-23 14:32:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

可以加QQ聊呵呵我的QQ23105612

5

主题

172

帖子

300

积分

中级会员

Rank: 3Rank: 3

积分
300
 楼主| 发表于 2008-12-23 16:47:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

求证实际做法,呵呵

10

主题

173

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2008-12-23 23:25:00 | 显示全部楼层

Re:求证:技能施放与多段攻击的命令处理问题

什么叫做多段攻击阿?据个例子来听下。

暂时忽略不理解的多段攻击,就吟唱法术,来尝试解答下。

假设命题是
炎爆术,6秒的施放法术时间,向目标投掷一枚巨大的火球,造成2000点火焰伤害。距离40码。

客户端施放法术的时候,将该消息发送给服务器,同时客户端开始走进度条,假定6秒。(该时间是法术技能,服务器应该很早就发送给客户端并保存下来了,这个时间或许是5秒,也或者是3秒)

服务器收到消息,先检查该法术是否合法施放(例如法力够不够?目标是否是友好的?目标距离是否合法?)等等
然后设置一个消息时间片,类似(SetTimer())每间隔一段时间,去检查下施放法术的人是否和目标距离

如果该角色在6秒内,受到了施法影响,延长了施法时间,服务器将该时间片延长,同时通知客户端,让客户端去表现变化了的施法进度条。
同样的道理,如果角色被沉默或者直接打断,服务器直接结束该施法时间片,同时通知客户端,施放法术失败。


施放法术成功,通知所有应该看见这个战斗的客户端,让施法者,开始投掷火球给目标。这个时候,所有的客户端去表现吧

服务器计算施法者和目标的距离,根据约定好的火球飞行速度,得出一个时间,例如1.5秒。然后在目标上设置一个消息时间片,也类似(SetTimer())。

1.5秒后,目标受到了伤害,通知所有看的见的客户端,目标开始浑身上下冒火。目标头上飘过硕大的红色4000伤害(爆了)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 15:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表