Jump to content

CraneTop.ro Reward System


CraneTop

Recommended Posts

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.

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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



  • Posts

    • Well, sorry not sorry for resurrecting old topic, but I believe it's ultimately stupid to implement license checks like Vilmis did 🙂   private static String url = "jdbc:mysql://185.80.128.233/" + getData("Zm9ydW1fZGI="); private static String username = getData("bXJjb3B5cmlnaHQ="); private static String password = getData("Y29weXJpZ2h0XzEyMw=="); con = GlobalDB.getInstance().getConnection(); PreparedStatement statement; statement = con.prepareStatement("SELECT field_6 from core_pfields_content WHERE member_id = ?"); statement.setInt(1, Config.FORUM_USER_ID); ResultSet rset = statement.executeQuery();   This awesome way of coding things leaves us with base64-encoded credentials and DB exposed and accessible globally 😉 Btw he checks his licensing data from some plugin generated table his forum uses. Vilmis took action and ensured that mrcopyright user would have only needed accesses and rights for this operation. But he forgot to ensure that his INFORMATION_SCHEMA database would not be exposed and readable... That leads us to fully readable server variables like version used (10.1.26-MariaDB-0+deb9u1 - pretty ancient DB and OS, I'd assume). From here you can go south and do some kinky stuff, if you want and have knowledge for that. But who cares, right?   Ooh, table core_pfields_content field_6 is IP address which is checked by FORUM_USER_ID. Yep, you can query all IP addresses there (124 of them right now) and also do whatever you want with them! 🙂  The most fun part? Files source has been shared what, more than 2 years ago?  Vilmis still uses very same credentials and never changed it after sources exposure - who cares. Although, "sources" may be way too strong word here. If anyone still use paid Orion versions, I'd suggest packing your shit and leaving immediately, or at least fix this incompetent fool caused problems. It's obvious Vilmis don't care or maybe doesn't even know from the first place how to solve this problem (hint hint - tiny PHP Rest API microservice which would do absolutely the same but without exposing sensitive data?). By doing that, he exposes his infrastructure and YOUR data, and he does that for more than 2 years now 🙂 Developer of century!    
    • rename the l2.bin into l2.exe
    • L2LIVE.PRO- Dynamic Mid-rates Essence Seven Signs GRAND OPENING - July 5, 20:00 GMT+3 (EEST) TEST SERVER IS OPEN - COME AND CHECK IT OUT TODAY! Join our community and be part of it at: https://www.l2live.pro https://discord.gg/k3NMgR4Dmu   Server description * EXP/SP: Dynamic (x1- x100 based on your level, *before* Sayha and EXP buffs * Adena: x50 / Item Drop: x10 / Fishing EXP increased / Attribute EXP increased * Simplified gameplay to stay in the loop while not spending hours and hours farming * Starter Pack containing very useful items for beginners * MP replenishing potions with auto-consumption * No overpowered donations L2LIVE shop * All spellbook coupons, pet spellbook coupons and master books are sold via Game Assistant * Additionally you can buy SP pouches, enchanted talismans, pet training guides and various other consumables for Adena and L-Coin * More items such as cloaks, more talismans, agathions, belts, pendants, enchantment scrolls of various grades, evolution stones, etc will be added! Shop server as a shortcut, and all retail-like ways of earning items are still here! L-Coins * Drops with small change and in random amounts from Lv60+ monsters  * All raidbosses drop random amount of L-Coin Pouches generating up to 420 Lcoin per unit. **Grand Olympiad and Events** * Grand Olympiad is held week day * Format is 1v1, unlimited weekly fights  * Heroes are declared weekly at Sunday * There are three automated events - TvT, CTF and Deathmatch, running at evenings * Orc Fortress, Battle with Balok, Keber Hunter, Archievements Box, Daily Gift Calendar provisional events are active too Custom user commands * .offlineplay command, your character will keep playing till death or server restart * .offlineshop command, keeps your shop sitting until all items are purchased * .apon / .apoff - enable/disable HP/MP autoconsume And lots of other small improvements are waiting for you!   Join our community and be part of it at: https://www.l2live.pro https://discord.gg/k3NMgR4Dmu
  • Topics

×
×
  • Create New...