Jump to content

Recommended Posts

Posted

Ive decided to make this thread cuz theres allot of good servers out there with pages looking like something frontpage would spit out.. besides it was time to give something back to the mxc community  ;D

 

I could post all scripts from castle sieges to clan hall owners lol.. but i will just post this 3 for example.. and ofcourse learning purposes..

 

Server Status:

 

anyway status script is the easyest thing to do with php.. and i wont even try to explain it since its mostly obvious..

 

 

<?php

    print'<table width="150">';

    $server  = "127.0.0.1";

    $portg  = "7777";

    $portl  = "9014";

    $timeout = "5";

 

    if ($server and $port and $timeout) {

        $game =  @fsockopen("$server", $portg, $errno, $errstr, $timeout);

        $login =  @fsockopen("$server", $portl, $errno, $errstr, $timeout);

    }

    print'<tr><td align="center"><strong>Server Status</strong></td></tr>';

    if($login) { print'<tr><td>Login:</td><td><font color="#00FF00"><strong> Online</strong></font><br><br></td></tr>'; }

    else { print'<tr><td>Login:</td><td><font color="#FF0000"><strong> Offline</strong></font><br><br></td></tr>'; }

    if($game) { print'<tr><td>Game:</td><td><font color="#00FF00"><strong> Online</strong></font></td></tr>'; }

    else { print'<tr><td>Game:</td><td"><font color="#FF0000"><strong> Offline</strong></td></tr>'; }

    print'</table>';

?>

Acc creation:

 

I wasted allot of time to get to know what encryption l2 uses for passwords.. anyway i wanted to spare you some time..

 

First create acc.php file in same directory as index.. and add this script to it

 

<?php

  define('mySQL_hostname', '127.0.0.1');  //database IP

  define('mySQL_database', 'Database');  //database name

  define('mySQL_username', 'User');  //database user

  define('mySQL_password', 'Pass');  //database password

 

  function l2j_encrypt($password)

    {

        return base64_encode(pack("H*", sha1(utf8_encode($password))));

    }

 

  $str =  l2j_encrypt($_POST['pass']);

 

  $user = $_POST["name"];

 

  $db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password )

    or die( 'Error connecting to mysql<br><br>'.mysql_error() );

 

  $db_select = mysql_select_db( mySQL_database, $db_link )

    or die( 'Error connecting to Database<br><br>'.mysql_error() );

 

  if ($user == '') { print'Incorrect UserID'; mysql_close(); }

  else {

  $db_add = mysql_query( "INSERT INTO `accounts` VALUES ('$user', '$str', '0', '0', '')" )

    or die( 'Error: '.mysql_error() );

  }

  print 'Account Created<br><br>Enjoy youre gameplay.';

  mysql_close();

?>

after that add this to index

 

 

            <form action="acc.php" method=post>

                        UserID:<input type="text" name="name" size 20><br><br>

                        Password:<input type="password" name="pass" size 20><br><br>

                        <input type=submit name="submit" value="Login">

            </form>

Online Players:

 

This script connects to the database(that means you need to have php connected to sql.. if you need any help with it try searching with google for apache php mysql install guides and i bet first link will work). Ive explained some of the code.. so learning from it should be easy..

 

<?php

//first you need to define db info

  define('mySQL_hostname', '127.0.0.1');  //database IP

  define('mySQL_database', 'Database');  //database name

  define('mySQL_username', 'User');  //database user

  define('mySQL_password', 'Pass');  //database password

 

//connects to mysql

  $db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password )

    or die( 'Error connecting to mysql<br><br>'.mysql_error() );

 

//connects to Database

  $db_select = mysql_select_db( mySQL_database, $db_link )

    or die( 'Error connecting to Database<br><br>'.mysql_error() );

 

//selects desired table

  $chars=mysql_query("SELECT * FROM characters");

 

//tells how much rows are there (will come helpfull with while loops)

  $rows =mysql_numrows($characters);

 

  $i=0;

  $x=0;

 

//while $i is smaller than number of rows repeat the code

  while ($i < $rows) {

    $online=mysql_result($chars,$i,"online"); //looks into characters table, under column online(if player is online its "0" else "1"), at row $i

    if ($online == 1) { $x++; } // if column online at row $i is "1", increase $x

    $i++; //increase $i

    }

  print 'Online players:<em>'.$x.'<em>'; //prints out the $x number of players online

?>

sometimes you will only get for example clan id.. not the name of it.. and in that case i suggest you use 2 whiles (one inside the other) to check other tables for names...

 

hope it was helpful.. enjoy :)

  • 2 months later...
  • 3 weeks later...
Posted

good but already posted many times.

 

another: im searching this forum about a php code, that can tell me online players by an ip:port.

there was a webpage (l2.evermore.ru or i dont remember correctly) what could do this.

Can anyone help me about this?

  • 7 months later...
  • 4 months later...
Posted

For me account creation doesn't work..

Error :

 

Error: Column count doesn't match value count at row 1

 

Because you have another database, check the code tables and the database, the problem can be the database tables dont have the same name who the code's have, so check it.

You use Freya or Interlude? and what pack did you use?

Posted

Because you have another database, check the code tables and the database, the problem can be the database tables dont have the same name who the code's have, so check it.

You use Freya or Interlude? and what pack did you use?

 

