To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Robocik 2.0.1

koziolek - 17-06-2008, 17:22

Cytat:
I czy będą nowe wersje lub funkcje? Będzie dalej rozwijany?
a są jakieś propozycje? :>

Gilu napisał/a:
Jeżeli już, to proponowałbym coś bardziej pożytecznego, co sprawiałoby że Robocik jeszcze bardziej upodabniałby się do 'żywego usera'. :]
czyli?
pamiętam, że RuseK pisał coś o tym, że Robocik będzie czuł się samotny jak nikt z nim nie będzie gadał - więc to można zrobić ;]

można jeszcze zrobić, że serwował by najnowsze informacje z RRS ;)

tosiek - 17-06-2008, 18:24

Mógłbyś dodać funkcję barmana np. piszesz barman polej polewa pifko, barman postaw całą kolejkę pisze że dobrze się czujesz? ty odpowiadasz tak i stawia całą kolejkę wszystkim zalogowanym userom :)
koziolek - 17-06-2008, 19:17

tosiek napisał/a:
piszesz barman polej polewa pifko
jaki problem? Wypowedź usera: "barman polej" Odpowiedź robota: <img src="images/piwo.gif">

tosiek napisał/a:
barman postaw całą kolejkę pisze że dobrze się czujesz? ty odpowiadasz tak i stawia całą kolejkę wszystkim zalogowanym userom :)
tego to narazie nie da się zrobić :P
można tylko od razu żeby stawiał kolejkę ;)

tomekxz - 17-06-2008, 21:08

Najlepiej wepchnąć wszystkie pomysły jakie się da, przecież w PA można by jednym kliknięciem wyłączyć daną modyfikacje.
Gilu - 17-06-2008, 22:23

tomekxz napisał/a:
Najlepiej wepchnąć wszystkie pomysły jakie się da, przecież w PA można by jednym kliknięciem wyłączyć daną modyfikacje.

Zobacz sobie post INIM'a stronę wcześniej to dostaniesz idealną odpowiedź na to stwierdzenie.
Bezsesnowe jest takie gadanie, równie dobrze w sam skrypt przema można by wpakować wszystkie modyfikacje z tego działu prawda? A potem się wysłuchuje że się wszystko wczytuje kupe czasu.

qwerty001 - 17-06-2008, 23:50

koziolek, a jest możliwość w tekstach w PA wpisać kod w php?
Np. kod na losowe cytaty z basha ( http://coldpeer.jogger.pl...lasnej-stronie/ ) :?:

Razor90 - 18-06-2008, 11:00

może jakiś gotowy robot_data.php bo bym sobie z chęcią usczkną troche ;]

[ Dodano: 18-06-2008, 12:07 ]
Koziolek apropo propozycji! ;]

Teksty Robota:
Imieniny: Dziś iminieny Tego i tego

Jeszcze jedno pytanie jesli dam zapytanie usera pt "kawał" i ustawie dajmy na to 5 odpowiedzi to czy odpowiedzi będa wyświetlane losowo ?

[ Dodano: 18-06-2008, 18:06 ]
jeszcze 1 pytanie ;] Czy możliwe jest to, żeby ten mod obciażałe serwer tak, że teraz strona główna ładuje się 7 sekund? ;] wcześniej ładaowała sie ok. 0,75s

koziolek - 18-06-2008, 19:59

qwerty001 napisał/a:
a jest możliwość w tekstach w PA wpisać kod w php?
narazie nie ma, może w nowej wersji

Razor90 napisał/a:
może jakiś gotowy robot_data.php bo bym sobie z chęcią usczkną troche
w temacie o wersji 1.0 są: http://www.przemo.org/php...pic.php?t=22816 ;)

Razor90 napisał/a:
Koziolek apropo propozycji!

Teksty Robota:
Imieniny: Dziś iminieny Tego i tego
oki ;]

Razor90 napisał/a:
Jeszcze jedno pytanie jesli dam zapytanie usera pt "kawał" i ustawie dajmy na to 5 odpowiedzi to czy odpowiedzi będa wyświetlane losowo ?
tak :) pamiętaj że losowo może oznaczać że Robocik powe 3x pod rząd ten sam kawał :D :D

