Jump to content

[Share/Guide]PHP Status/Acc creation/Online players Scripts


Recommended Posts

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 :)

Link to comment
Share on other sites

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

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?

Link to comment
Share on other sites

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

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

    • a beautiful response from a liar who is not even a man to admit it, at least it is recorded here that you are nothing more than a thief, this is your character as a person, which I hope one day you will have the courage and apologize to whoever you stole from, which I don't even need to talk about anymore, you know very well who you stole each job from, here I end the attacks, because someone deserved to come here and unmask you to the l2 community.
    • Yes Sir. Of course Sir, you know everything, Sir. If you said so, Sir. What about asking your "friends" where they get it they patch from? Kappa
    • Let's make one thing clear here, you don't have a patch/rev, what you have is a complete theft of codes, and if you are a real man, admit it, because my BR friends know very well that you are known for being the so-called interface copy/paste, because you don't create anything, you take advantage of years of work from people and steal it and sell it and you have the courage to talk about my patch, be ashamed of yourself.
    • i dont know why im the topic here if this is not even my patch, it seems you love me, even know my whole story... xd but good old times when we would EXCHANGE stuff betwen our selfs to make interfaces to our usage and likening... never talked to much with OMGz, but seems like a good guy   good old times when was all just having fun and editing stuff and playing, today is all about clout and money, i have that u dont hahahah   they will never come back..   i already left anything beside long time ago idk why think on me too much, just want to enjoy my free time to play some games and have fun.. but looks like somehow find a way to relate me to something, maybe you think on me to much idk, kinda weird.. unfortunately, you are looking at this code thinking that  "oh it has his name and abreviation, its from him" but i must say its not... i dont need to stay here saying that this and that happened, because i know very well that you know exactly what happened... peace for all PS: and.. my main language is pt br, not spanish like in the src...
    • Hi, i copy patch from L2acdc but have problem with 2 things... HP indicator, target animation... some1 know fix it ? i think need edit .dll files for it. Or its working it here in this patch ? thx    
  • Topics

×
×
  • Create New...