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

Quest makers (counter / top list)

Potar

SocialWorld
Senator
Joined
Mar 1, 2009
Messages
1,661
Reaction score
125
Location
Warsaw, Poland
I looking for plugin quest counter it show you how many quests you have done (%).
Now it showing only done quests, true or false.

I need one more line top:

Quests Done x%

To this script:

LUA:
$id = $player->getCustomField("id");
			$number_of_quests = 0;
			$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD align="left" COLSPAN=2 CLASS=white><B>Questy</B></TD></TD align="right"></TD></TR>';
                        $quests = $config['site']['quests'];
                        foreach ($quests as $storage => $name) {
				if(is_int($number_of_quests / 2))
					$bgcolor = $config['site']['darkborder'];
				else
					$bgcolor = $config['site']['lightborder'];
				$number_of_quests++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=95%>'.$storage.'</TD>';
                        $quest = $SQL->query('SELECT * FROM player_storage WHERE player_id = '.$id.' AND `key` = '.$quests[$storage].';')->fetch();
                           if($quest == false) {
			$main_content .= '<TD><img src="images/false.png"/></TD></TR>';
                        }
			else
			{
			$main_content .= '<TD><img src="images/true.png"/></TD></TR>';
			}
			}
			$main_content .= '</TABLE></td></tr></table>';

And if anyone have highscore top quest makers on server.
 
Try this (without GUI)
PHP:
<?php
	$quests = array(
		// storage => questName, value
		1000 => array("name" => "Quest I", "fromvalue" => 0, "tovalue" => 4)
	);
	
	$result = $SQL->query("SELECT `value`, `key` FROM `player_storage` WHERE `player_id` = ". $id .";")->fetch();
	foreach($result as $quest)
	{
		$info = $quests[$quest["key"]];
		if (empty($info))
			continue;
		$main_content .= "Name: ". $info["name"] ." Status: ". ($info["tovalue"] == $result["value"] ? "Finished" : "Not finished") ." Percent:". (round(($result["value"] - $info["fromvalue"]) / $info["tovalue"]) * 100) ."%";
	}
?>
 
Last edited:
All my scripts have only 1 status of STORAGE,

Example:

20010 - Annihiliator
20015 - DHQ
20020 - Demon Oak
20025 - INQ
20030 - POI

etc.
When i finished POI and INQ
I want in table inscription:

You have finished 20% quests.
 
Sorry, my bad. I don't understand what do u want.
Try
PHP:
<?php   
    $result 	= $SQL->query("SELECT `value`, `key` FROM `player_storage` WHERE `player_id` = ". $id .";")->fetch();
	$questCount = 0;
    foreach($result as $quest)
    {
        $questname = $quests[$quest["key"]];
        if (empty($questname))
            continue;
		$questCount = 0;
        $main_content .= "Name: ". $questname ." Status: ". ($result["value"] > 0 ? "Finished" : "Not finished") ."<br/>";
    }
	$main_content .= "Percent: ". (round($questCount / sizeof($quests)) * 100) ."%";
?>
 
So try this:
PHP:
<?php   
    $result     = $SQL->query("SELECT `value`, `key` FROM `player_storage` WHERE `player_id` = ". $id .";")->fetch();
    $questCount = 0;
    foreach($result as $quest)
    {
        $questname = $quests[$quest["key"]];
        if (empty($questname))
            continue;
        $questCount++;
        $main_content .= "Name: ". $questname ." Status: ". ($result["value"] > 0 ? "Finished" : "Not finished") ."<br/>";
    }
    $main_content .= "Percent: ". (round($questCount / sizeof($quests)) * 100) ."%";
?>
 
Back
Top