Add (Admin Panel) : Multi-account detection, Push protection, Heatmap, Gold Shop and Blacklist user names

Add (Admin Panel) : Multi-account detection, Push protection, Heatmap, Gold Shop (redem codes), Blacklist user names and Quest Editor + fix some php notice

Fix quest_core for mission 33,36, train 2 units, etc (NEW TRIBE)

There are some temporary bugs that will be fixed in next commit (pagination for new heatmap, quest reward)
This commit is contained in:
novgorodschi catalin
2026-07-16 11:09:48 +03:00
parent 37e845a4d6
commit c7ba50036f
27 changed files with 2450 additions and 115 deletions
+32 -40
View File
@@ -1,4 +1,5 @@
<?php
if (!class_exists('QuestConfig')) { $__qcf = dirname(__DIR__, 2) . '/GameEngine/QuestConfig.php'; if (is_file($__qcf)) include_once($__qcf); }
#################################################################################
## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
@@ -81,21 +82,18 @@ if (isset($qact)){
case '3':
$database->updateUserField($_SESSION['username'],'quest','3',0);
$_SESSION['qst']= 3;
QuestConfig::grantReward($database,$session,3);
//Give Reward
if(!$session->plus){
mysqli_query($database->dblink,"UPDATE ".TB_PREFIX."users set plus = ('".mktime(date("H"),date("i"), date("s"),date("m") , date("d"), date("Y"))."')+86400 where `username`='".$user_sanitized."'") or die(mysqli_error($database->dblink));
} else {
$plus=$database->getUserField($_SESSION['username'],'plus','username');
$plus+=86400;
$database->updateUserField($_SESSION['username'],'plus',$plus,0);
}
break;
case '4':
$database->updateUserField($_SESSION['username'],'quest','4',0);
$_SESSION['qst']= 4;
QuestConfig::grantReward($database,$session,4);
//Give Reward
$database->modifyResource($session->villages[0],30,60,30,20,1);
break;
case 'rank':
@@ -105,28 +103,26 @@ if (isset($qact)){
case '5':
$database->updateUserField($_SESSION['username'],'quest','5',0);
$_SESSION['qst']= 5;
QuestConfig::grantReward($database,$session,5);
//Give Reward
$database->modifyResource($session->villages[0],40,30,20,30,1);
break;
case '6':
$database->updateUserField($_SESSION['username'],'quest','6',0);
$_SESSION['qst']= 6;
QuestConfig::grantReward($database,$session,6);
$Subject=Q6_SUBJECT;
$Message=Q6_MESSAGE;
$database->sendMessage($session->userinfo['id'],4,$Subject,$Message,0,0,0,0,0);
$RB=true;
//Give Reward
$database->modifyResource($session->villages[0],50,60,30,30,1);
break;
case '7':
$database->updateUserField($_SESSION['username'],'quest','7',0);
$_SESSION['qst']= 7;
QuestConfig::grantReward($database,$session,7);
//Give Reward
$gold=$database->getUserField($_SESSION['username'],'gold','username');
$gold+=20;
$database->updateUserField($_SESSION['username'],'gold',$gold,0);
break;
case 'coor':
@@ -137,8 +133,8 @@ if (isset($qact)){
case '8':
$database->updateUserField($_SESSION['username'],'quest','8',0);
$_SESSION['qst']= 8;
QuestConfig::grantReward($database,$session,8);
//Give Reward
$database->modifyResource($session->villages[0],60,30,40,90,1);
break;
case '9':
@@ -159,56 +155,53 @@ if (isset($qact)){
case '10':
$database->updateUserField($_SESSION['username'],'quest','10',0);
$_SESSION['qst']= 10;
QuestConfig::grantReward($database,$session,10);
//Give Reward
$database->modifyResource($session->villages[0],100,80,40,40,1);
break;
case '11':
$database->updateUserField($_SESSION['username'],'quest','11',0);
$_SESSION['qst']= 11;
QuestConfig::grantReward($database,$session,11);
//Give Reward
if(!$session->plus){
mysqli_query($database->dblink,"UPDATE ".TB_PREFIX."users set plus = ('".mktime(date("H"),date("i"), date("s"),date("m") , date("d"), date("Y"))."')+172800 where `username`='".$user_sanitized."'") or die(mysqli_error($database->dblink));
} else {
$plus=$database->getUserField($_SESSION['username'],'plus','username');
$plus+=172800;
$database->updateUserField($_SESSION['username'],'plus',$plus,0);
}
break;
case '12':
$database->updateUserField($_SESSION['username'],'quest','12',0);
$_SESSION['qst']= 12;
QuestConfig::grantReward($database,$session,12);
//Give Reward
$database->modifyResource($session->villages[0],75,140,40,40,1);
break;
case '13':
$database->updateUserField($_SESSION['username'],'quest','13',0);
$_SESSION['qst']= 13;
QuestConfig::grantReward($database,$session,13);
//Give Reward
$database->modifyResource($session->villages[0],75,80,30,50,1);
break;
case '14':
$database->updateUserField($_SESSION['username'],'quest','14',0);
$_SESSION['qst']= 14;
QuestConfig::grantReward($database,$session,14);
//Give Reward
$database->modifyResource($session->villages[0],120,200,140,100,1);
break;
case '15':
$database->updateUserField($_SESSION['username'],'quest','15',0);
$_SESSION['qst']= 15;
QuestConfig::grantReward($database,$session,15);
//Give Reward
$database->modifyResource($session->villages[0],150,180,30,130,1);
break;
case '16':
$database->updateUserField($_SESSION['username'],'quest','16',0);
$_SESSION['qst']= 16;
QuestConfig::grantReward($database,$session,16);
//Give Reward
$database->modifyResource($session->villages[0],60,50,40,30,1);
break;
case 'lumber':
@@ -218,64 +211,65 @@ if (isset($qact)){
case '17':
$database->updateUserField($_SESSION['username'],'quest','17',0);
$_SESSION['qst']= 17;
QuestConfig::grantReward($database,$session,17);
//Give Reward
$database->modifyResource($session->villages[0],50,30,60,20,1);
break;
case '18':
$database->updateUserField($_SESSION['username'],'quest','18',0);
$_SESSION['qst']= 18;
QuestConfig::grantReward($database,$session,18);
//Give Reward
$database->modifyResource($session->villages[0],75,75,40,40,1);
break;
case '19':
$database->updateUserField($_SESSION['username'],'quest','19',0);
$_SESSION['qst']= 19;
QuestConfig::grantReward($database,$session,19);
//Give Reward
$database->modifyResource($session->villages[0],100,90,100,60,1);
break;
case '20':
$database->updateUserField($_SESSION['username'],'quest','20',0);
$_SESSION['qst']= 20;
QuestConfig::grantReward($database,$session,20);
break;
case '21':
$_SESSION['dough']= true;
$database->updateUserField($_SESSION['username'],'quest','21',0);
$_SESSION['qst']= 21;
QuestConfig::grantReward($database,$session,21);
//Give Reward granary
$database->modifyResource($session->villages[0],80,90,60,40,1);
break;
case '22':
$database->updateUserField($_SESSION['username'],'quest','22',0);
$_SESSION['qst']= 22;
QuestConfig::grantReward($database,$session,22);
//Give Reward warehouse
$database->modifyResource($session->villages[0],70,120,90,50,1);
break;
case '23':
$database->updateUserField($_SESSION['username'],'quest','23',0);
$_SESSION['qst']= 23;
QuestConfig::grantReward($database,$session,23);
//Give Reward
//$database->modifyResource($session->villages[0],80,90,60,40,1);
break;
case '24':
$database->updateUserField($_SESSION['username'],'quest','24',0);
$_SESSION['qst']= 24;
QuestConfig::grantReward($database,$session,24);
//Give Reward rally point
$database->modifyResource($session->villages[0],80,90,60,40,1);
break;
case '25':
//$dataarray[3] = 1;
$database->updateUserField($_SESSION['username'],'quest','25',0);
$_SESSION['qst']= 25;
QuestConfig::grantReward($database,$session,25);
//Give Reward barrack
$database->modifyResource($session->villages[0],70,100,90,100,1);
break;
case '26':
@@ -295,10 +289,8 @@ if (isset($qact)){
//$dataarray[5] = 1;
$database->updateUserField($_SESSION['username'],'quest','27',0);
$_SESSION['qst']= 27;
QuestConfig::grantReward($database,$session,27);
//Give Reward
$gold=$database->getUserField($_SESSION['username'],'gold',1);
$gold+=15;
$database->updateUserField($_SESSION['username'],'gold',$gold,0);
break;
case 'gold':
@@ -309,24 +301,24 @@ if (isset($qact)){
//$dataarray[6] = 1;
$database->updateUserField($_SESSION['username'],'quest','28',0);
$_SESSION['qst']= 28;
QuestConfig::grantReward($database,$session,28);
//Give Reward
$database->modifyResource($session->villages[0],80,70,60,40,1);
break;
case '29':
//$dataarray[7] = 1;
$database->updateUserField($_SESSION['username'],'quest','29',0);
$_SESSION['qst']= 29;
QuestConfig::grantReward($database,$session,29);
//Give Reward
$database->modifyResource($session->villages[0],100,60,90,40,1);
break;
case '30':
//$dataarray[8] = 1;
$database->updateUserField($_SESSION['username'],'quest','30',0);
$_SESSION['qst']= 30;
QuestConfig::grantReward($database,$session,30);
//Give Reward
$database->modifyResource($session->villages[0],100,140,90,50,1);
break;
case '91':
@@ -348,45 +340,45 @@ if (isset($qact)){
$database->updateUserField($_SESSION['username'],'quest','92',0);
$database->updateUserField($_SESSION['username'],'quest_time',''.(time()+$skipp_time).'',0);
$_SESSION['qst']= 92;
QuestConfig::grantReward($database,$session,92);
$_SESSION['qst_time'] = time()+$skipp_time;
//Give Reward
$database->modifyResource($session->villages[0],217,247,177,207,1);
break;
case '93':
$database->updateUserField($_SESSION['username'],'quest','93',0);
$database->updateUserField($_SESSION['username'],'quest_time',''.(time()+$skipp_time).'',0);
$_SESSION['qst']= 93;
QuestConfig::grantReward($database,$session,93);
$_SESSION['qst_time'] = time()+$skipp_time;
//Give Reward
$database->modifyResource($session->villages[0],217,247,177,207,1);
break;
case '94':
$database->updateUserField($_SESSION['username'],'quest','94',0);
$database->updateUserField($_SESSION['username'],'quest_time',''.(time()+$skipp_time).'',0);
$_SESSION['qst']= 94;
QuestConfig::grantReward($database,$session,94);
$_SESSION['qst_time'] = time()+$skipp_time;
//Give Reward
$database->modifyResource($session->villages[0],217,247,177,207,1);
break;
case '95':
$database->updateUserField($_SESSION['username'],'quest','95',0);
$database->updateUserField($_SESSION['username'],'quest_time',''.(time()+$skipp_time).'',0);
$_SESSION['qst']= 95;
QuestConfig::grantReward($database,$session,95);
$_SESSION['qst_time'] = time()+$skipp_time;
//Give Reward
$database->modifyResource($session->villages[0],217,247,177,207,1);
break;
case '96':
$database->updateUserField($_SESSION['username'],'quest','96',0);
$database->updateUserField($_SESSION['username'],'quest_time',''.(time()+$skipp_time).'',0);
$_SESSION['qst']= 96;
QuestConfig::grantReward($database,$session,96);
$_SESSION['qst_time'] = time()+$skipp_time;
//Give Reward
$database->modifyResource($session->villages[0],217,247,177,207,1);
break;
case '97':