Gala |
Wysłany: Nie 18:25, 12 Lis 2006 Temat postu: Przekazywanie ujemnych rzeczy |
|
Otwórz swój plik bank.php, usun wszystko i wloż poniższy kod:
Kod: | <?php
/***************************************************************************
* bank.php
* -------------------
* copyright : (C) 2004 Vallheru Team based on Gamers-Fusion ver 2.5
* email : gala01@o2.pl
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
***************************************************************************/
$title = "Bank";
require_once("includes/head.php");
if ($player -> location != 'Altara' & $player -> location != 'Muran' & $player -> location != 'Lordeon' & $player -> location != 'Nortorhia' & $player -> location != 'Isengard') {
error ("Nieznajdujesz sie w żadnym z Miast");
}
//przypisanie zmiennych
$smarty -> assign(array("Potions" => '', "Minerals" => '', "Items" => '', "Crime" => '', "Herbs" => ''));
$item = $db -> Execute("SELECT id, name, amount FROM equipment WHERE owner=".$player -> id." AND status='U'");
if ($item -> fields['id']) {
$arrid = array();
$arrname = array();
$arramount = array();
$i = 0;
while (!$item -> EOF) {
$arrid[$i] = $item -> fields['id'];
$arrname[$i] = $item -> fields['name'];
$arramount[$i] = $item -> fields['amount'];
$i = $i + 1;
$item -> MoveNext();
}
$smarty -> assign ( array("Itemid" => $arrid, "Itemname" => $arrname, "Itemamount" => $arramount, "Items" => 1));
}
$item -> Close();
$miks = $db -> Execute("SELECT id, nazwa, amount FROM mikstury WHERE gracz=".$player -> id." AND status='K'");
if ($miks -> fields['id']) {
$arrid = array();
$arrname = array();
$arramount = array();
$i = 0;
while (!$miks -> EOF) {
$arrid[$i] = $miks -> fields['id'];
$arrname[$i] = $miks -> fields['nazwa'];
$arramount[$i] = $miks -> fields['amount'];
$i = $i + 1;
$miks -> MoveNext();
}
$smarty -> assign ( array("Potionid" => $arrid, "Potionname" => $arrname, "Potionamount" => $arramount, "Potions" => 1));
}
$miks -> Close();
$test = $db -> Execute("SELECT illani, illanias, nutari, dynallca FROM herbs WHERE gracz=".$player -> id);
if (!empty ($test -> fields['illani']) || !empty ($test -> fields['illanias']) || !empty ($test -> fields['nutari']) || !empty ($test -> fields['dynallca'])) {
$arrname = array ('illani','illanias','nutari','dynallca');
$arritem = array();
$j = 0;
for ($i=0;$i<4;$i++) {
$name = $arrname[$i];
if ($test -> fields[$name] > 0) {
$arritem[$j] = $name;
$j++;
}
}
$smarty -> assign ( array("Herbs" => 1, "Herbname" => $arritem));
}
$test -> Close();
$test = $db -> Execute("SELECT copper, zelazo, wegiel, adam, meteo, krysztal, lumber FROM kopalnie WHERE gracz=".$player -> id);
if (!empty ($test -> fields['copper']) || !empty ($test -> fields['zelazo']) || !empty ($test -> fields['wegiel']) || !empty ($test -> fields['adam']) || !empty ($test -> fields['meteo']) || !empty ($test -> fields['krysztal']) || !empty ($test -> fields['lumber'])) {
$arrname = array ('copper','zelazo','wegiel','adam','meteo','krysztal','lumber');
$arritem = array();
$arrminname = array();
$j = 0;
for ($i=0;$i<7;$i++) {
$name = $arrname[$i];
if ($test -> fields[$name] > 0) {
$arritem[$j] = $name;
if ($arritem[$j] == 'copper') {
$arrminname[$j] = 'miedź';
}
if ($arritem[$j] == 'zelazo') {
$arrminname[$j] = 'żelazo';
}
if ($arritem[$j] == 'wegiel') {
$arrminname[$j] = 'węgiel';
}
if ($arritem[$j] == 'adam') {
$arrminname[$j] = 'adamantyt';
}
if ($arritem[$j] == 'meteo') {
$arrminname[$j] = "meteor";
}
if ($arritem[$j] == 'krysztal') {
$arrminname[$j] = 'kryształ';
}
if ($arritem[$j] == 'lumber') {
$arrminname[$j] = 'drewno';
}
$j++;
}
}
$smarty -> assign ( array("Minerals" => 1, "Minoption" => $arritem, "Minname" => $arrminname));
}
if ($player -> clas == 'Złodziej' && $player -> crime > 0) {
$smarty -> assign ("Crime", "<br><br><br><br><a href=\"bank.php?action=steal\">Okradnij bank</a>");
}
$smarty -> assign (array ("Bank" => $player -> bank,"Gold" => $player -> credits));
$smarty -> display ('bank.tpl');
// dawanie minerałów innym graczom
if (isset ($_GET['action']) && $_GET['action'] == 'minerals') {
if ($_POST['item'] != 'copper' && $_POST['item'] != 'zelazo' && $_POST['item'] != 'wegiel' && $_POST['item'] != 'adam'&& $_POST['item'] != 'meteo'&& $_POST['item'] != 'krysztal'&& $_POST['item'] != 'lumber') {
error ("Zapomij o tym!");
}
if (!ereg("^[1-9][0-9]*$", $_POST['amount']) || !ereg("^[1-9][0-9]*$", $_POST['id'])) {
error ("Zapomij o tym!");
}
if ($_POST['item'] == 'copper') {
$minname = 'miedzi';
}
if ($_POST['item'] == 'zelazo') {
$minname = 'żelaza';
}
if ($_POST['item'] == 'wegiel') {
$minname = 'węgla';
}
if ($_POST['item'] == 'adam') {
$minname = 'adamantytu';
}
if ($_POST['item'] == 'meteo') {
$minname = "meteoru";
}
if ($_POST['item'] == 'krysztal') {
$minname = 'kryształu';
}
if ($_POST['item'] == 'lumber') {
$minname = 'drewna';
}
$minerals = $db -> Execute("SELECT id, ".$_POST['item']." FROM kopalnie WHERE gracz=".$player -> id);
if (empty ($minerals -> fields['id'])) {
error ("Nie masz minerałów!");
}
$mineral = "$_POST[item]";
if ($_POST['amount'] < 0)
{error ("Nie mozesz przekazać ujemnej liczby rzeczy");}
if ($minerals -> fields[$mineral] < $_POST['amount']) {
error ("Nie masz tyle ".$minname);
}
$minerals -> Close();
if ($_POST['id'] == $player -> id) {
error ("Nie możesz dotować siebie!");
}
$dotowany = $db -> Execute("SELECT id FROM players WHERE id=".$_POST['id']);
if (empty ($dotowany -> fields['id'])) {
error ("Nie ma takiego gracza!");
}
$dotowany -> Close();
$have = $db -> Execute("SELECT id FROM kopalnie WHERE gracz=".$_POST['id']);
if (empty ($have -> fields['id'])) {
$db -> Execute("INSERT INTO kopalnie (gracz, ".$_POST['item'].") VALUES(".$_POST['id'].",".$_POST['amount'].")") or error ("błąd przy dodaniu nowego minerału!");
} else {
$db -> Execute("UPDATE kopalnie SET ".$_POST['item']."=".$_POST['item']."+".$_POST['amount']." WHERE gracz=".$_POST['id']) or error ("błąd przy dodaniu istniejącego minerału!");
}
$have -> Close();
$db -> Execute("UPDATE kopalnie SET ".$_POST['item']."=".$_POST['item']."-".$_POST['amount']." WHERE gracz=".$player -> id);
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$_POST['id'].",'Gracz <b><a href=view.php?view=".$player -> id.">".$player -> user."</a> ID:".$player -> id."</b>, przekazał ci ".$_POST['amount']." ".$minname.".','".$newdate."')");
error ("<br>Przekazałeś graczowi ID: ".$_POST['id']." ".$_POST['amount']." sztuk ".$minname);
}
// dawanie mithrilu innym graczom
if (isset ($_GET['action']) && $_GET['action'] == 'mithril') {
if (!ereg("^[1-9][0-9]*$", $_POST['id'])) {
error ("Zapomnij o tym!");
}
if ($_POST['mith'] > $player -> platinum || !ereg("^[1-9][0-9]*$", $_POST['mith'])) {
error ("Nie możesz dać aż tyle.");
}
if ($_POST['id'] == $player -> id) {
error ("Nie możesz dotować siebie!");
}
if ($_POST['amount'] < 0)
{error ("Nie mozesz przekazać ujemnej liczby rzeczy");}
$dotowany = $db -> Execute("SELECT id FROM players WHERE id=".$_POST['id']);
if ($dotowany -> fields['id']) {
$db -> Execute("UPDATE players SET platinum=platinum+".$_POST['mith']." WHERE id=".$_POST['id']);
$db -> Execute("UPDATE players SET platinum=platinum-".$_POST['mith']." WHERE id=".$player -> id);
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$_POST['id'].",'Gracz<b><a href=view.php?view=".$player -> id.">".$player ->user."</a> ID:".$player -> id."</b>, przekazał ci ".$_POST['mith']." sztuk mithrilu.','".$newdate."')");
error ("<br>Dałeś ".$_POST['mith']." sztuk mithrilu graczowi ID ".$_POST['id']);
} else {
error ("Nie ma takiego gracza!");
}
$dotowany -> Close();
}
// dawanie ziół innym graczom
if (isset ($_GET['action']) && $_GET['action'] == 'herbs') {
if ($_POST['item'] != 'illani' && $_POST['item'] != 'illanias' && $_POST['item'] != 'nutari' && $_POST['item'] != 'dynallca') {
error ("Zapomij o tym!");
}
if (!ereg("^[1-9][0-9]*$", $_POST['amount']) || !ereg("^[1-9][0-9]*$", $_POST['id'])) {
error ("Zapomij o tym!");
}
$herbs = $db -> Execute("SELECT id, ".$_POST['item']." FROM herbs WHERE gracz=".$player -> id);
if (empty ($herbs -> fields['id'])) {
error ("Nie masz ziół!");
}
$herb = "$_POST[item]";
if ($herbs -> fields[$herb] < $_POST['amount']) {
error ("Nie masz tyle ".$_POST['item']);
}
$herbs -> Close();
if ($_POST['id'] == $player -> id) {
error ("Nie możesz dotować siebie!");
}
$dotowany = $db -> Execute("SELECT id FROM players WHERE id=".$_POST['id']);
if (empty ($dotowany -> fields['id'])) {
error ("Nie ma takiego gracza!");
}
if ($_POST['amount'] < 0)
{error ("Nie mozesz przekazać ujemnej liczby rzeczy");}
$dotowany -> Close();
$have = $db -> Execute("SELECT id FROM herbs WHERE gracz=".$_POST['id']);
if (empty ($have -> fields['id'])) {
$db -> Execute("INSERT INTO herbs (gracz, ".$_POST['item'].") VALUES(".$_POST['id'].",".$_POST['amount'].")");
} else {
$db -> Execute("UPDATE herbs SET ".$_POST['item']."=".$_POST['item']."+".$_POST['amount']." WHERE gracz=".$_POST['id']);
}
$have -> Close();
$db -> Execute("UPDATE herbs SET ".$_POST['item']."=".$_POST['item']."-".$_POST['amount']." WHERE gracz=".$player -> id);
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$_POST['id'].",'Gracz <b><a href=view.php?view=".$player -> id.">".$player -> user."</a> ID:".$player -> id."</b>, przekazał ci ".$_POST['amount']." ".$_POST['item'].".','".$newdate."')");
error ("<br>Przekazałeś graczowi ID: ".$_POST['id']." ".$_POST['amount']." ".$_POST['item']);
}
// dawanie mikstur innym graczom
if (isset ($_GET['action']) && $_GET['action'] == 'potions') {
if (!ereg("^[1-9][0-9]*$", $_POST['item']) || !ereg("^[1-9][0-9]*$", $_POST['id']) || !ereg("^[1-9][0-9]*$", $_POST['amount'])) {
error ("Zapomij o tym!");
}
$item = $db -> Execute("SELECT * FROM mikstury WHERE id=".$_POST['item']);
if ($player -> id != $item -> fields['gracz']) {
error ("To nie twój przedmiot!");
}
if (empty ($item -> fields['id'])) {
error ("Nie ma takiego przedmiotu!");
}
if ($_POST['id'] == $player -> id) {
error ("Nie możesz dotować siebie!");
}
if ($_POST['amount'] < 0)
{error ("Nie mozesz przekazać ujemnej liczby rzeczy");}
$dotowany = $db -> Execute("SELECT id FROM players WHERE id=".$_POST['id']);
if (empty ($dotowany -> fields['id'])) {
error ("Nie ma takiego gracza!");
}
$dotowany -> Close();
if ($item -> fields['amount'] < $_POST['amount']) {
error ("Nie masz tyle ".$item -> fields['nazwa']);
}
if ($_POST['amount'] < 0)
{error ("Nie mozesz przekazać ujemnej liczby rzeczy");}
$test = $db -> Execute("SELECT id FROM mikstury WHERE nazwa='".$item['nazwa']."' AND gracz=".$_POST['id']." AND status='K'");
if (empty ($test -> fields['id'])) {
$db -> Execute("INSERT INTO mikstury (gracz, nazwa, efekt, moc, amount, status, typ) VALUES(".$_POST['id'].",'".$item -> fields['nazwa']."','".$item -> fields['efekt']."',".$item -> fields['moc'].",".$_POST['amount'].",'K','".$item ->fields['typ']."')") or error("nie mogę dodać!");
} else {
$db -> Execute("UPDATE mikstury SET amount=amount+".$_POST['amount']." WHERE id=".$test ->fields['id']);
}
$test -> Close();
if ($_POST['amount'] < $item -> fields['amount']) {
$db -> Execute("UPDATE mikstury SET amount=amount-".$_POST['amount']." where id=".$item -> fields['id']);
} else {
$db -> Execute("DELETE FROM mikstury where id=".$item -> fields['id']);
}
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$_POST['id'].",'Gracz <b><a href=view.php?view=".$player -> id.">".$player -> user."</a> ID:".$player -> id."</b>, przekazał ci ".$_POST['amount']." ".$item -> fields['nazwa'].".','".$newdate."')") or error ("Nie mogę dodać do dziennika");
error ("<br>Przekazałeś graczowi ID: ".$_POST['id']." ".$_POST['amount']." sztuk ".$item -> fields['nazwa'].".<a href=bank.php> Odśwież</a>");
$item -> Close();
}
// dawanie przedmiotów innym graczom
if (isset ($_GET['action']) && $_GET['action'] == 'items') {
if (!ereg("^[1-9][0-9]*$", $_POST['item']) || !ereg("^[1-9][0-9]*$", $_POST['id'])) {
error ("Zapomij o tym!");
}
$item = $db -> Execute("SELECT * FROM equipment WHERE id=".$_POST['item']);
if ($player -> id != $item -> fields['owner']) {
error ("To nie twój przedmiot!");
}
if ($_POST['amount'] < 0)
{error ("Nie mozesz przekazać ujemnej liczby rzeczy");}
if (empty ($item -> fields['id'])) {
error ("Nie ma takiego przedmiotu!");
}
if ($_POST['id'] == $player -> id) {
error ("Nie możesz dotować siebie!");
}
$dotowany = $db -> Execute("SELECT id FROM players WHERE id=".$_POST['id']);
if (empty ($dotowany -> fields['id'])) {
error ("Nie ma takiego gracza!");
}
$dotowany -> Close();
if ($item -> fields['amount'] < $_POST['amount']) {
error ("Nie masz tyle ".$item -> fields['name']);
}
$test = $db -> Execute("SELECT id FROM equipment WHERE name='".$item -> fields['name']."' AND wt=".$item -> fields['wt']." AND type='".$item -> fields['type']."' AND status='U' AND owner=".$_POST['id']." AND power=".$item -> fields['power']." AND zr=".$item -> fields['zr']." AND szyb=".$item -> fields['szyb']." AND maxwt=".$item -> fields['maxwt']." AND poison=".$item -> fields['poison']);
if (empty ($test -> fields['id'])) {
$db -> Execute("INSERT INTO equipment (owner, name, power, type, cost, zr, wt, minlev, maxwt, amount, magic, poison, szyb, twohand) VALUES(".$_POST['id'].",'".$item -> fields['name']."',".$item -> fields['power'].",'".$item -> fields['type']."',".$item -> fields['cost'].",".$item -> fields['zr'].",".$item -> fields['wt'].",".$item -> fields['minlev'].",".$item -> fields['maxwt'].",".$_POST['amount'].",'".$item -> fields['magic']."',".$item -> fields['poison'].",".$item -> fields['szyb'].",'".$item -> fields['twohand']."')") or error("nie mogę dodać!");
} else {
$db -> Execute("UPDATE equipment SET amount=amount+".$_POST['amount']." WHERE id=".$test -> fields['id']);
}
$test -> Close();
if ($_POST['amount'] < $item -> fields['amount']) {
$db -> Execute("UPDATE equipment SET amount=amount-".$_POST['amount']." WHERE id=".$item -> fields['id']);
} else {
$db -> Execute("DELETE FROM equipment WHERE id=".$item -> fields['id']);
}
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$_POST['id'].",'Gracz <b><a href=view.php?view=".$player -> id.">".$player -> user."</a> ID:".$player -> id."</b>, przekazał ci ".$_POST['amount']." sztuk(i) ".$item -> fields['name'].".','".$newdate."')");
error ("<br>Przekazałeś graczowi ID: ".$_POST['id']." ".$_POST['amount']." sztuk(i) ".$item -> fields['name']);
$db -> Close();
}
// wycofywanie złota z banku
if (isset ($_GET['action']) && $_GET['action'] == 'withdraw') {
if (!isset($_POST['with'])) {
error("Podaj ile złota chcesz zabrać z banku");
}
if ($_POST['with'] > $player -> bank || !ereg("^[1-9][0-9]*$", $_POST['with'])) {
error ("Nie możesz wycofać aż tyle.");
}
$db -> Execute("UPDATE players SET credits=credits+".$_POST['with']." WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET bank=bank-".$_POST['with']." WHERE id=".$player -> id);
error ("<br>Wycofałeś ".$_POST['with']." sztuk złota.");
}
// deponowanie złota w banku
if (isset ($_GET['action']) && $_GET['action'] == 'deposit') {
if (!isset($_POST['dep'])) {
error ("Podaj ile złota chcesz zdeponować w banku");
}
if ($_POST['dep'] > $player -> credits || $_POST['dep'] <= 0 || !ereg("^[1-9][0-9]*$", $_POST['dep'])) {
error ("Nie możesz zdeponować aż tyle.");
}
$dep = floor($_POST['dep'] + 50);
$db -> Execute("UPDATE players SET credits=credits-".$_POST['dep']." WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET bank=bank+".$_POST['dep']." WHERE id=".$player -> id);
error ("<br>Zdeponowałeś ".$_POST['dep']." sztuk złota.");
}
//dawanie złota innemmu graczowi
if (isset ($_GET['action']) && $_GET['action'] == 'dotacja') {
if (!isset($_POST['id'])) {
error("Podaj ID gracza któremu chcesz wysłać złoto!");
}
if (!isset($_POST['with'])) {
error("Podaj ile złota chcesz wysłać");
}
if ($_POST['amount'] < 0)
{error ("Nie mozesz przekazać ujemnej liczby rzeczy");}
if (!ereg("^[1-9][0-9]*$", $_POST['id'])) {
error ("Zapomnij o tym!");
}
if ($_POST['with'] > $player -> bank || $_POST['with'] <= 0 || !ereg("^[1-9][0-9]*$", $_POST['with'])) {
error ("Nie możesz dać aż tyle.");
}
if ($_POST['id'] == $player -> id) {
error ("Nie możesz dotować siebie!");
}
$dotowany = $db -> Execute("SELECT id FROM players WHERE id=".$_POST['id']);
if ($dotowany -> fields['id']) {
$db -> Execute("UPDATE players SET bank=bank+".$_POST['with']." WHERE id=".$_POST['id']);
$db -> Execute("UPDATE players SET bank=bank-".$_POST['with']." WHERE id=".$player -> id);
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$_POST['id'].",'Gracz <b><a href=view.php?view=".$player -> id.">".$player -> user."</a> ID:".$player -> id."</b>, przekazał ci ".$_POST['with']." sztuk złota.','".$newdate."')");
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$player -> id.",'Przekazałeś graczowi ID:".$_POST['id']."</b> ".$_POST['with']." sztuk złota.','".$newdate."')");
error ("<br>Dałeś ".$_POST['with']." sztuk złota graczowi ID ".$_POST['id']);
} else {
error ("Nie ma takiego gracza!");
}
$dotowany -> Close();
}
// okradanie banku
if (isset ($_GET['action']) && $_GET['action'] == 'steal') {
require_once("includes/checkexp.php");
if ($player -> crime <= 0) {
error ("Nie możesz próbować okradać bank, ponieważ niedawno próbowałeś już swoich sił!");
}
$roll = rand (1, ($player -> level * 100));
$chance = ($player -> agility + $player -> inteli) - $roll;
if ($chance < 1) {
$cost = 1000 * $player -> level;
$expgain = ceil($player -> level / 10);
checkexp($player -> exp,$expgain,$player -> level,$player -> race,$player -> user,$player -> id,0,0,$player -> id,'',0);
$db -> Execute("UPDATE players SET miejsce='Lochy' WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET crime=crime-1 WHERE id=".$player-> id);
$db -> Execute("INSERT INTO jail (prisoner, verdict, duration, cost, data) VALUES(".$player -> id.",'Próba kradzieży złota z banku w Altarze',1,".$cost.",'".$newdate."')") or error ("nie mogę dodać wpisu!");
$db -> Execute("INSERT INTO log (owner, log, czas) VALUES(".$player -> id.",'Zostałeś wtrącony do więzienia na 1 dzień za próbę okradzenia banku. Możesz wyjść z więzienia za kaucją: ".$cost.".','".$newdate."')");
error ("Kiedy próbowałeś okraść bank, nagle z jakiegoś pokoju wyskoczył strażnik. Szybko złapał ciebie za nadgarstek i zakuł w kajdany. Obrót spraw tak ciebie zaskoczył iż zapomniałeś nawet zareagować w jakiś sposób. I tak oto znalazłeś się w lochach!");
}
if ($chance > 0) {
$db -> Execute("UPDATE players SET crime=crime-1 WHERE id=".$player -> id);
$gain = $player -> level * 1000;
$expgain = ($player -> level * 10);
checkexp($player -> exp,$expgain,$player -> level,$player -> race,$player -> user,$player -> id,0,0,$player -> id,'',0);
$db -> Execute("UPDATE players SET credits=credits+".$gain." WHERE id=".$player -> id);
error ("Udało ci się dyskretnie dostać do skarbca banku. Wyniosłeś z tamtąd ".$gain." sztuk złota. Nie niepokojony przez nikogo odszedłeś sobie spokojnie w swoją stronę. To był jednak udany dzień");
}
}
require_once("includes/foot.php");
?> |
Tera nie bedzie tego bugu! |
|