revofenomen
Участник
- Сообщения
- 121
- Реакции
- 3
Всем привет
Увж. пользователи )
На одном из подобных проектов увидел модуль который ограничивает покупки деревьев
С самого начала вы можете купить максимально 15 деревьев
что б купить больше вам нужно докупить землю для посадки дерева
так же само и на складе
ограниченное количество фруктов он хранит
и его можно расширять только покупая больше места
а если фрукты не продать со склада и склад будет полный то больше фруктов не растет
и + они могут гныть
если кто то может написать что то на подобии то очень прошу
так как сам в этом ничего не понимаю )
Увж. пользователи )
На одном из подобных проектов увидел модуль который ограничивает покупки деревьев
С самого начала вы можете купить максимально 15 деревьев
что б купить больше вам нужно докупить землю для посадки дерева
так же само и на складе
ограниченное количество фруктов он хранит
и его можно расширять только покупая больше места
а если фрукты не продать со склада и склад будет полный то больше фруктов не растет
и + они могут гныть
если кто то может написать что то на подобии то очень прошу
так как сам в этом ничего не понимаю )
Подобная функция есть тут http://frutosad.ru
revofenomen
Участник
- Сообщения
- 121
- Реакции
- 3
И так!
Я предлагаю для решения этой задачи ввести следующий функционал:
1. В игре будет присутствовать такой показатель как уровень склада. Отсюда будем отталкиваться и ограничивать объем купленных деревьев для каждого уровня! Например на каждый последующий уровень мы будем добавлять по 15 деревьев для доступности покупки.
2. Назовем его lv_store и внесем в таблицу db_users_b с типом данных INT и значением по умолчанию 1.
3. В файле _farm.php установим после:
Вот эту строку:
4. Мы установили переменную, которая считает все фрукты, которые есть на текущий момент у пользователя. Для проверки, можно вывести инфо об этом строчкой ниже:
5. Переходим к покупке деревьев. Нам необходимо установить проверку, не превышает ли наше кол-во деревьев норму, исходя из уровня склада. Для этого идем в форму:
и после:
вставляем:
Далее перед строчкой:
вставляем:
На этом этапе не все завершается, необходимо дописать кнопку покупки расширения склада.
Киньте идеи, стоимость расширения. Я доделаю. Или доделайте самостоятельно.
Примечание: По условиям того кода, что я написал, у нас склад 1 ур., и позволяет хранить не более 15 деревьев. Если Вы будете внедрять эту систему в существующую ферму с теми данными, что есть, то могут возникнуть трудности. А какие именно, прошу написать, если будете это внедрять. Я на работе, и в ближайшие два дн не смогу сделать проверку.
Я предлагаю для решения этой задачи ввести следующий функционал:
1. В игре будет присутствовать такой показатель как уровень склада. Отсюда будем отталкиваться и ограничивать объем купленных деревьев для каждого уровня! Например на каждый последующий уровень мы будем добавлять по 15 деревьев для доступности покупки.
2. Назовем его lv_store и внесем в таблицу db_users_b с типом данных INT и значением по умолчанию 1.
3. В файле _farm.php установим после:
PHP:
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
PHP:
$abcde_t = $user_data["a_t"] + $user_data["b_t"] + $user_data["c_t"] + $user_data["d_t"] + $user_data["e_t"];
/// Сумма всех деревьев
$canbuy = $user_data["lv_store"] * 15; ///15 - это число доступных деревьев для уровня склада. Если уровень склада = 3, то деревьев можно купить 45 штук.
PHP:
echo $abcde_t;
PHP:
if(isset($_POST["item"])){
PHP:
if($need_money <= $user_data["money_b"]){
PHP:
if ($abcde_t < $canbuy ) {
PHP:
}else echo "<center><font color = '8C0508'><b>Недостаточно серебра для покупки</b></font></center><BR />";
PHP:
}else echo "<center><font color = '8C0508'><b>Недостаточно места на складе для покупки</b></font></center><BR />";
На этом этапе не все завершается, необходимо дописать кнопку покупки расширения склада.
Киньте идеи, стоимость расширения. Я доделаю. Или доделайте самостоятельно.
Примечание: По условиям того кода, что я написал, у нас склад 1 ур., и позволяет хранить не более 15 деревьев. Если Вы будете внедрять эту систему в существующую ферму с теми данными, что есть, то могут возникнуть трудности. А какие именно, прошу написать, если будете это внедрять. Я на работе, и в ближайшие два дн не смогу сделать проверку.
Последнее редактирование:
revofenomen
Участник
- Сообщения
- 121
- Реакции
- 3
revofenomen
Участник
- Сообщения
- 121
- Реакции
- 3
Ага, давай пока на этом остановимся, попробуй купить 16 дерево и отпишись плиз. Проверь таблицу db_users_b на наличие нового столбца.
А потом сделаю кнопку покупки расширения. Там в принципе очень просто. Создать запрос, который будет забирать у user N-денег и увеличивать lv_store на 1. По формуле появится возможность приобретать до 30 деревьев.
А потом сделаю кнопку покупки расширения. Там в принципе очень просто. Создать запрос, который будет забирать у user N-денег и увеличивать lv_store на 1. По формуле появится возможность приобретать до 30 деревьев.
да кстати правильно ли все сделал?
PHP:
<div class="s-bk-lf">
<div class="acc-title">Фруктовая Ферма</div>
</div>
<div class="silver-bk"><div class="clr"></div>
<p>В этом магазине Вы можете приобрести саженцы различных растений. Каждое растение приносит особые плоды которые можно потом продать на рынке и обменять на реальные деньги. Каждое растение даёт разное количество плодов, чем дороже оно тем больше плодоносит. Вы можете покупать любое их количество, растения не засыхают, не исчезают и будут плодоносить всегда. </p><p><font color="#808e04">Перед тем как докупить саженцы следует собрать урожай на складе!</font></p>
</div>
<?PHP
$_OPTIMIZATION["title"] = "Фруктовая Ферма";
$usid = $_SESSION["user_id"];
$refid = $_SESSION["referer_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$abcde_t = $user_data["a_t"] + $user_data["b_t"] + $user_data["c_t"] + $user_data["d_t"] + $user_data["e_t"]
/// Сумма всех деревьев
$canbuy = $user_data["lv_store"] * 15; ///15 - это число доступных деревьев для уровня склада. Если уровень склада = 3, то деревьев можно купить 45 штук.
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
# Покупка нового дерева
if(isset($_POST["item"])){
$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t");
$array_name = array(1 => "Лайм", 2 => "Вишня", 3 => "Клубника", 4 => "Киви", 5 => "Апельсин");
$item = intval($_POST["item"]);
$citem = $array_items[$item];
if(strlen($citem) >= 3){
# Проверяем средства пользователя
$need_money = $sonfig_site["amount_".$citem];
if($need_money <= $user_data["money_b"]){
if ($abcde_t < $canbuy ) {
if($user_data["last_sbor"] == 0 OR $user_data["last_sbor"] > ( time() - 60*20) ){
$to_referer = $need_money * 0.1;
# Добавляем дерево и списываем деньги
$db->Query("UPDATE db_users_b SET money_b = money_b - $need_money, $citem = $citem + 1,
last_sbor = IF(last_sbor > 0, last_sbor, '".time()."') WHERE id = '$usid'");
# Вносим запись о покупке
$db->Query("INSERT INTO db_stats_btree (user_id, user, tree_name, amount, date_add, date_del)
VALUES ('$usid','$usname','".$array_name[$item]."','$need_money','".time()."','".(time()+60*60*24*15)."')");
echo "<center><font color = 'green'><b>Вы успешно посадили саженец</b></font></center><BR />";
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
}else echo "<center><font color = 'red'><b>Перед тем как докупить саженцы следует собрать урожай на складе!</b></font></center><BR />";
}else echo "<center><font color = '8C0508'><b>Недостаточно места на складе для покупки</b></font></center><BR />";
}else echo "<center><font color = 'red'><b>Недостаточно серебра для покупки</b></font></center><BR />";
}else echo 222;
}
?>
<div class="fr-block">
<form action="" method="post">
<div class="cl-fr-lf">
<img src="/img/fruit/lime.jpg" />
</div>
<div class="cl-fr-rg" style="padding-left:20px;">
<div class="fr-te-gr-title"><b>Лайм</b></div>
<div class="fr-te-gr"><b>Плодовитость: </b><font color="#000000"><?=$sonfig_site["a_in_h"]; ?> в час</font></div>
<div class="fr-te-gr"><b>Стоимость: </b><font color="#000000"><?=$sonfig_site["amount_a_t"]; ?> серебра</font></div>
<div class="fr-te-gr"><b>Куплено Вами: </b><font color="#000000"><?=$user_data["a_t"]; ?> шт.</font></div>
<input type="hidden" name="item" value="1" />
<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;" />
</div>
</form>
</div>
<div class="fr-block">
<form action="" method="post">
<div class="cl-fr-lf">
<img src="/img/fruit/cherry.jpg" />
</div>
<div class="cl-fr-rg" style="padding-left:20px;">
<div class="fr-te-gr-title"><b>Вишня</b></div>
<div class="fr-te-gr"><b>Плодовитость: </b><font color="#000000"><?=$sonfig_site["b_in_h"]; ?> в час</font></div>
<div class="fr-te-gr"><b>Стоимость: </b><font color="#000000"><?=$sonfig_site["amount_b_t"]; ?> серебра</font></div>
<div class="fr-te-gr"><b>Куплено Вами: </b><font color="#000000"><?=$user_data["b_t"]; ?> шт.</font></div>
<input type="hidden" name="item" value="2" />
<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
</div>
</form>
</div>
<div class="fr-block">
<form action="" method="post">
<div class="cl-fr-lf">
<img src="/img/fruit/strawberries.jpg" />
</div>
<div class="cl-fr-rg" style="padding-left:20px;">
<div class="fr-te-gr-title"><b>Клубника</b></div>
<div class="fr-te-gr"><b>Плодовитость:</b> <font color="#000000"><?=$sonfig_site["c_in_h"]; ?> в час</font></div>
<div class="fr-te-gr"><b>Стоимость: </b><font color="#000000"><?=$sonfig_site["amount_c_t"]; ?> серебра</font></div>
<div class="fr-te-gr"><b>Куплено Вами:</b> <font color="#000000"><?=$user_data["c_t"]; ?> шт.</font></div>
<input type="hidden" name="item" value="3" />
<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
</div>
</form>
</div>
<div class="fr-block">
<form action="" method="post">
<div class="cl-fr-lf">
<img src="/img/fruit/kiwi.jpg" />
</div>
<div class="cl-fr-rg" style="padding-left:20px;">
<div class="fr-te-gr-title"><b>Киви</b></div>
<div class="fr-te-gr"><b>Плодовитость: </b><font color="#000000"><?=$sonfig_site["d_in_h"]; ?> в час</font></div>
<div class="fr-te-gr"><b>Стоимость: </b><font color="#000000"><?=$sonfig_site["amount_d_t"]; ?> серебра</font></div>
<div class="fr-te-gr"><b>Куплено Вами: </b><font color="#000000"><?=$user_data["d_t"]; ?> шт.</font></div>
<input type="hidden" name="item" value="4" />
<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
</div>
</form>
</div>
<div class="fr-block">
<form action="" method="post">
<div class="cl-fr-lf">
<img src="/img/fruit/orange.jpg" />
</div>
<div class="cl-fr-rg" style="padding-left:20px;">
<div class="fr-te-gr-title"><b>Апельсин</b></div>
<div class="fr-te-gr"><b>Плодовитость: </b><font color="#000000"><?=$sonfig_site["e_in_h"]; ?> в час</font></div>
<div class="fr-te-gr"><b>Стоимость:</b> <font color="#000000"><?=$sonfig_site["amount_e_t"]; ?> серебра</font></div>
<div class="fr-te-gr"><b>Куплено Вами: </b><font color="#000000"><?=$user_data["e_t"]; ?> шт.</font></div>
<input type="hidden" name="item" value="5" />
<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">
</div>
</form>
</div>
<div class="clr"></div>
PHP:
$abcde_t = $user_data["a_t"] + $user_data["b_t"] + $user_data["c_t"] + $user_data["d_t"] + $user_data["e_t"]
PHP:
$abcde_t = $user_data["a_t"] + $user_data["b_t"] + $user_data["c_t"] + $user_data["d_t"] + $user_data["e_t"];
ksander
Участник
- Сообщения
- 100
- Реакции
- 16