Metin2-PHP hilfe bitte Wheel..

06/25/2015 20:24 Yunora#1
Hallöle, ich bin neu im Bereich PHP und wollte fragen ob mir jemadn folgendes script anpasst so das es die items direkt ins IS-Lager packt?.. Danke schonmal

PHP Code:
<?php
include_once '../extern/config.php';
include_once 
'../funkcie.php';

$i file('items.txt');
$bb ISHOP_WHEEL_PRICE;

$cc count($i);
$dd = array();

for(
$ee=10;$ee<$cc;$ee++)
{
  
$dd[] = explode(' ',$i[$ee]);
}
$ff count($dd)-1;
$gg = array();
$hh = array();
for(
$ii=0;$ii<16;$ii++)
{
  
$jj 1;
  
$kk 0;
  while(
$jj $kk)
  {
    
$ll rand(0,$ff);
    while(
in_array($ll,$gg))
    {
      
$ll rand(0,$ff);
    }
    
$kk 18*$dd[$ll][3];
    
$jj rand(0,100);
  }
  
$gg[$ii] = $ll;
  
$hh[] = $dd[$gg[$ii]];
}

mysql_connect(GAME_MYSQL_HOST,GAME_MYSQL_USER,GAME_MYSQL_PASSWORD) or die(mysql_error());
$mm mysql_query("SELECT * FROM ".GAME_MYSQL_ACCOUNT.".account WHERE id='".$_SESSION['ISHOP_SESSION_ID']."' LIMIT 1") or die(mysql_error());
$nn mysql_fetch_assoc($mm);
$oo $nn[ISHOP_COLUMN_COINS];
if(
$oo >= $bb)
{
  
$hh[] = rand(0,15);
  
$pp $hh[$hh[16]];
  
$qq mysql_query("SELECT locale_name,vnum FROM ".GAME_MYSQL_PLAYER.".item_proto WHERE vnum='".$pp[1]."' LIMIT 1") or die(mysql_error());
  if(!
$qq)
  {
    
$hh[16]=-1;
    echo 
json_encode($hh);
    exit();
  }
  
$rr mysql_fetch_assoc($qq);
  
$ss $rr['locale_name'];
  
$hh[] = $ss;
  
/*
  $tt = compareItems($rr['vnum']);
  $uu = checkPos(1);
  $vv = najdiMiesto($uu['islager'],$tt['velkost']);
  */
  
$query mysql_query("SELECT * FROM ".ISHOP_MYSQL_DB.".stock_items_".ISHOP_TABLE_POSTFIX." WHERE vnum='".$pp[1]."' AND user_id='".$_SESSION['ISHOP_SESSION_ID']."' LIMIT 1") or die(mysql_error());
  if(
mysql_num_rows($query) > "0")
  {
    
$xx mysql_query("UPDATE ".ISHOP_MYSQL_DB.".stock_items_".ISHOP_TABLE_POSTFIX." SET count=count+".$pp[2]." WHERE vnum='".$pp[1]."' AND user_id='".$_SESSION['ISHOP_SESSION_ID']."' LIMIT 1") or die(mysql_error());
  }
  else
  {
    
$xx mysql_query("INSERT INTO ".ISHOP_MYSQL_DB.".stock_items_".ISHOP_TABLE_POSTFIX." (vnum,count,user_id)VALUES('".$pp[1]."','".$pp[2]."','".$_SESSION['ISHOP_SESSION_ID']."')") or die(mysql_error());
  }
  
//$ww="INSERT INTO ".GAME_MYSQL_PLAYER.".item (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2)VALUES('".$_SESSION['ISHOP_SESSION_ID']."','MALL','".$vv[0]."','".$pp[2]."','".$pp[1]."','0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0')";
  //$xx=mysql_query($ww);
  
if(!$xx)
  {
    exit();
  }
  
$zz mysql_query("UPDATE ".GAME_MYSQL_ACCOUNT.".account SET ".ISHOP_COLUMN_COINS."=".ISHOP_COLUMN_COINS."-".$bb.", ".ISHOP_COLUMN_MARKS."=".ISHOP_COLUMN_MARKS."+".$bb." WHERE id='".$_SESSION['ISHOP_SESSION_ID']."' LIMIT 1") or die(mysql_error());
  
//$zz=mysql_query($yy);
}
else
{
  
$hh[] = -1;
}
echo 
json_encode($hh);
//echo var_dump($hh);

?>
06/26/2015 16:16 siqnz#2
Ich denke da bist du in der Programmier-Sektion hier besser aufgehoben als in Metin2.
Das liegt ja eher an dem Script als an dem Spiel. :P

[Only registered and activated users can see links. Click Here To Register...]

Am besten im Web Development


Gruß
06/27/2015 10:45 .aNNdii##3
#moved…
06/27/2015 12:30 /exit#4
Ich würde dir ja gern helfen aber dein Code ist schräklich.
Aber um dir dennoch etwas weiter helfen zu können geb ich dir ein
Tipp wie du Sachen in die Datenbank speichern kannst.
INSERT INTO aber weitere Info's darüber findest du hier:
[Only registered and activated users can see links. Click Here To Register...]
06/29/2015 18:33 Yunora#5
das klappt ja alles kommt auch in die player.item aber sobald ein item den slot belegt (andere sind noch frei, im ISlager) kommt nichts mehr rein!
06/29/2015 18:54 #Metho#6
Ja kann ich dir machen ist kein Problem, schicks entweder hier auf Epvp, damit andere dir auch helfen oder sende mir das Script privat über Skype: mrx.epvp
06/29/2015 19:09 ihrnervt#7
Quote:
aber sobald ein item den slot belegt (andere sind noch frei, im ISlager) kommt nichts mehr rein!
Die Slots im IS-Lager haben alle eine feste Zahl. Du musst das Script also nur anweisen, sich die leeren Slots aus der DB zu suchen und dann den/die passenden freien Slot nutzen.
06/29/2015 19:16 Yunora#8
kann mir einer die datei anpassen, das ist die datei wo die items ins is lager sollen