Jump to content

Recommended Posts

Posted

 

 

config.php

<?php
$database_info = array(
	'host' => 'localhost',  
	'user' => 'root',
	'password' => 'some_password',
	'l2jdb' => 'l2jdb'
);


?>

 

databaseinfo.php

<?php


@mysql_connect($database_info['host'], $database_info['user'], $database_info['password']) or die(mysql_error());
@mysql_select_db($database_info['l2jdb']) or die(mysql_error());
?>

 

toppvp.php

<?php
// Connection
include 'config.php';
include 'databaseinfo.php';
?>

<?php
echo "<table>";

$query = "SELECT * FROM characters WHERE accesslevel = 0 ORDER BY pvpkills DESC limit 10"; //change 10 to whatever amount you want to show on your website.
//Connection CMD
$result = mysql_query($query) or die(mysql_error());

// loops results
while ($row = mysql_fetch_array($result)) 

{
//Adding Variables like a boss!
$name = $row['char_name'];
$level = $row['level'];
$pvpscore = $row['pvpkills']; 
$pkscore = $row['pkkills'];



// Inserting data into the table
echo "

<tr>
<td>$name</td>
<td>$level</td>
   <td>$pvpscore</td>
<td>$pkscore</td>
</tr>";

}

echo "</table>";

//closing mysql connection
mysql_close();
?>

 

You will need to add the HTML table yourself, it is all set up though, it displays as NAME LEVEL PVP PK

 

Enjoy.

 

Posted

Oh by the way, if you are going to use this, make sure to create a new account that can only READ from the tables and not write, also turn off Global Variables because it will be prone to SQL injection.

 

Using the admin account for a php script is a bit of a stupid idea in the first place ::)

Posted

This is quite a basic script, but it can cause huge bandwidth spikes. Let's talk about optimization and assume that there's 10000 views per hour. That means that you resend that query 10000 times an hour. That makes it 240000 requests per day. But would you believe that you can do the same thing only with 96 query requests per day? That would take a huge load off the server and might increase the performance. Here's how I would do it:

I'd use the same script, but set it up for a cron job to execute it automatically every 15 minutes but instead of outputting the data (and destroying it afterward), I'd save it to a simple text file and on each page request acces it with fopen() function, loop through the file and parse strings with $array_name = explode(" ",$string); function. Data output would be the same. I'd do the same with TOP 200 script, account creation and anything that would create a huge load on the server.

Cheers.

  • 1 month later...
  • 8 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.
Note: Your post will require moderator approval before it will be visible.

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.



  • Posts

    • @FixerRay the problem is that my dev will not be available for a while so if you could help that will be great 
    • Hello! I need help with the file lineageeffect.u (Interlude client) I need to remove ForcedLifeTime from the following skills:   Battle Heal Greater Major Heal Hurricane Solar Flare Hydro Blast Aura Bolt Aura Flare Aura Flash   Thank you in advance for your help!
    • Used to have the same issue managing all my masked files from different edits. What really helped me stay organized was this list: https://www.blueberry-ai.com/blog/12-best-digital-asset-management-software-for-photographers. Found a couple of tools there that make sorting, tagging, and finding assets way easier, especially when working on multiple projects or sharing with clients. Took a massive load off my workflow and saved me a lot of time digging through folders.
    • IBServer for L2OFF GF-H5-GD-Classic I’m excited to share IBServer, a fully standalone authentication and billing server designed for Lineage II Official (L2OFF) Generations Supporting Gracia Final (GF), High Five (H5), Glory Days (GD), and Classic Year(2018-2020).   Key features: 🔌 Real IB Communication: Integrates directly with the L2OFF client protocol for in‑band packet handling. ⚙️ Zero Client/Server Modification: No changes required to L2Server.exe, no extenders, no hooks — plug and play. 🛠️ ODBC SQL Server Support: Built‑in DBManager C++ class for handling premium points, purchases, and account data via stored procedures. 📦 Complete Packet API: Full implementation of RequestCheckVersion, GetPremiumItems, GetGamePoint, AddGamePoint, BuyItem, DeleteItem, etc. 🚀 Ready to Deploy: Simple config.txt for port and connection string, runs as a native Windows service or console app.   Price: $150 USD (one‑time payment, no licensing restrictions — use on as many PCs as you want)   How to purchase & support: Please reply here or send me a private message on MaxCheaters. I’ll provide a compiled binary along with installation instructions.
  • Topics

×
×
  • Create New...