Project1

标题: 【谢谢】请高手帮忙改个脚本,貌似比较难~ [打印本页]

作者: 二胡游    时间: 2008-6-8 09:05
标题: 【谢谢】请高手帮忙改个脚本,貌似比较难~
  1. #下面是几个变量,根据需要自己改吧。
  2. #作者:XGM
  3. $判断挂起秒数 = 2
  4. $检查间隔秒数 = 2
  5. $加速判断帧数 = -0.2

  6. Thread.new do
  7. a = Time.now
  8. b = Graphics.frame_count
  9. loop do
  10.    if Time.now - a > $检查间隔秒数
  11.      t = ((Time.now - a) * Graphics.frame_rate).to_f - (Graphics.frame_count - b).to_f
  12.      if t < $加速判断帧数 #加速
  13.        p "请不要使用变速齿轮!!"
  14.        exit
  15.      end
  16.      a = Time.now
  17.      b = Graphics.frame_count
  18.    end
  19. end
  20. end
复制代码


[LINE]1,#dddddd[/LINE]
这是一个杜绝变速齿轮的脚本,但它只能杜绝加速的,如果玩家用变速齿轮给游戏减速的话,它就检查不出来了。

所以希望脚本高手们帮我改一下这个脚本,改成不管是用“变速齿轮”去加速or减速,都会弹出"请不要使用变速齿轮!!",然后退出游戏!

谢谢高手们!{/wx}
作者: 灯笼菜刀王    时间: 2008-6-8 09:15
依样画葫芦,新定义减速的变量。在if后面添个elsif,然后判断时间小于 减速量就退出循环,不就行了?

作者: 二胡游    时间: 2008-6-8 09:16
以下引用灯笼菜刀王于2008-6-8 1:15:24的发言:

依样画葫芦,新定义减速的变量。在if后面添个elsif,然后判断时间小于 减速量就退出循环,不就行了?

本人脚本白痴...所以请人帮忙了。{/gg}
作者: 灯笼菜刀王    时间: 2008-6-8 09:25
#下面是几个变量,根据需要自己改吧。
#作者:XGM
$判断挂起秒数 = 2
$检查间隔秒数 = 2
$加速判断帧数 = -0.2
$减速判断桢 = +0.2


Thread.new do
a = Time.now
b = Graphics.frame_count
loop do
   if Time.now - a > $检查间隔秒数
     t = ((Time.now - a) * Graphics.frame_rate).to_f - (Graphics.frame_count - b).to_f
     if t < $加速判断帧数 #加速
       p "请不要使用变速齿轮!!"
       exit
     elsif t> $减速判断桢
       p "减速也不行!!"
       exit
     end
     a = Time.now
     b = Graphics.frame_count
   end
end
end
作者: 二胡游    时间: 2008-6-8 19:03
以下引用灯笼菜刀王于2008-6-8 1:25:54的发言:

#下面是几个变量,根据需要自己改吧。
#作者:XGM
$判断挂起秒数 = 2
$检查间隔秒数 = 2
$加速判断帧数 = -0.2
$减速判断桢 = +0.2


Thread.new do
a = Time.now
b = Graphics.frame_count
loop do
  if Time.now - a > $检查间隔秒数
    t = ((Time.now - a) * Graphics.frame_rate).to_f - (Graphics.frame_count - b).to_f
    if t < $加速判断帧数 #加速
      p "请不要使用变速齿轮!!"
      exit
    elsif t> $减速判断桢
      p "减速也不行!!"
      exit
    end
    a = Time.now
    b = Graphics.frame_count
  end
end
end

这个脚本有问题啊……{/pz}
用了这个脚本以后,即使没有用变速齿轮,还是一进游戏就弹出 "减速也不行!!"
作者: 柳之一    时间: 2008-6-8 19:26
Graphics.frame_rate

只要你的游戏卡,帧数一掉,自然就会出现这个问题。

一点也不简单。我是问题找到。解决不能,
作者: 二胡游    时间: 2008-6-8 19:34
以下引用柳之一于2008-6-8 11:26:26的发言:

Graphics.frame_rate

只要你的游戏卡,帧数一掉,自然就会出现这个问题。

一点也不简单。我是问题找到。解决不能,

