Среда, 25 Декабря 2024, 08:32

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
как сделать покупку предметов?
PONTIAC_GTOДата: Понедельник, 31 Марта 2014, 12:00 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Вот я делаю текстовую игру, мне нужно реализовать покупку предметов из магазина.

Сам магазин я сделал. Есть таблица со всеми предметами и с указанием категорий(ид, названае, описание, цена, иконка и категория). На странице я все это вывожу циклом ду вайл, и добавляю при этом кнопку для покупки.

2 таблица это склад. Где должно храниться данные о том сколько у персонажа предметов и их количество. Так вот , как тогда должна быть устроена 2 таблица для этого?
Добавлением новой записи? Если так, то тогда если у меня 100 к примеру предметов и записей будет тоже 100 только для одного. А если в игре 10000 тоже к примеру игроков, то это будет ахренеть как много записей. Как поступать в такой ситуации?

И второй вопрос, как мне определить ид, при нажатии на кнопку Купить, для записи в таблицу? Проверку ид делать? Но там же и так циклом выводит, я не знаю как это сделать.
lvovandДата: Понедельник, 31 Марта 2014, 12:48 | Сообщение # 2
старожил
Сейчас нет на сайте
ну 100 вещей у одного персонажа, это как-то перебор наверно, скорее у персонажа будет десяток разных типов предметов,
и даже если тысячи игроков, ну значит будет сотня тысяч записей, при том что если кол-во предметов где-то станет равным нулю, то запись можно удалять,
если счет игроков пойдет на сотни тысяч, ну что-то придется думать, например разделить предметы по нескольким таблицам в зависимости от id игрока.

второй вопрос не очень понятен, проверку надо делать полную на все при покупке, сделай это аяксом, и красиво будет, и удобно


Разработка и продвижение сайтов. Дизайн
PONTIAC_GTOДата: Понедельник, 31 Марта 2014, 12:54 | Сообщение # 3
почетный гость
Сейчас нет на сайте
не надо чисто на php
lvovandДата: Понедельник, 31 Марта 2014, 12:58 | Сообщение # 4
старожил
Сейчас нет на сайте
если чисто на php, то сделай либо радибаттон, который будет id покупки передавать, либо отдельно форму на каждый предмет и в скрытом поле передавай id предмета для покупки

Разработка и продвижение сайтов. Дизайн
PONTIAC_GTOДата: Понедельник, 31 Марта 2014, 13:15 | Сообщение # 5
почетный гость
Сейчас нет на сайте
у меня только 20 вид трав, около 15 видов предметов для строительства, более 50 квестовых предметов.
lvovandДата: Понедельник, 31 Марта 2014, 13:46 | Сообщение # 6
старожил
Сейчас нет на сайте
не одновременно же они все сразу у игрока, ну а потом таблица получается просто из целых чисел, id_предмета, id_игрока и кол-во предметов, тормозить в ней особо нечему

Разработка и продвижение сайтов. Дизайн
Vano1930Дата: Суббота, 31 Мая 2014, 14:29 | Сообщение # 7
был не раз
Сейчас нет на сайте
лично я делал покупку так: в бд есть таблица содержащая все товары в магазине, через цикл перебираем их и выводим на станицу магазина, под каждым товаром ссылка купить, в ней хранится два get-параметра, id товара, и id пользователя, из сессии, при нажатии на кнопку купить, товар добавляется в таблицу с инвентарем персонажа, снимается n-ная сумма игровой валюты итд, в таблице с инвентарем храни id купленного товара и id юзера который купил, как то так, и это всё без всяких js, ajax итд сделать можно
SplashUaДата: Вторник, 10 Июня 2014, 11:57 | Сообщение # 8
уже был
Сейчас нет на сайте
это не так уж и трудно =)

Код

While ($w = mysql_fetch_array($q)){

echo "Название: $w[name]<br>Цена: $w[cost]<br><a href='shop.php?sd=buy&id=$w[id]'>Купить</a><br>";

}


это как пример,под свой скрипт переделаешь..
ID вещи ты берёшь из массива(ничего сложного),и передаёшь ГЕТ запросом этот ID вещи в файл(либо кейс) где будет обрабатываться покупка,снятие денег,перенос вещи на склад персонажа(ID его в сессии возьми,или заранее в конфиге дай переменную $user_id = $_SESSION['user_id'])..

а по поводу кол-ва записей,решается всё просто,делаешь ограничение склада в 20-30 единиц,в случаи чего,введи правило в игру,что персонаж,не посещавший игру более 4-ёх месяцев(к примеру),будет удалён,соответственно и его вещи и т.д. и т.п.!

Добавлено (10.06.2014, 11:57)
---------------------------------------------
сделай тогда разные таблицы к примеру,одна для экипировки чисто,другая для прочих предметов,а третья для квестовых вещей)

DinoieraДата: Понедельник, 16 Июня 2014, 17:27 | Сообщение # 9
участник
Сейчас нет на сайте
только не забудь вставить условие на наличие.. иначе получишь баг с продажей.(к примеру есть стандартный баг всех браузрных игру - возврат страницы... игрок продал 10 трав, вернулся продал еще, вернулся[кнопка назад в браузере] и т.д.) делается просто.. проверяешь перед функцией продажи условие на наличие предмета по ид

Помогаю чем могу и прошу взаимной помощи)
DCH - сайт разработчиков игр(новый проект)
  • Страница 1 из 1
  • 1
Поиск:

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