2015-02-24 119 views
-1

我有一种预感,对此的回答很不容易,但是我无法弄清楚(事实上我不知道这些语言中的任何一种都可能是这种情况)。 我需要的是一个脚本,它会以这种方式工作:使用Python或Perl对HexChat IRC Client进行随机化脚本

  1. 首先,你喜欢的类型命令随机从1-100范围内的数(数量将意味着%的成功概率)像这个:!random 78]
  2. 然后,它会 - 基于给定的概率 - 选择你是否成功[例如,随机数78,结果为“成功”的概率为78%]
  3. 然后,它将在频道上向公众显示结果是什么(“成功”或“失败”)

我需要这个用于在线文本RPG会话。对于我的英语不好也抱歉。

如何现在的代码如下:

__module_name__ = "HexChat Randomiser" 
    __module_version__ = "0.1" 
    __module_description__ = "A randomiser for HexChat." 
       
    import random 
    import xchat 

def callback(word, world_eol, userdata): 
    number = word[1] 
    if random_chance(number): 
     print ("Success") 
    else: 
     print ("Failure") 


    def random_chance(percent_chance): 
     return random.randrange(1, 101) > (100 - percent_chance) 


    xchat.hook_command("random", callback, help="/random <number>") 

错误:

回答

1

首先,你可能想看看在PythonPerl文档hexchat。

如果你想在python继续我已经写了一个小脚本,让你开始:

import random 
import xchat 

def callback(word, world_eol, userdata): 
    number = word[1] 
    if random_chance(number): 
     print "Success" 
    else: 
     print "Failure" 


def random_chance(percent_chance): 
    return random.randrange(1, 101) > (100 - int(percent_chance)) 


xchat.hook_command("random", callback, help="/random <number>") 

你必须得到它的工作hexchat自己。要加载脚本,你必须先保存它的一些地方则调用loadcommand

load

Load a script with given filename. /load will also work.

+0

非常感谢您!我在代码中改变了一些东西,现在它在HexChat中正确加载。不幸的是,当我输入/ random命令时,会发生错误。我把它粘贴到我原来的帖子中。 – MiddayHobo 2015-02-24 14:54:25

+0

你得到的不是一个数字,而是一个字符串,你需要把它变成一个int来让它工作。将'100 - percent_chance'改为'100 - int(percent_chance)'。我甚至不确定数字是什么,这就是为什么我说你必须自己做腿部训练。 – Noelkd 2015-02-24 14:59:57

+0

谢谢,它现在完美的作品! – MiddayHobo 2015-02-24 15:12:59