| 
				
				аккаунт ...
				 |   |  
| webstrict666 | Дата: Суббота, 22 Января 2011, 22:00 | Сообщение # 21 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Я вроде показал пример (: если знаешь как пользоватся JOIN в MYSQL то создай таблицу Char_Slot с столбами cs_uid cs_slot_1 cs_slot2 cs_slot3 и при регистрации сдеалй запрос чтоб записывался ID из таблицы Users в cs_uid и выдавай всем остальным столбцам 0 далее мутишь проверку типа   if ( $slot == '0') { тут код для создания персонажа } else { выводим код что слот занят }  все до боли просто ... просто посидите составьте алгоритм на бумаге и далее выложите сюда а далее будем думать как вам лучше сделать. 
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |  
| Dizelist | Дата: Воскресенье, 23 Января 2011, 00:11 | Сообщение # 22 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | Quote (webstrict666) ну сделай в таблицу авторизации еще 3 столбца Slot1 Slot2 Slot3 и записывай в них char_id (далее мути проверку )      очень прошу помочь,как это в скрипте выглядит...  как при создании нового чара впихивать в слоты id chara? не получается присвоить, помогите... 
 
 Сообщение отредактировал Dizelist - Воскресенье, 23 Января 2011, 00:15  |  
| 
 | 
 |    |  