I use datapack of l2j with freya.

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

    • Sure. This is the AbnormalStatusWnd.uc file with ability of removing buff with ALT + click https://pastebin.com/iVWpYysq
    • Hello, I add this code here https://maxcheaters.com/topic/248730-agathions-acis-401-does-not-interfere-with-summons-or-pets/.     but i have problem with agathion movement, agathion does not move when the player moves. The player must stop moving for Agathion to come close him.   i think the problem is here at < _followTask = ThreadPool.scheduleAtFixedRate(new Follow(this), 1000, 1000); >>       public void followToOwner()     {                  if (_followTask == null)             _followTask = ThreadPool.scheduleAtFixedRate(new Follow(this), 1000, 1000);                                  int rnd = Rnd.get(-30, +30);         SpawnLocation loc = _owner.getPosition();                          if (!checkIfInRange(1000, this, _owner))             teleport(_owner, 30);                  if (_owner.isMoving())             getAI().tryToFollow(_owner, false);         else         {             if (!checkIfInRange(75, this, _owner))                 getAI().tryToMoveTo(new Location(loc.getX()+rnd, loc.getY()+rnd, loc.getZ()), null);             else if (checkIfInRange(30, this, _owner))                 getAI().tryToIdle();                              if (Config.AGATHION_HEAL_OWNER && !getCast().isCastingNow())             {                 if (_owner.isInOlympiadMode() || _owner.isInDuel() || _owner.getPvpFlag() != 0 || _owner.isInsideZone(ZoneId.PVP) || _owner.getKarma() != 0)                     return;                                  if ((_owner.getStatus().getHpRatio() < Config.AGATHION_PERCENT_TO_HEAL))                     getAI().tryToCast(_owner, 1011, 18);             }             else if (!Config.AGATHION_ONLY_FOLLOW && Config.AGATHION_ALLOW_SOCIAL && !isMoving() && !getCast().isCastingNow())                 broadcastPacket(new SocialAction(this, 1));         }  
    • 🌟 EMERLAND.PW — Open Beta Testing Has Begun! 🎉 Friends! We are excited to announce that the Open Beta Testing of our Lineage 2 Interlude server, based on the new Classic client, has officially started! 🚀 📌 Key Information Server Rates: x50 New client, new possibilities Numerous improvements for a more comfortable gameplay We invite everyone to join the OBT, test the game, and help us make the server even better before the official launch! Your feedback and active participation are very important to us. 🎁 Participation Bonus! After the OBT ends, all active participants will receive a special bonus on their Master Account! 📅 Join now at EMERLAND.PW and become part of our project's history! 🔥 Server Rates Exp/SP: x50 Raid Exp/SP: x50 Adena: x25 Seal Stones: x5 Drop/Spoil: x5 Quest/Quest Adena: x1 RB Drop Rate: x5 Quest Item Drop Rate: x5 Siege Guard Drop Rate: x5 Clan Reputation Rate: x5 Mob Spawn Rate: x2 Manor Rate: x5 ⚙ Server Settings Auto-loot (disabled for bosses) Players with karma cannot use NPC shops Auto skill learning Subclass addition without quest (max. 10 subclasses) Warsmith & Overlord can be added as subclasses Elf & Dark Elf subclasses available for all Heroic skills remain when switching to a subclass Alternative protection for characters after teleport (Celestial Shield for 15 sec) Clan warehouse item withdrawal rights can be given to members, not just CL Catacomb teleportation for Adena Buff limit: 60 (duration: 60 min) Dance/Song limit: 24 (duration: 60 min) Enchanted items can be traded and sold Max enchant level: 20 Multiple character login from one account is allowed Two types of champion mobs: x10, x50 (Drop: 0.5% Gold Einhasad, 5% Silver Shilen) 🛍 In-Game Shop Gear up to B-Grade included Mana Potion, Mana Drug available for Adena Accessories, Costumes, Mounts, Belts, Cloaks – for Silver Shilen & Gold Einhasad (cosmetic only, no P2W) 💰 Main Server Currencies Silver Shilen – earned through events, champion mob drops, voting Gold Einhasad – obtained through server support, events, voting, champion mob drops 🏆 Game Commands .cfg — Game settings .exp — XP to next level .time — Server date & time .clan — Clan panel .relog — Quick relog .ping — Check ping .rb — Raid boss statistics .topclan — Clan rankings .whoiam — Character stats .rcm — Clan recall (CL only) ⚔ In-Game Events The server features 3 events: TvT, DM, CTF. 🔹 Rewards for participation & victories 🕒 Event Schedule (server time .time😞 TvT: 03:00, 08:00, 13:00, 16:00, 19:00, 22:00 DM: 04:00, 10:00, 14:00, 17:00, 20:00, 23:00 CTF: 06:00, 12:00, 15:00, 18:00, 21:00, 00:00 🤖 Auto-Farm Cost: 2 Silver Shilen/hour Limit: 24 hours Activation: .autofarm 🎟 Premium Account Premium boosts all rates x2. 1 day — 1 Gold Einhasad 7 days — 4 Gold Einhasad 30 days — 10 Gold Einhasad ⭐ Server Features Chronicles: Interlude Game Client: Classic Updated Core/Orfen stats (upgraded to level 3) Core Ring 2 lvl: +3% M. Atk, +1 MEN Core Ring 3 lvl: +6% M. Atk, +1 MEN, +1 WIT Orfen Earring 2 lvl: +3% P. Atk, +1 CON Orfen Earring 3 lvl: +6% P. Atk, +1 CON, +1 DEX New Skills Added: Spoilers — Festive Sweeper (AoE sweep) PP, EE, SE, BP — Might of Heaven (PvP skill) Horse Tamers — Hydro Blast (weakened power, 1 Cursed Bone) Cat Tamers — Prominence (weakened power, 1 Cursed Bone) Shadow Tamers — Hurricane (weakened power, 1 Cursed Bone) 🎮 Join us now at EMERLAND.PW and start your adventure today! 🚀
    • Price reduction for Google accounts from 6-12 months after registration - only 0.3157$ each. Top up with Gmail accounts with activated 2FA - 0.3507$ each!
  • Topics

×
×
  • Create New...