Jump to content

Recommended Posts

Posted

I thought that I should help the Administrators of servers with Vote Reward System, to reward only the players that voted, not all players at once!

Now, with CraneTop.ro it is possible!

FOR FREE!

 

How it works ? Simple! Every time a user votes for your server, he gets one random code.

Then, he goes back to your server's Vote Reward System, enters the code, and get the reward! That simple!

 

So... how can you do that?

 

1. Go to Profile and set Reward System to ON.

 

Now, every time a user votes for your website, he will receive a random code, so that he can get his reward.

 

2. Now you must do some new section in your website, or add the code below, to your Vote Reward System if you have one.

 

It's not necessarily to have Vote Reward System on your website! Read further!

 

3.  Website part

 

    You must add the following form in your website:

<form action="check.php" method="post">
Character Name: <input type="text" name="char"><br />
Reward Code: <input type="text" name="code"><br />
<input type="submit" value="Submit">
</form> 

 

    Now, create a new file named "check.php" and add the following content in:

<?php
##########################################
$host = "localhost";
$user = "root";
$password = "";
$dbname = "l2jdb";
$serverid = 'YOUR SERVER ID';

$connection = mysql_connect($host,$user,$password) or die("I can not connect to MySQL!");
mysql_select_db($dbname, $connection) or die("I can not find give database!");
##########################################

$ip = $_SERVER['REMOTE_ADDR'];

if(isset($_POST['char']))
$char = mysql_real_escape_string($_POST['char']);

if(isset($_POST['code']))
$code = intval($_POST['code']);

$url = "http://www.cranetop.ro/check/" .$serverid. "/" .$ip. "/" .$code;
$myresult = file_get_contents($url);

$check = mysql_query("SELECT `last_code` FROM characters WHERE `char_name`='$char'");
$check2 = mysql_query("SELECT * FROM characters WHERE `char_name`='$char' AND `reward_time`>DATE_SUB(NOW(), INTERVAL 12 HOUR)");

if(mysql_num_rows($check)>0) {
if(mysql_num_rows($check2)>0) {
	echo "You have already received a prize in the last 12 hours!";
}	else {
		while($row = mysql_fetch_array($check)) 
			$lastcode = $row['last_code'];
		if($code != $lastcode) {
			switch($myresult) {
				case 'Y':
					mysql_query("UPDATE characters SET vote=`vote`+1, `last_code`='$code', `reward_time`=NOW() WHERE `char_name`='$char'");
					echo "Thank you for voting!";
					break;
				case 'X':
					echo "The code you have entered is not valid!";
					break;
				case 'N':
					echo "You must vote in order to get rewarded!";
					break;
			}
		} else { echo "You have already used this reward code!";}
	}
} else { echo "Character name is incorrect!";}
?>

 

That's all you must do in the website part.

 

4.  MySQL Part

 

    Now you must do some little changes to your game server's database, and run the following MySQL command:

ALTER TABLE characters
ADD (`vote` int(10) NOT NULL,
     `last_code` int(6) NOT NULL,
     `reward_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00');

 

5. L2JServer side

http://pastebin.com/KpXQV3aX

 

6. L2J DataPack side

 

http://pastebin.com/n8d3aJeW

 

 

TESTED AND WORKING 100% !!

 

I made the patch for the latest version from l2j trunk folder.

 

You are free to change the files as you want, I just made a working example for you to have.

Posted

The idia is pretty old, but since noone shared that kind of system already...

I will give you +1 karma after recieve a reply from expirianced cheater that this works. [i'm not able to test this at the moment]

Posted

Today I had some extra time and I checked the code.

Had some errors, but now it's all fixed and working 100% !

First post updated!

 

Happy New Year!

  • 1 month 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.

×
×
  • Create New...