| webstrict666 | Дата: Воскресенье, 23 Января 2011, 01:27 | Сообщение # 23 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | 0_о попроси написать за тебя скрипт (:
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |  
| Dizelist | Дата: Воскресенье, 23 Января 2011, 02:19 | Сообщение # 24 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | вот что я накалякал))   не знаю может надо было по другому...   тут все сразу скрипт без запросов...   Code    <?     include "conf.php";   
   $data = mysql_connect($base_name, $base_user, $base_pass);     mysql_select_db($db_name);   
   $name=test; // login users   $query0 = mysql_query("SELECT * FROM users WHERE name='$name'");     $row = mysql_fetch_array($query0);     $uid = $row["id"]; 
   $char_name=test1;   $char_race=test2;   $char_level=test3;   //==================   //присваевание слота     $query = "INSERT INTO char_slot (cs_uid)  VALUES('$uid')";     $result = mysql_query($query);   
   $query1 = "INSERT INTO char_slot (cs_uid,cs_slot_1,cs_slot_2,cs_slot_3) VALUES('???','???','???','???')";   $result1 = mysql_query($query1);      $query2 = "INSERT INTO char (uid,char_name,char_race,char_level) VALUES('$ID','$char_name','$char_race','$char_level')";     $result2 = mysql_query($query2);   
   if ( $slot1== '0') {     $query11 = "INSERT INTO char_slot (cs_uid,cs_slot_1) VALUES('???','???')";   $result11 = mysql_query($query11);     } else {     if ( $slot2== '0') {     $query12 = "INSERT INTO char_slot (cs_uid,cs_slot_2) VALUES('???','???')";   $result12 = mysql_query($query12);     } else {     if ( $slot3== '0') {     $query13 = "INSERT INTO char_slot (cs_uid,cs_slot_3) VALUES('???','???')";   $result13 = mysql_query($query13);     } else {     //выводим код что слот занят     }     }     }   ?>        подскажи как мне uid из таблицы chars присвоить к слотам....
 
 Сообщение отредактировал Dizelist - Воскресенье, 23 Января 2011, 02:25  |  
| 
 | 
 |    |  
| webstrict666 | Дата: Воскресенье, 23 Января 2011, 03:08 | Сообщение # 25 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Начнем с базы создаешь 2 таблицы (пользователей и слотов чаров)   Структура таблицы `char_slot`   Code    CREATE TABLE IF NOT EXISTS `char_slot` (          `uid` int(11) NOT NULL,          `slot1` int(11) NOT NULL,          `slot2` int(11) NOT NULL,          `slot3` int(11) NOT NULL   ) ENGINE=MyISAM DEFAULT CHARSET=latin1;        Разберем:   uid - это индификатор пользователя, записывается согласно ID пользователя в таблице USER   slot1 - в данный слот записываются только integer значения (только цифры), я подразумеваю что будет записываться ID чара   slot2 - в данный слот записываются только integer значения (только цифры), я подразумеваю что будет записываться ID чара   slot3 - в данный слот записываются только integer значения (только цифры), я подразумеваю что будет записываться ID чара  Структура таблицы `users`    Code  
   CREATE TABLE IF NOT EXISTS `users` (      `id` int(11) NOT NULL auto_increment,      `name` varchar(15) NOT NULL,      `password` varchar(20) NOT NULL,      PRIMARY KEY  (`id`)   ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;        id - Уникальный индефикатор... выдается согласно условию авто инкрумент.   name - поле логина (15 символов)   password - Поле пароля (20 символов), если будешь делать шифрование под md5 или sha1 то тип поля TEXT и не каких ограничений  С базой закончили... Создаем структуру ядра.   Создаем папку engine в ней создаем папку data   В корневой папке 1 файл и в папке data 2 файла.   Начнем с папки DATA, создаем файл в папке DATA обзываем его config.php    Code <?php 
   /**         * @author WebStrict666 (GameSkrol)         * @copyright 2011         */ 
   define ( 'DB_USER', '' );     //Юзер   define ( 'DB_PASSWORD', '' ); //Пароль   define ( 'DB_HOST', '' );     //Хост базы   define ( 'DB_NAME', '' );     //Название базы 
   ?>     Это данные для подключения к MYSQL , переходим непосредственно к подключению, создаем файл connet.php   Code <?php 
   /**         * @author WebStrict666(GameSkrol)         * @copyright 2011         */   //Подключаем файл конфигураций         include 'config.php';   //Производим подключение к базе         mysql_connect ( DB_HOST, DB_USER, DB_PASSWORD );               mysql_query( 'SET NAMES cp1251' );               mysql_select_db ( DB_NAME );         //Включаем сессию.         session_start(); 
   ?>    Все прокомментировано, хочу сказать насчет сесси - ее по желанию используем здесь , но советую не убирать...   переходим в корневую папку и создаем index.php (Он будет и регистрацию и авторизацию производить)    Code <?php 
   /**         * @author WebStrict666 (GameSkrol)         * @copyright 2011         */ 
   //Подключаемся к базе         include 'engine/data/connect.php';   //Проверяем нажата ли кнопка регистрации         if ($_POST['btn_reg'])         {                //Здесь записываем             $name = trim($_POST['name']); //Записываем поле name в переменную       $password = trim($_POST['password']); //Записываем password name в переменную       $raca = $_POST['raca']; //Записываем поле raca в переменную                         //Выполняем запрос добавляющее пользователя в базу USER          $query = "INSERT INTO users (name,password)                VALUES('$name','$password')";                $result = mysql_query($query);                               // Обращаемся к таблице users по нику для определения ID          $query = "SELECT * FROM users WHERE name='$name'";          $result = mysql_query ($query)          or die ("Ошибка получения ID".mysql_error());          $row = mysql_fetch_array($result);          $uid=$row['id']; 
          // Создаем строку персонажей в таблицу Char_Slot          $query = "INSERT INTO Char_Slot (uid,slot1,slot2,slot3)          VALUES('$uid','0','0','0')";                $result = mysql_query($query);               }                        // Проверяем переданы ли Логин и пароль         if(isset($name) && isset($password))   {         //проверяем есть ли ник в базе            $query = "SELECT * FROM users WHERE name='{$name}'";            $result = mysql_query ($query);          if (!($result)) { // Проверяем если ник есть в базе то записываем переданные данные формы в сессию                          $Login=$_SESSION['name'];          $ID=$_SESSION['id'];          $Pass=$_SESSION['Password'];          $messages = 'Вы успешно авторизовались <a href=index.php>На главную</a>';          } else {          $messages = 'Че за? Зарегся епт...';                } 
   }   ?>   <!-- С PHP Частью мы закончили идем к HTML, начинаем все с формы -->   <form name=""  method="post">   <table>   <?php if(isset($messages)) { echo $messages;}?>         <tr><td>Логин:</td><td><input type="text" name="name"></td></tr>   <tr><td>Пароль:</td><td><input type="password" name="password"></td></tr>   <tr><td> </td><td><input type="submit" value="Регистрация" name="btn_reg"></td></tr>   </table>   </form>    В принципе все очень просто... если вы этого не поймете, то оплачивайте я вам напишу ядро...   Добавлено (23.01.2011, 03:08)   ---------------------------------------------   Код исправлен все работает 100% 
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 
 Сообщение отредактировал webstrict666 - Воскресенье, 23 Января 2011, 03:55  |  
| 
 | 
 |    |  
| Dizelist | Дата: Воскресенье, 23 Января 2011, 03:13 | Сообщение # 26 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | webstrict666,   спасибо за ваш труд,пойду разбираться! вам+
 |  
| 
 | 
 |    |  
| webstrict666 | Дата: Воскресенье, 23 Января 2011, 03:21 | Сообщение # 27 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Алгоритм http://imglink.ru/pictures/23-01-11/7030540cf2982a38a2d9c79d5f6c253a.jpg
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |  
| Dizelist | Дата: Воскресенье, 23 Января 2011, 03:49 | Сообщение # 28 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | выдает ошибку Parse error: parse error in C:\xampp\htdocs\game\test\index.php on line 57   что тут не так... <? if(isset($messages) { echo $messages;}?> Добавлено (23.01.2011, 03:49) --------------------------------------------- нашол, тат скобка открыта( 
 |  
| 
 | 
 |    |  
| webstrict666 | Дата: Воскресенье, 23 Января 2011, 03:51 | Сообщение # 29 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Сори быстро писал (: не заметил ...
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |  
| Dizelist | Дата: Понедельник, 24 Января 2011, 09:35 | Сообщение # 30 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | не подскажите как сделать выбор чара и вход в игру под ним...   я думал как то так...   Code    <tr><td><? echo $hname1; ?></td><td><input type="checkbox" name="checkme1" value="1"><input type="submit" value="войти" name="chars_enter"><input type="submit" value="удалить" name="chars_del"></td></tr>        Code    if ($_POST['chars_enter'])    {   if ( $checkme1 == '1') {    $query = mysql_query("SELECT * FROM chars WHERE id_chars='".$email."'");   $row = mysql_fetch_array($query);   $num = mysql_num_rows($query);   if ($num > 0){   $_SESSION['name'] = $row['chars'];   $_SESSION['id_chars'] = $row['id_chars'];   echo "<script>location.href='game.php';</script>";   }   }   }        у меня 3 checkbox, как их выбирать...
 |  
| 
 | 
 |    |  
| webstrict666 | Дата: Понедельник, 24 Января 2011, 11:10 | Сообщение # 31 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | почитай про case PHP думаю сам разберешся Добавлено (24.01.2011, 11:10) --------------------------------------------- не понятно еще    Code $query = mysql_query("SELECT * FROM chars WHERE id_chars='".$email."'");      Ты делаешь запрос на выборку ID_chara а тебе надо проверить есть ли у него вообще чары... еще ты выбираешь ID по емэйлу не кажется абсурдным?:)
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |  
| Dizelist | Дата: Понедельник, 24 Января 2011, 13:46 | Сообщение # 32 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | вот весь код,может поймете...   Code    <?   session_start();   include "conf.php";   $data = mysql_connect($base_name, $base_user, $base_pass);   mysql_select_db($db_name); 
   if (isset($_SESSION['email'])) {   //=====================================================================           // Обращаемся к таблице users по нику для определения ID            $query = "SELECT * FROM users WHERE email='".$_SESSION['email']."'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);            $uid=$row['id_user'];   //=================================================================== 
           // Обращаемся к таблице char_slot по uid для проверки slot            $query = "SELECT * FROM char_slot WHERE uid='$uid'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);            $slot1=$row['slot1'];            $slot2=$row['slot2'];            $slot3=$row['slot3'];       
      
   //==================================================================   if ($_POST['chars_add'])           {                  //Здесь записываем          $name = trim($_POST['name']); //Записываем поле name в переменную      //проверяем есть ли чар в базе            $query = "SELECT * FROM chars WHERE name='$name'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);      $char_name=$row['name'];      if ( $char_name == $name ) { // Проверяем если ник есть в базе то записываем переданные данные формы в сессию           echo "Имя занято";           } else {    if ( $slot1== '0') {      // Создаем имя чара в таблицу Char            $query = "INSERT INTO chars (name) VALUES('$name')";                  $result = mysql_query($query);     // Обращаемся к таблице chars по нику для определения ID            $query = "SELECT * FROM chars WHERE name='$name'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);             $hid=$row['id_chars'];     //     $query = mysql_query("UPDATE Char_Slot SET slot1='$hid' WHERE uid='$uid'");     } else {    if ( $slot2== '0') {      // Создаем имя чара в таблицу Char            $query = "INSERT INTO chars (name) VALUES('$name')";                  $result = mysql_query($query);     // Обращаемся к таблице chars по нику для определения ID            $query = "SELECT * FROM chars WHERE name='$name'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);             $hid=$row['id_chars'];     //     $query = mysql_query("UPDATE Char_Slot SET slot2='$hid' WHERE uid='$uid'");     } else {    if ( $slot3 == '0') {      // Создаем имя чара в таблицу Char            $query = "INSERT INTO chars (name) VALUES('$name')";                  $result = mysql_query($query);     // Обращаемся к таблице chars по нику для определения ID            $query = "SELECT * FROM chars WHERE name='$name'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);             $hid=$row['id_chars'];     //     $query = mysql_query("UPDATE Char_Slot SET slot3='$hid' WHERE uid='$uid'");     } else {    echo "нет свободных слотов";   }    }    }    }              }    //====================================================================   function checkbox_verify($_name)   {     // Создаем имя чара в таблицу Char            $query = "DELETE FROM chars WHERE id='".$id."'";           $result = mysql_query($query);     // Обращаемся к таблице chars по нику для определения ID            $query = "SELECT * FROM chars WHERE name='$name'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);             $hid=$row['id_chars'];     //     $query = mysql_query("UPDATE Char_Slot SET slot1='0' WHERE uid='$uid'");   }   echo checkbox_verify('checkme1');           $query = "SELECT * FROM Char_Slot WHERE uid='$uid'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);             $sid_1=$row['slot1'];     $sid_2=$row['slot2'];     $sid_3=$row['slot3'];   if ($_POST['chars_del'])           {   $checkme1 = trim($_POST['checkme1']); //Записываем поле name в переменную   $checkme2 = trim($_POST['checkme2']); //Записываем поле name в переменную   $checkme3 = trim($_POST['checkme3']); //Записываем поле name в переменную    if ( $checkme1 == '1') {         $query = mysql_query("DELETE FROM chars WHERE id_chars='".$sid_1."'");           $query = mysql_query("UPDATE Char_Slot SET slot1='0' WHERE uid='$uid'");           echo "персонаж удален";   }    if ( $checkme2 == '1') {         $query = mysql_query("DELETE FROM chars WHERE id_chars='".$sid_2."'");           $query = mysql_query("UPDATE Char_Slot SET slot2='0' WHERE uid='$uid'");           echo "персонаж удален";   }    if ( $checkme3 == '1') {         $query = mysql_query("DELETE FROM chars WHERE id_chars='".$sid_2."'");           $query = mysql_query("UPDATE Char_Slot SET slot3='0' WHERE uid='$uid'");           echo "персонаж удален";   }   } 
           $query = "SELECT * FROM chars WHERE id_chars='$sid_1'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);             $hname1=$row['name'];     $query = "SELECT * FROM chars WHERE id_chars='$sid_2'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);       $hname2=$row['name'];     $query = "SELECT * FROM chars WHERE id_chars='$sid_3'";            $result = mysql_query ($query)            or die ("Ошибка получения ID".mysql_error());            $row = mysql_fetch_array($result);       $hname3=$row['name'];             echo "id=",$uid,", slot_1=",$slot1,", slot_2=",$slot2,", slot_3=",$slot3;   ?> 
   <form name=""  method="post">    <table>    <?php //if(isset($messages)) { echo $messages;}?>          <tr><td>Имя:</td><td><input type="text" name="name"></td></tr>    <tr><td> </td><td><input type="submit" value="создать" name="chars_add"></td></tr>    </table>    </form>   <form action="" method="post">   <table>    <tr><td><? echo $hname1; ?></td><td><input type="checkbox" name="checkme1" value="1"><input type="submit" value="войти" name="chars_enter"><input type="submit" value="удалить" name="chars_del"></td></tr>   <tr><td><? echo $hname2; ?></td><td><input type="checkbox" name="checkme2" value="1"><input type="submit" value="войти" name="chars_enter"><input type="submit" value="удалить" name="chars_del"></td></tr>   <tr><td><? echo $hname3; ?></td><td><input type="checkbox" name="checkme3" value="1"><input type="submit" value="войти" name="chars_enter"><input type="submit" value="удалить" name="chars_del"></td></tr>   </table>    </form> 
   <?   }else{   echo "<script>location.href='index.php';</script>";   }   ?>     
 |  
| 
 | 
 |    |  
| webstrict666 | Дата: Понедельник, 24 Января 2011, 16:44 | Сообщение # 33 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Ужас нах)я написал о чем почитать  
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |  
| Dizelist | Дата: Понедельник, 24 Января 2011, 16:46 | Сообщение # 34 |  
| 
 частый гость 
Сейчас нет на сайте 
 
 | а вы как думали,с первого раза тыкву в хамер превратить да?)   читаю,спасибо за совет!
 |  
| 
 | 
 |    |  
| webstrict666 | Дата: Понедельник, 24 Января 2011, 21:34 | Сообщение # 35 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Думаю если хочешь создавать игру а тем более браузерную ... надо хотя бы 60% багажа знаний ...
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |  
| vladboss | Дата: Понедельник, 24 Января 2011, 22:11 | Сообщение # 36 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | дык эти знания из опыта и беруться не так ли и из подобных этому форуму???   главное чтоб желание не пропало)
  -помог ставь + 
   АБП production ©
 
 Сообщение отредактировал vladboss - Понедельник, 24 Января 2011, 22:11  |  
| 
 | 
 |    |  
| webstrict666 | Дата: Вторник, 25 Января 2011, 00:29 | Сообщение # 37 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | нет , они берутся не с форумов а из учебников ... такие форумы нужны для помощи (это подправить кусочек кода (правельно написаного.) но надо примерный алгоритмы (а половину людей пишут от "Балды"))   Ну так начать надо с PHP4 потом перейти на PHP5 потом организовать ядро, вот как я сейчас делаю:    
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 
 Сообщение отредактировал webstrict666 - Вторник, 25 Января 2011, 00:29  |  
| 
 | 
 |    |  
| vovnet | Дата: Среда, 26 Января 2011, 09:59 | Сообщение # 38 |  
 
почетный гость 
Сейчас нет на сайте 
 
 | Quote (webstrict666) ...вот как я сейчас делаю:     webstrict666, это с использованием MVC? 
 
  
 
 Сообщение отредактировал vovnet - Среда, 26 Января 2011, 10:00  |  
| 
 | 
 |    |  
| webstrict666 | Дата: Четверг, 27 Января 2011, 00:30 | Сообщение # 39 |  
 
постоянный участник 
Сейчас нет на сайте 
 
 | Угу , все через контроллер + защита всех файлов (:
  http://GAMESKROL.RU   Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
 |  
| 
 | 
 |    |     
		
		 
 |