Jump to content

Recommended Posts

Posted

Ask lang po mga sir papano po ba mailalagay ung WOE status For example On going po ang WOE so mag a appear po is WOE: ONLINE like po sya sa server status. kc po sa ceres meron po sya. can any one help me for these? kanina pa po kc ako nag hahanap sa mga forums wala po ako makita eh tnx in advance

Posted (edited)

1. Execute the sql below in your fluxcp database

ALTER TABLE `ragsrvinfo`
ADD `agit_status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `drop`;

2. Download agit_status.txt. Place the file in rAthena/npc/custom/ and install it or copy below and create a new file named agit_status.txt and install

//===== eAthena Script =======================================
//= Agit Status Checker
//===== By: ==================================================
//= Entwined
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= eAthena SVN (SQL only)
//===== Description: =========================================
//= Updates WoE status, so CeresCP can display
//= if WoE is on or off in real time.
//===== Additional Comments: =================================
//= Run this SQL query:
//= ALTER TABLE `ragsrvinfo` ADD `agit_status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `drop`;
//============================================================
- script AGIT_STATUS -1,{
OnInit:
// check if `agit_status` column exists
if (query_sql("SHOW COLUMNS FROM ragsrvinfo LIKE 'agit_status'", .@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$) == 0) {
 // Or... if we have the ALTER privilege, try to add the column
 query_sql "SELECT DATABASE()", .@rag_db$;
 query_sql "SHOW GRANTS", .@grants$;
 for (set .@i,0; .@i<getarraysize(.@grants$); set .@i,.@i+1)
  if (compare(.@grants$[.@i], "`"+.@rag_db$+"`")) {
if (compare(.@grants$[.@i], "ALTER,") || compare(.@grants$[.@i], "ALTER ON"))
 query_sql "ALTER TABLE `ragsrvinfo` ADD `agit_status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `drop`;";
break;
  }

 // verify
 if (query_sql("SHOW COLUMNS FROM ragsrvinfo LIKE 'agit_status'", .@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$) == 0) {
  debugmes strnpcinfo(3)+" : unable to modify SQL table (needs ALTER privilege)";
  atcommand "@unloadnpc " + strnpcinfo(3);
  end;
 }
}
OnAgitStart:
OnAgitStart2:
OnAgitEnd:
OnAgitEnd2:
query_sql "UPDATE ragsrvinfo SET agit_status = " + (agitcheck() || agitcheck2());
end;
}

3. Open fluxcp/modules/server/status.php

Copy below code and paste before ?>

// Name : WoE Status
// Email : [email protected]
// Author : Jupeto
// NOTE : Uncomment all commented lines below if you want to cache the checking of status
// and add a line in your fluxcp/config/application.php
/*
find : ServerStatusTimeout
add after :

'WoEStatusCache'	 => 2,						// Store a cached woe status and refresh every X minutes.  Default: 2 minutes (value is measured in minutes).
'WoEStatusTimeout'	=> 2,						// For each server, spend X amount of seconds to determine whether it's up or not.
*/
// if (file_exists($cache_woe_status) && (time() - filemtime($cache_woe_status)) < (Flux::config('WoEStatusCache') * 60)) {
// $woeStatus = unserialize(file_get_contents($cache_woe_status));
// }
// else {
$woeStatus = array();
foreach (Flux::$loginAthenaGroupRegistry as $groupsName => $loginAthenaGroup) {
 if (!array_key_exists($groupsName, $woeStatus)) {
  $woeStatus[$groupsName] = array();
 }
 foreach ($loginAthenaGroup->athenaServers as $athenaServer) {
  $serverName = $athenaServer->serverName;
  $sql = "SELECT agit_status AS woe_status FROM {$athenaServer->charMapDatabase}.ragsrvinfo WHERE `name` = '" . $serverName . "'";
  $sth = $loginAthenaGroup->connection->getStatement($sql);
  $sth->execute();
  $woe_status = $sth->fetch();

  $woeStatus[$groupsName][$serverName] = array(
'woe_status' => $woe_status->woe_status
  );
 }
}

// $fp = fopen($cache_woe_status, 'w');
// if (is_resource($fp)) {
 // fwrite($fp, serialize($woeStatus));
 // fclose($fp);
// }
// }

Save and exit.

4. Open fluxcp/themes/your_theme/server/status.php

Copy below code and paste it after the end of file

<?php foreach ($woeStatus as $privServerName => $gameServers): ?>
<h3>War Of Emperium Status for <?php echo htmlspecialchars($privServerName) ?></h3>
<table id="server_status">
<tr>
 <td class="status"><?php echo htmlspecialchars(Flux::message('ServerStatusServerLabel')) ?></td>
 <td class="status">Status</td>
</tr>
<?php foreach ($gameServers as $serverName => $gameServer): ?>
<tr>
 <th class="server"><?php echo htmlspecialchars($serverName) ?></th>
 <td class="status"><?php echo $this->serverUpDown($gameServer['woe_status']) ?></td>
</tr>
<?php endforeach ?>
</table>
<?php endforeach ?>

Save and exit.

Edited by jupeto
  • Upvote 6
Posted

tnx again sir jupeto. I will try this tomorrow. antok na kc ako hehehe tnx again for the reply. I send you back if this work.

