• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Level

troja

SD 2014
Joined
Jan 1, 2009
Messages
2,116
Reaction score
54
Hello, how can i make that if i get 100 exp. Then i go up 1 level.

In php
 
With addition of MySQL, SQLite, XML, INI, TXT or...?
 
PHP:
    function getExperienceForLevel($level)
	{
		$level -= 1;
		return ((50 * $level * $level * $level) - (150 * $level * $level) + (400 * $level)) / 3;
	}
	
	function needLevel($experience, $level)
	{
		if($experience >= getExperienceForLevel($level + 1))
			return true;
			
		return false;
	}
	
	while(needLevel($exp, $level))
		$level += 1;

Edit it to use your MySQL database rows.

P.S. its Tibias experience formula.

Already did an example for you, hihi:
PHP:
<?
	$db = new MySQLi('host', 'user', 'pass', 'database');
	
	$players = $db->query('SELECT `players`.`id`, `players`.`experience`, `players`.`level` FROM `players`;');
	
    function getExperienceForLevel($level)
    {
        $level -= 1;
        return ((50 * $level * $level * $level) - (150 * $level * $level) + (400 * $level)) / 3;
    }
    
    function needLevel($experience, $level)
    {
        if($experience >= getExperienceForLevel($level + 1))
            return true;
            
        return false;
    }
    
	function gainLevel($id)
	{
		//Stats gain and stuff goes here also.
		$db->query('UPDATE `players` SET `players`.`level` = `players`.`level` + 1 WHERE `players`.`id` = '.$id.';');
	}
		
	if($players->num_rows)
		while($player = $players->fetch_assoc())
			while(needLevel($player['experience'], $player['level']))
				gainLevel($player['id']);
				
	$db->close();
?>
 
Last edited:
Back
Top