diff --git a/ag/gm/include/item.inc.php b/ag/gm/include/item.inc.php index 87bfd73..21f06f1 100644 --- a/ag/gm/include/item.inc.php +++ b/ag/gm/include/item.inc.php @@ -73,14 +73,14 @@ function displayItems($action, $task, $itemid, $itemtable, $searchstring, $s_ite $colspan = 2; echo "\t\t\t".'

Editieren

'."\n"; if($itemtable == 'item'){ - $d_array = array('id','name','hp','mp','starke','verteidigung','speed','s_type','preis','anzahl','type','level','info'); - $desc_array = array('ID', 'Name', 'HP', 'MP', 'Bonus Stärke', 'Bonus Verteidigung', 'Bonus Geschwindigkeit', 'Art (Item, Helm, ..)', 'Preis im Markt', 'Anzahl', 'Rassen (ALL, Onepiece, Dragonball)', 'Level', 'Infotext'); + $d_array = array('id','name','hp','mp','starke','verteidigung','speed','s_type','preis','anzahl','type','level','tausch_lvl','tausch_anzahl','info'); + $desc_array = array('ID', 'Name', 'HP', 'MP', 'Bonus Stärke', 'Bonus Verteidigung', 'Bonus Geschwindigkeit', 'Art (Item, Helm, ..)', 'Preis im Markt', 'Anzahl', 'Rassen (ALL, Onepiece, Dragonball)', 'Level', 'Tauschlevel', 'Tauschanzahl', 'Infotext'); } else if($itemtable == 'sp_item'){ - $d_array = array('id','name','preis','wert','type','slot','info'); - $desc_array = array('ID', 'Name', 'Preis', 'Häufigkeit (je höher desto seltener)', '"Teufels Frucht" oder nicht', 'Slot (immer auf 0 setzen)', 'Infotext'); + $d_array = array('id','name','preis','wert','type','slot','tausch_lvl','tausch_anzahl','info'); + $desc_array = array('ID', 'Name', 'Preis', 'Häufigkeit (je höher desto seltener)', '"Teufels Frucht" oder nicht', 'Slot (immer auf 0 setzen)', 'Tauschlevel', 'Tauschanzahl', 'Infotext'); } else if($itemtable == 'wochen_markt'){ - $d_array = array('id','item','starke','ver','speed','ausdauer','hp','mp','glueck','type','preis','anzahl','verteilung','aktiv','art','kategorie','info'); - $desc_array = array('ID', 'Name', 'Bonus Stärke', 'Bonus Verteidigung', 'Bonus Geschwindigkeit', 'Bonus Ausdauer', 'Bonus HP', 'Bonus MP', 'Bonus Glück', 'Typ ("Teufels Frucht")', 'Preis', 'Anzahl', 'Verteilung (0=Nicht wünschbar, Summe Verteilung sollte 100 ergeben!!)', 'Kann bei Geheimauktion auftreten', 'Art (normal, natur)', 'Kategorie (Logia, Zoan, ...)','Infotext' ); + $d_array = array('id','item','starke','ver','speed','ausdauer','hp','mp','glueck','type','preis','anzahl','verteilung','aktiv','art','kategorie','tausch_lvl','tausch_anzahl','info'); + $desc_array = array('ID', 'Name', 'Bonus Stärke', 'Bonus Verteidigung', 'Bonus Geschwindigkeit', 'Bonus Ausdauer', 'Bonus HP', 'Bonus MP', 'Bonus Glück', 'Typ ("Teufels Frucht")', 'Preis', 'Anzahl', 'Verteilung (0=Nicht wünschbar, Summe Verteilung sollte 100 ergeben!!)', 'Kann bei Geheimauktion auftreten', 'Art (normal, natur)', 'Kategorie (Logia, Zoan, ...)', 'Tauschlevel', 'Tauschanzahl', 'Infotext' ); } else{ // Something went completely wrong!! $error = true; @@ -127,11 +127,11 @@ function displayItems($action, $task, $itemid, $itemtable, $searchstring, $s_ite } else if($task == 'dochange'){ // d_array[0] muss name sein!! if($itemtable == 'item'){ - $d_array = array('name','hp','mp','starke','verteidigung','speed','s_type','preis','anzahl','type','level','info'); + $d_array = array('name','hp','mp','starke','verteidigung','speed','s_type','preis','anzahl','type','level','tausch_lvl','tausch_anzahl','info'); } else if($itemtable == 'sp_item'){ - $d_array = array('name','preis','wert','type','slot','info'); + $d_array = array('name','preis','wert','type','slot','tausch_lvl','tausch_anzahl','info'); } else if($itemtable == 'wochen_markt'){ - $d_array = array('item','starke','ver','speed','ausdauer','hp','mp','glueck','type','preis','anzahl','verteilung','aktiv','art','kategorie','info'); + $d_array = array('item','starke','ver','speed','ausdauer','hp','mp','glueck','type','preis','anzahl','verteilung','aktiv','art','kategorie','tausch_lvl','tausch_anzahl','info'); } else{ // Something went completely wrong!! $error = true; diff --git a/ag/gm/include/user.inc.php b/ag/gm/include/user.inc.php index 930a239..3407fae 100644 --- a/ag/gm/include/user.inc.php +++ b/ag/gm/include/user.inc.php @@ -40,8 +40,10 @@ function displayUserGroups($action, $name, $ugname, $delete, $add) { $username = validateName($name); if($username !== NULL) { if ($delete !== NULL && $delete >= 0) { + logaction('User '.$username.' aus der Gruppe '.$delete.' gelöscht'); removeUserFromGroup($username, $delete); } else if($add !== NULL && $add >= 0) { + logaction('User '.$username.' in die Gruppe '.$add.' hinzugefügt'); addUserToGroup($username, $add); } diff --git a/ag/item.php b/ag/item.php index 0eed0d3..fcf2c06 100644 --- a/ag/item.php +++ b/ag/item.php @@ -63,7 +63,7 @@ function getTradeItems($userid){ return $result; } -function getTradeOptions($table, $item_id) { +function getTradeConditions($table, $item_id) { $row = null; switch ($table) { case 'ware': @@ -79,6 +79,33 @@ function getTradeOptions($table, $item_id) { return $row; } +function getUserTransaction($user_id) { + $row = mysql_fetch_array(mysql_query('SELECT zeit, NOW() as zeit2 FROM transaktionen WHERE verkaeufer = '.$user_id.' ORDER BY zeit DESC LIMIT 1;')); + $day_old = $row['zeit']; + if($day_old != null) { + $day_old = substr($day_old, 8, 2); + } else { + return false; + } + $day_now = $row['zeit2']; + if($day_now != null) { + $day_now = substr($day_now, 8, 2); + } else { + return false; + } + + if($day_now == $day_old) { + return true; + } else { + return false; + } +} + +function setUserTransaction($user_id, $trade_user_id, $item, $anzahl=1, $betrag=0) { + $qry = 'INSERT INTO transaktionen(kaeufer, verkaeufer, item, anzahl, betrag, zeit) VALUES ('.$trade_user_id.','.$user_id.',\''.$item.'\','.$anzahl.','.$betrag.',NOW())'; + mysql_query($qry); +} + $user = $user_ida; if ($charm == 1) { @@ -166,76 +193,83 @@ if ($charm == 2) { } if($charm == 3) { - if($tausch_user == null) { - displayErrorMessage(NULL,'Kein Namen für den User angegeben!', displayHistoryBackLink()); - exit; - } else { - $row = mysql_fetch_array(mysql_query("SELECT id FROM user WHERE nickname='$tausch_user' LIMIT 1")); - $tausch_user_id = $row['id']; - if($tausch_user_id == null) { - displayErrorMessage(NULL,'Unbekannter User!', displayHistoryBackLink()); - exit; - } - if($tausch_user_id == $user['id']) { - displayErrorMessage(NULL,'Warum an sich selbst was schenken?', displayHistoryBackLink()); + if(!getUserTransaction($user['id'])) { + if($tausch_user == null) { + displayErrorMessage(NULL,'Kein Namen für den User angegeben!', displayHistoryBackLink()); exit; + } else { + $row = mysql_fetch_array(mysql_query("SELECT id FROM user WHERE nickname='$tausch_user' LIMIT 1")); + $tausch_user_id = $row['id']; + if($tausch_user_id == null) { + displayErrorMessage(NULL,'Unbekannter User!', displayHistoryBackLink()); + exit; + } + if($tausch_user_id == $user['id']) { + displayErrorMessage(NULL,'Warum an sich selbst was schenken?', displayHistoryBackLink()); + exit; + } } - } - $tausch_item = explode(",", $tausch_item); - if($tausch_geld != null xor $tausch_item[0] >= 0) { - //TODO: Transaktionsabfrage für den heutigen Tag - if($tausch_geld != null) { - $row = mysql_fetch_array(mysql_query("SELECT level FROM arena WHERE besitzer = ".$user['id'].";")); - $arenalvl = $row['level']; - - if($tausch_geld <= ($arenalvl * 10000)) { - if($tausch_geld <= $user['geld']) { - $qry = 'UPDATE user SET geld = geld - '.$tausch_geld.' WHERE id = '.$user['id'].';'; - mysql_query($qry); - $qry = 'UPDATE user SET geld = geld + '.$tausch_geld.' WHERE id = '.$tausch_user_id.';'; - mysql_query($qry); - sendMessage($user['nickname'], $tausch_user_id, 'Geschenk', 'Der Spieler '.$user['nickname'].'hat dir '.$tausch_geld.' geschenkt!'); - - displayErrorMessage(NULL, 'Die Summe von '.$tausch_geld.'¥ wurde erfolgreich dem Spieler '.$tausch_user.' geschenkt!', 'weiter...'); - exit; + $tausch_item = explode(",", $tausch_item); + if($tausch_geld != null xor $tausch_item[0] >= 0) { + if($tausch_geld != null) { + $row = mysql_fetch_array(mysql_query("SELECT level FROM arena WHERE besitzer = ".$user['id'].";")); + $arenalvl = $row['level']; + + if($tausch_geld <= ($arenalvl * 10000)) { + if($tausch_geld <= $user['geld']) { + $qry = 'UPDATE user SET geld = geld - '.$tausch_geld.' WHERE id = '.$user['id'].';'; + mysql_query($qry); + $qry = 'UPDATE user SET geld = geld + '.$tausch_geld.' WHERE id = '.$tausch_user_id.';'; + mysql_query($qry); + sendMessage($user['nickname'], $tausch_user_id, 'Geschenk', 'Der Spieler '.$user['nickname'].' hat dir '.$tausch_geld.' geschenkt!'); + setUserTransaction($user['id'], $tausch_user_id, 'Geld', 0, $tausch_geld); + + displayErrorMessage(NULL, 'Die Summe von '.$tausch_geld.'¥ wurde erfolgreich dem Spieler '.$tausch_user.' geschenkt!', 'weiter...'); + exit; + } else { + displayErrorMessage(NULL,'Du besitzt garnicht soviel Geld!', displayHistoryBackLink()); + exit; + } } else { - displayErrorMessage(NULL,'Du besitzt garnicht soviel Geld!', displayHistoryBackLink()); + displayErrorMessage(NULL,'Die Höhe des Geldbetrags darf nicht verschenkt werden! (Max. Arenalevel * 10000)', displayHistoryBackLink()); exit; } - } else { - displayErrorMessage(NULL,'Die Höhe des Geldbetrags darf nicht getauscht werden! (Max. Arenalevel * 10000)', displayHistoryBackLink()); - exit; } - } - if($tausch_item[0] >= 0) { - if($tausch_anzahl != null) { - $row = getTradeOptions($tausch_item[1], $tausch_item[0]); - if($tausch_anzahl <= $row['tausch_anzahl']) { - if($tausch_item[1] == 'ware') { - $qry = 'UPDATE ware SET user = '.$tausch_user_id.' WHERE item_id = '.$tausch_item[0].' AND user = '.$user['id'].' LIMIT '.$tausch_anzahl.';'; - mysql_query($qry); + if($tausch_item[0] >= 0) { + if($tausch_anzahl != null) { + $tausch_anzahl = round($tausch_anzahl); + $row = getTradeConditions($tausch_item[1], $tausch_item[0]); + if($tausch_anzahl <= $row['tausch_anzahl'] && $tausch_anzahl > 0) { + if($tausch_item[1] == 'ware') { + $qry = 'UPDATE ware SET user = '.$tausch_user_id.' WHERE item_id = '.$tausch_item[0].' AND user = '.$user['id'].' LIMIT '.$tausch_anzahl.';'; + mysql_query($qry); + } else { + $qry = 'UPDATE '.$tausch_item[1].' SET user = '.$tausch_user_id.' WHERE item = '.$tausch_item[0].' AND user = '.$user['id'].' LIMIT '.$tausch_anzahl.';'; + mysql_query($qry); + } + sendMessage($user['nickname'], $tausch_user_id, 'Geschenk', 'Der Spieler '.$user['nickname'].' hat dir das Item '.$row['name'].$row['item'].' geschenkt!'); + setUserTransaction($user['id'], $tausch_user_id, $row['item'].$row['name'], $tausch_anzahl); + + displayErrorMessage(NULL, 'Item erfolgreich verschenkt!', 'weiter...'); + exit; } else { - $qry = 'UPDATE '.$tausch_item[1].' SET user = '.$tausch_user_id.' WHERE item = '.$tausch_item[0].' AND user = '.$user['id'].' LIMIT '.$tausch_anzahl.';'; - mysql_query($qry); + displayErrorMessage(NULL,'Keine gültige Eingabe bei der Anzahl!', displayHistoryBackLink()); + exit; } - sendMessage($user['nickname'], $tausch_user_id, 'Geschenk', 'Der Spieler '.$user['nickname'].' hat dir das Item '.$row['name'].$row['item'].' geschenkt!'); - - displayErrorMessage(NULL, 'Item erfolgreich dem Spieler geschenkt!', 'weiter...'); - exit; } else { displayErrorMessage(NULL,'Keine gültige Eingabe bei der Anzahl!', displayHistoryBackLink()); exit; } - } else { - displayErrorMessage(NULL,'Keine gültige Eingabe bei der Anzahl!', displayHistoryBackLink()); - exit; } - } + } else { + displayErrorMessage(NULL,'Es kann entweder nur Geld oder ein Item verschenkt werden.', displayHistoryBackLink()); + exit; + } } else { - displayErrorMessage(NULL,'Es kann entweder nur Geld oder ein Item verschenkt werden.', displayHistoryBackLink()); + displayErrorMessage(NULL,'Limit für Verschenken schon erreicht!', displayHistoryBackLink()); exit; } }