啊……我还以为依样画葫芦就行了……原来一点都不简单啊……
那如果调大“减速判断桢”行不行呢?
作者: havealook    时间: 2008-6-8 20:00
根据上面的脚本

$减速判断桢 = +0.2

换成

$减速判断桢 = +1



不知道行不行{/gg}

作者: 二胡游    时间: 2008-6-8 20:03
以下引用havealook于2008-6-8 12:00:01的发言:

根据上面的脚本


$减速判断桢 = +0.2

换成


$减速判断桢 = +1



不知道行不行

不行,还是不能把卡和变速齿轮区分开来……
看来是没有办法了……{/ll}
作者: 柳之一    时间: 2008-6-8 22:16
那就用api吧

判断进程是否有加速齿轮

有的话就
p“与齿轮冲突,关闭”

api关于进程的部分不是很了解,只好等待高人了。
作者: 二胡游    时间: 2008-6-8 23:13
真的有高手可以帮我写出来吗?
那应该会很难吧……我的悬赏一定不够啦……{/pz}
作者: 柳之一    时间: 2008-6-8 23:45
想出一个变相解决的方法。
就是加入一些特殊场景,例如loading场景。在你需要判断玩家用齿轮的时候。
估计是用在格斗类型,或者是敏捷小游戏。怕减速作弊。
因为新场景很简单,基本不会吊针,所以判断一会(可以显示loading来迷惑人,实际是判断。)

如果还吊针就是作弊。

在游戏开始的时候先判断一次,如果开始不行的话,是电脑配置不够。
p “配置太低,无法运行”

开始可以运行,新场景里再“卡”的话,除了进程开多了以外(例如卡巴斯基杀毒,升级更新)
就多半是作弊了。

剩下的就是你改成减速判断就行了
作者: wy29    时间: 2008-6-9 00:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: 二胡游    时间: 2008-6-9 01:00
谁可以帮忙写个脚本呢?
对不起,脚本方面我实在一窍不通,所以才来求助的,谢谢!{/wx}
作者: link006007    时间: 2008-6-9 01:18
我觉得判断时间是很不切合实际的
因为游戏运行时本身就没有恒定的时间间隔, 而且RM自身又有10妙时间机制

还是看看有没有非法进程注入比较好

但是我是小白   不会
作者: 色即是空    时间: 2008-6-9 02:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: 二胡游    时间: 2008-6-9 04:14
以下引用色即是空于2008-6-8 18:19:28的发言:

别指望出来抗减速的,因为rm的帧速很难稳定,不如这样吧,一旦低于40就强制调成40

Thread.new do
a = Time.now
b = Graphics.frame_count
loop do
if Time.now - a > $检查间隔秒数
  t = ((Time.now - a) * Graphics.frame_rate).to_f - (Graphics.frame_count - b).to_f
  if t < $加速判断帧数 #加速
    p "请不要使用变速齿轮!!"
    exit
  elsif t> $减速判断桢
   Graphics.frame_rate=40 #vx是60
  end
  a = Time.now
  b = Graphics.frame_count
end
end
end
    p "减速也不行!!"
    exit
  end
  a = Time.now
  b = Graphics.frame_count
end
end
end

晕,那行脚本出错?{/jy}
作者: 色即是空    时间: 2008-6-9 05:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 二胡游    时间: 2008-6-9 05:48
以下引用色即是空于2008-6-8 21:18:43的发言:

别指望出来抗减速的,因为rm的帧速很难稳定,不如这样吧,一旦低于40就强制调成40

Thread.new do
a = Time.now
b = Graphics.frame_count
loop do
if Time.now - a > $检查间隔秒数
t = ((Time.now - a) * Graphics.frame_rate).to_f - (Graphics.frame_count - b).to_f
if t < $加速判断帧数 #加速
  p "请不要使用变速齿轮!!"
  exit
elsif t> $减速判断桢
Graphics.frame_rate==40 #vx是60
end
a = Time.now
b = Graphics.frame_count
end
end
end
  p "减速也不行!!"
  exit
end
a = Time.now
b = Graphics.frame_count
end
end
end

晕……{/ll}怎么回事啊?这个新脚本还是老地方出错啊!
依然是这行出错:
  p "减速也不行!!"
  exit
end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1