Страница 1 из 1

Скрипт базы героев.

СообщениеДобавлено: 24 июн 2010 14:05
ksd
Код: Выделить всё
bind pub - !hero pub:heroes
proc pub:heroes {nick host hand chan text} {
   set hero1 "троль"
   set hero2 "эльф"
   set hero3 "человек"
   set hero4 "хоббит"
   set kto [lindex $text 0]
      if {$kto == ""} {
         putquick "NOTICE $nick :Герои: $hero1 $hero2 $hero3 $hero4"
return
   }
      if {$kto == $hero1} {
   set data "троль: бла, бла, бла "
         putquick "PRIVMSG $chan :$data"
return
   }
      if {$kto == $hero2} {
   set data "Эльф, ссуко, остроухий!"
         putquick "PRIVMSG $chan :$data"
return
   }
      if {$kto == $hero3} {
   set data "Человек, ссуко,  разъебай!"
         putquick "PRIVMSG $chan :$data"
return
   }
      if {$kto == $hero4} {
   set data "Хоббит, ссуко, мелкий!"
         putquick "PRIVMSG $chan :$data"
return
   }
      putquick "NOTICE $nick :Чё-то я не знаю такую расу..."
   }


скрипт выводит инофрмацию по героям, а как сделать если в базе нету героя, а юзер знает про него и хочет добавить в базу, напрмиер командой !добавить <ГЕРОЙ> <Описание>

Re: Скрипт базы героев.

СообщениеДобавлено: 24 июн 2010 22:32
tvrsh
База героев это эти четыре строки чтоли?
    set hero1 "троль"
   set hero2 "эльф"
   set hero3 "человек"
   set hero4 "хоббит"

Если да, то лучше хранить ее в текстовом файле по названию героя в каждой строке. Дописываешь в файл новых героев. Как дописывать строки в файл написано тут: Работа с файлами. А чтобы не дописать туда повторяющихся героев читай тут: Дописываем отсутствующие строки в файл.

Re: Скрипт базы героев.

СообщениеДобавлено: 15 июл 2010 22:17
ksd
а как сделать, что бы бот понимал такую команду Троль, ТролЬ и тд?

Re: Скрипт базы героев.

СообщениеДобавлено: 16 июл 2010 08:02
tvrsh
Вот так:
bind pub - Троль процедура
bind pub - ТролЬ процедура

Или ловить весь текст используя
bind pubm - "*" процедура
и потом искать в нем ключевые слова:
if {[string match "*Троль*"]} { действие }