Магия !

xBuXPbx

Новичок
Репутация
0 / 48
Народ кароч такой вот глупый вопрос.... у меня магия не используется не какая полностью но когда жмёшь надеть предмет ХП 100, 200 - 500 то ХП добавляется и не могу в ехать почему так... я как для примера взял срц ambulance.php но все равно не кто не получился у меня а если надо вот мой ХП скрипт

Код:
<?php
if ($iteminfo['name'] == "addhp100") $for_add = 100;
elseif ($iteminfo['name'] == "addhp200") $for_add = 200;
elseif ($iteminfo['name'] == "addhp300") $for_use = 300;
elseif ($iteminfo['name'] == "addhp400") $for_use = 400;
elseif ($iteminfo['name'] == "addhp500") $for_use = 500;


$chl_obj=mysql_fetch_array(mysql_query("SELECT SUM(objects.`hp`) as `hp` FROM slots, objects WHERE slots.id='".$chl['id']."' AND objects.user='".$chl['user']."' AND objects.id IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slot
s.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slo
t
s.19) LIMIT 1"));

$ChlSkills = explode("|",$stat['rase_skill']);
$chl['gnom']=$ChlSkills['3']*5;

$chl['hp']+=$chl_obj['hp'];
$h_hpmax=ceil(($chl['vitality']*5+$chl['hp'])*(1+($chl['gnom']/100)));


if ($chl['level'] > 60) $nms="Персонаж \"".$chl['user']."\" отстутствует!";
elseif ($chl['hp_now'] >= $h_hpmax) $nms="Персонаж \"".$chl['user']."\" не нуждается в лечении!";
elseif ($chl['hp_now'] == 0 && $chl['battle']) $nms="Мёртвому поможет только больница...";

// ----- # Рапределяем кому и что можно # ----- //

// ----- # +100 HP && +200 HP # ----- //
elseif (($for_add == 100 || $for_add == 200) && ($stat['user'] != $chl['user'] && $stat['proff'] != 1)) $nms="Восстановление уровня жизни другим персонажам под силу только [u]лекарям[/u]!";
elseif (($for_add == 100 || $for_add == 200) && ($stat['proff'] == 1 && $stat['battle'] != $chl['battle'])) $nms="Для восстановление жизни персонажу Вам необходимо находиться в одном бою ним!";

else {

if ($stat[user]!="$chl[user]") $MesgForAdd = "Персонаж [b][u]$stat[user][/u][/b] восстановил Вам уровень жизни: [b][u]+$for_use НР<u>[/b]";
else $MesgForAdd = "Вы удачно восстановили Ваш уровень жизни: [b]<u>+$for_add НР[/u][/b]";

        include("inc/magic/drop.php");

        require_once("inc/chat/functions.php");
        insert_msg("$MesgForAdd","","","1",$chl['user'],"",$chl['room']);

if ($chl['hp_now'] + $for_use >= $h_hpmax) $hp_query=$h_hpmax;
else $hp_query=$chl['hp_now']+$for_use;

if ($stat['user'] == $chl['user'] && $stat['battle'] == NULL) $stat['hp_now'] = $hp_query;

mysql_query("update players set hp_now=".$hp_query." where id='".$chl['id']."'");

if ($chl['battle']) mysql_query("update participants set hp=".$hp_query." where id='".$chl['id']."'");

$nms="Всё прошло удачно...
Уровень жизни бойца [u]".$chl['user']."[/u] восстановлен на [u]+$for_add HP[/u]";

$alldone=1;
}

?>

надеюсь поможыте !
 
Вот тебе рабочий и следующий раз в исходниках ищи лудше,


<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?
if ($iteminfo['name'] == "addhp100") $for_add = 100;
elseif ($iteminfo['name'] == "addhp200") $for_add = 200;
elseif ($iteminfo['name'] == "addhp300") $for_add = 300;
elseif ($iteminfo['name'] == "addhp400") $for_add = 400;
elseif ($iteminfo['name'] == "addhp500") $for_add = 500;
elseif ($iteminfo['name'] == "addhp500[mf]") $for_add = 500; // добавил свиток 500 хп модивицированный который ваще не работал


$chl_obj=mysql_fetch_array(mysql_query("SELECT SUM(objects.`hp`) as `hp` FROM slots, objects WHERE slots.id='".$chl['id']."' AND objects.user='".$chl['user']."' AND objects.id IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slots.1
0,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slots.
1
9) LIMIT 1"));

$ChlSkills = explode("|",$stat['rase_skill']);
$chl['gnom']=$ChlSkills['3']*5;

$chl['hp']+=$chl_obj['hp'];
$h_hpmax=ceil(($chl['vitality']*5+$chl['hp'])*(1+($chl['gnom']/100)));


if ($chl['hp_now'] >= $h_hpmax) $nms="Персонаж \"".$chl['user']."\" не нуждается в лечении!";
elseif ($chl['hp_now'] == 0 && $chl['battle']) $nms="Мёртвому поможет только больница...";
elseif ($stat['cast'] == 1) $nms="Вы уже кастовали в этом ходу!";
// ----- # +100 HP && +200 HP # ----- //
//elseif ($stat['battle'] != $chl['battle']) $nms="Для восстановление жизни персонажу Вам необходимо находиться в одном бою ним!";

else {


if ($chl['hp_now'] + $for_add >= $h_hpmax) // Дабавлено новое условие при котором выводится
{ // сколько именно хп востановил персонаж
$hp_query=$h_hpmax; // и какой свиток именно заюзал
$hpplus=$h_hpmax-$chl['hp_now']; //
} //
else //
{ //
$hp_query=$chl['hp_now']+$for_add; //
$hpplus=$for_add;
}

if ($stat['user'] == $chl['user'] && $stat['battle'] == NULL) $stat['hp_now'] = $hp_query;

mysql_query("update players set hp_now=".$hp_query." where id='".$chl['id']."'");
mysql_query("update players set energy_now=energy_now-0 where id='".$stat['id']."'");

if ($chl['battle']) mysql_query("update participants set hp=".$hp_query." where id='".$chl['id']."'");

$iteminfo=mysql_fetch_array(mysql_query("SELECT name, title FROM items where name='".$iteminfo['name']."'")); //пришлось еще разок заселектить чтобы можно было выводить title свитка

$nms="Вы использовали ".$iteminfo['title']."...
Уровень жизни бойца ".$chl['user']." восстановлен на +$hpplus HP";


if ($stat[user]!="$chl[user]") $MesgForAdd = "Персонаж $stat[user] восстановил Вам уровень жизни: +$hpplus НР";
else $MesgForAdd = "Вы использовали ".$iteminfo['title']."... Удачно восстановлен Ваш уровень жизни: +$hpplus НР";
include("inc/magic/drop.php");

require_once("inc/chat/functions.php");

insert_msg("$MesgForAdd","","","1",$chl['user'],"",$chl['room']);

$alldone=1;
}

?></div>
 
нет у меня все равно не работает ! народ я вот тут подумал а может надо какую таблицу тип magik сделать ?
 
если в скрипте есть запросы к базе, то наверное надо..
 
нет у меня все равно не работает ! народ я вот тут подумал а может надо какую таблицу тип magik сделать ?
для етава скрипта что выше не нужно magik нет там таких запросов
 
Queen ну помоги тогды штоли ? ты вить умный человек как это сделать ?
 
В основном магия не юзается из-за неправильной кодировки БД.
хотя вот это странно:
--но когда жмёшь надеть предмет ХП 100, 200 - 500 то ХП добавляется
 
В основном магия не юзается из-за неправильной кодировки БД.
хотя вот это странно:
--но когда жмёшь надеть предмет ХП 100, 200 - 500 то ХП добавляется



что странного? если в свойствах предмета прописано, что оно добавляет хп на 100, 200 и тд? хп добавляется не только когда руну юзаешь но и когда одеваешь предмет на себя
 
народ так мне кто не будь поможет или нет ?
 
Возьми со сборки Лидера ! и не парься там всё работает!
 
а сылку можеш дать а то что та я не могу найти :rolleyes


учись юзать поиск!!! p.s Karen
 
</TD>
 
так теперь я окончательно запутался я взял файлы со сборки на которую дали ссылку а магия все равно добавляет ХП при одевании мож надо где не будь в Header.php покопаться ?
 
народ это с ново я и все ещё не разобрался как сделать что бы магия наконец заработала вы скажите какие файлы вам тут выложить я выложу и если не сложно посмотрите кто может в чем там проблема.....
 
Пробуй заменить содержимое файла addhp.php
Код:
<?

$magic_Skills = explode("|",$stat['proff_exp']);
$addd=$magic_Skills['10']/1000;

if ($iteminfo['name'] == "addhp50") {$for_add = 50+intval(50*$addd); $energy = 5;}
elseif ($iteminfo['name'] == "addhp100") {$for_add = 100+intval(100*$addd); $energy = 10;}
elseif ($iteminfo['name'] == "addhp150") {$for_add = 150+intval(150*$addd); $energy = 15;}
elseif ($iteminfo['name'] == "addhp200") {$for_add = 200+intval(200*$addd); $energy = 20;}
elseif ($iteminfo['name'] == "addhp250") {$for_add = 250+intval(250*$addd); $energy = 25;}
elseif ($iteminfo['name'] == "addhp300") {$for_add = 300+intval(300*$addd); $energy = 30;}
elseif ($iteminfo['name'] == "addhp400") {$for_add = 400+intval(400*$addd); $energy = 35;}
elseif ($iteminfo['name'] == "addhp500") {$for_add = 500+intval(500*$addd); $energy = 45;}
elseif ($iteminfo['name'] == "addhp750") {$for_add = 750+intval(750*$addd); $energy = 50;}
elseif ($iteminfo['name'] == "addhp1000") {$for_add = 1000+intval(1000*$addd); $energy = 55;}

$chl_obj=mysql_fetch_assoc(mysql_query("SELECT SUM(objects.`hp`) as `hp` FROM slots, objects WHERE slots.id='".$chl['id']."' AND objects.user='".$chl['user']."' AND objects.id IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slot
s.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slo
t
s.19,slots.20,slots.21,slots.22,slots.23,slots.24,slots.25,slots.26) LIMIT 1"));

$chl['hp']+=$chl_obj['hp'];
$h_hpmax=$chl['vitality']*5+$chl['hp'];

if ($chl['hp_now'] >= $h_hpmax) $nms="Персонаж \"".$chl['user']."\" не нуждается в востановлении!";
elseif ($chl['hp_now'] == 0 && $chl['battle']) $nms="Мёртвому поможет только больница...";
elseif ($stat['energy_now'] < $energy) $nms="У вас не хватает маны!";

else {


if ($chl['hp_now'] + $for_add >= $h_hpmax)     // Дабавлено новое условие при котором выводится
{                        // сколько именно хп востановил персонаж 
    $hp_query=$h_hpmax;            // и какой свиток именно заюзал
    $hpplus=$h_hpmax-$chl['hp_now'];    //
}                        //
else                         //
{                        //
    $hp_query=$chl['hp_now']+$for_add;    //
    $hpplus=$for_add;
}

if ($stat['user'] == $chl['user'] && $stat['battle'] == NULL) $stat['hp_now'] = $hp_query;

mysql_query("update person set hp_now=".$hp_query.", cure_hp=0 where id='".$chl['id']."'"); 
mysql_query("update person set energy_now=energy_now-$energy where id='".$stat['id']."'");

$m_s = 0;
include("includes/magic/magicupdate.php");

if ($chl['battle']) mysql_query("update participants set hp=".$hp_query." where id='".$chl['id']."'");

$iteminfo=mysql_fetch_assoc(mysql_query("SELECT name, title FROM items where name='".$iteminfo['name']."'")); //пришлось еще разок заселектить чтобы можно было выводить title свитка

$nms="Вы использовали ".$iteminfo['title']."...
Уровень жизни персонажа [u]".$chl['user']."[/u] восстановлен на [u]+$hpplus ед.[/u]";

if ($chl['battle']) include("includes/magic/battle_functions.php");

if ($stat[user]!="$chl[user]") $MesgForAdd = "Персонаж [b][u]$stat[user][/u][/b] восстановил Вам уровень жизни: [b][u]+$hpplus ед.<u>[/b]";
else $MesgForAdd = "Вы использовали ".$iteminfo['title']."... Удачно восстановлен Ваш уровень жизни: [b]<u>+$hpplus ед.[/u][/b]";
        include("includes/magic/drop.php");

        require_once("function/chat_insert.php");
        insert_msg("$MesgForAdd","","","1",$chl[user],"","0");


$alldone=1;
}

?>
и в файле magics.php найди примерно такое и замени на это
Код:
// ----- # Свитки восстановления HP # ----- //
if ($iteminfo['name'] == "addhp50" || $iteminfo['name'] == "addhp100" || $iteminfo['name'] == "addhp150"|| $iteminfo['name'] == "addhp200" || $iteminfo['name'] == "addhp250" || $iteminfo['name'] == "addhp300" || $iteminfo['name'] == "addhp400" || $iteminfo['name'] == "addhp500" || $iteminfo['name'] == "addhp750" || $iteminfo['name'] == "addhp1000") {
     if (!(!$stat['battle'] || $chl['battle'])) include("includes/magic/addhp.php");   
     elseif ($stat['battle'] == $chl['battle']) include("includes/magic/addhp.php");
        else $nms="Невозможно использовать! Персонаж или вы находитесь в бою";

У меня все работает на ура, т.ч. если не будет работать, дело не в файлах...
 
народ вот вам сборка которую я мучаю пожалуйста помогите если кто сможет а то я немного в таком :)
 
народ перепробовал множество сборок Алекса и других и не в одной не работает магия везде одно и тоже ! скажите в чём может быть проблема ?
 
народ перепробовал множество сборок Алекса и других и не в одной не работает магия везде одно и тоже ! скажите в чём может быть проблема ?

Скачай мою сборку... 6 рабочих слотов магии + в лавке есть свитки....
 

Похожие темы

Сверху