Verschenken von Items implementiert (Teil 2)

- Begrenzung pro Tag eingebaut 
 - Stufe und Anzahl der Items im GM-Panel festlegen
 - kleinere Bugs behoben
Löschen/hinzufügen von Usergruppen wird geloggt
main
radiskull 14 years ago
parent 9a6b28e450
commit d899bb8f2c

@ -73,14 +73,14 @@ function displayItems($action, $task, $itemid, $itemtable, $searchstring, $s_ite
$colspan = 2;
echo "\t\t\t".'<tr><td colspan="'.$colspan.'"><h1 style="text-align:center">Editieren</h1></td></tr>'."\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;

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

@ -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!', '<a href="index.php?as=item">weiter...</a>');
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!', '<a href="index.php?as=item">weiter...</a>');
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!', '<a href="index.php?as=item">weiter...</a>');
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!', '<a href="index.php?as=item">weiter...</a>');
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;
}
}

Loading…
Cancel
Save