Помогите Кое что реализовать.

Тема в разделе "Как сделать...", создана пользователем Ворлок, 10 авг 2012.

  1. Ворлок

    Ворлок Писатель

    Регистр.:
    29 апр 2012
    Сообщения:
    0
    Симпатии:
    1
    Доброго времени Суток Ув. Форумчане Я хочю кое что зделать для своей Игры ...Имееться такой код
    PHP:
    <?php
    //([^\.])(\/)?(.)*
        //if (!preg_match('/^(http:\/\/)(Бойцовский Клуб\.|top\.|admin\.|test\.)?(capitallcity.ru)((\/(.)*)|(\b))/i',trim($_SERVER['HTTP_REFERER']))>0) die("Для входа в игру  воспользуйтесь этой ссылкой: <a href='http://Мой Сайт'>http://Мой Сайт</a>".$_SERVER['HTTP_REFERER']);
        //http://scrolls.combats.com/~Taxman/449125.html
        
    include "connect.php";
      
    $urlParts explode('.'$_SERVER['HTTP_HOST']);
    session_start();
    if(
    $_GET['id']>0){
        
    $_GET['id']=(int)$_GET['id'];
            if(
    $_GET['id']>0){
            
    session_destroy();
            
    session_start();
            
    $data mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '".$_GET['id']."' and teleporting='1' LIMIT 1;"));
                if(
    $data['id']>&& $data['teleporting']==and $data['incity']==$urlParts[0]){
                
    $_SESSION['uid'] = $data['id'];
                
    $_SESSION['sid'] = session_id();
                            
    $_SESSION['incity'] = $data['incity'];
                            
    setcookie("uid",$data['id'],time()+43200,"/",".Мой Сайт");
                            
    setcookie("hashcode",md5($data['id'].$data["pass"].$data["login"]),time()+43200,"/",".Мой Сайт");
                            if(
    $_COOKIE['battle']!= null && $data['id'] != $_COOKIE['battle']) {
                                
    mysql_query("INSERT INTO `delo_multi` (`idperslater`,`idpersnow`) values ('".mysql_real_escape_string($_COOKIE['battle'])."','".mysql_real_escape_string($data['id'])."');");
                            }
     
                            
    ///
                            
    setcookie("battle"$data['id']);
                            unset(
    $_SESSION['stap']);
                            unset(
    $_SESSION['puid']);
                    
    mysql_query("UPDATE `online` SET `date` = ".time()." WHERE `id` = '".$data['id']."';");
                    
    mysql_query("UPDATE `users` SET `sid` = '".session_id()."', teleporting='0' WHERE `id` = '".$data['id']."';");
                    
    header("Location:battle.php");
                }else{
                    echo 
    "<html><head><META http-equiv=Content-type content='text/html; charset=windows-1251'><title>Произошла ошибка</title></head><body><BR>aПроизошла ошибка!<BR>Неверный пароль, войдите с <a href=index.php>главной страницы</a>.<BR><BR><BR><hr><table width=100%><tr><td align=left><b><a href='javascript:window.history.go(-1);'>Назад</a></b></td><td align=right>(C) <u>Бойцовский Клуб</u></td></tr></table></body></html>";
                }
            }
        die();
    }
    if(
    $_POST['code']  && $_SESSION['sid'] && $_SESSION['puid'] && $_SESSION['stap']){
    $data4 mysql_fetch_array(mysql_query("SELECT pass2,pass FROM `users` WHERE `id` = '".mysql_real_escape_string($_SESSION['puid'])."' LIMIT 1;"));
    if(
    md5($_POST['code'])==$data4['pass2']){
    $chkps1="yes";
    }else{
    $koko="<FONT COLOR=\"white\">Неверный пароль</FONT><BR>";}
     
     
    }
     
     
    if((
    $chkps1=="yes" or $koko) && $_SESSION['stap']==$data4['pass']){
    $_SESSION['stap'] = addslashes($_SESSION['stap']);
        
    $data mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '".mysql_real_escape_string($_SESSION['puid'])."' AND `pass` = '".mysql_real_escape_string($_SESSION['stap'])."' LIMIT 1;"));
     
    }else{
        
    $data mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($_POST['login'])."' AND `pass` = '".md5($_POST['psw'])."' LIMIT 1;"));
    }
        if(
    $data['incity']=='angelscity'){echo"<form method=\"POST\" name=\"rdrt\" action=\"http://angelscity.Мой Сайт/enter.php\"><input type=\"hidden\" name=\"login\" value=\"".$data['login']."\"><input type=\"hidden\" name=\"psw\" value=\"".$_POST['psw']."\"></form><script>document.forms.rdrt.submit();</script>";exit();}
     
                    elseif(
    $data['incity']=='capitalcity'){echo"<form method=\"POST\" name=\"rdrt\" action=\"http://capitalcity.Мой Сайт/enter.php\"><input type=\"hidden\" name=\"login\" value=\"".$data['login']."\"><input type=\"hidden\" name=\"psw\" value=\"".$_POST['psw']."\"></form><script>document.forms.rdrt.submit();</script>";exit();}
            elseif(
    $data['incity']=='demonscity'){echo"<form method=\"POST\" name=\"rdrt\" action=\"http://demonscity.Мой Сайт/enter.php\"><input type=\"hidden\" name=\"login\" value=\"".$data['login']."\"><input type=\"hidden\" name=\"psw\" value=\"".$_POST['psw']."\"></form><script>document.forms.rdrt.submit();</script>";exit();}
            elseif(
    $data['incity']=='devilscity'){echo"<form method=\"POST\" name=\"rdrt\" action=\"http://devilscity.Мой Сайт/enter.php\"><input type=\"hidden\" name=\"login\" value=\"".$data['login']."\"><input type=\"hidden\" name=\"psw\" value=\"".$_POST['psw']."\"></form><script>document.forms.rdrt.submit();</script>";exit();}
                    elseif(
    $data['incity']=='emeraldscity'){echo"<form method=\"POST\" name=\"rdrt\" action=\"http://emeraldscity.Мой Сайт/enter.php\"><input type=\"hidden\" name=\"login\" value=\"".$data['login']."\"><input type=\"hidden\" name=\"psw\" value=\"".$_POST['psw']."\"></form><script>document.forms.rdrt.submit();</script>";exit();}
                    elseif(
    $data['incity']=='dungeon'){echo"<form method=\"POST\" name=\"rdrt\" action=\"http://dungeon.Мой Сайт/enter.php\"><input type=\"hidden\" name=\"login\" value=\"".$data['login']."\"><input type=\"hidden\" name=\"psw\" value=\"".$_POST['psw']."\"></form><script>document.forms.rdrt.submit();</script>";exit();}
                      elseif(
    $data['incity']=='suncity'){echo"<form method=\"POST\" name=\"rdrt\" action=\"http://suncity.Мой Сайт/enter.php\"><input type=\"hidden\" name=\"login\" value=\"".$data['login']."\"><input type=\"hidden\" name=\"psw\" value=\"".$_POST['psw']."\"></form><script>document.forms.rdrt.submit();</script>";exit();}
     
    elseif (
    $data[0] == null) {
        
    //mysql_query("INSERT INTO `iplog` (owner,ip,date,type) values ('".mysql_real_escape_string($data['id'])."','".mysql_real_escape_string($ip)."','".mysql_real_escape_string($time_now)."','1');");
            
    echo "<html><head><META http-equiv=Content-type content='text/html; charset=windows-1251'><title>Произошла ошибка</title></head><body><BR>Произошла ошибка!<BR>Неверный пароль, войдите с <a href=index.php>главной страницы</a>.<BR><BR><BR><hr><table width=100%><tr><td align=left><b><a href='javascript:window.history.go(-1);'>Назад</a></b></td><td align=right>(C) <u>Бойцовский Клуб</u></td></tr></table></body></html>";
        }
     
        elseif(
    $data['block']==1)
        {
            echo 
    "<html><head><META http-equiv=Content-type content='text/html; charset=windows-1251'><title>Произошла ошибка</title></head><body><BR>Произошла ошибка!<BR>Персонаж заблокирован.<BR><BR><BR><hr><table width=100%><tr><td align=left><b><a href='javascript:window.history.go(-1);'>Назад</a></b></td><td align=right>(C) Бойцовский Клуб  </td></tr></table></body></html>";
        }
        else
        {
     
     
     
     
     
            include(
    "functions.php");
    if((
    $chkps1!="yes") or empty($koko)){
                    
    session_destroy();
            
    session_start();
            
    //delo_multi
            
    if($_COOKIE['battle']!= null && $data['id'] != $_COOKIE['battle']) {
                
    mysql_query("INSERT INTO `delo_multi` (`idperslater`,`idpersnow`) values ('".mysql_real_escape_string($_COOKIE['battle'])."','".mysql_real_escape_string($data['id'])."');");
            }
     
            
    ///
            
    setcookie("battle"$data['id']);
            
    $_SESSION['puid'] = $data['id'];
                    
    $_SESSION['sid'] = session_id();
    if(!empty(
    $data['pass2'])){$_SESSION['stap'] = $data['pass'];}
    }
     
     
    if(
    $_SESSION['sid'] && $_SESSION['puid'] && $_SESSION['stap']==$data['pass'] && $chkps1!="yes"){
    ?>
    <HTML><HEAD>
    <script LANGUAGE='JavaScript'>
    document.ondragstart = test;
    //запрет на перетаскивание
    document.onselectstart = test;
    //запрет на выделение элементов страницы
    document.oncontextmenu = test;
    //запрет на выведение контекстного меню
    function test() {
    return false
    }
    </SCRIPT>
    <link rel=stylesheet type="text/css" href="http://img.combats.com/i/main.css">
    <meta content="text/html; charset=windows-1251" http-equiv=Content-type>
    <META Http-Equiv=Cache-Control Content=no-cache>
    <meta http-equiv=PRAGMA content=NO-CACHE>
    <META Http-Equiv=Expires Content=0>
     
    <TITLE>Второй пароль</TITLE>
    </HEAD>
    <body bgcolor=666666>
    <H3><FONT COLOR="black">Запрос второго пароля к персонажу.</FONT></H3>
    <?=$koko?>
    <div align="center">
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="600" height="250">
    <param name=movie value="i/psw2.swf">
    <param name=quality value=high>
    <embed src="i/psw2.swff" width="600" height="250">
    </embed>
    </object>
     
    </div>
    </BODY>
    </HTML>
    <?
    include("mail_ru.php");
    exit();
    }
     
     
     
     
     
                    $_SESSION['uid'] = $data['id'];
                    $_SESSION['incity'] = $data['incity'];
                    setcookie("uid",$data['id'],time()+43200,"/",".Мой Сайт");
                    setcookie("hashcode",md5($data['id'].$data["pass"].$data["login"]),time()+43200,"/",".Мой Сайт");
                    unset($_SESSION['stap']);
                    unset($_SESSION['puid']);
            mysql_query("UPDATE `online` SET `date` = ".time()." WHERE `id` = '".mysql_real_escape_string($data['id'])."';");
            mysql_query("UPDATE `users` SET `sid` = '".session_id()."', teleporting='0' WHERE `id` = '".mysql_real_escape_string($data['id'])."';");
           
            //mysql_query("UPDATE `users` SET `ip` = '".$_SERVER['REMOTE_ADDR']."' WHERE `id` = {$data['id']};");
            if (!empty($_SERVER['HTTP_CLIENT_IP']))  //check ip from share internet
                {
                $ip=$_SERVER['HTTP_CLIENT_IP'];
                }
            elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))  //to check ip is pass from proxy
                {
                $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
                }
            else
                {
                $ip=$_SERVER['REMOTE_ADDR'];
                }
            $time_now=time();
           
           
            //системка o заходах
            $ll = mysql_fetch_array(mysql_query('SELECT * FROM `iplog` WHERE `owner` = "'.$data['id'].'" ORDER BY `id` DESC LIMIT 1'));
           
                if(isset($ll['id']))
            {
                if($ll['ip']!=$ip)
                {
               
                            addchp ('<font color="Black"><font color=red>Внимание!</font> '.date('d.m.Y  H:i').' <font color=red><b>ВНИМАНИЕ!</b></font> В предыдущий раз этим персонажем заходили с другого компьютера. </font>','{[]}'.$data['login'].'{[]}');
               
            }
    }       
    //конец системки
       
           
            mysql_query("INSERT INTO `iplog` (owner,ip,date,type) values ('".mysql_real_escape_string($data['id'])."','".mysql_real_escape_string($ip)."','".mysql_real_escape_string($time_now)."','0');");
     
    $drugi1 = mysql_query("SELECT user FROM `friends` WHERE `friend` = '".mysql_real_escape_string($data['id'])."';");
                    while ($drugi = mysql_fetch_array($drugi1)) {
        $dat = mysql_fetch_array(mysql_query("SELECT `login`, `room`, (select `id` from `online` WHERE `date` >= ".(time()-60)." AND `id` = users.`id`) as `online` FROM `users` WHERE `id` = '".mysql_real_escape_string($drugi['user'])."' LIMIT 1;"));
                   
    if($dat['online']>0){
    addchp ('<font color=red><b>Внимание!</b></font> <font color="Black">Вас приветствует <a href=javascript:top.AddTo("'.$data['login'].'")><span oncontextmenu="OpenMenu()">'.$data['login'].'</span></a></font>','{[]}'.nick7 ($drugi['user']).'{[]}');
                     
                    }
                    }
       
        $da = mysql_fetch_array(mysql_query("SELECT `login`, `room`, (select `id` from `online` WHERE `date` >= ".(time()-60)." AND `id` = users.`id`) as `online` FROM `users` WHERE `id` = '".mysql_real_escape_string($_SESSION['uid'])."' LIMIT 1;"));
    $user = mysql_fetch_array(mysql_query("SELECT win,room,invis FROM `users` WHERE `id` = '".mysql_real_escape_string($_SESSION['uid'])."' LIMIT 1;"));
    $rs=mysql_query("SELECT * FROM `telegraph` WHERE `owner` = '".mysql_real_escape_string($data['id'])."';");
            mysql_query("DELETE FROM `telegraph` WHERE `owner` = '".mysql_real_escape_string($data['id'])."';");
            while($r = mysql_fetch_array($rs)) {
                addchp ($r['text'],'{[]}'.$data['login'].'{[]}');
            }
            addchp ('<font color=red><b>СБК:</b></font> Добро пожаловать в игру<img src="http://img.Мой Сайт/i/smiles/horse.gif">','{[]}'.$data['login'].'{[]}');
            header("Location:battle.php");
        }
    ?>
    в базе есть таблица усерс Со структурой Борнтайм Как зделать чтоб когда ДР Персонажа Совпадало С ДАтой Персонажу Давался Подарок НАпример Вот такой
    Код:
                            mysql_query("INSERT INTO `inventory` (`owner`,`name`,`type`,`massa`,`cost`,`img`,`maxdur`,`present`,`magic`,`isrep`,`made`)
                            VALUES('".$i."','Эликсир Жизни','188','1','1','pot_cureHP100_20.gif','100','Администрация','8','0','oldcity') ;");
    Заранее спасибо.
     
  2. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    117
    Симпатии:
    495
    Давайте начнем с того, что нужно куда-то писать данные о том, что он уже получил подарок, чтобы избежать накруток. А это попахивает как минимум еще одним полем в таблице, а то и отдельной таблицей в БД.
     
    Ворлок нравится это.
  3. Ворлок

    Ворлок Писатель

    Регистр.:
    29 апр 2012
    Сообщения:
    0
    Симпатии:
    1
    Данная Таблица есть она предназначалась для елки но елку я убрал из игры так что осталось поле безхозным
     
  4. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    117
    Симпатии:
    495
    Мне это мало о чем говорит. Если бы в игре присутствовали несколько регулярных бонусов, например: на ДР, на НГ, Пасху и т.д., я бы лично сделал отдельную таблицу в БД, куда бы сваливал все нужные данные о выдаче бонусов. Принцип простой: в таблицу пишется дата ближайшего ДР юзера. Скрипт должен работать таким образом:
    Код:
    взять из таблицы дата_ДР;
    
    если (дата_сегодня >= дата_ДР и дата_сегодня < (дата_ДР + 1 день)) {
        выдать плюшку;
        обновить таблицу, записав дату выдачи следующей плюшки на ДР через год;
    } иначе если (дата_сегодня >= (дата_ДР + 1 день) {
        плюшек не давать, ибо игрок не заходил в игру на свое ДР, а честно бухал, но все ровно
        обновить таблицу, записав дату выдачи следующей плюшки в ближайшее ДР в следующем году;
    }
    
     
    Ворлок нравится это.
  5. Ворлок

    Ворлок Писатель

    Регистр.:
    29 апр 2012
    Сообщения:
    0
    Симпатии:
    1
    Если моно точный Код а то я так делал у меня одни синтаксисы Были ...
     
  6. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    117
    Симпатии:
    495
    Нет нельзя. Начнем с того, что я, как и большинство людей на форуме, не знаю на память все игровые движки. И для того, чтобы привести пример такого кода, нужно иметь по крайней мере информацию о том, как выглядит структура таблицы users в БД. Кроме того, не будет 100% вероятности того, что все заработает с первого тыка, так как подобный код я могу написать только "виртуально", не имея возможности даже его протестировать. :)