Update log system gold

Update log system gold
This commit is contained in:
novgorodschi catalin
2026-05-20 11:55:18 +03:00
parent 0934806e8d
commit e6a3bb7db7
8 changed files with 93 additions and 51 deletions
+14 -7
View File
@@ -14,25 +14,32 @@
if($session->sit == 0) {
$uid = (int)$session->uid;
$wid = (int)$village->wid;
$now = time();
$cost = 5;
// UPDATE atomic: scade gold doar dacă ai, și prelungește b2
// UPDATE atomic: scade gold și prelungește b2
$sql = "UPDATE ".TB_PREFIX."users
SET gold = gold - $cost,
b2 = IF(b2 > $now, b2 + ".PLUS_PRODUCTION.", $now + ".PLUS_PRODUCTION.")
WHERE id = '$uid' AND gold >= $cost";
WHERE id = $uid AND gold >= $cost";
mysqli_query($database->dblink, $sql) or die(mysqli_error($database->dblink));
mysqli_query($database->dblink, $sql);
if(mysqli_affected_rows($database->dblink) == 1) {
// succes - update instant în sesiune
// update sesiune
$session->gold -= $cost;
$_SESSION['gold'] = $session->gold;
$session->b2 = ($session->b2 > $now ? $session->b2 : $now) + PLUS_PRODUCTION;
// log
mysqli_query($database->dblink, "INSERT INTO ".TB_PREFIX."gold_fin_log (wid,log) VALUES ('".$village->wid."', '+25% Production: Clay')") or die(mysqli_error($database->dblink));
// LOG pentru a2b2.php
mysqli_query($database->dblink,
"INSERT INTO ".TB_PREFIX."gold_fin_log
(uid, wid, action, gold, time, details)
VALUES ($uid, $wid, 'Use 5 gold for +25% Clay', -$cost, $now, '+25% Production: Clay')"
);
// iinvalidează cache v9
// curăță cache
if(method_exists($database, 'clearUserCache')) {
$database->clearUserCache($uid);
}
+12 -7
View File
@@ -14,25 +14,30 @@
if($session->sit == 0) {
$uid = (int)$session->uid;
$wid = (int)$village->wid;
$now = time();
$cost = 5;
// UPDATE atomic: scade gold doar dacă ai, și prelungește b3
// UPDATE atomic
$sql = "UPDATE ".TB_PREFIX."users
SET gold = gold - $cost,
b3 = IF(b3 > $now, b3 + ".PLUS_PRODUCTION.", $now + ".PLUS_PRODUCTION.")
WHERE id = '$uid' AND gold >= $cost";
WHERE id = $uid AND gold >= $cost";
mysqli_query($database->dblink, $sql) or die(mysqli_error($database->dblink));
mysqli_query($database->dblink, $sql);
if(mysqli_affected_rows($database->dblink) == 1) {
// succes - update instant în sesiune
$session->gold -= $cost;
$_SESSION['gold'] = $session->gold;
$session->b3 = ($session->b3 > $now ? $session->b3 : $now) + PLUS_PRODUCTION;
// log
mysqli_query($database->dblink, "INSERT INTO ".TB_PREFIX."gold_fin_log (wid,log) VALUES ('".$village->wid."', '+25% Production: Iron')") or die(mysqli_error($database->dblink));
// LOG pentru a2b2
mysqli_query($database->dblink,
"INSERT INTO ".TB_PREFIX."gold_fin_log
(uid, wid, action, gold, time, details)
VALUES ($uid, $wid, 'Use 5 gold for +25% Iron', -$cost, $now, '+25% Production: Iron')"
);
// invalidează cache v9
if(method_exists($database, 'clearUserCache')) {
$database->clearUserCache($uid);
}
+11 -7
View File
@@ -14,25 +14,29 @@
if($session->sit == 0) {
$uid = (int)$session->uid;
$wid = (int)$village->wid;
$now = time();
$cost = 5;
// UPDATE atomic: scade gold doar dacă ai, și prelungește b4
$sql = "UPDATE ".TB_PREFIX."users
SET gold = gold - $cost,
b4 = IF(b4 > $now, b4 + ".PLUS_PRODUCTION.", $now + ".PLUS_PRODUCTION.")
WHERE id = '$uid' AND gold >= $cost";
WHERE id = $uid AND gold >= $cost";
mysqli_query($database->dblink, $sql) or die(mysqli_error($database->dblink));
mysqli_query($database->dblink, $sql);
if(mysqli_affected_rows($database->dblink) == 1) {
// succes - update instant în sesiune
$session->gold -= $cost;
$_SESSION['gold'] = $session->gold;
$session->b4 = ($session->b4 > $now ? $session->b4 : $now) + PLUS_PRODUCTION;
// log
mysqli_query($database->dblink, "INSERT INTO ".TB_PREFIX."gold_fin_log (wid,log) VALUES ('".$village->wid."', '+25% Production: Crop')") or die(mysqli_error($database->dblink));
// LOG pentru a2b2
mysqli_query($database->dblink,
"INSERT INTO ".TB_PREFIX."gold_fin_log
(uid, wid, action, gold, time, details)
VALUES ($uid, $wid, 'Use 5 gold for +25% Crop', -$cost, $now, '+25% Production: Crop')"
);
// invalidează cache v9
if(method_exists($database, 'clearUserCache')) {
$database->clearUserCache($uid);
}
+12 -8
View File
@@ -1,21 +1,24 @@
<?php
// Gold Club activation 100 gold, atomic
$uid = (int)$session->uid;
$wid = (int)$village->wid;
$now = time();
$cost = 100;
if($session->sit != 0) {
header("Location: plus.php?id=3"); exit;
}
// un singur query care face tot
// un singur query
mysqli_query($database->dblink,
"UPDATE ".TB_PREFIX."users
SET goldclub = 1, gold = gold - 100
WHERE id = $uid AND gold >= 100 AND goldclub = 0"
SET goldclub = 1, gold = gold - $cost
WHERE id = $uid AND gold >= $cost AND goldclub = 0"
);
if(mysqli_affected_rows($database->dblink) == 1) {
// succes update sesiunea
$session->gold -= 100;
// update sesiune
$session->gold -= $cost;
$session->goldclub = 1;
$_SESSION['gold'] = $session->gold;
$_SESSION['goldclub'] = 1;
@@ -24,10 +27,11 @@ if(mysqli_affected_rows($database->dblink) == 1) {
$database->cache->delete('user:'.$uid);
}
// log
// LOG pentru a2b2.php
mysqli_query($database->dblink,
"INSERT INTO ".TB_PREFIX."gold_fin_log (wid, action, time)
VALUES (0, 'Gold Club activated', ".time().")"
"INSERT INTO ".TB_PREFIX."gold_fin_log
(uid, wid, action, gold, time, details)
VALUES ($uid, $wid, 'Use 100 gold for Gold Club', -$cost, $now, 'Gold Club activated')"
);
}
+2 -1
View File
@@ -4,7 +4,7 @@
## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
## --------------------------------------------------------------------------- ##
## Project: TravianZ (Refactor incremental) ##
## File: 8.tpl ##
## File: 7.tpl ##
## Description: Finish All Plus ##
## Made by: alq0rsan ##
## Improved by: evader ##
@@ -12,6 +12,7 @@
## ##
#################################################################################
// 1. termină tot - NU îi dăm parametru ca să NU facă exit înăuntru
$building->finishAll('plus.php?id=3');
exit;
?>
+18 -10
View File
@@ -13,26 +13,34 @@
#################################################################################
if($session->sit == 0) {
$now = time();
$uid = (int)$session->uid;
$now = time();
$uid = (int)$session->uid;
$wid = (int)$village->wid;
$cost = 10;
// un singur UPDATE: scade gold DOAR dacă ai destul, și prelungește plus-ul
// 1. scade gold și prelungește plus-ul ATOMIC
$sql = "UPDATE ".TB_PREFIX."users
SET gold = gold - $cost,
plus = IF(plus > $now, plus + ".PLUS_TIME.", $now + ".PLUS_TIME.")
WHERE id = '$uid' AND gold >= $cost";
WHERE id = $uid AND gold >= $cost";
mysqli_query($database->dblink, $sql) or die(mysqli_error($database->dblink));
mysqli_query($database->dblink, $sql);
if(mysqli_affected_rows($database->dblink) == 1) {
// a reușit - actualizează sesiunea instant
// 2. update sesiune
$session->gold -= $cost;
$_SESSION['gold'] = $session->gold;
$session->plus = ($session->plus > $now ? $session->plus : $now) + PLUS_TIME;
// log (opțional)
mysqli_query($database->dblink, "INSERT INTO ".TB_PREFIX."gold_fin_log (wid,log) VALUES ('".$village->wid."', 'Plus Account')") or die(mysqli_error($database->dblink));
// invalidează cache v9
// 3. LOG pentru a2b2.php
$vname = mysqli_real_escape_string($database->dblink, $village->vname);
mysqli_query($database->dblink,
"INSERT INTO ".TB_PREFIX."gold_fin_log
(uid, wid, action, gold, time, details)
VALUES ($uid, $wid, 'Buy Travian Plus', -$cost, $now, 'Buy Travian Plus')"
);
// 4. curăță cache
if(method_exists($database, 'clearUserCache')) {
$database->clearUserCache($uid);
}
+14 -7
View File
@@ -14,25 +14,32 @@
if($session->sit == 0) {
$uid = (int)$session->uid;
$wid = (int)$village->wid;
$now = time();
$cost = 5;
// UPDATE atomic: scade gold DOAR dacă ai, și prelungește b1 într-o singură operație
// UPDATE atomic: scade gold și prelungește b1
$sql = "UPDATE ".TB_PREFIX."users
SET gold = gold - $cost,
b1 = IF(b1 > $now, b1 + ".PLUS_PRODUCTION.", $now + ".PLUS_PRODUCTION.")
WHERE id = '$uid' AND gold >= $cost";
WHERE id = $uid AND gold >= $cost";
mysqli_query($database->dblink, $sql) or die(mysqli_error($database->dblink));
mysqli_query($database->dblink, $sql);
if(mysqli_affected_rows($database->dblink) == 1) {
// succes - actualizează sesiunea instant (nu mai aștepți cache-ul de 10 sec)
// update sesiune instant
$session->gold -= $cost;
$_SESSION['gold'] = $session->gold;
$session->b1 = ($session->b1 > $now ? $session->b1 : $now) + PLUS_PRODUCTION;
// log
mysqli_query($database->dblink, "INSERT INTO ".TB_PREFIX."gold_fin_log (wid,log) VALUES ('".$village->wid."', '+25% Production: Lumber')") or die(mysqli_error($database->dblink));
// LOG pentru a2b2.php
mysqli_query($database->dblink,
"INSERT INTO ".TB_PREFIX."gold_fin_log
(uid, wid, action, gold, time, details)
VALUES ($uid, $wid, 'Use 5 gold for +25% Lumber', -$cost, $now, '+25% Production: Lumber')"
);
// invalidează cache v9
// curăță cache
if(method_exists($database, 'clearUserCache')) {
$database->clearUserCache($uid);
}