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;
}
}