Среда, 13 Ноября 2024, 11:34

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Скрипт Гильдии
infermikДата: Вторник, 28 Сентября 2010, 16:09 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Доброго времени суток всем.
Вышла такая проблема как мне сделать скрипт чтобы игроки смоли создавать свои гильдии, ордена, кланы как хотите называйте
Я примерно хочу сделать такого содержания:

Вот что то нечто такого создавать ги то я я сделал код то есть записиь у меня получается в одну таблицу guild и ставлю значение 1 (1 = что перс находится в ги)

А как мне сделать чтобы потом ещё и в таблицу in_guild вставлялись сведения например:

Id Id_guild Id_player

1 4 12

Я сделал таблицу In_guild чтобы она содержала в себе информацию какой игрок и в какой гильдии он находится
Может нужно дополнительный скрипт написать в качестве активации или можно всё в этом сделать?

А чуть самое главное не забыл сам скрипт правдо строго не судите я не спец по php



Выпрямляю путем кнута и пряника


Сообщение отредактировал infermik - Вторник, 28 Сентября 2010, 16:09
lvovandДата: Вторник, 28 Сентября 2010, 16:22 | Сообщение # 2
старожил
Сейчас нет на сайте
у тебя есть таблица гильдий orden - id,название,id_предводителя;
сделай таблицу in_orden - id_гильдии,id_приглашающего, id_приглашенного, статус_подтверждения

когда игрок будет приглашать, то в in_orden появится запись, со статусом 0, если игрок подтвердит, то статус станет 1,
проверять проще, смотришь таблицу in_orden по номеру юзера и статусу 1 и получаешь список гильдий, в которых он состоит, если делаешь поле orden в таблице user, то у тебя юзер только к одной гильдии привязан будет, а так количество будет неважно


Разработка и продвижение сайтов. Дизайн
infermikДата: Вторник, 28 Сентября 2010, 19:20 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Нет мне в первую очередь пока надо вписать в таблу in_oden Запись о гильдии из создающего скрипта типа вот например создал я ги и у меня фигак инфа перелетела в in_orden чтобы там запись была да существует такая то ги в ней 1 чел и ид чела короче запись о ги

Выпрямляю путем кнута и пряника
ИнфроДата: Вторник, 28 Сентября 2010, 19:22 | Сообщение # 4
частый гость
Сейчас нет на сайте
Пользователи:
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
infermikДата: Вторник, 28 Сентября 2010, 19:36 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Quote (Инфро)
Пользователи:
id, ..., guild
1, ..., id гильдии (если не состоит в гильдии, то 0)
Гильдии:
id, founder
1 , id главы
Приглашения:
id гильдии, id приглашенного (+ все что угодно, в т.ч. время истечения приглашения)

Люди вы не понимаете я теоретику всё ЗНАЮ как выстроить!!!!! Я просто вас спрасил как мне именно код помочь выстроить чтобы в таблицу inorden вставить допустим значения 1 12 8
А вы мне теорэтику включаете)


Выпрямляю путем кнута и пряника
ИнфроДата: Вторник, 28 Сентября 2010, 21:01 | Сообщение # 6
частый гость
Сейчас нет на сайте
infermik, а чего тут сложного? О_о PHP или MySQL вызывает затруднения?
AssasinДата: Вторник, 28 Сентября 2010, 21:44 | Сообщение # 7
web-coder
Сейчас нет на сайте
DB users
Code

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.
Повторюс это всего лишь примитив smile
fenix4Дата: Среда, 29 Сентября 2010, 19:31 | Сообщение # 8
участник
Сейчас нет на сайте
Создай в в базе в таблице guild ячейку где будут храниться состав клана и туда через запитую запиши кто там есть
потом через цикл с помощью функции explode() вытаскивай и делай что хочешь с никами игроков если не понятно напиши в skayp помогу fenix451
infermikДата: Четверг, 30 Сентября 2010, 00:48 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Спасибо Assasin с приглашением с меня +

Quote (Инфро)
а чего тут сложного? О_о PHP или MySQL вызывает затруднения?

Учебники мне мало что дают мне надо в примерах все))


Выпрямляю путем кнута и пряника


Сообщение отредактировал infermik - Четверг, 30 Сентября 2010, 00:51
RipDevДата: Воскресенье, 26 Декабря 2010, 19:25 | Сообщение # 10
гейм-дизайнер
Сейчас нет на сайте
Quote
Создай в в базе в таблице guild ячейку где будут храниться состав клана и туда через запитую запиши кто там есть
потом через цикл с помощью функции explode() вытаскивай и делай что хочешь с никами игроков если не понятно напиши в skayp помогу fenix451

это будет оч плохо, нужно у кождого игрока добавить запись гильдия и записывать туда ид ги.
а в самой таблице ги хранить инфо, о количестве, главы, баланс итп...


Взгляни на сей изукрашенный образ, на тело, полное изъянов, составленное из частей, болезненное, исполненное многих мыслей, в которых нет ни определённости, ни постоянства.
webstrict666Дата: Воскресенье, 26 Декабря 2010, 19:32 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
А в чем проблема ? не знаешь как реализовать вывод списка али?

Таблица u_members:
u_id - Индификатор пользователя
rank - Ранк в али

Таблица players:
id - Индификатор пользователя
name - НИк
...

Code

<?php $AlID = $_GET['aly_id'];
Участники:<?$querymap="SELECT * FROM u_members INNER JOIN players USING(id) WHERE u_id=$AlID";
$resultF = @mysql_query($querymap);
while($lineF = mysql_fetch_array($resultF))
{
$memb=$lineF['nick'];
print "<br><a href=\"write.php?to=$memb\">$memb</a>";
}
?>


http://GAMESKROL.RU
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !


Сообщение отредактировал webstrict666 - Воскресенье, 26 Декабря 2010, 19:36
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг