Полазей по ферме. На страницах есть коды кнопок. Например ежедневный бонус. Что мешает взять оттуда код и вместо прибавления рандомного серебра установить увеличение уровня склада. Увеличения кол-ва доступных саженцев? ) И отнимать за это серебро?AA21AA написал(а):Не все же умеют кодить. Мне к примеру, вытащить что-то из чужого кода и прикруть к себе, не составит труда. (то есть, если есть пример я смогу переделать под себя).
А вот написать что то своё, увы и ах.
Ну и если не сложно, то пожалуйста кодом кнопки расширения поделитесь.
Wolf88
Участник
- Сообщения
- 135
- Реакции
- 54
Не по теме, но все же...wh1skas написал(а):Полазей по ферме. На страницах есть коды кнопок. Например ежедневный бонус. Что мешает взять оттуда код и вместо прибавления рандомного серебра установить увеличение уровня склада. Увеличения кол-ва доступных саженцев? ) И отнимать за это серебро?
Ну они не хотят видимо потому, что лень... Все чаще и чаще я таких наблюдаю. Да, хорошо когда вопрос тяжелый и мало где писалось, но подобные проблемы/мысли - вроде легче легкого... При условии того, что уже даже исходники есть
Я с каждым днем начинаю убеждаться, что лень сильнее желания )) Было бы желание, действительно ) А ведь я сюда пришел, тоже был зелененьким новичком )Wolf88 написал(а):Не по теме, но все же...
Ну они не хотят видимо потому, что лень... Все чаще и чаще я таких наблюдаю. Да, хорошо когда вопрос тяжелый и мало где писалось, но подобные проблемы/мысли - вроде легче легкого... При условии того, что уже даже исходники есть
Wolf88
Участник
- Сообщения
- 135
- Реакции
- 54
Аналогично.wh1skas написал(а):Я с каждым днем начинаю убеждаться, что лень сильнее желания )) Было бы желание, действительно ) А ведь я сюда пришел, тоже был зелененьким новичком )
Пора выставлять систему "Хайд", тогда думаю и вопросов будет куда меньше =)
Ну вот вроде и с покупкой вопрос решился,смотрите,предлагайте свои варианты,накидал на скорую руку,завтра хочу реализовать как отдельный магазин по продаже ульев(в моем случае)
Код:
$sum = 10000; ///Стоимость уровня
$level = 1;
if(isset($_POST["level"])){
$need_money = $sum;
if($need_money <= $user_data["money_b"]){
# Добавляем уровень и списываем деньги
$db->Query("UPDATE db_users_b SET lv_store = lv_store + 1 WHERE id = '$usid'");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$sum' WHERE id = '$usid'");
echo "<center><font color = 'green'><b>Вы успешно увеличили соты</b></font></center><BR />";
}else echo "<center><font color = 'red'><b>Недостаточно серебра для покупки</b></font></center><BR />";
}
?>
<form action="" method="post">
<table width="330" border="0" align="center">
<tr>
<td align="center"></td>
</tr>
<tr>
<td align="center"><input type="submit" name="level" value="Увеличить соты" style="height: 30px; margin-top:10px;"></td>
</tr>
</table>
</form>
Проверки максимального количесва в поле нетуalexsoft59 написал(а):Ну вот и первый вопрос по этой теме появился,как такое возможно,просто у меня возможно покупать сразу определенное количество юнитов,и если есть место для одного,а в поле для покупки вставляешь например,5,то все покупка проходит нормально. Как это исправить?
А где ее воткнуть то,подскажи,а?kvozimir написал(а):Проверки максимального количесва в поле нету
viking517
Местный
- Сообщения
- 44
- Реакции
- 2
меня тоже интересуетalexsoft59 написал(а):А где ее воткнуть то,подскажи,а?
Да уже разобрались с этим вопросом...viking517 написал(а):меня тоже интересует
Shoma2114
Местный
- Сообщения
- 63
- Реакции
- 2
В твоем магазине же есть подобный модуль уровень скрадаwh1skas написал(а):Эта запись появляется, если у тебя больше 14 построек всего. Неважно каких. Сумма больше 14. Это на первый уровень склада.
- Сообщения
- 280
- Реакции
- 46
А если я хочу сделать так, что каждый фрукт занимает определенное место на складе (не по 1 каждый, а, например, 2,5,10 места и т.п., в зависимости от стоимости фрукта)? Склад, естественно, имеет определенный размер (ну скажем 10 со старту). И нужно, чтобы при покупке фрукта учитывался его размер. Т.е. если ты хочешь купить фрукт, а места для него на складе не хватает - то выводится соответствующее предупреждение и покупка не происходит.
На практике я присвоил в базе данных каждому фрукту свой размер (size_a , size_b и т.д.). Также создал в бд переменную для размера склада (lv_store).
Если я правильно сделал, то подсчет занимаемого места производится по формуле:
$size_all = ($user_data["a_t"]*$sonfig_site["size_a"]) + ($user_data["b_t"]*$sonfig_site["size_b"]) + ... (ну тут все работает)
$canbuy = ($user_data["lv_store"]) - $size_all; (а тут почему-то проблема - при выводе echo $canbuy; показывает не верное значение. Как исправить формулу?) (чуть позже нашел в чем беда - хоть я и указал в бд для lv_store значения INT 11 Как определено: 10 - оно всеравно выдает что lv_store = 1, а не 10.. почему?
И дальше самое интересное.. Формула покупки фруктов одна на все фрукты (то есть не для каждого фрукта прописывается отдельно, а все в одном). А как туда прикрутить размер фрукта, чтобы при подсчете учитывался размер именно покупаемого фрукта, как это сделано скажем для его цены?
Я php только начал изучать, поэтому сразу всего и не вижу. Буду благодарен кто подскажет. Заранее спасибо!
На практике я присвоил в базе данных каждому фрукту свой размер (size_a , size_b и т.д.). Также создал в бд переменную для размера склада (lv_store).
Если я правильно сделал, то подсчет занимаемого места производится по формуле:
$size_all = ($user_data["a_t"]*$sonfig_site["size_a"]) + ($user_data["b_t"]*$sonfig_site["size_b"]) + ... (ну тут все работает)
$canbuy = ($user_data["lv_store"]) - $size_all; (а тут почему-то проблема - при выводе echo $canbuy; показывает не верное значение. Как исправить формулу?) (чуть позже нашел в чем беда - хоть я и указал в бд для lv_store значения INT 11 Как определено: 10 - оно всеравно выдает что lv_store = 1, а не 10.. почему?
И дальше самое интересное.. Формула покупки фруктов одна на все фрукты (то есть не для каждого фрукта прописывается отдельно, а все в одном). А как туда прикрутить размер фрукта, чтобы при подсчете учитывался размер именно покупаемого фрукта, как это сделано скажем для его цены?
Я php только начал изучать, поэтому сразу всего и не вижу. Буду благодарен кто подскажет. Заранее спасибо!
Последнее редактирование:
- Сообщения
- 280
- Реакции
- 46
Как я понял тут все дело в массиве. По аналогии с выбором покупаемого дерева я сделал массив с размерами деревьев, но оно все равно не работает. Кто подскажет в чем ошибка? (Привожу весь код. Выделенное - это то, что я добавил):
/// Сумма размеров всех деревьев игрока
$size_all = ($user_data["a_t"]*$sonfig_site["size_a_t"]) + ($user_data["b_t"]*$sonfig_site["size_b_t"]) + ($user_data["c_t"]*$sonfig_site["size_c_t"]) + ($user_data["d_t"]*$sonfig_site["size_d_t"]) + ($user_data["e_t"]*$sonfig_site["size_e_t"]) + ($user_data["f_t"]*$sonfig_site["size_f_t"]);
/// Доступно места для покупки деревьев
$canbuy = (($user_data["lv_store"]*10) - $size_all);
# Покупка нового дерева
if(isset($_POST["item"])){
$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t", 6 => "f_t");
$array_name = array(1 => "Лайм", 2 => "Вишня", 3 => "Клубника", 4 => "Киви", 5 => "Апельсин", 6 => "Херня");
$array_size = array (1 => "size_a_t", 2 => "size_b_t", 3 => "size_c_t", 4 => "size_d_t", 5 => "size_e_t", 6 => "size_f_t");
$item = intval($_POST["item"]);
$size = intval ($_POST["size"]);
$citem = $array_items[$item];
$csize = $array_size[$size];
if(strlen($citem) >= 3){
# Проверяем средства пользователя
$need_money = $sonfig_site["amount_".$citem];
if($need_money <= $user_data["money_b"]){
# Проверка доступного места на складе
$need_place = $sonfig_site["size_".$csize];
if ($need_place <= $canbuy ){
# Добавляем дерево и списываем деньги
$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 = 'blue'><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 = 'red'><b>Недостаточно серебра для покупки</b></font></center><BR />";
}else echo 222;
}
?>
/// Сумма размеров всех деревьев игрока
$size_all = ($user_data["a_t"]*$sonfig_site["size_a_t"]) + ($user_data["b_t"]*$sonfig_site["size_b_t"]) + ($user_data["c_t"]*$sonfig_site["size_c_t"]) + ($user_data["d_t"]*$sonfig_site["size_d_t"]) + ($user_data["e_t"]*$sonfig_site["size_e_t"]) + ($user_data["f_t"]*$sonfig_site["size_f_t"]);
/// Доступно места для покупки деревьев
$canbuy = (($user_data["lv_store"]*10) - $size_all);
# Покупка нового дерева
if(isset($_POST["item"])){
$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t", 6 => "f_t");
$array_name = array(1 => "Лайм", 2 => "Вишня", 3 => "Клубника", 4 => "Киви", 5 => "Апельсин", 6 => "Херня");
$array_size = array (1 => "size_a_t", 2 => "size_b_t", 3 => "size_c_t", 4 => "size_d_t", 5 => "size_e_t", 6 => "size_f_t");
$item = intval($_POST["item"]);
$size = intval ($_POST["size"]);
$citem = $array_items[$item];
$csize = $array_size[$size];
if(strlen($citem) >= 3){
# Проверяем средства пользователя
$need_money = $sonfig_site["amount_".$citem];
if($need_money <= $user_data["money_b"]){
# Проверка доступного места на складе
$need_place = $sonfig_site["size_".$csize];
if ($need_place <= $canbuy ){
# Добавляем дерево и списываем деньги
$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 = 'blue'><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 = 'red'><b>Недостаточно серебра для покупки</b></font></center><BR />";
}else echo 222;
}
?>
- Сообщения
- 322
- Реакции
- 72
>> $size = intval ($_POST["size"]);
Пользователь вводит размер фрукта чтоли? Мне кажется это не так. Тут значит ошибка. Я думаю, что должно быть $csize = $array_size[$item];
>> $need_place = $sonfig_site["size_".$csize];
У тебя в переменной $csize по логике хранится - 'size_a_t', и получается что $need_place = $sonfig_site['size_size_a_t'] - это точно так должно быть? Мне кажется нет.
Включи вывод ошибок, смотри ошибки... Выводи все новые переменные, смотри какие значения они имееют, такие ли ты значения ожидал увидеть в них.
Пользователь вводит размер фрукта чтоли? Мне кажется это не так. Тут значит ошибка. Я думаю, что должно быть $csize = $array_size[$item];
>> $need_place = $sonfig_site["size_".$csize];
У тебя в переменной $csize по логике хранится - 'size_a_t', и получается что $need_place = $sonfig_site['size_size_a_t'] - это точно так должно быть? Мне кажется нет.
Включи вывод ошибок, смотри ошибки... Выводи все новые переменные, смотри какие значения они имееют, такие ли ты значения ожидал увидеть в них.
Последнее редактирование:
- Сообщения
- 280
- Реакции
- 46
Убрал $size = intval ($_POST["size"]); - как я понял это вообще не нужно.
Сделал $csize = $array_size[$item]; - ну в принципе логично, по скольку $item относится как к виду фрукта так и к его размеру.
А дальше?
# Проверка доступного места на складе для фруктов
$need_place = $sonfig_site["size_".$csize];
if ($need_place <= $canbuy ){
сделано по аналогии с этим:
# Проверяем средства пользователя
$need_money = $sonfig_site["amount_".$citem];
if($need_money <= $user_data["money_b"]){
И все равно не работает - фрукты покупаются не зависимо от размера
Я правильно понял, что $sonfig_site["amount_".$citem] определяет какой именно фрукт собираешься купить и его стоимость?
И как включить вывод ошибок? Я есчо не знаю такого
Сделал $csize = $array_size[$item]; - ну в принципе логично, по скольку $item относится как к виду фрукта так и к его размеру.
А дальше?
# Проверка доступного места на складе для фруктов
$need_place = $sonfig_site["size_".$csize];
if ($need_place <= $canbuy ){
сделано по аналогии с этим:
# Проверяем средства пользователя
$need_money = $sonfig_site["amount_".$citem];
if($need_money <= $user_data["money_b"]){
И все равно не работает - фрукты покупаются не зависимо от размера
Я правильно понял, что $sonfig_site["amount_".$citem] определяет какой именно фрукт собираешься купить и его стоимость?
И как включить вывод ошибок? Я есчо не знаю такого
- Сообщения
- 280
- Реакции
- 46
">> $need_place = $sonfig_site["size_".$csize];
У тебя в переменной $csize по логике хранится - 'size_a_t', и получается что $need_place = $sonfig_site['size_size_a_t'] - это точно так должно быть? Мне кажется нет."
Почему именно 'size_a_t' ? По идее там должен быть именно фрукт, который собираешься купить?
У тебя в переменной $csize по логике хранится - 'size_a_t', и получается что $need_place = $sonfig_site['size_size_a_t'] - это точно так должно быть? Мне кажется нет."
Почему именно 'size_a_t' ? По идее там должен быть именно фрукт, который собираешься купить?
- Сообщения
- 280
- Реакции
- 46
- Сообщения
- 322
- Реакции
- 72
skroliks написал(а):Ааааааа! Получилось!
Изменил $need_place = $sonfig_site["size_".$csize]; на $need_place = $sonfig_site[$csize] и все заработало!!!
Спасибо ОГРОМНЕЙШЕЕ!! Где тут можно +10 Вам поставить??
А еще в целях уменьшения размера скрипта, соответственно увеличения скорости его загрузки, можно убрать лишние строки..
Убрать:
1. $array_size = array (1 => "size_a_t", 2 => "size_b_t", 3 => "size_c_t", 4 => "size_d_t", 5 => "size_e_t", 6 => "size_f_t");
2. $csize = $array_size[$size];
Заменить:
$need_place = $sonfig_site[$csize];
НА:
$need_place = $sonfig_site["size_".$citem];
У тебя имя покупаемого дерева уже хранится в переменной $citem, поэтому не надо создавать еще один массив с точно такими же именами, которые отличаются лишь приставкой size_. Лучше потом один раз использовать эту приставку, в переменной $need_place, чем 6 раз в лишнем массиве $array_size.
Это исправление, конечно, не сильно ускорит загрузку страницы, но так код красивее
А если будет таких оптимизаций в коде много, то время загрузки уменьшится)