Strona 1 z 7 123 ... OstatniOstatni
Pokaż wyniki od 1 do 10 z 64

Wątek: Prosty skrypt czatu

  1. #1
    Doświadczony GGadacz
    Dołączył
    27.03.2012
    Posty
    131

    Prosty skrypt czatu

    Siemka, ponieważ Ruloo mnie zmotywował, postanowiłem dla Was zrobić prosty czat

    CZAT v.1.0.5

    Dostępne funkcje:
    -Dołączenie do rozmowy
    -Opuszczanie rozmowy
    -Tworzenie konta
    -Zmiana nicku
    -Gra w butelkę
    -Gra w kostkę(autor: Majcon)


    Kod:
    Kod php:
    <?
    error_reporting(0);
    include("MessageBuilder.php");
    $ApiNr = '';
    $ApiMail = '';
    $ApiPass = '';
    $BaseHost = '';
    $BaseUser = '';
    $BasePass = '';
    $BaseName = '';
    PushConnection::$BOTAPI_LOGIN=$ApiMail;
    PushConnection::$BOTAPI_PASSWORD=$ApiPass;
    $m = new MessageBuilder();
    $p = new PushConnection($ApiNr);
    $db = new mysqli($BaseHost, $BaseUser, $BasePass, $BaseName);
    $from = $_GET['from'];
    $msg = addslashes($HTTP_RAW_POST_DATA);
    $wyraz = explode(" ", $msg);
    $cmd = strtolower(str_replace(array("!", ".", "/", "&"), "", $wyraz[0]));
    $UserInfo = $db->query("SELECT * FROM `chat` WHERE `nr` = {$from}");
    $onlines = $db->query("SELECT * FROM `chat` WHERE `online` = 1");
    while($onliness = $onlines->fetch_assoc())
    $online[] = $onliness['nr'];
    if($UserInfo->num_rows == 0){
    if($cmd != "start"){
    die("Wpisz !start aby się zarejestrować");
    }
    }
    else{
    $user = $UserInfo->fetch_assoc();
    }
    if($user['online'] == 0){
    if($cmd != "start"){
    die("Wpisz !start aby się zalogować");
    }
    }
    if($msg{0} != "!" and $msg{0} != "/" and $msg{0} != "." and $msg{0} != "&"){
    $m->addBBCode("[b]{$user['nick']}[/b]: {$msg}")->setRecipients($online);
    $p->push($m);
    $m->clear();
    }
    else{
    if($cmd == "start"){
    if($user['online'] == 1)
    die("Już się zalogowałeś");
    if($UserInfo->num_rows == 0){
    $db->query("INSERT INTO `chat` (`nr`, `nick`, `online`) VALUES ({$from}, 'GG_{$from}', 1)");
    $online[] = $from;
    $m->addBBCode("[u]{$from}[/u] zarejestrował się na czacie")->setRecipients($online);
    $p->push($m);
    $m->clear();
    echo "Zarejestrowałeś się";
    }
    else{
    $db->query("UPDATE `chat` SET `online` = 1 WHERE `nr` = {$from}");
    $m->addBBCode("[b]{$user['nick']}[/b] zalogował się na czat")->setRecipients($online);
    $p->push($m);
    $m->clear();
    echo "Zalogowałeś się";
    }
    }
    elseif($cmd == "stop"){
    $m->addBBCode("[b]{$user['nick']}[/b] wylogował się z czatu")->setRecipients($online);
    $p->push($m);
    $m->clear();
    $db->query("UPDATE `chat` SET `online` = 0 WHERE `nr` = {$from}");
    }
    elseif($cmd == "nick"){
    if(!$wyraz[1])
    die("Nie podałeś nowego nicku");
    $db->query("UPDATE `chat` SET `nick` = '{$wyraz[1]}' WHERE `nr` = {$from}");
    $m->addBBCode("[b]{$user['nick']}[/b] jest od teraz znany jako [b]{$wyraz[1]}[/b]")->setRecipients($online);
    $p->push($m);
    $m->clear();
    }elseif($cmd == "kostka"){ 
    $kostka = rand(1,6); 
    $m->addBBCode("[b]{$user['nick']}[/b] Ciepie kostką.")->setRecipients($online); 
    $p->push($m); 
    $m->clear(); 
    sleep(2);
    $m->addBBCode("Kostka {$user['nick']} która zatrzymuje się na:  [b]{$kostka}[/b]")->setRecipients($online);
    $p->push($m);
    $m->clear();
    }
    elseif($cmd == "butelka"){
    $numerki = $db->query("SELECT * FROM `chat` WHERE `nr` != {$from} AND `online` = 1");
    $nicki = '';
    while($key = $numerki->fetch_assoc()){
    $nicki[] = $key['nick'];
    }
    $nickk = array_rand($nicki);
    $m->addBBCode("[b]{$user['nick']}[/b] kręci butelką.")->setRecipients($online);
    $p->push($m);
    $m->clear();
    sleep(2);
    $m->addBBCode("Butelka {$user['nick']} zatrzymuje się na [b]{$nickk}[/b]")->setRecipients($online);
    $p->push($m);
    $m->clear();
    }
    else{
    die("Komenda nie istnieje");
    }
    }
    ?>
    Struktura bazy:
    Kod:
    CREATE TABLE IF NOT EXISTS `chat` (
      `nr` int(255) NOT NULL,
      `nick` varchar(25) NOT NULL,
      `online` tinyint(2) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Potrzebujesz nowej funkcji? Pisz tu, wprowadzę ją wraz z nową wersją czatu
    Nie rozumiesz czegoś? Też pisz tu.
    Ostatnio edytowane przez Beniooo ; 04.07.2013 o 12:35 Powód: Ewentualne błędy zgłaszaj w odpowiedzi!

  2. #2
    Doświadczony GGadacz
    Dołączył
    01.06.2011
    Lokalizacja
    Lębork
    Marka tel.
    Sony
    Model tel.
    Xperia M2
    FW telefonu
    Android 5.1
    Posty
    262
    Niczego sobie. Czepiając się szczegółów napisałeś, że napiszesz poGGawędkę w 15 min, a temu skryptowi do poGGawędki jeszcze sporo brakuje. Ale jest ok

    Jak mi się uda to może dziś wstawię mój skrypt czatu głównego, trochę bardziej rozwiniętego i bez MySQL.

  3. #3
    Doświadczony GGadacz
    Dołączył
    27.03.2012
    Posty
    131
    ekhem, napisałem, że skrypt poggawędki to 15-20 minut

  4. #4
    Doświadczony GGadacz
    Dołączył
    17.08.2012
    Posty
    251
    Przydalo by sie dodac temat rozmowy, oraz dodac wiadomosc na wejscie. Np.
    Ja:
    /join
    CHAT:
    Witaj na chacie! Nasz temat rozmowy: .......

    Wysyłane z mojego GT-S5830 za pomocą Tapatalk 2

  5. #5
    Rozmowny Awatar MKevas
    Dołączył
    15.11.2012
    Lokalizacja
    Gorzów Chrzanowski
    Marka tel.
    Nokia
    Model tel.
    Lumia 610
    FW telefonu
    Windows Phone 7.8
    Posty
    60
    Po co? Trudno nie jest to napisać, a jeżeli nawet tyle nie potrafisz to po co się za to bierzesz?
    Może zamiast szukać gotowca zajmij się na razie zwykłymi botami. Gdy nauczysz się obsługiwać BotAPI i jego biblioteki to wtedy weźmiesz się za coś trudniejszego

  6. #6
    Doświadczony GGadacz
    Dołączył
    27.03.2012
    Posty
    131
    Nowa wersja, poprawiony tekst przy wchodzeniu oraz dodana możliwość zmiany nicku
    Ostatnio edytowane przez Beniooo ; 28.01.2013 o 21:29

  7. #7
    @Beniooo prosze Cię o stworzenie komendy /butelka ktora dziala na zasadzie losowania urzytkownika do odpowiedzi na butelke.

  8. #8
    jeszcze jak byś mogl to cmd /akcje w ktorej bedzie np /action kop. i da odpowiedz (nick) kopie (nick2)

  9. #9
    Rozmowny Awatar MKevas
    Dołączył
    15.11.2012
    Lokalizacja
    Gorzów Chrzanowski
    Marka tel.
    Nokia
    Model tel.
    Lumia 610
    FW telefonu
    Windows Phone 7.8
    Posty
    60
    To są naprawde banalne komendy, pomyśl i sam zrób. Benioo nie ma czasu przenieść plików (musimy serwer przeinstalować na inny system i panel) a co dopiero tracicić czas na takie pierdoły

  10. #10
    jak powiesz mi jaka zmienna odpowiada za urzytkownika ktory wysyla wiadomosc np /akcja zabij nick. i zmienna na nick to sobie stworze
    hm a butelke...
    nwm szczerze to nie lubie gotowcow to moge sam a to co na gorze pisalem.

Podobne wątki

  1. [Skrypt v.1.0.0] Zmiana statusu i opisu.
    By TheDuliMen in forum Boty
    Odpowiedzi: 5
    Ostatni post / autor: 23.01.2013, 19:04
  2. Odpowiedzi: 0
    Ostatni post / autor: 02.12.2012, 16:27
  3. Bot Skrypt
    By TheDuliMen in forum Boty
    Odpowiedzi: 6
    Ostatni post / autor: 29.08.2012, 13:28
  4. Jeden skrypt kilka botów
    By Beniooo in forum Boty
    Odpowiedzi: 3
    Ostatni post / autor: 20.08.2012, 17:43

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •