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);
}
+10 -4
View File
@@ -898,10 +898,16 @@ CREATE TABLE IF NOT EXISTS `%PREFIX%general` (
--
CREATE TABLE IF NOT EXISTS `%PREFIX%gold_fin_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`wid` int(11) NULL,
`log` text NULL,
PRIMARY KEY (`id`)
id int(11) NOT NULL AUTO_INCREMENT,
uid int(11) NOT NULL DEFAULT 0,
wid int(11) NOT NULL DEFAULT 0,
action varchar(128) NOT NULL DEFAULT '',
gold int(11) NOT NULL DEFAULT 0,
time int(11) NOT NULL DEFAULT 0,
log varchar(255) DEFAULT NULL,
PRIMARY KEY (id),
KEY uid (uid),
KEY time (time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--