Доброго времени суток всем. Вышла такая проблема как мне сделать скрипт чтобы игроки смоли создавать свои гильдии, ордена, кланы как хотите называйте Я примерно хочу сделать такого содержания:
Вот что то нечто такого создавать ги то я я сделал код то есть записиь у меня получается в одну таблицу guild и ставлю значение 1 (1 = что перс находится в ги)
А как мне сделать чтобы потом ещё и в таблицу in_guild вставлялись сведения например:
Id Id_guild Id_player
1 4 12
Я сделал таблицу In_guild чтобы она содержала в себе информацию какой игрок и в какой гильдии он находится Может нужно дополнительный скрипт написать в качестве активации или можно всё в этом сделать?
А чуть самое главное не забыл сам скрипт правдо строго не судите я не спец по php
$link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die("Could not connect : " . mysql_error()); mysql_select_db($my_database) or die("Could not select database");
$query = "SELECT * from orden where name = '$aNameorden'"; $result = mysql_query($query,$link) or die("Query failed : " . mysql_error()); $num_rows = mysql_num_rows($result); if( $num_rows == 0 ){ $query = "INSERT INTO orden(name,glavnii)"; $query .= "Values ('$aNameorden','$aYounick')"; $result = mysql_query($query,$link) or die("Query failed : " . mysql_error()); print("Орден: $aNameorden, предводителем которого является: $aYounick добавлен в базу!"); } else { print("Орден: $aNameorden уже есть в игре, выберите другое название для ордена!"); }
$query = "SELECT USER_ID, Orden from users WHERE Nick_Name = '$aYounick'"; $result = mysql_query($query) or die("Query failed : " . mysql_error()); $aRow = mysql_fetch_array( $result); $aUser_id = $aRow["USER_ID"]; //Узнаём ID На кого оформлен клан $aPropis = $aRow["Orden"];
$aPropis = $aPropis + 1; $query = "UPDATE users SET Orden=$aPropis WHERE Nick_Name = '$aYounick'"; $result = mysql_query($query) or die("Query failed : " . mysql_error()); //Сейчас идёт запсиь в таблицу inorden // XD В РАЗРАБОТКЕ
mysql_close($link); ?> </body> </html>
Выпрямляю путем кнута и пряника
Сообщение отредактировал infermik - Вторник, 28 Сентября 2010, 16:09
у тебя есть таблица гильдий orden - id,название,id_предводителя; сделай таблицу in_orden - id_гильдии,id_приглашающего, id_приглашенного, статус_подтверждения
когда игрок будет приглашать, то в in_orden появится запись, со статусом 0, если игрок подтвердит, то статус станет 1, проверять проще, смотришь таблицу in_orden по номеру юзера и статусу 1 и получаешь список гильдий, в которых он состоит, если делаешь поле orden в таблице user, то у тебя юзер только к одной гильдии привязан будет, а так количество будет неважно
Нет мне в первую очередь пока надо вписать в таблу in_oden Запись о гильдии из создающего скрипта типа вот например создал я ги и у меня фигак инфа перелетела в in_orden чтобы там запись была да существует такая то ги в ней 1 чел и ид чела короче запись о ги Выпрямляю путем кнута и пряника
Пользователи: id, ..., guild 1, ..., id гильдии (если не состоит в гильдии, то 0) Гильдии: id, founder 1 , id главы Приглашения: id гильдии, id приглашенного (+ все что угодно, в т.ч. время истечения приглашения)
Приглашение в гильдию: добавляется запись в Приглашения Принятие приглашения: удаляет запись из Приглашения, в Пользователи (guild) записывается id гильдии "Кик" из гильдии: в Пользователи (guild) записывает 0 Отмена приглашения: удаление записи из Приглашения (можно отменять все остальные приглашения, если игрок вступает в гильдию)
Проверка приглашений: SELECT count(*) FROM Приглашения
P.S. В таблице Гильдии хранится только базовая инфа (ID, Название, глава) Количество участников гильдии подсчитывается через SELECT count(*) FROM Пользователи WHERE guild=Гильдии.id
Сообщение отредактировал Инфро - Вторник, 28 Сентября 2010, 19:23
Пользователи: id, ..., guild 1, ..., id гильдии (если не состоит в гильдии, то 0) Гильдии: id, founder 1 , id главы Приглашения: id гильдии, id приглашенного (+ все что угодно, в т.ч. время истечения приглашения)
Люди вы не понимаете я теоретику всё ЗНАЮ как выстроить!!!!! Я просто вас спрасил как мне именно код помочь выстроить чтобы в таблицу inorden вставить допустим значения 1 12 8 А вы мне теорэтику включаете)
CREATE TABLE user ( `id_u` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `guild` int(11) NOT NULL, PRIMARY KEY (`id_u`) ) TYPE = MyISAM;
DB guilds
Code
CREATE TABLE guild ( `id_g` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `headman` int(11) NOT NULL, `players` int(11) NOT NULL, PRIMARY KEY (`id_g`) ) TYPE = MyISAM;
Create guild (php)
Code
<?php session_start(); if (isset($_POST['create'])) { mysql_query("INSERT INTO guild (`name`,`headman`,`players`) VALUES ('".htmlspecialchars($_POST['name_g'])."','".$_SESSION['id']."' , '1')"); $guild = mysql_fetch_array(mysql_query("SELECT `id_g` FROM `guilds` WHERE `headman`='".$_SESSION['id']."'")); mysql_query("UPDATE user SET `guild`='".$guild['id_g']."' WHERE `id_g`='".$_SESSION['id']."'"); } ?> <form method='post'> Name guild: <input type='text' name='name_g'><br> <input type='submit' name='create'> </form>
Join guild (php)
Code
<?php session_start(); if (isset($_POST['join'])) { $sql = mysql_query("SELECT `id_g` FROM guilds WHERE id_g='".htmlspecialchars($_POST['id'])."'"); if (mysql_num_rows($sql) > 0) { mysql_query("UPDATE `user` SET `guild`='".htmlspecialchars($_POST['id'])."', `players`=players+'1' WHERE `id_u`='".$_SESSION['id']."'"); } } ?> <form method='post'> <input type='hidden' name='id' value='ID GUILD'> <input type='submit' name='join' value='Join'> </form>
Это примитив $_SESSION['id'] - сессия id игрока, создается при входе в игру. ID GUILD - id гильдии, тут как хочешь ее запихивай, можешь через get запрос, по типу игрок перешел по адрессу
Code
guild.php?id=1
Ему выводит гильдию у которой id = 1, при нажатии на кнопку вступить в ID GUILD можно подставить 1. Повторюс это всего лишь примитив
Создай в в базе в таблице guild ячейку где будут храниться состав клана и туда через запитую запиши кто там есть потом через цикл с помощью функции explode() вытаскивай и делай что хочешь с никами игроков если не понятно напиши в skayp помогу fenix451
Создай в в базе в таблице guild ячейку где будут храниться состав клана и туда через запитую запиши кто там есть потом через цикл с помощью функции explode() вытаскивай и делай что хочешь с никами игроков если не понятно напиши в skayp помогу fenix451
это будет оч плохо, нужно у кождого игрока добавить запись гильдия и записывать туда ид ги. а в самой таблице ги хранить инфо, о количестве, главы, баланс итп... Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.