Razor90 napisał/a:
Czy możliwe jest to, żeby ten mod obciażałe serwer tak, że teraz strona główna ładuje się 7 sekund? wcześniej ładaowała sie ok. 0,75s
hmmm.... chyba możliwe - zależy jak dużo masz normalnych i losowych tekstów oraz ile masz słów w cenzurze

[ Dodano: 18-06-2008, 21:00 ]
chociaż nie ;)
pentle które mogą zajmować troche czasu są w pliku shoutbox_view.php, a on jest w ramce więc wg mnie nie wlicza się do tych "statystyk" ;)

Razor90 - 18-06-2008, 21:37

http://www.nowakowska.piw...aty_imienin.htm tu jest fajny spis ale niestety alfabetycznie ;]
jaco1992 - 19-06-2008, 12:57

Siema. tak se dzisiaj zjechałem na sam początek sb i widze taki błąd

Kod:
Warning: Invalid argument supplied for foreach() in /home/jaco1992/public_html/shoutbox_view.php on line 242


mam zainstalowanego robocika modyfikacji koziołka :D i nic więcej z sb nie robiłem.


Kod robocika w soutbox_view.php

Kod:
// BEGIN ROBOCIK ///////////////////////////////       
        if ( $shoutbox_config['robocik_on'] )
        {
            if ( $check_cache = sql_cache('check', 'robocik_randtxt') )
            {
                include($check_cache);
            }
            else if ( $check_cache === false )
            {
                $sql = "SELECT cat_id, rand_text
                    FROM " . ROBOCIK_RANDTXT_TABLE . "
                    ORDER BY cat_id, rand_id;";;
                if ( !($result = $db->sql_query($sql)) )
                {
                    message_die(GENERAL_ERROR, 'Could not query robocik random texts table', '', __LINE__, __FILE__, $sql);
                }
               
                $robocik_randtxt = array();
               
                if ( $row = $db->sql_fetchrow($result) )
                {
                    do
                    {
                        $robocik_randtxt[$row['cat_id']][] = $row['rand_text'];
                    }
                    while ( $row = $db->sql_fetchrow($result) );
                }
               
                sql_cache('write', 'robocik_randtxt', $robocik_randtxt);
            }
           
            if ( $check_cache = sql_cache('check', 'robocik_words') )
            {
                include($check_cache);
            }
            else if ( $check_cache === false )
            {
                $sql = "SELECT user_word, robot_word
                    FROM " . ROBOCIK_TABLE;
                if ( !($result = $db->sql_query($sql)) )
                {
                    message_die(GENERAL_ERROR, 'Could not get robocik words from database', '', __LINE__, __FILE__, $sql);
                }
               
                $robocik_words = array();
               
                if ( $row = $db->sql_fetchrow($result) )
                {
                    do
                    {
                        $robocik_words[$row['user_word']] = $row['robot_word'];
                    }
                    while ( $row = $db->sql_fetchrow($result) );
                }
               
                sql_cache('write', 'robocik_words', $robocik_words);
            }
           
            if( is_array($robocik_words) )
            {
                foreach ( $robocik_words as $user_word => $robot_word )
                {
                    if ( strstr(strtolower($msg), strtolower($user_word)) )
                    {
                        if ( strstr($robot_word, 'randtxt_') )
                        {
                            $randtxt_cat_id = intval(substr($robot_word, 8));
                           
                            $robot_word = $robocik_randtxt[$randtxt_cat_id][ rand(0, (count($robocik_randtxt[$randtxt_cat_id]) - 1)) ];
                        }
                       
                        $sql = "INSERT INTO " . SHOUTBOX_TABLE . "
                            VALUES(NULL, '" . $shoutbox_config['robocik_id'] . "', '" . str_replace('{$name}', $userdata['username'], $robot_word) . "', '" . (CR_TIME+2) . "')";
                        if ( !($result = $db->sql_query($sql)) )
                        {
                            message_die(GENERAL_ERROR, 'Could not insert robot message', '', __LINE__, __FILE__, $sql);
                        }
                    }
                }
               
                if ( $shoutbox_config['robocik_wulg_on'] )
                {
                    if ( $check_cache = sql_cache('check', 'word_list') )
                    {
                        include($check_cache);

                        foreach($word_list as $word => $replacement)
                        {
                            $orig_word[] = str_replace('*', '', $word);
                            $replacement_word[] = strip_tags($replacement);
                        }
                    }
                    else if ( $check_cache === false )
                    {
                        $sql = "SELECT word, replacement
                            FROM " . WORDS_TABLE;
                        if ( !($result = $db->sql_query($sql)) )
                        {
                            message_die(GENERAL_ERROR, 'Could not get censored words from database', '', __LINE__, __FILE__, $sql);
                        }

                        $word_list = array();

                        if ( $row = $db->sql_fetchrow($result) )
                        {
                            do
                            {
                                $orig_word[] = str_replace('\*', '', $row['word']);
                                $word_list[$row['word']] = $row['replacement'];
                            }
                            while ( $row = $db->sql_fetchrow($result) );
                        }
                        sql_cache('write', 'word_list', $word_list);
                    }
                   
                    foreach ( $orig_word as $key => $val )
                    {
                        if ( strstr(strtolower($msg), $val) )
                        {
                            $robot_wulg_message = ( $userdata['user_wulg'] >= ($shoutbox_config['robocik_max_user_wulg'] - 1) ) ? $shoutbox_config['robocik_warning_text_warn'] : $shoutbox_config['robocik_warning_text_wulg'];
                            $robot_wulg_message = str_replace('{$name}', $userdata['username'], $robot_wulg_message);
                           
                            $sql = "UPDATE " . USERS_TABLE . " SET user_wulg = ( `user_wulg` + 1 ) WHERE user_id = '$sb_user_id'";
                            if ( !($result = $db->sql_query($sql)) )
                            {
                                message_die(GENERAL_ERROR, 'Could not update user_wulg', '', __LINE__, __FILE__, $sql);
                            }
                           
                            $sql = "INSERT INTO " . SHOUTBOX_TABLE . "
                                VALUES(NULL, '" . $shoutbox_config['robocik_id'] . "', '$robot_wulg_message', '" . (CR_TIME+2) . "')";
                            if ( !($result = $db->sql_query($sql)) )
                            {
                                message_die(GENERAL_ERROR, 'Could not insert robot message', '', __LINE__, __FILE__, $sql);
                            }
                        }
                    }
                   
                    if ( $userdata['user_wulg'] >= ($shoutbox_config['robocik_max_user_wulg'] - 1) )
                    {
                        $sql = "INSERT INTO " . WARNINGS_TABLE . "
                        VALUES(NULL, '$sb_user_id', '" . $shoutbox_config['robocik_id'] . "', '" . CR_TIME . "', '1', '" . str_replace('{$name}', $userdata['username'], $shoutbox_config['robocik_warn_reason']) . "', '0', '1')";
                       
                        if ( !$result = $db->sql_query($sql) )
                        {
                            message_die(GENERAL_ERROR, 'Could not insert warning', '', __LINE__, __FILE__, $sql);
                        }
                        $sql = "UPDATE " . USERS_TABLE . " SET user_wulg = '0' WHERE user_id = '$sb_user_id'";
                        $db->sql_query($sql);
                    }
                }
            }
        }
