2015-02-24 113 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