Чат

Статус
В этой теме нельзя размещать новые ответы.

Exstazi

Новичок
Репутация
0 / 69
Народ кто реализовал чат на файлах чето все перепробывал заменил фалы а когда че нибудь пишеш то сообщение исчезает и в файл не заноситься
 
тут экстрасенсов нет.
Скинь код - посмотрим.
Что в логах пишет?
 
Код:
<?
include("inc/db_connect.php");

$stat = mysql_fetch_array(mysql_query("SELECT `id`,`user`,`bloked`,`m_time`,`room`,`rank`,`color`,`font`,`admin`,`tribe` FROM `players` WHERE `user` = '".$_COOKIE['user']."' AND `pass` = '".$_COOKIE['pass']."'"));
  mysql_query("SET CHARSET cp1251");
if (empty($stat['id']) || $stat['bloked']) {
  print "<script>top.location='index.php?action=logout'</script>";
  exit;
}

mysql_query("UPDATE `players` SET `lpv` = '".time()."' WHERE `user` = '".$stat['user']."' LIMIT 1");

include("inc/chat/functions.php");

$mess_id=$_GET['message_id'];

if ($_GET['action']=="send" && $_POST['chat_mode']=="clan") {
  if (!$stat['tribe']) { $_POST['text']=""; }
  $_POST['text'] = AddSlashes(HtmlSpecialChars($_POST['text']));
  if ($_POST['text']=="") { $clear_text = 0; } else {
    $clear_text = 1;
    include("inc/chat/smiles.php");
    insert_msg(trim($_POST['text']),"","","2",$stat['tribe'],"","0");
  }
  $mess_id=$_POST['message_id'];
} elseif ($_GET['action']=="send" && $_POST['chat_mode']=="chat") {
  $_POST['text'] = AddSlashes(HtmlSpecialChars($_POST['text']));
  if ($_POST['text']=="//exit" or $_POST['text']=="// exit") { $_POST['text']=""; }
  if ($_POST['text']=="//refresh" or $_POST['text']=="// refresh") { $_POST['text']=""; }
  if ($_POST['text']=="//admins" or $_POST['text']=="// admins") { $_POST['text']=""; }
  if ($_POST['text']=="//topclan" or $_POST['text']=="// topclan") { $_POST['text']=""; }
  if ($stat['m_time']>time()) $_POST['text']="";
  if ($_POST['text']=="") { $clear_text = 0; } else {
    if (!empty($stat['color'])) $_POST['text']="<font color=".$stat['color'].">".$_POST['text']."</font>";
    $clear_text = 1;
    $to_login = "";
    $private = "";
    if (preg_match("/приватно \[(.*?)\]/", $_POST['text'], $private_temp)) {
      $private = $private_temp['1'];
      $_POST['text'] = str_replace('приватно ['.$private.']',' ',$_POST['text']);
    }
    elseif (preg_match("/для \[(.*?)\]/", $_POST['text'], $to_login_temp)) {
      $to_login = $to_login_temp['1'];
      $_POST['text'] = str_replace('для ['.$to_login.']',' ',$_POST['text']);
    }
    include("inc/chat/smiles.php");

    if ($stat['font']=='b') $_POST['text'] = '[b]'.$_POST['text'].'[/b]';
    elseif ($stat['font']=='i') $_POST['text'] = '[i]'.$_POST['text'].'[/i]';
    elseif ($stat['font']=='bi') $_POST['text'] = '[b][i]'.$_POST['text'].'[/i][/b]';

    $send = '<font color="'.$stat['color'].'"';
    if ($stat['admin']) $send .= ' face="Comic Sans MS" size="2"';
    $send .= '>'.$_POST['text'].'</font>';

    insert_msg($send,$to_login,$private,0,'','','');
  }
  $mess_id=$_POST['message_id'];
}
include("inc/html_header.php");
print "<script LANGUAGE=\"JavaScript\" charset=\"windows-1251\">";
if ($mess_id!="") {
  $chat = mysql_query("SELECT * FROM chat c WHERE c.date >'".(time()-60)."' and c.id > '".$mess_id."' AND (c.room = '".$stat['room']."' OR c.room = '0' OR c.room = '' ".$c_where.") AND (NOT EXISTS (select c1.user from chatignore c1 where c1.login='".$stat['user']."' and c1.user=c.login)) ORDER BY `id`");
  while($chats = mysql_fetch_array($chat)) {
    if ($chats['id']>$mess_id) {
      $mess_id=$chats['id'];
      if ($chats['date']+60 > time()) {
        if ($chats['system']==2) {
          if ($chats['system_to']==$stat['tribe'] && $chats['msg']!="" ) {
              echo "top.ChatMsg('".date('H:i',$chats['date'])."','','<LABEL STYLE=\'COLOR: Blue\' title=\'Уровень важности: Низкий\'>Клану от [B]".$chats['login']."[/B]:</LABEL> ".$chats['msg']."','1','0');";
              echo "\n";
          }
        } elseif ($chats['system']==1) {
          if ($chats['system_to']=="") {
            if ($chats['msg']<>"") {
              echo "top.ChatMsg('".date('H:i',$chats['date'])."','','<LABEL STYLE=\'COLOR: Red\' title=\'Уровень важности: Высокий\'>[u][b]Внимание![/b][/u]</LABEL> ".$chats['msg']."','1','0');";
              echo "\n";
            }
          } else {
            if ($chats['system_to']==$stat['user']) {
              if ($chats['msg']<>"") {
                echo "top.ChatMsg('".date('H:i',$chats['date'])."','','<LABEL STYLE=\'COLOR: Green\' title=\'Уровень важности: Низкий\'>[u][b]Внимание![/b][/u]</LABEL> ".$chats['msg']."','1','0');";
                echo "\n";
              }
            }
          }
          if ($chats['redirect']) $redirect=$chats['redirect'];
        } elseif ($chats['private']<>"" && ($chats['login']==$stat['user'] || $chats['private']==$stat['user'])) {
          if ($chats['login']==$stat['user']) { $my=1; $me=0; } else { $my=0; $me=1; }
          if ($my==1) { $pp=$chats['private']; } else { $pp=$chats['login']; }
          echo "top.ChatMsg('".date('H:i',$chats['date'])."','".$chats['login']."','<FONT class=private onclick=\'top.pp(\"".$pp."\");\'>приватно [".$chats['private']."]</FONT> ".$chats['msg']."','".$me."','".$my."');";
          echo "\n";
        } elseif ($chats['to_login']<>""){
          unset ($stick);
          if ($chats['to_login']==$stat['user']) { $my=0; $me=1; $stick=1; }
          if ($chats['login']==$stat['user']) { $my=1; $me=0; $stick=1; }
          if ($my==1) { $to=$chats['to_login']; } else { $to=$chats['login']; }
          echo "top.ChatMsg('".date('H:i',$chats['date'])."','".$chats['login']."','";
          if (isset($stick) && !empty($stick)) { echo "<FONT class=player onclick=\'top.to(\"".$to."\");\'>"; }
          echo "для [".$chats['to_login']."]</FONT> ".$chats['msg']."','".$me."','".$my."');";
          echo "\n";
        } elseif ($chats['private']=="" && $chats['to_login']=="" && $chats['system']<>1) {
          if ($chats['login']==$stat['user']) $my=1; else $my=0;
          echo "top.ChatMsg('".date('H:i',$chats['date'])."','".$chats['login']."','".$chats['msg']."','0','".$my."');";
          echo "\n";
        }
      }
    }
  }
} else { $mess_id=-1; }

