if ($cash < $info->price or $cash == 0 or $cash < 0) { echo "<script>alert('Dein Guthaben reicht nicht aus um dies zukaufen!');history.back();</script>"; exit; }
if ($info->type == 1) {
$exec = "SELECT value0,value1,value2 FROM player.item_proto WHERE vnum = '".$info->value."' LIMIT 1"; $item = $db->getFirst($exec);
$result = $db->q("INSERT INTO player.item_award VALUES (null, 0, '".$data['login']."', ".$info->value.", ".$info->count.", NOW(), null, null, 'Itemshop Kauf am ".date('d.m.Y')." um ".date('h:i')."', ".$item[0].", ".$item[1].", ".$item[2].", '1');"); if ($db->affectedRows() != 0) { if (!$mileage) { if (!$db->q("UPDATE account.account SET coins = coins-".$info->price." WHERE id = ".$data['acc_id'])) { echo "<script>alert('Es ist ein Fehler aufgetreten!');history.back();</script>"; exit; } } else { if (!$db->q("UPDATE account.account SET mileage = mileage-".$info->price." WHERE id = ".$data['acc_id'])) { echo "<script>alert('Es ist ein Fehler aufgetreten!');history.back();</script>"; exit; } } // $db->q("INSERT INTO ".$tbl[7]." VALUES ('".$data['acc_id']."','".$data["login"]."','".$info->price."','".$info->value."','".$info->count."','".$info->name."',NOW(),'".$info->type."')"); $db->q("INSERT INTO ".$tbl[7]." VALUES ('".$data["login"]."','".$info->price."','".$info->value."','".$info->count."','".$info->name."',NOW(),'".$info->type."')");
echo '<h3>Erfolgreich gekauft</h3> <div id="confirmBox"> <div class="itemDesc confirmDesc"> <p> Erfolgreich gekauft! <br> <br> Du hast dieses Item für Yamuna2 gekauft! <br> Das Yamuna2-Team bedankt sich für deinen Einkauf. <br> <br> <br> Du hast das Item '.$info->name.' gekauft! </p><br class="clearfloat" /> <br> </div> </div>'; } else { echo "<script>alert('Es ist ein Fehler aufgetreten. Versuch es bitte nochmal!');history.back();</script>"; exit; } } elseif ($info->type == 2) { // Itemshopbuff Name: exp gold fish usw. if ($info->name == "Doppelte Erfahrung") { $len = $info->value; if (!$db->fetchObject($db->q("SELECT silver_expire FROM account.account WHERE silver_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET silver_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET silver_expire = DATE_ADD(silver_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
} elseif ($info->name == "Alle Itemshopbuffs") { $len = $info->value; if (!$db->fetchObject($db->q("SELECT * FROM account.account where money_drop_rate_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET money_drop_rate_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET money_drop_rate_expire = DATE_ADD(money_drop_rate_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
if (!$db->fetchObject($db->q("SELECT * FROM account.account where silver_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET silver_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET silver_expire = DATE_ADD(silver_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
if (!$db->fetchObject($db->q("SELECT * FROM account.account where gold_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET gold_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET gold_expire = DATE_ADD(gold_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
if (!$db->fetchObject($db->q("SELECT * FROM account.account where safebox_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET safebox_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET safebox_expire = DATE_ADD(safebox_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
if (!$db->fetchObject($db->q("SELECT * FROM account.account where autoloot_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET autoloot_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET autoloot_expire = DATE_ADD(autoloot_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
if (!$db->fetchObject($db->q("SELECT * FROM account.account where marriage_fast_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET marriage_fast_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET marriage_fast_expire = DATE_ADD(marriage_fast_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
if (!$db->fetchObject($db->q("SELECT * FROM account.account where money_drop_rate_expire > now() and login = '".$data["login"]."'"))) { $exec = $db->q("UPDATE account.account SET money_drop_rate_expire = DATE_ADD(NOW(),INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); } else { $exec = $db->q("UPDATE account.account SET money_drop_rate_expire = DATE_ADD(silver_expire,INTERVAL ".$len." DAY) WHERE login = '".$data["login"]."';"); }
echo ' <h3>Erfolgreich gekauft</h3> <div id="confirmBox"> <div class="itemDesc confirmDesc">> <p> Du hast fuuml;r '.$len.' Tage alle Itemshop Buffs gekauft! </p><br class="clearfloat" /> </div> </div>';
} else { echo "<script>alert('Es ist ein Fehler aufgetreten. Versuch es bitte nochmal!');history.back();</script>"; exit; } $cashminus = $db->q("UPDATE account.account SET coins = coins-".$info->price." WHERE id = ".$data['acc_id']); $data["coins"] = $cash - $info->price; $db->q("INSERT INTO log_nl2.itemshop_log VALUES ('".$data["login"]."','".$info->price."','".$info->value."','".$info->count."','".$info->name."',NOW(),'".$info->type."')"); }
//EVTL HIER DER FEHLER???????
elseif ($info->type = 3) {
$stone = explode(';', $info->stones);
if (!empty($info->stones)) { $result = $db->q("INSERT INTO player.item_award VALUES (null, 0, '".$data['login']."', ".$info->value.", ".$info->count.", NOW(), null, null, 'Itemshop Kauf am ".date('d.m.Y')." um ".date('h:i')."', ".$stone[0].", ".$stone[1].", ".$stone[2].", '1');"); } else { $stone[0] = 0; $stone[1] = 0; $stone[2] = 0; $result = $db->q("INSERT INTO player.item_award VALUES (null, 0, '".$data['login']."', ".$info->value.", ".$info->count.", NOW(), null, null, 'Itemshop Kauf am ".date('d.m.Y')." um ".date('h:i')."', ".$stone[0].", ".$stone[1].", ".$stone[2].", '1');"); }
///
if ($db->affectedRows() != 0) { if (!$mileage) { if (!$db->q("UPDATE account.account SET coins = coins-".$info->price." WHERE id = ".$data['acc_id'])) { echo "<script>alert('Es ist ein Fehler aufgetreten!');history.back();</script>"; exit; } } else { if (!$db->q("UPDATE account.account SET mileage = mileage-".$info->price." WHERE id = ".$data['acc_id'])) { echo "<script>alert('Es ist ein Fehler aufgetreten!');history.back();</script>"; exit; } }
$db->q("INSERT INTO ".$tbl[7]." VALUES ('".$data["login"]."','".$info->price."','".$info->value."','".$info->count."','".$info->name."',NOW(),'".$info->type."')"); echo '<h3>Erfolgreich gekauft</h3> <div id="confirmBox"> <div class="itemDesc confirmDesc"> <p> Erfolgreich gekauft! <br> <br> Du hast dieses Item für Yamuna2 gekauft! <br> Das Yamuna2-Team bedankt sich für deinen Einkauf. <br> <br> <br> Du hast das Item '.$info->name.' gekauft! </p><br class="clearfloat" /> <br> </div> </div>'; } else { echo "<script>alert('Es ist ein Fehler aufgetreten. Versuch es bitte nochmal!');history.back();</script>"; exit; } } else { echo "<script>alert('Kategoriefehler!');?cat=1;</script>"; exit; }
?>
Könnt ihr vllt. eine Lösung finden? bzw habt ihr eine?
Oder empfehlt ihr mir ein buggfreies Skript?
[U]Ingameitemshop o Mysql? 05/03/2013 - Metin2 Private Server - 5 Replies Hallo, ich hatte mir mal vorgenommen eine Ingameitemshop zu schreiben ohne Mysql und würde gerne von euch wissen ob es eine gute Idee wär oder nicht.
Der Vorteil dabei ist, das man keine Verbindung aufbauen muss.
kinderleichte Bedienung bei der Verarbeitung des itemshops, sowohl das Einfügen als auch das Entfernen der Items.
Die gekauften Items werden wie der normale itemshop geloggt,->
spielerid, spielername, itemname, uhrzeit/datum ,coins.
beim einfügen von den Items habe ich ei extra...
[How To]Untestet Steinbug V2.0 08/22/2009 - Metin2 Guides & Templates - 12 Replies Ihr braucht einen Char (Körperbob) der beide Items (Waffe (Nur Waffe!!) und Stein im Invi hatt)) und vorher 1H nicht gehandelt hat.
Nun stellt ihr euch an eine stelle wo es nicht laggt, sprich Eisland etc.
Zieht den Stein auf eure Waffe, und dan nichts klicken.
Jetzt zieht die Waffe aus dem Inventar, und wieder nix klicken.
Zieht euch das Steinfenster so das ihr Okay klicken könnt, und euren Char gut sehen könnt.
Jetzt aktiviert Kampfrausch und erwischt genau den Moment an dem...