Помощь в ошибках игры. (AntiNL)

TheGamelz

Новичок
Репутация
0 / 46
Помогите с ошибкой. За помощь спасибо.
Вот Ошибка:
Warning: Invalid argument supplied for foreach() in /home/p48185/www/thegamelz.ru/func/sql_func.php on line 363
Вот код:
Код:
function allparam($pl){
$pt=explode("|",$pl[st]);
$um=explode("|",$pl[umen]);
$mass=mysql_fetch_assoc(mysql_query("SELECT Sum(items.massa) AS mass ,invent.pl_id FROM items INNER JOIN invent ON items.id = invent.protype GROUP BY invent.pl_id HAVING pl_id='$pl[id]';"));
if($mass[mass]=='')$mass[mass]=0;
$trw=affect($pl[affect],3);
foreach ($trw as $key => $val){$pt[$key]+=$val;}
foreach (explode("|",$pl[perk]) as $key => $val){if($val==''){$val=0;}$perk[$key]=$val;}
$pt[30]+=$pl[sila]+($perk[7]*2);$pt[31]+=$pl[lovk]+($perk[9]*2);$pt[32]+=$pl[uda4a]+($perk[10]*2);$pt[33]+=$pl[zdorov]+($perk[8]*2);$pt[34]+=$pl[znan]+($perk[11]*2);$pt[35]+=$pl[mudr];
for($i=30;$i<=35;$i++){if($pt[$i]<0)$pt[$i]=1;}
if($pl[level]<5){$od=80;}else if($pl[level]<10){$od=90;}else $od=100;
$pt[28]=$od+$um[11];
$pt[36]+=$um[1];$pt[37]+=$um[2];$pt[38]+=$um[3];$pt[39]+=$um[4];$pt[40]+=$um[5];$pt[41]+=$um[6];$pt[42]+=$um[7];$pt[43]+=$um[8];$pt[44]+=$um[9];$pt[58]+=$um[26];
$pt[72]=$pl[level];$pt[71]=$mass[mass];
return $pt;
}

И еще вот одна.
Ошибка:
Warning: Invalid argument supplied for foreach() in /home/p48185/www/thegamelz.ru/inc/stats.php on line 1
Код:
Код:
<? $trw=affect($player[affect],3);foreach ($trw as $key => $val){$plst[$key]+=$val;}
foreach (explode("|",$player[perk]) as $key => $val){if($val==''){$val=0;}$perk[$key]=$val;}
$st[1]=$player['sila']+($perk[7]*2);
$st[2]=$player['lovk']+($perk[9]*2);
$st[3]=$player['uda4a']+($perk[10]*2);
$st[4]=$player['zdorov']+($perk[8]*2);
$st[5]=$player['znan']+($perk[11]*2);
foreach($st as $key=>$val){if($val<=0)$st[$key]=1;}
?>


Помогите не могу и все их исправить. Буду очень благодарен.
 
предположу, что переменная не определена как массив в
Код:
foreach (explode("|",$pl[perk])

а если так?

Код:
foreach (explode("|",(array)$pl['perk'])
 
предположу, что переменная не определена как массив в
Код:
foreach (explode("|",$pl[perk])

а если так?

Код:
foreach (explode("|",(array)$pl['perk'])
Осталась такая же ошибка.. Тоже понять не могу...
 
а какая из перечисленных строк - 363-я ? Может я не там смотрю?
 
а какая из перечисленных строк - 363-я ? Может я не там смотрю?
Код:
$pt[36]+=$um[1];$pt[37]+=$um[2];$pt[38]+=$um[3];$pt[39]+=$um[4];$pt[40]+=$um[5];$pt[41]+=$um[6];$pt[42]+=$um[7];$pt[43]+=$um[8];$pt[44]+=$um[9];$pt[58]+=$um[26];
 
Попробуй так
Код:
$pt[36]+=$um[1];$pt[37]+=$um[2];$pt[38]+=$um[3];$pt[39]+=$um[4];$pt[40]+=$um[5];$pt[41]+=$um[6];$pt[42]+=$um[7];$pt[43]+=$um[8];$pt[44]+=$um[9];
 
по второму пробуйте два варианта:
1) <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?$trw=affect($player[affect],3,true);foreach ($trw as $key => $val){$plst[$key]+=$val;}
foreach (explode("|",$player[perk]) as $key => $val){if($val==''){$val=0;}$perk[$key]=$val;}
$st[1]=$player['sila']+($perk[7]*2);
$st[2]=$player['lovk']+($perk[9]*2);
$st[3]=$player['uda4a']+($perk[10]*2);
$st[4]=$player['zdorov']+($perk[8]*2);
$st[5]=$player['znan']+($perk[11]*2);
foreach($st as $key=>$val){if($val<=0)$st[$key]=1;}
?></div>

2) <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?$trw=affect($player[affect],3,);foreach ($trw as $key => $val){$plst[$key]+=$val;}
foreach (explode("|",$player[perk]) as $key => $val){if($val==''){$val=0;}$perk[$key]=$val;}
$st[1]=$player['sila']+($perk[7]*2);
$st[2]=$player['lovk']+($perk[9]*2);
$st[3]=$player['uda4a']+($perk[10]*2);
$st[4]=$player['zdorov']+($perk[8]*2);
$st[5]=$player['znan']+($perk[11]*2);
foreach($st as $key=>$val){if($val<=0)$st[$key]=1;}
?></div>
 
<div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?$trw=affect($player[affect],3,);foreach ($trw as $key => $val){$plst[$key]+=$val;}
foreach (explode("|",$player[perk]) as $key => $val){if($val==''){$val=0;}$perk[$key]=$val;}
$st[1]=$player['sila']+($perk[7]*2);
$st[2]=$player['lovk']+($perk[9]*2);
$st[3]=$player['uda4a']+($perk[10]*2);
$st[4]=$player['zdorov']+($perk[8]*2);
$st[5]=$player['znan']+($perk[11]*2);
foreach($st as $key=>$val){if($val<=0)$st[$key]=1;}
?>
[/quote]
Спасибо помогло
 

Похожие темы

Сверху