За последние 24 часа нас посетили 18024 программиста и 1635 роботов. Сейчас ищут 1022 программиста ...

Помогите подкорректировать код

Тема в разделе "Сделайте за меня", создана пользователем puschistik, 17 июл 2014.

  1. puschistik

    puschistik Новичок

    С нами с:
    4 июл 2014
    Сообщения:
    11
    Симпатии:
    0
    У меня есть такой скрипт:

    Код (PHP):
    1. <?
    2. define('PROTECTOR', 1);
    3.  
    4. $head = 'boss';//фикс. места
    5. $textl='Боссы';
    6. @include('files/db.php');
    7. @include('files/auth.php');
    8. @include('files/func.php');
    9. ryd();
    10. @include('files/core.php');
    11. @include('files/head.php');
    12. @include('files/zag.php');
    13. ////////////////////////ОЖИВЛЕНИЕ//////
    14. $timer=time()-2400;
    15. mysql_query("DELETE FROM `temp` WHERE user='$log' and `user`='$log' and `hp`='0' and `ltime`<'$timer'") or die (mysql_error());
    16. ///:))//
    17.  
    18. $random=rand(1000,9999);
    19. ////////////////
    20. $timer=time()+300;
    21.  
    22. switch($_GET[mod]){
    23.  
    24. default:
    25. echo"<div class='foot'>";
    26. echo"<font color='#ffc22b'> • Боссы доступны с 20 уровня, за их победу ты получишь ценные ресурсы, монеты!$div</font>";
    27. if ($_GET[page] == "") {$_GET[page] = 0;}
    28. $next = $_GET[page] + 1;
    29. $back = $_GET[page] - 1;
    30. $num = $_GET[page] * 5;
    31. if($_GET[page] == "0"){$i = 1;}else{$i = ($_GET[page]*5)+1;}
    32. $avto = mysql_query("SELECT * FROM `boss` ORDER BY `lvl` ASC ")or die(mysql_error());
    33. $req = mysql_query("SELECT * FROM `boss` ORDER BY `lvl` ASC LIMIT $num,5")or die(mysql_error());
    34. ////////////////////////////
    35. $avto=mysql_num_rows($avto);
    36. $puslap = floor($avto/5);
    37. if($avto>=1){
    38. $max=$udata[lvl]+5;
    39. $min=$udata[lvl]-9;
    40. While($boss = mysql_fetch_array($req)){
    41. $font="white";
    42. $level="$boss[lvl] уровень";
    43. $text = "<img src='pic/up.png' alt='hp'/> ";
    44. if($boss[lvl]>$max){$font="chocolate"; $text = " Требуется <img src='pic/up.png' alt='hp'/> ";}
    45. elseif($boss[lvl]<$min){$font="gray";}else{
    46. $timer=time()-2400;
    47. $hp = mysql_query("SELECT hp FROM `temp` WHERE `id` = '$boss[id]' and `user`='$log' LIMIT 1");
    48. $temp = mysql_query("SELECT * FROM `temp` WHERE `id` = '$boss[id]' and `user`='$log' and `status`='die' and `ltime`>'$timer' LIMIT 1");
    49. $avtot=mysql_num_rows($temp);
    50. $bossen = mysql_fetch_array($temp);
    51. $bhp = mysql_fetch_array($hp);
    52. if($bhp[hp]>>0){$boss[hp]=$bhp[hp];}
    53. $time = time();
    54. $ti=round((2400+$bossen[ltime]-$time)/60);
    55. $vr="минут";
    56. if(2400+$bossen[ltime]-$time <= 60){$vr="секунд"; $ti=2400+$bossen[ltime]-$time; }
    57. if($avtot>>0){$font="gray"; $text = "Бос погиб. До восстановления: $ti $vr"; $level = "";}
    58. }
    59.  
    60. echo'<img class="float-left" src="pic/game/boss/'.$boss[lvl].'.jpg" height="40" width="40"/> </a>
    61. [url="boss.php?mod=info&id='.$boss[id].'"]'.$boss[name].'[/url] (<img src="pic/game/mob/hp.gif" alt="hp"/>  '.$boss[hp].')<br>
    62.  <font color="'.$font.'"> '.$text.' '.$level.'</font><br>
    63. [url="boss.php?mod=info&id='.$boss[id].'"]Атаковать[/url]<br><br>'; echo"$div";}
    64. echo"<div class='dot'>";
    65. if ($_GET[page] > 0){echo "<br><a href=\"boss.php?page=$back\">«Назад</a><br>";}
    66. if ($_GET[page] > 0 and $_GET[page] < $puslap){ echo" | ";} 
    67. if($_GET[page] < $puslap or $viso > 5){echo "<br><a href=\"boss.php?page=$next\">Вперeд»</a><br>";}
    68. }else{
    69. echo'Нет боссов!<br/><br>';}
    70.   echo'<br>[url="index.php?"]На главную[/url]</div>';
    71. break;
    72.  
    73. case 'info':
    74. $id = htmlspecialchars(addslashes(stripslashes($_GET['id'])));
    75. $req = mysql_query("SELECT * FROM `boss` WHERE `id` = '$id' LIMIT 1");
    76. ////////////////////////////
    77. if (mysql_num_rows($req)==0){echo"Такого босса не существует.".mysql_num_rows($req);
    78. @include('files/down.php');exit;}
    79. $hp = mysql_query("SELECT * FROM `temp` WHERE `id` = '$id' and `user`='$log' LIMIT 1");
    80. $bhp = mysql_fetch_array($hp);
    81. $mob = mysql_fetch_array($req);
    82. if($bhp[hp]>>0){$mob[hp]=$bhp[hp];}
    83. echo'<img class="float-left" src="pic/game/boss/'.$mob[lvl].'.jpg" style="margin-right:8px;" alt=""/> </a>';
    84. echo"<b>$mob[name] <img src=\"pic/up.png\" alt=\"*\"/> $mob[lvl] </b><br>";
    85. echo"<img src=\"pic/game/mob/hp.gif\" alt=\"*\"/> Жизни: <b>$mob[hp]</b><br>";
    86. echo"<img src=\"pic/pers/udar.png\" alt=\"*\"/> Урон: <b>$mob[uron]</b><br>";
    87. echo"<img src=\"pic/pers/verh.png\" alt=\"*\"/> Защита: <b>$mob[prot]</b><br>";
    88. echo"<img src=\"pic/pers/lovk.png\" alt=\"*\"/> Ловкость: <b>$mob[lovk]</b><br>";
    89. echo"<img src=\"pic/pers/krit.png\" alt=\"*\"/> Крит: <b>$mob[krit]%</b><br>";
    90. echo"<img src=\"pic/pers/krit.png\" alt=\"*\"/> Крит-урон: <b>$mob[ukrit]%</b><br>";
    91. echo"<img src=\"pic/up.png\" alt=\"*\"/> Опыта: <b>$mob[exp]</b><br>";
    92. echo"<img src=\"pic/bazar.gif\" alt=\"*\"/> Монет: <b>$mob[money]</b><br>";
    93. $max=$udata[lvl]+5;
    94. $min=$udata[lvl]-9;
    95. if($mob[lvl]>$max){echo"<img src=\"pic/game/kay.png\" alt=\"*\"/> <font color='chocolate'> Нельзя атаковать. Требуется <b>$mob[lvl]</b> уровень!</font>";}
    96. elseif($mob[lvl]<$min){echo"<img src=\"pic/game/kay.png\" alt=\"*\"/> <font color='gray'> 
    97. Нельзя атаковать. Этот босс ниже вашего уровня!</font>";}else{
    98. $timer=time()-2400;
    99. $temp = mysql_query("SELECT * FROM `temp` WHERE `id` = '$mob[id]' and `user`='$log' and `status`='die' and `ltime`>'$timer' LIMIT 1");
    100. $avtot=mysql_num_rows($temp);
    101. if($avtot>>0){
    102. $bossen = mysql_fetch_array($temp);
    103. $time = time();
    104. $ti=round((2400+$bossen[ltime]-$time)/60);
    105. $vr="минут";
    106. if(2400+$bossen[ltime]-$time <= 60){$vr="секунд"; $ti=2400+$bossen[ltime]-$time; }
    107. echo"<font color=\"gray\"> Бос погиб. До восстановления: $ti $vr</font>";
    108. }elseif ($in_battle=='1' ){echo"<font color=\"gray\"> Вы уже в бою с другим боссом</font>";}
    109.  
    110. else{
    111.  
    112. echo'<form action="ok.php?id='.$id.'" method="post">';
    113. echo'<input class="button" type="submit" value="Атаковать" /></form><br>';}}
    114. echo"$div";
    115. echo'[url="javascript:history.go(-1)"]Назад[/url]<br>';
    116. break;
    117.  
    118. }
    119. echo'</div>';
    120. @include('files/down.php');
    121. ?>
    // используем BB-коды. Luge

    Мне нужно,чтобы после смерти у боссов увеличивались все характеристики на 2 процента от предыдущего значения.т.е. был босс 100 хп,100 защиты,100 ловкости и т.д,после смерти его характеристики стали 102.потом 2 % от 102 ~(приближённо) 104,и лак до бесконечности,но когда статы где то до 200 дойдут не 202 204 будут,а 204,208,то есть так и будет 2%)))
    Помогите
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Во первых надо получить положение корневой папки и подключать файлы от нее, т.е. так:
    Код (PHP):
    1. define( 'DIR', dirname(__FILE__) );
    2. include DIR. '/files/db.php'; 
    Во вторых если очередь подключения файлов не играет роли можно сделать так:
    Код (PHP):
    1. $files = array(
    2. 'files/db.php',
    3. 'files/auth.php',
    4. 'files/func.php',
    5. 'files/core.php',
    6. 'files/head.php',
    7. 'files/zag.php'
    8. );
    9.  
    10. foreach ( $files as $inc ) {
    11.     if ( file_exists($inc) ) { // проверяем существует файл или нет и не надо ни каких @
    12.         include_once ($inc);
    13.     }
    14. } 
    при отправке запросов обязательно должно быть экранирование данных, а иначе твой сайт взломают запросто, экранирование выполняется методом - real_escape_string

    А все остальное мне лень изучать, но думаю там тоже не все идеально (по одному внешнему виду видно).
     
  3. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    боюсь, здесь ничего кроме совета удалить код и написать его нормально не появится.
    Код (PHP):
    1. $mob['hp'] += round(2*$mob['hp']/100);
    так, наверно.

    когда выложишь в инет — скинь ссылку поржать
     
  4. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Ну, автор просила на 2%, а не на 20, а так все верно.
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    твоя правда