$tgraf = mysql_query("SELECT * FROM telegraf f WHERE f.user = '".$stat['user']."' AND f.delivered = '0' ORDER BY f.date");
while($tgrafs = mysql_fetch_array($tgraf)) {
  if ($tgrafs['system']==2) {
    if ($tgrafs['msg']!="" ) {
      echo "top.ChatMsg('".date('H:i',$now)."','','<LABEL STYLE=\'COLOR: Red\' title=\'Уровень важности: Средний\'>[B]Телеграф [".date("d.m.y H:i",$tgrafs['date'])."][/B] Клану от [u]".$tgrafs['fr']."[/u]:</LABEL> ".$tgrafs['msg']."','1','0');";
      echo "\n";
    }

  } elseif ($tgrafs['system']==1) {
    if ($tgrafs['msg']!="" ) {
      echo "top.ChatMsg('".date('H:i',$now)."','','<LABEL STYLE=\'COLOR: Red\' title=\'Уровень важности: Средний\'>[B]Телеграф [".date("d.m.y H:i",$tgrafs['date'])."][/B]:</LABEL> ".$tgrafs['msg']."','1','0');";
      echo "\n";
    }
  } elseif ($tgrafs['system']==0) {
    if ($tgrafs['msg']!="" ) {
      echo "top.ChatMsg('".date('H:i',$now)."','','<LABEL STYLE=\'COLOR: Red\' title=\'Уровень важности: Средний\'>[B]Телеграф [".date("d.m.y H:i",$tgrafs['date'])."][/B] Сообщение от [u]".$tgrafs['fr']."[/u]:</LABEL> ".$tgrafs['msg']."','1','0');";
      echo "\n";
    }
  }
  mysql_query("UPDATE telegraf SET delivered=1 WHERE id='".$tgrafs['id']."'");
}

