搜索
查看: 5021|回复: 12

大家看看这个插件怎么改!CARD.SMA

[复制链接]
发表于 2007-2-9 15:59:21 | 显示全部楼层 |阅读模式 来自 中国–浙江–嘉兴
是个获取随机卡的插件!第137行开始:
  1.         if(get_gametime() - get_pcvar_num(g_CardDelay) <= last_card) {
  2.                 client_print(id, print_chat, "You've already chosen a card recently. Please try again later.")
  3.                 return PLUGIN_CONTINUE
复制代码

这段有问题,last_card 这个参数有new 过 但没有赋值。这里他怎么就在用了!
汉化我会,但程序我还不知道怎么写,amxx语法不知道!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
发表于 2007-2-9 18:00:54 | 显示全部楼层 来自 中国–重庆–重庆–永川区

回复: 大家看看这个插件怎么改!CARD.SMA

我也觉得奇怪
没人解决的吧
回复

使用道具 举报

发表于 2007-2-9 20:48:00 | 显示全部楼层 来自 中国–广东–深圳

回复: 大家看看这个插件怎么改!CARD.SMA

Post by lu0007
是个获取随机卡的插件!第137行开始:
  1.     if(get_gametime() - get_pcvar_num(g_CardDelay) <= last_card) {
  2.         client_print(id, print_chat, "You've already chosen a card recently. Please try again later.")
  3.         return PLUGIN_CONTINUE
复制代码
这段有问题,last_card 这个参数有new 过 但没有赋值。这里他怎么就在用了!
汉化我会,但程序我还不知道怎么写,am...

1:在 pawn 里 new 时系统会自动赋予 0 值,所以说没有赋值不太确切

2:问题:此插件工作有问题吗?
没有时间仔细看此插件的工作过程,所以不知道详情

就这一段来看 last_card 永久都是 0
1)可能作者原来设计使用作变量的,后来改变想法,忘记删除,但不影响使用
2)就程序而言,当然不谨慎,你可以直接用 0 代替,不会有问题
回复

使用道具 举报

 楼主| 发表于 2007-2-9 21:21:30 | 显示全部楼层 来自 中国–浙江–嘉兴

回复: 大家看看这个插件怎么改!CARD.SMA

Post by jop
1:在 pawn 里 new 时系统会自动赋予 0 值,所以说没有赋值不太确切

2:问题:此插件工作有问题吗?
没有时间仔细看此插件的工作过程,所以不知道详情

就这一段来看 last_card 永久都是 0
1)可能作者原来设计使用作变量的,后来改变想法,忘记删除,但不影响使用
2)就程序而言,当然不谨慎,你可以直接用 0 代替,不会有问题


谢谢你!!回答的太详细了!
首先 这个英文的 我没改的用过的,可以获取card 但关键是能一停不停的获取card 那他这个 if 语句有问题。
第二 用英文的也是未改过的,但不能获取 card 了,老是显示 You've already chosen a card recently. Please try again later.
第三 我对这个 IF 语句的理解,这个last_card 应该是有用的,初始是 0  这样第一次就能获取 card ,接下来,不管是获得什么 card  ,都应该再次给 last_card 赋值,这样就可以进行时间比较, get_gametime() 是不是获取游戏这一回合的时间? 如是的话,我想我的理解应该是对的啊!
回复

使用道具 举报

发表于 2007-2-9 22:16:12 | 显示全部楼层 来自 中国–江苏–南京

回复: 大家看看这个插件怎么改!CARD.SMA

Post by lu0007
谢谢你!!回答的太详细了!
首先 这个英文的 我没改的用过的,可以获取card 但关键是能一停不停的获取card 那他这个 if 语句有问题。
第二 用英文的也是未改过的,但不能获取 card 了,老是显示 You've already chosen a card recently. Please try again later.
第三 我对这个 IF 语句的理解,这个last_card 应该是有用的,初始是 0 这样第一次就能获取 card ,接下来,不管是获得什么 card ,都应该再次给 last_card 赋值,这样就可以进行时间比较, get_gametime() 是不是...

get_gametime()是指地图运行的时间,他这句if语句的意义应该是如果地图已经玩了5分钟以后(程序里默认的定义)玩家才能用say /card命令得到对应的卡而不会看到那条信息,不过我觉得程序里有几处缺陷,得到第1张卡后没有对应的控制,玩家应该可以不停的用命令得到新卡,而且通过get_gametime()来控制显然对最开始进入的玩家不太公平
回复

使用道具 举报

发表于 2007-2-10 00:06:17 | 显示全部楼层 来自 中国–北京–北京–海淀区

回复: 大家看看这个插件怎么改!CARD.SMA

这个插件写的真是惨不忍睹。改我看都没必要了。不想你服务器出问题趁早扔了吧。
回复

使用道具 举报

 楼主| 发表于 2007-2-10 09:31:03 | 显示全部楼层 来自 中国–浙江–嘉兴

回复: 大家看看这个插件怎么改!CARD.SMA

[color="Red"]首先谢谢二位!
Post by 52yz
get_gametime()是指地图运行的时间,他这句if语句的意义应该是如果地图已经玩了5分钟以后(程序里默认的定义)玩家才能用say /card命令得到对应的卡而不会看到那条信息,不过我觉得程序里有几处缺陷,得到第1张卡后没有对应的控制,玩家应该可以不停的用命令得到新卡,而且通过get_gametime()来控制显然对最开始进入的玩家不太公平

[color="Blue"]对的,作者的原意是这样的,我也是在AMXX的官方网站上找来的  这个是地址
看他们英文的意思好像是可以用的,晕来,但我也觉得这个插件写的不正确。
不过他的创意挺好的,目前论坛上也是没找到关的插件!

这个插件写的真是惨不忍睹。改我看都没必要了。不想你服务器出问题趁早扔了吧。


[color="blue"]想要这么个插件啊!不过服务器好像不会崩的!嘿嘿!
回复

使用道具 举报

 楼主| 发表于 2007-2-10 09:36:19 | 显示全部楼层 来自 中国–浙江–嘉兴

回复: 大家看看这个插件怎么改!CARD.SMA

高手 看看这个插件的创意好不好,有没有改的必要!
本人主要不知道AMXX的语法,否则自己改了!
回复

使用道具 举报

 楼主| 发表于 2007-2-10 10:42:47 | 显示全部楼层 来自 中国–浙江–嘉兴

回复: 大家看看这个插件怎么改!CARD.SMA

呵呵 ,今天终于又能用这个插件了,就是能一停不停的得到Card 了,呵呵 ,是有一些Bug  不过是挺好玩的啊!
回复

使用道具 举报

 楼主| 发表于 2007-2-10 15:12:11 | 显示全部楼层 来自 中国–浙江–嘉兴

回复: 大家看看这个插件怎么改!CARD.SMA

试验的两个大BUG
第一:能无限得到CARD
第二:上一回合中抽到的卡的功效在本回合中也起作用!

这两个BUG 能解决就大功告成了!呵呵 !努力研究,希望有高手指点!
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

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