1. Execute the sql below in your fluxcp database

ALTER TABLE `ragsrvinfo`
ADD `agit_status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `drop`;

2. Download agit_status.txt. Place the file in rAthena/npc/custom/ and install it or copy below and create a new file named agit_status.txt and install

//===== eAthena Script =======================================
//= Agit Status Checker
//===== By: ==================================================
//= Entwined
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= eAthena SVN (SQL only)
//===== Description: =========================================
//= Updates WoE status, so CeresCP can display
//= if WoE is on or off in real time.
//===== Additional Comments: =================================
//= Run this SQL query:
//= ALTER TABLE `ragsrvinfo` ADD `agit_status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `drop`;
//============================================================
- script AGIT_STATUS -1,{
OnInit:
// check if `agit_status` column exists
if (query_sql("SHOW COLUMNS FROM ragsrvinfo LIKE 'agit_status'", .@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$) == 0) {
 // Or... if we have the ALTER privilege, try to add the column
 query_sql "SELECT DATABASE()", .@rag_db$;
 query_sql "SHOW GRANTS", .@grants$;
 for (set .@i,0; .@i<getarraysize(.@grants$); set .@i,.@i+1)
  if (compare(.@grants$[.@i], "`"+.@rag_db$+"`")) {
if (compare(.@grants$[.@i], "ALTER,") || compare(.@grants$[.@i], "ALTER ON"))
 query_sql "ALTER TABLE `ragsrvinfo` ADD `agit_status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `drop`;";
break;
  }

 // verify
 if (query_sql("SHOW COLUMNS FROM ragsrvinfo LIKE 'agit_status'", .@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$,.@dummy$) == 0) {
  debugmes strnpcinfo(3)+" : unable to modify SQL table (needs ALTER privilege)";
  atcommand "@unloadnpc " + strnpcinfo(3);
  end;
 }
}
OnAgitStart:
OnAgitStart2:
OnAgitEnd:
OnAgitEnd2:
query_sql "UPDATE ragsrvinfo SET agit_status = " + (agitcheck() || agitcheck2());
end;
}

3. Open fluxcp/modules/server/status.php

Copy below code and paste before ?>

// Name : WoE Status
// Email : [email protected]
// Author : Jupeto
// NOTE : Uncomment all commented lines below if you want to cache the checking of status
// and add a line in your fluxcp/config/application.phpcredits
/*
find : ServerStatusTimeout
add after :

'WoEStatusCache'	 => 2,						// Store a cached woe status and refresh every X minutes.  Default: 2 minutes (value is measured in minutes).
'WoEStatusTimeout'	=> 2,						// For each server, spend X amount of seconds to determine whether it's up or not.
*/
// if (file_exists($cache_woe_status) && (time() - filemtime($cache_woe_status)) < (Flux::config('WoEStatusCache') * 60)) {
// $woeStatus = unserialize(file_get_contents($cache_woe_status));
// }
// else {
$woeStatus = array();
foreach (Flux::$loginAthenaGroupRegistry as $groupsName => $loginAthenaGroup) {
 if (!array_key_exists($groupsName, $woeStatus)) {
  $woeStatus[$groupsName] = array();
 }
 foreach ($loginAthenaGroup->athenaServers as $athenaServer) {
  $serverName = $athenaServer->serverName;
  $sql = "SELECT agit_status AS woe_status FROM {$athenaServer->charMapDatabase}.ragsrvinfo WHERE `name` = '" . $serverName . "'";
  $sth = $loginAthenaGroup->connection->getStatement($sql);
  $sth->execute();
  $woe_status = $sth->fetch();

  $woeStatus[$groupsName][$serverName] = array(
'woe_status' => $woe_status->woe_status
  );
 }
}

// $fp = fopen($cache_woe_status, 'w');
// if (is_resource($fp)) {
 // fwrite($fp, serialize($woeStatus));
 // fclose($fp);
// }
// }

Save and exit.

4. Open fluxcp/themes/your_theme/server/status.php

Copy below code and paste it after the end of file

<?php foreach ($woeStatus as $privServerName => $gameServers): ?>
<h3>War Of Emperium Status for <?php echo htmlspecialchars($privServerName) ?></h3>
<table id="server_status">
<tr>
 <td class="status"><?php echo htmlspecialchars(Flux::message('ServerStatusServerLabel')) ?></td>
 <td class="status">Status</td>
</tr>
<?php foreach ($gameServers as $serverName => $gameServer): ?>
<tr>
 <th class="server"><?php echo htmlspecialchars($serverName) ?></th>
 <td class="status"><?php echo $this->serverUpDown($gameServer['woe_status']) ?></td>
</tr>
<?php endforeach ?>
</table>
<?php endforeach ?>

Save and exit.

This help's me a lot sir jupeto. thank you it works now. thank again for helping me

  • 3 weeks later...
Posted

sir not working sakn...plz help

im using rathena rathena-trunk-r16113

working naman po sakin sir EA po kc gamit ko. sinundan ko lang po yung guide ni sir jupeto

  • 4 months later...
Posted

eh pang EA lng pla xa eh...hmm oky...not working in Rathena...

Working po sya for RA wala naman nabago sa tables ng ragsrvinfo eh if RA man po gamit nyo

  • 11 months later...
  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...