print"\ntop.MsgSent('".$mess_id."'";
if (isset($clear_text)) print ",'1'";
print ");\n";
if ($redirect) echo"top.main.location=\"$redirect?\"+Math.random();\"\"\n";
print "</SCRIPT>";
?>
Или хотябы напишите алгоритм
 
А как должен выглядеть главный файл сhat.php
Дайте *plz* его только мне а я сам дальше доделаю
 
Народ кто написал чат на файлах дайте посматреть только файйл chat.php как он у вас выглядет
 
У меня так!

Код:
<?
include("inc/db_connect.php");

$stat = mysql_fetch_array(mysql_query("SELECT `id`,`user`,`bloked`,`m_time`,`room`,`rank`,`color`,`tribe` FROM `players` WHERE `user` = '".$_COOKIE['user']."' AND `pass` = '".$_COOKIE['pass']."'"));
  mysql_query("SET CHARSET cp1251");
if (empty($stat['id']) || $stat['bloked']==1) {
  print "<script>top.location='index.php?action=logout'</script>";
  exit;
}

mysql_query("UPDATE `players` SET `lpv` = '".time()."' WHERE `user` = '".$stat['user']."' LIMIT 1");

include("inc/chat/functions.php");

$mess_id=$_GET['message_id'];

if ($_GET['action']=="send") {
  $_POST['text'] = AddSlashes(HtmlSpecialChars($_POST['text']));
  if ($_POST['text']=="//exit" or $_POST['text']=="// exit") { $_POST['text']=""; }
  if ($_POST['text']=="//refresh" or $_POST['text']=="// refresh") { $_POST['text']=""; }
  if ($_POST['text']=="//admin" or $_POST['text']=="// admin") { $_POST['text']=""; }
  if ($stat['m_time']>time()) $_POST['text']="";
  if ($_POST['text']=="") { $clear_text = 0; } else {
    if (!empty($stat['color'])) $_POST['text']="<font color=".$stat['color'].">".$_POST['text']."</font>";
    $clear_text = 1;
    $to_login = "";
    $private = "";
    if (preg_match("/приватно \[(.*?)\]/", $_POST['text'], $private_temp)) {
      $private = $private_temp['1'];
      $_POST['text'] = str_replace('приватно ['.$private.']',' ',$_POST['text']);
    }
    elseif (preg_match("/для \[(.*?)\]/", $_POST['text'], $to_login_temp)) {
      $to_login = $to_login_temp['1'];
      $_POST['text'] = str_replace('для ['.$to_login.']',' ',$_POST['text']);
    }
    include("inc/chat/smiles.php");
    insert_msg(trim($_POST['text']),$to_login,$private);
  }
  $mess_id=$_POST['message_id'];
}
include("inc/html_header.php");
print "<script LANGUAGE=\"JavaScript\">";
if ($mess_id!="") {
  $chat = mysql_query("SELECT * FROM chat c WHERE c.date >'".(time()-60)."' and c.id > '".$mess_id."' AND (c.room = '".$stat['room']."' OR c.room = '0' OR c.room = '' ".$c_where.") AND (NOT EXISTS (select c1.user from chatignore c1 where c1.login='".$stat['user']."' and c1.user=c.login)) ORDER BY `id`");
  while($chats = mysql_fetch_array($chat)) {
    if ($chats['id']>$mess_id) {
      $mess_id=$chats['id'];
      if ($chats['date']+60 > time()) {
        if ($chats['system']==1) {
          if ($chats['system_to']=="") {
            if ($chats['msg']<>"") {
              echo "top.ChatMsg('".date('H:i',$chats['date'])."','','<LABEL STYLE=\'COLOR: Red\' title=\'Уровень важности: Высокий\'>[u][b]Внимание![/b][/u]</LABEL> ".$chats['msg']."','1','0');";
              echo "\n";
            }
          } else {
            if ($chats['system_to']==$stat['user']) {
              if ($chats['msg']<>"") {
                echo "top.ChatMsg('".date('H:i',$chats['date'])."','','<LABEL STYLE=\'COLOR: Green\' title=\'Уровень важности: Низкий\'>[u][b]Внимание![/b][/u]</LABEL> ".$chats['msg']."','1','0');";
                echo "\n";
              }
            }
          }
          if ($chats['redirect']) $redirect=$chats['redirect'];
        } elseif ($chats['private']<>"" && ($chats['login']==$stat['user'] || $chats['private']==$stat['user'])) {
          if ($chats['login']==$stat['user']) { $my=1; $me=0; } else { $my=0; $me=1; }
          if ($my==1) { $pp=$chats['private']; } else { $pp=$chats['login']; }
          echo "top.ChatMsg('".date('H:i',$chats['date'])."','".$chats['login']."','<FONT class=private onclick=\'top.pp(\"".$pp."\");\'>приватно [".$chats['private']."]</FONT> ".$chats['msg']."','".$me."','".$my."');";
          echo "\n";
        } elseif ($chats['to_login']<>""){
          unset ($stick);
          if ($chats['to_login']==$stat['user']) { $my=0; $me=1; $stick=1; }
          if ($chats['login']==$stat['user']) { $my=1; $me=0; $stick=1; }
          if ($my==1) { $to=$chats['to_login']; } else { $to=$chats['login']; }
          echo "top.ChatMsg('".date('H:i',$chats['date'])."','".$chats['login']."','";
          if (isset($stick) && !empty($stick)) { echo "<FONT class=player onclick=\'top.to(\"".$to."\");\'>"; }
          echo "для [".$chats['to_login']."]</FONT> ".$chats['msg']."','".$me."','".$my."');";
          echo "\n";
        } elseif ($chats['private']=="" && $chats['to_login']=="" && $chats['system']<>1) {
          if ($chats['login']==$stat['user']) $my=1; else $my=0;
          echo "top.ChatMsg('".date('H:i',$chats['date'])."','".$chats['login']."','".$chats['msg']."','0','".$my."');";
          echo "\n";
        }
      }
    }
  }
} else { $mess_id=-1; }

