Пятница, 03 Мая 2024, 00:01

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Увеличение параметров (увеличение параметров в игре)
Увеличение параметров
hripunДата: Четверг, 16 Июня 2011, 20:23 | Сообщение # 1
был не раз
Сейчас нет на сайте
Доброго времени суток!
Хотел бы по интересоваться такой штукой... У меня есть некоторые параметры , допустим:
Шпионаж -10 [+5]
воровство -10 [+5]

10 это параметр шпиона или вора не важно я беру из бызы. По нажатию [+5] должно перезаписаться в базе 15 и сняться к примеру 1000 золота.. а за следующие [+5] должно уже сняться 5000 золота... в принципе я решил этот ребус но код получился очень грамозким и корявым каким то((( мож кто поможет упростить? cool


Нужна помощь в тестировании моей игры

Резервация

6.03.2016
AssasinДата: Четверг, 16 Июня 2011, 20:44 | Сообщение # 2
web-coder
Сейчас нет на сайте
Выложи код, может и поможем.
hripunДата: Четверг, 16 Июня 2011, 21:00 | Сообщение # 3
был не раз
Сейчас нет на сайте
Ну если кусочек то вот такой

Code
<?php
include('../config.php');
?>
Грабителли - <?php echo $vor_centr; echo "<a href ='town_centre.php?id=1' class='links'>[+]</a>"  ?><br>
Саботажники - <?php echo $sab_centr;echo "<a href ='town_centre.php?id=2' class='links'>[+]</a>"  ?><br>
Шпионы -  <?php echo $shpion_centr; echo "<a href ='town_centre.php?id=3' class='links'>[+]</a>"  ?><br>
Диверсанты -  <?php echo $divers_centr; echo "<a href ='town_centre.php?id=4' class='links'>[+]</a>"  ?><br>

<?php if($_GET)
{
      header("Location: {$_SERVER['PHP_SELF']}");  
      header("Location: {$_SERVER['HTTP_REFERER']}");    
}
@$id=trim(htmlspecialchars($_GET['id']));
if (isset($id) and $id==1){if ($vor_centr == 10 and $gold >= 1000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 1000) where username ='$valid_user'");}
if ($vor_centr == 15 and $gold >= 5000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 5000) where username ='$valid_user'");}
if ($vor_centr == 20 and $gold >= 10000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 10000) where username ='$valid_user'");}
if ($vor_centr == 25 and $gold >= 15000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 15000) where username ='$valid_user'");}
if ($vor_centr == 30 and $gold >= 25000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 25000) where username ='$valid_user'");}
if ($vor_centr == 35 and $gold >= 35000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 35000) where username ='$valid_user'");}
if ($vor_centr == 40 and $gold >= 45000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 45000) where username ='$valid_user'");}
if ($vor_centr == 45 and $gold >= 55000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 55000) where username ='$valid_user'");}
if ($vor_centr == 50 and $gold >= 75000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 75000) where username ='$valid_user'");}
if ($vor_centr == 55 and $gold >= 91000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 91000) where username ='$valid_user'");}
if ($vor_centr == 60 and $gold >= 115000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 115000) where username ='$valid_user'");}
if ($vor_centr == 65 and $gold >= 141000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 141000) where username ='$valid_user'");}
if ($vor_centr == 70 and $gold >= 159000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 159000) where username ='$valid_user'");}
if ($vor_centr == 75 and $gold >= 170000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 170000) where username ='$valid_user'");}
if ($vor_centr == 80 and $gold >= 200000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 200000) where username ='$valid_user'");}
if ($vor_centr == 85 and $gold >= 230000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 230000) where username ='$valid_user'");}
if ($vor_centr == 90 and $gold >= 255000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 255000) where username ='$valid_user'");}
if ($vor_centr == 95 and $gold >= 270000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 270000) where username ='$valid_user'");}
if ($vor_centr == 100 and $gold >= 300000)
{ $result = mysql_query("update user set vor_centr =(vor_centr + 5),gold =(gold - 300000) where username ='$valid_user'");}
}
//////// сабатажники  
if (isset($id) and $id==2)
{if ($sab_centr == 10 and $gold >= 1000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 1000) where username ='$valid_user'");}
if ($sab_centr == 15 and $gold >= 5000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 5000) where username ='$valid_user'");}
if ($sab_centr == 20 and $gold >= 10000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 10000) where username ='$valid_user'");}
if ($sab_centr == 25 and $gold >= 15000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 15000) where username ='$valid_user'");}
if ($sab_centr == 30 and $gold >= 25000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 25000) where username ='$valid_user'");}
if ($sab_centr == 35 and $gold >= 35000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 35000) where username ='$valid_user'");}
if ($sab_centr == 40 and $gold >= 45000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 45000) where username ='$valid_user'");}
if ($sab_centr == 45 and $gold >= 55000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 55000) where username ='$valid_user'");}
if ($sab_centr == 50 and $gold >= 75000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 75000) where username ='$valid_user'");}
if ($sab_centr == 55 and $gold >= 91000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 91000) where username ='$valid_user'");}
if ($sab_centr == 60 and $gold >= 115000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 115000) where username ='$valid_user'");}
if ($sab_centr == 65 and $gold >= 141000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 141000) where username ='$valid_user'");}
if ($sab_centr == 70 and $gold >= 159000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 159000) where username ='$valid_user'");}
if ($sab_centr == 75 and $gold >= 170000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 170000) where username ='$valid_user'");}
if ($sab_centr == 80 and $gold >= 200000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 200000) where username ='$valid_user'");}
if ($sab_centr == 85 and $gold >= 230000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 230000) where username ='$valid_user'");}
if ($sab_centr == 90 and $gold >= 255000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 255000) where username ='$valid_user'");}
if ($sab_centr == 95 and $gold >= 270000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 270000) where username ='$valid_user'");}
if ($sab_centr == 100 and $gold >= 300000)
{ $result = mysql_query("update user set sab_centr =(sab_centr + 5),gold =(gold - 300000) where username ='$valid_user'");}
}


Нужна помощь в тестировании моей игры

Резервация

6.03.2016
AssasinДата: Четверг, 16 Июня 2011, 21:58 | Сообщение # 4
web-coder
Сейчас нет на сайте
Вот приблизительный код, очки добавляет нормально, а деньги снимает в такой зависимости:
1000, 5000, 9000, 13000, 17000, 21000 и т.д. тоесть добавляет каждый раз 4000. Но ты можешь ввести какой нибудь коефициент, который при каждой итерации увеличивается, соответственно увеличивает стоимость.
Code

<?php
include('../config.php');
?>
Грабителли - <?php echo $vor_centr; echo "<a href ='town_centre.php?id=1' class='links'>[+]</a>"  ?><br>
Саботажники - <?php echo $sab_centr;echo "<a href ='town_centre.php?id=2' class='links'>[+]</a>"  ?><br>
Шпионы -  <?php echo $shpion_centr; echo "<a href ='town_centre.php?id=3' class='links'>[+]</a>"  ?><br>
Диверсанты -  <?php echo $divers_centr; echo "<a href ='town_centre.php?id=4' class='links'>[+]</a>"  ?><br>

<?php if($_GET)
{
       header("Location: {$_SERVER['PHP_SELF']}");   
       header("Location: {$_SERVER['HTTP_REFERER']}");     
}
@$id=trim(htmlspecialchars($_GET['id']));

function up($v, $g, $type) {
  global $vor_centr;
  global $gold;
  global $valid_user;
   
  if ($vor_centr == $v and $gold >= $g) {
   $result = mysql_query("UPDATE `user`
        SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.")
         WHERE `username` ='".$valid_user."'");
   if ($result) {
    return true;
   } else {
    die(mysql_error());
   }
  }
}

if (isset($id)) {
  switch($id) {
   case 1:
    $num = 10;
    $g = 1000;
    while ($num <= 100) {
     up($num, $g, "vor");
     $num += 5;
     $g += 4000;
    }
    break;
   case 2:
    $num = 10;
    $g = 1000;
    while ($num <= 100) {
     up($num, $g, "sab");
     $num += 5;
     $g += 4000;
    }
    break;
  }
}

Код на работоспособность не проверял, написал абстрактно. Так что если что то не будет работать, то пиши, подправим вместе.
hripunДата: Пятница, 17 Июня 2011, 07:39 | Сообщение # 5
был не раз
Сейчас нет на сайте
а если без использования global ?

Нужна помощь в тестировании моей игры

Резервация

6.03.2016
anton-garДата: Пятница, 17 Июня 2011, 09:28 | Сообщение # 6
WEBmaster
Сейчас нет на сайте
Quote (hripun)
а если без использования global ?


А как ты по другому внесёшь переменные в функцию?


AssasinДата: Пятница, 17 Июня 2011, 10:15 | Сообщение # 7
web-coder
Сейчас нет на сайте
hripun, а чем тебе не нравится global?
a112Дата: Пятница, 17 Июня 2011, 13:02 | Сообщение # 8
участник
Сейчас нет на сайте
static тоже работать должен
А чем вам global не по душе?


топ браузерных игр
hripunДата: Суббота, 18 Июня 2011, 21:26 | Сообщение # 9
был не раз
Сейчас нет на сайте
да с глобал тупанул)) код немного доработал ,терь работает отлично cool Спасибо огромное!!!!! осталось только вывести когда нет денег соответствуещее сообщение

Нужна помощь в тестировании моей игры

Резервация

6.03.2016
anton-garДата: Суббота, 18 Июня 2011, 21:37 | Сообщение # 10
WEBmaster
Сейчас нет на сайте
Quote (hripun)
осталось только вывести когда нет денег соответствуещее сообщение


если цена больше наличных денег, то выводить "у вас не хватает денег" *)


AssasinДата: Воскресенье, 19 Июня 2011, 13:39 | Сообщение # 11
web-coder
Сейчас нет на сайте
Проверка в функции up
Code

if ($vor_centr == $v and $gold >= $g) {
    $result = mysql_query("UPDATE `user`
         SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.")
          WHERE `username` ='".$valid_user."'");
    if ($result) {
     return true;
    } else {
     die(mysql_error());
    }  
} elseif ($gold < $g) {
выводим сообщение о том что денег не хватает
}
hripunДата: Среда, 22 Июня 2011, 22:09 | Сообщение # 12
был не раз
Сейчас нет на сайте
Quote (Assasin)
elseif ($gold < $g) {
выводим сообщение о том что денег не хватает
}

не выводит так нечего


Нужна помощь в тестировании моей игры

Резервация

6.03.2016
anton-garДата: Среда, 22 Июня 2011, 22:17 | Сообщение # 13
WEBmaster
Сейчас нет на сайте
Quote (hripun)
не выводит так нечего


Странно, вроде всё верно...
Проверил у себя всё работает.


AssasinДата: Среда, 22 Июня 2011, 22:18 | Сообщение # 14
web-coder
Сейчас нет на сайте
пробуй так
Code

if ($gold < $g) {
echo "Нету денег";
} elseif ($vor_centr == $v and $gold >= $g) {
     $result = mysql_query("UPDATE `user`
          SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.")
           WHERE `username` ='".$valid_user."'");
     if ($result) {
      return true;
     } else {
      die(mysql_error());
     }   
}

либо перед функцией пишешь
Code
$_SESSION['err'] = "";

функцию изменяешь
Code

if ($gold < $g) {
$_SESSION['err'] = "Нету денег";
} elseif ($vor_centr == $v and $gold >= $g) {
     $result = mysql_query("UPDATE `user`
          SET `".$type."_centr`=(".$type."_centr + 5),`gold`=(gold - ".$g.")
           WHERE `username` ='".$valid_user."'");
     if ($result) {
      return true;
     } else {
      die(mysql_error());
     }   
}

и дальше ошибку выводишь
Code

if ($_SESSION['err'] != "") { echo $_SESSION['err']; }

Можно еще варианты придумать если есть желание smile
hripunДата: Четверг, 23 Июня 2011, 09:15 | Сообщение # 15
был не раз
Сейчас нет на сайте
И вот опять же нет (( я немного модернизировал страницы и может из за этого не получается ( вот весь лист кода

Доступно только для пользователей


Нужна помощь в тестировании моей игры

Резервация

6.03.2016
AssasinДата: Пятница, 24 Июня 2011, 12:46 | Сообщение # 16
web-coder
Сейчас нет на сайте
Code
if ($shpion == $v and $money >= $g)

У тебя в формуле происходит проверка только для шпионов, поэтому измени немного функцию
Code

function up($v, $g, $type_center)   
{    
    global $money;   
        
    if ($type_center == $v and $money >= $g)   
    {   
     $result45 = mysql_query("UPDATE `users`   
          SET `".$type_center."`=(".$type_center." + 5),`money`=(money - ".$g.")   
           WHERE id_user=".$_SESSION['user']['id_user']);   
     if ($result45)   
           {   
              return true;   
           }      
               else      
                   {   
                      die(mysql_error());   
                    }    
   }  elseif ($money < $g) {   
print "выводим сообщение о том что денег не хватает";   
}       
}

ну и ниже подправь где происходит проверка на каждый центр
Code

if (isset($id))   
{   
    switch($id)   
    {   
///////////////////////////////////////////
     case 1:   
      $num = 10;   
      $g = 1000;   
      while ($num <= 100)   
           
      {   
              up($num, $g, "shpion_center");   
              $num += 5;   
              $g += 1000;   
          }    
     
       break;
hripunДата: Четверг, 14 Июля 2011, 14:05 | Сообщение # 17
был не раз
Сейчас нет на сайте
не знаю можно так или нет но не создавая новую тему спрошу как сделать в игре смену фона и шрифта в настройках ????

Добавлено (14.07.2011, 14:05)
---------------------------------------------
хех чет не кого нет совсем sad


Нужна помощь в тестировании моей игры

Резервация

6.03.2016


Сообщение отредактировал hripun - Среда, 13 Июля 2011, 22:57
webstrict666Дата: Четверг, 14 Июля 2011, 16:13 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
css кури) body

http://GAMESKROL.RU
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
hripunДата: Четверг, 14 Июля 2011, 16:47 | Сообщение # 19
был не раз
Сейчас нет на сайте
Quote (webstrict666)
css кури) body

Афигенно помог........


Нужна помощь в тестировании моей игры

Резервация

6.03.2016
lvovandДата: Четверг, 14 Июля 2011, 17:28 | Сообщение # 20
старожил
Сейчас нет на сайте
css и javascript в помощь

примерно так:
делаешь, например, два разных файла css со своими стилями
<head>
<link id="style" rel="stylesheet" type="text/css" href="file1.css" />
...
</head>

добавляешь js-функцию вроде такой

function changeStyle(css){
document.getElementById('style').href = css;
}

в функцию надо будет передать название нужного css-файла

<input type='button' value='Сменить стиль' onClick="changeStyle('file2.css')">

если надо, чтобы выбор сохранялся, то с помощью того же js сохранять cookie с выбором пользователя

ссыль с решением http://www.jstoolbox.com/2008/04/05/sozdanie-pereklyuchatelya-stilej/


Разработка и продвижение сайтов. Дизайн

Сообщение отредактировал lvovand - Четверг, 14 Июля 2011, 17:29
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Увеличение параметров (увеличение параметров в игре)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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