// END ROBOCIK ///////////////////////////////


a tu 242 linia

Cytat:
foreach ( $orig_word as $key => $val )

tomekxz - 19-06-2008, 21:03

Przydało by się też zabezpieczenie przed odpisywaniem na własne wiadomości robocika, ustawiłem sobie teksty na słowo "tak" i "nie", tak to wygląda:

TomekXZ: nie
Robocik: Tak, tak!
Robocik: Tak? Dobra, niech ci będzie...

A nie wygląda to ładnie.

Jarek 11 - 20-06-2008, 13:28

Mi nie chce wyświetlac losowych tekstów wyświetla tylko te zwykłe.
Razor90 - 20-06-2008, 14:21

bo źle to robisz ;] dodajesz katergorie np: losowe teksty potem dodajesz pare losowych tekstów do tej kategori. Następnie wchodzisz w pierwszą zakładke tworzysz nowy tekst i zamiast odpowiedzi wybierasz kategorie! Kategorie się wybiera pod odpowiedzią!
rosolek - 20-06-2008, 15:41

dostałem dziś rano ostrzezenie od robocika chodz nawet nic nie pisałem
Radek - 20-06-2008, 16:43

Koziołek, już jest? Niemożliwe! :mrgreen:
Potem może go nawet zainstaluję, przejrzę kod, zobaczę co spieprzy..., znaczy się, co dodałeś nowego i napisze coś więcej :D



Powered by phpBB modified by Przemo © 2003 phpBB Group