print"\ntop.MsgSent('".$mess_id."'";
if (isset($clear_text)) print ",'1'";
print ");\n";
if ($redirect) echo"top.main.location=\"$redirect?\"+Math.random();\"\"\n";
print "</SCRIPT>";
?>
 
врятли вам кто когда то чат на файлах даст бесплатно, т.к. улучшение работы игры сразу видно, многие тормоза пропадают играть стает просто комфортно, поэтому эта фишка стоит денег и будет стоить своих денег.
 
В принципе при большом желании перевести чат на файлы не так уж и сложно.
Для желающих попробовать, держите файлик с простеньким чатом на файлах. Само-собой он не переделан под игру (это было бы слишком просто :) ), а вот посмотреть КАК это работает и взять уже готовые функции записи в файл, вот это будет довольно полезно.
Дерзайте *wink*

скачать чат
 
Подскажите где что вставить в чате чтоб когда входишь в Тень то и писала Тень а не ник пробывал вставлять
if ($stat['invisible'] > $now) { $stat['user']='Тень' } не выходит вообще не отправляет сообщения .
 
Подскажите где что вставить в чате чтоб когда входишь в Тень то и писала Тень а не ник пробывал вставлять
if ($stat['invisible'] > $now) { $stat['user']='Тень' } не выходит вообще не отправляет сообщения .

смотря какой у тебя чат :)

ищи в chat.php первую строчку из моего примера, ивставляй после неё то, что идет у меня:

Код:
     if ($chats['date']+60 > time()) { $ig=mysql_query("SELECT id FROM friends WHERE user='".$stat['user']."' AND friend='".$chats['login']."' AND ignor='1'");
    if (mysql_num_rows($ig)<=0){        $cuser = mysql_fetch_array(mysql_query("SELECT `invisible` FROM `players` WHERE `user` = '".$chats['login']."'"));
      $ctime = time();
        if ($cuser['invisible'] > $ctime && ($stat['rank']<98 || ($stat['rank']>0 && $stat['rank']<15)) && $stat['admin'] != 1 && $stat['rank']!=25)
                        $chuser="Тень";
                else
                        $chuser=$chats['login'];
 
:) Если такая фигня у вас в чате, то пардон какая же нагрузки идёт на сервак?
 
:) Если такая фигня у вас в чате, то пардон какая же нагрузки идёт на сервак?

нагрузка вполне приемлемая :)
CPU 500Mhz, 128Mb memory,
нагрузка
CPU - 4-7%
память - до 20%
 
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

Сверху