lu0007 发表于 2007-2-9 15:59:21

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

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

CS菜鸟鸟 发表于 2007-2-9 18:00:54

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

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

jop 发表于 2007-2-9 20:48:00

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

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

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

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

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

lu0007 发表于 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() 是不是获取游戏这一回合的时间? 如是的话,我想我的理解应该是对的啊!

52yz 发表于 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()来控制显然对最开始进入的玩家不太公平

jim_yang 发表于 2007-2-10 00:06:17

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

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

lu0007 发表于 2007-2-10 09:31:03

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

首先谢谢二位!Post by 52yz
get_gametime()是指地图运行的时间,他这句if语句的意义应该是如果地图已经玩了5分钟以后(程序里默认的定义)玩家才能用say /card命令得到对应的卡而不会看到那条信息,不过我觉得程序里有几处缺陷,得到第1张卡后没有对应的控制,玩家应该可以不停的用命令得到新卡,而且通过get_gametime()来控制显然对最开始进入的玩家不太公平
对的,作者的原意是这样的,我也是在AMXX的官方网站上找来的这个是地址
看他们英文的意思好像是可以用的,晕来,但我也觉得这个插件写的不正确。
不过他的创意挺好的,目前论坛上也是没找到关的插件!

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

想要这么个插件啊!不过服务器好像不会崩的!嘿嘿!

lu0007 发表于 2007-2-10 09:36:19

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

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

lu0007 发表于 2007-2-10 10:42:47

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

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

lu0007 发表于 2007-2-10 15:12:11

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

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

这两个BUG 能解决就大功告成了!呵呵 !努力研究,希望有高手指点!
页: [1] 2
查看完整版本: 大家看看这个插件怎么改!CARD.SMA