Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Fiz upgrade do servidor de 8.6 para 10x mas mantive o website by mock.

 

Agora O problema é que não está aparecendo "Online" na página character..

 

Porque?

Problema com o arquivo config-and-function ¿isOnline?

Problema com tfs diferente do website?

Problema com mysql na tabela Online sempre 0 (offline)

 

Muito dorflex kkk

 

print help;

tk-melhor.png

Link para o post
Compartilhar em outros sites

website do mock? Se voce atualizou o servidor 8.6 para 10.x voce precisa atualizar o site também para as funcões funcionaram normalmente. Não adianta nada ter um servidor cheio de features se o site não acompanha elas, :p

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
Em 11/11/2015 01:00:18, vankk disse:

website do mock? Se voce atualizou o servidor 8.6 para 10.x voce precisa atualizar o site também para as funcões funcionaram normalmente. Não adianta nada ter um servidor cheio de features se o site não acompanha elas, :p

 

mas as funções inclusive, também podem ter atualizações não são feitas sozinhas.

 

afinal, atualizar éoq to tentando fazer

 

e porque bug?/

Screen_Shot9455.jpg

 

characters.php

Spoiler

<?PHP
$name = stripslashes(ucwords(strtolower(trim($_REQUEST['name']))));
if(empty($name)) {
	$main_content .= 'Here you can get detailed information 
	about a certain player on '.$config['server']['serverName'].'.<BR>  
	<FORM ACTION="?subtopic=characters" METHOD=post>
	<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
	<TR>
	<TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white>
	<B>Procurar Character</B>
	</TD>
	</TR>
	<TR><TD BGCOLOR="'.$config['site']['darkborder'].'">
	<TABLE BORDER=0 CELLPADDING=1>
	<TR><TD>Name:</TD>
	<TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29>
	</TD>
	<TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18>
	</TD></TR></TABLE></TD></TR></TABLE></FORM>';
}
else
{
	if(check_name($name)) {
		$player = $ots->createObject('Player');
		$player->find($name);
		if($player->isLoaded()) {
			$account = $player->getAccount();
			$main_content .= '<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=0 HEIGHT=01 BORDER=0></TD><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Character Information</B></TD></TR>';
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=21%>Name:</TD><TD>';
			$main_content .= $player->getName();
			if($player->isDeleted())
				$main_content .= '<font color="red"> [DELETED]</font>';
			if($player->isNameLocked())
				$main_content .= '<font color="red"> [NAMELOCK]</font>';
			$main_content .= '</TD></TR>';
			if($player->getOldName())
			{
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				if($player->isNameLocked())
					$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Proposition:</TD><TD>'.$player->getOldName().'</TD></TR>';
				else
					$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Old name:</TD><TD>'.$player->getOldName().'</TD></TR>';
			}
			            // BEGIN Position Showing *** Fixed by jerryb1988 from otfans.net
            $group = $player->getGroup();
            if ($group == 2){$group_name = 'Tutor';}
            if ($group == 3){$group_name = 'Senior Tutor';}
            if ($group == 4){$group_name = 'Gamemaster';}
            if ($group == 5){$group_name = 'Community Manager';}
            if ($group == 6){$group_name = 'Administrador';}

            if($group != 1)
            {

                if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Position:</TD><TD>'.$group_name.'</TD></TR>';
            }
            // END Position Showing
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Sex:</TD><TD>';
			$main_content .= ($player->getSex() == 0) ? 'female' : 'male';
			$main_content .= '</TD></TR>';
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Vocation:</TD><TD>'.$vocation_name[$player->getWorld()][$player->getPromotion()][$player->getVocation()].'</TD></TR>';
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Level:</TD><TD>'.$player->getLevel().'</TD></TR>';

						/* Achievements Points */
                        $achievementPoints = $SQL->query('SELECT SUM(`value`) AS `sum` FROM `player_storage` WHERE `key` LIKE "200%" AND `player_id` = ' . $player->getId())->fetch();
                        
                        if(!$achievementPoints['sum']) { $achPoints = '0'; } else { $achPoints = $achievementPoints['sum']; }
                        
                        if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
                                $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Achievement Points:</TD><TD>'.$achPoints.'</TD></TR>';
                        /* Achievements Points END*/
						
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>World:</TD><TD>'.$config['site']['worlds'][$player->getWorld()].'</TD></TR>';
			if(!empty($towns_list[$player->getWorld()][$player->getTownId()]))
			{
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
             	$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Residence:</TD><TD>'.$towns_list[$player->getWorld()][$player->getTownId()].'</TD></TR>';
			 
			 /*if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Balance:</TD><TD>'.$player->getBalance().' Gold Coins.</TD></TR>'; */


                  }
			/*$house = $SQL->query( 'SELECT `houses`.`name`, `houses`.`town`, `houses`.`lastwarning` FROM `houses` WHERE `houses`.`world_id` = '.$player->getWorld().' AND `houses`.`owner` = '.$player->getId().';' )->fetchAll();
           if(count($house) != 0)
              {
              if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			  $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>House:</TD><TD colspan="2">'.$house[0]['name'].' ('.$towns_list[$player->getWorld()][$house[0]['town']].')';
			  if ($house[0]['paid']){$main_content .='&nbsp;is paid until '.date("M j Y", $house[0]['paid']);}
			  $main_content .='.</TD></TR>';
              }*/
			$rank_of_player = $player->getRank();
			if(!empty($rank_of_player))
			{
			{
			$guild_id = $rank_of_player->getGuild()->getId();
			$guild_name = $rank_of_player->getGuild()->getName();
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Guild Membership:</TD><TD>'.$rank_of_player->getName().' of the <a href="?subtopic=guilds&action=show&guild='.$guild_id.'">'.$guild_name.'</a></TD></TR>';
			}
			}
			
			$lastlogin = $player->getLastLogin();
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			if(empty($lastlogin))
			{
				$main_content .= '<TR BGCOLOR='.$bgcolor.'><TD WIDTH="20%">Last login:</TD><TD>Never logged in.</TD></TR>';
				}
			else {
				$main_content .= '<TR BGCOLOR='.$bgcolor.'><TD WIDTH="20%">Last login:</TD><TD>'.date("M j Y, H:i:s T", $player->getLastLogin()).'</TD></TR>';
				}


				
            // VIP STATUS 
            if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
            $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>VIP Status:</TD><TD>';  
            $main_content .= ($account->getPlayerVip_Time()) ? '<b><font color="green">VIP Account</font></b>' : '<b><font color="red">Não é VIP</font></b>';
			
			
			//Comment System
			$comment = $player->getComment();
			$newlines   = array("\r\n", "\n", "\r");
			$comment_with_lines = str_replace($newlines, '<br />', $comment, $count);
			if($count < 50)
				$comment = $comment_with_lines;
			if(!empty($comment))
			{
			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;  
							$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD VALIGN=top>Comment:</TD><TD>'.$comment.'</TD></TR>';
			}
						// ACC STATUS

			if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
			$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Account Status:</TD><TD>';  
			$main_content .= ($account->isPremium()) ? 'Premium Account' : 'Free Account';	
			
			/* if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Account&#160;Status:</TD><TD>';
				$main_content .= ($account->isPremium()) ? '<b><font color="green">Premium Account</font></b>' : '<b><font color="red">Free Account</font></b>'; 
				if($account->isBanned())
                                        if($account->getBanTime() > 0)
						$main_content .= '<font color="red"> [Banished until '.date("j F Y, G:i", $account->getBanTime()).']</font>';
					else
						$main_content .= '<font color="red"> [Banished FOREVER]</font>';*/
				$main_content .= '</TD></TR></TABLE></br>';
			
			//Outfit shower by Pening edited by loleslav
			if($config['site']['show_outfit']) {
            $id = $player->getCustomField("id");
            $main_content .= '<TD BGCOLOR="'.$config['site']['darkborder'].'">Outfit:';
			$listaddon = array('128','129','130','131','132','133','134','135','136','137','138','139','140','141','142','143','144','145','146','147','148','149','150','151','152','153','154','155','158','159','251','252','268','269','270','273','278','279','288','289','302','324','325');
			$lookadd = array('0','1','2','3');
			foreach ($listaddon as $pid => $name)
				foreach ($lookadd as $addo => $name) {
					$addon1 = $SQL->query('SELECT * FROM players WHERE id = '.$id.' AND looktype = '.$listaddon[$pid].' AND lookaddons = '.$lookadd[$addo].';')->fetch();
					if($addon1[looktype] == true ) {
						$finaddon = $addon1[looktype] + $addon1[lookaddons] * 300;
						$main_content .= '<TD with=50% style="background-color: '.$config['site']['darkborder'].'"><center><img src="images/addons/'.$finaddon.'.gif"/></center></TD></TD>';
					}
				}
			}
			$main_content .= '</td>';
			//end   Outfit shower by Pening edited by loleslav
			if($config['site']['show_signature']) {
			// Signature by makr0mango.
function randomSignature( $folder ) {
    $files = scandir ( "./$folder/" );
    $signature = array();

    foreach ( $files as $file ):
        if ( substr ( strtolower ( $file ) , -4 ) == ".png" )
            $signature[] = $file;
    endforeach;

    return rand(0,count($signature)-1);
}
			$random = randomSignature("signatures");
			$main_content .= '<br><tr></tr><tr></tr><tr></tr><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Signature</B></TD></TR>';
			$main_content .= "<TR BGCOLOR=".$config['site']['darkborder']."><TD WIDTH=20%>Forum Link:</TD><TD><input type='text' size='75' onclick='this.select();' value='[url=\"http://" . $_SERVER['HTTP_HOST'] . "\"][IMG]http://" . $_SERVER['HTTP_HOST'] . "/signature.php?character=" .$player->getName(). "&image=" . $random . "[/IMG][/url]' /></TD></TR>";
			$main_content .= "<TR BGCOLOR=".$config['site']['lightborder']."><TD WIDTH=20%>Direct Link:</TD><TD><input type='text' size='75' onclick='this.select();' value='http://" . $_SERVER['HTTP_HOST'] . "/signature.php?character=" .$player->getName(). "&image=" . $random . "' /></TD></TR>";
			$main_content .= "<TR BGCOLOR=".$config['site']['darkborder']."><TD COLSPAN='2' style='text-align: center;'><img src='signature.php?character=" .$player->getName(). "&image=" . $random . "' /></TD></TR>";
			$main_content .= '</TD></TR></TABLE>';
			// Signature by makr0mango.
			}
			if($config['site']['show_skills_info']) {
			//Skills Pics v2. Table borders optimized by Absolute Mango
			$main_content .= '<br/><table cellspacing="0" cellpadding="0" border="0" width="200" align="center"><caption><strong>Skills</strong></caption><tbody><tr>
            <td align="center"><a href="?subtopic=highscores&list=experience"><img src="images/skills/level.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=magic"><img src="images/skills/ml.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=fist"><img src="images/skills/fist.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=club"><img src="images/skills/club.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=sword"><img src="images/skills/sword.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=axe"><img src="images/skills/axe.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=distance"><img src="images/skills/dist.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=shield"><img src="images/skills/def.png" style="border: none;"/></a></td>
            <td align="center"><a href="?subtopic=highscores&list=fishing"><img src="images/skills/fish.png" style="border: none;"/></a></td>
			</tr></tbody></table>
			<table cellspacing="0" cellpadding="0" border="1" width="360" align="center"><tbody><tr><tr bgcolor="'.$config['site']['darkborder'].'">
            <td align="center" width="38"><strong>Level</strong></td>
            <td align="center" width="38"><strong>ML</strong></td>
            <td align="center" width="42"><strong>Fist</strong></td>
            <td align="center" width="40"><strong>Club</strong></td>
            <td align="center" width="38"><strong>Swrd</strong></td>
            <td align="center" width="38"><strong>Axe</strong></td>
            <td align="center" width="38"><strong>Dist</strong></td>
            <td align="center" width="38"><strong>Shield</strong></td>
            <td align="center" width="38"><strong>Fish</strong></td></font>
        </tr>
        <tr bgcolor="'.$config['site']['lightborder'].'">
            <td align="center" width="38">'.$player->getLevel().'</td>
            <td align="center" width="38">'.$player->getMagLevel().'</td>
            <td align="center" width="38">'.$player->getSkill(0).'</td>
            <td align="center" width="38">'.$player->getSkill(1).'</td>
            <td align="center" width="38">'.$player->getSkill(2).'</td>
            <td align="center" width="38">'.$player->getSkill(3).'</td>
            <td align="center" width="38">'.$player->getSkill(4).'</td>
            <td align="center" width="38">'.$player->getSkill(5).'</td>
            <td align="center" width="38">'.$player->getSkill(6).'</td>
        </tr></tbody></table><div table align="center">&nbsp;<br />&nbsp;</div></br>';
			//skill script end
			}
			
/*
                                Achievements website script by Archez.
                                http://otland.net/members/archez/
                                Achievements in-game functions and script by darkhaos.
                                http://otland.net/members/darkhaos/
                                A person that made this script possible, Chris.
                                http://otland.net/members/chris/
                                ------------------------------------------------------
                                Merely scripted for Gesior AAC.
                                ------------------------------------------------------
                        */
                                
                                $achievements = $SQL->query('SELECT `key`, `player_id` FROM `player_storage` WHERE `key` LIKE "200%" AND `player_id` = ' . $player->getId())->fetchAll();

                                $main_content .= '<table border=0 cellspacing="1" cellpadding="4" width=100%><tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="2" class=white><b>Account Achievements</b></td></tr>';
                                
                                if(!$achievements)
                                {
                                        $main_content .= '<tr bgcolor="'.$config['site']['lightborder'].'"><td>There are no achievements set to be displayed for this character.</td></tr>';
                                }
                                else
                                {
                                        $number_of_rows = 0;
                                        
                                        foreach($achievements as $row)
                                        {
                                                if(!array_key_exists(($row['key'] - 19999 ), $achievements))
                                                {
                                                        if($row['key'] - 20000 <= 54) { $grade = '<img src="images/achievements/grade.gif" />'; }
                                                        elseif($row['key'] - 20000 <= 79) { $grade = '<img src="images/achievements/grade.gif" /> <img src="images/achievements/grade.gif" />'; }
                                                        elseif($row['key'] - 20000 >= 80) { $grade = ' <img src="images/achievements/grade.gif" /> <img src="images/achievements/grade.gif" /> <img src="images/achievements/grade.gif" />'; }

                                                        
                            $secret = false;
                            
                            if(in_array(($row['key'] - 20000), $config['archez']['secret']))
                            {
                                $secret = '<img src="images/achievements/secret.gif" />';
                            }
                                                        
                                                        if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['darkborder']; }
                                                        
                                                        $main_content .= '<tr bgcolor="'.$bgcolor.'"><td width="20%">'.$grade.'</td><td>' . $config['archez']['achievements'][$row['key'] - 20000] . '<span style="float:right;">'.$secret.'</span></td></tr>';
                                                        
                                                        $number_of_rows++;
                                                }
                                        }
                                }
                                
                                $main_content .= '</table>';
                                
                        /* END OF ACHIEVEMENTS */

$main_content .= '</TABLE></td></tr></table><br />';
						$deads = 0;					
			//deaths list 
			$player_deaths = $SQL->query('SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,10;');
			foreach($player_deaths as $death)
			{
				if(is_int($number_of_rows / 2))
					$bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder'];

				$number_of_rows++; $deads++;
				$dead_add_content .= "<tr bgcolor=\"".$bgcolor."\">
				<td width=\"20%\" align=\"center\">".date("j M Y, H:i", $death['date'])."</td>
				<td>";
				$killers = $SQL->query("SELECT environment_killers.name AS monster_name, players.name AS player_name, players.deleted AS player_exists FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id
LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id
WHERE killers.death_id = ".$SQL->quote($death['id'])." ORDER BY killers.final_hit DESC, killers.id ASC")->fetchAll();

				$i = 0;
				$count = count($killers);
				foreach($killers as $killer)
				{
					$i++;
					if(in_array($i, array(1, $count)))
						$killer['monster_name'] = str_replace(array("an ", "a "), array("", ""), $killer['monster_name']);

					if($killer['player_name'] != "")
					{
						if($i == 1)
							$dead_add_content .= "Killed at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						if($killer['monster_name'] != "")
							$dead_add_content .= $killer['monster_name']." summoned by ";

						if($killer['player_exists'] == 0)
							$dead_add_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">";

						$dead_add_content .= $killer['player_name'];
						if($killer['player_exists'] == 0)
							$dead_add_content .= "</a>";
					}
					else
					{
						if($i == 1)
							$dead_add_content .= "Died at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						$dead_add_content .= $killer['monster_name'];
					}

					if($i == $count)
						$dead_add_content .= ".";
				}

				$dead_add_content .= ".</td></tr>";
			}

			if($deads > 0)
				$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Deaths</B></TD></TR>' . $dead_add_content . '</TABLE>';

			//end
			if(!$player->getHideChar()) {
				$main_content .= '<TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Account Information</B></TD></TR>';
				if($account->getRLName())
				{
					if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Real name:</TD><TD>'.$account->getRLName().'</TD></TR>';
				}
				if($account->getLocation())
				{
					if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
					$main_content .= '<TR BGCOLOR='.$config['site']['darkborder'].'><TD WIDTH=20%>Location:</TD><TD>'.$account->getLocation().'</TD></TR>';
				}
				if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
				if($account->getLastLogin())
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Last login:</TD><TD>'.date("j F Y, g:i a", $account->getLastLogin()).'</TD></TR>';
				else
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Last login:</TD><TD>Nunca Logou.</TD></TR>';
				if($account->getCreated())
				{
					if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
					$main_content .= '<TR BGCOLOR='.$config['site']['lightborder'].'><TD WIDTH=20%>Created:</TD><TD>'.date("j F Y, g:i a", $account->getCreated()).'</TD></TR>';
				}
				
				$main_content .= '<br><TABLE BORDER=0><TR><TD></TD></TR></TABLE><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'>
				<TD COLSPAN=5 CLASS=white><B>Characters</B></TD></TR>
				<TR BGCOLOR='.$config['site']['darkborder'].'><TD><B>Name</B></TD><TD><B>World</B></TD><TD><B>Level</B></TD><TD><b>Status</b></TD><TD><B>&#160;</B></TD></TR><br>';
				$account_players = $account->getPlayersList();
				$account_players->orderBy('name');
				$player_number = 0;
				foreach($account_players as $player_list)
				{
					if(!$player_list->getHideChar())
					{
						$player_number++;
						if(is_int($player_number / 2))
							$bgcolor = $config['site']['darkborder'];
						else
							$bgcolor = $config['site']['lightborder'];
						if(!$player_list->isOnline())
							$player_list_status = '<font color="red">Offline</font>';
						else
							$player_list_status = '<font color="green">Online</font>';
						$main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=52%><NOBR>'.$player_number.'.&#160;'.$player_list->getName();
						$main_content .= ($player_list->isDeleted()) ? '<font color="red"> [DELETED]</font>' : '';
						$main_content .= '</NOBR></TD><TD WIDTH=15%>'.$config['site']['worlds'][$player_list->getWorld()].'</TD><TD WIDTH=25%>'.$player_list->getLevel().' '.$vocation_name[$player_list->getWorld()][$player_list->getPromotion()][$player_list->getVocation()].'</TD><TD WIDTH="8%"><b>'.$player_list_status.'</b></TD><TD><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><FORM ACTION="?subtopic=characters" METHOD=post><TR><TD><INPUT TYPE=hidden NAME=name VALUE="'.$player_list->getName().'"><INPUT TYPE=image NAME="View '.$player_list->getName().'" ALT="View '.$player_list->getName().'" SRC="'.$layout_name.'/images/buttons/sbutton_view.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></FORM></TABLE></TD></TR>';
					}
				}
				$main_content .= '</TABLE></TD><TD><IMG SRC="'.$layout_name.'/images/general/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD></TR></TABLE>';
			}
			$main_content .= '<BR><BR><FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Procurar Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'">
			<TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';
			$main_content .= '</TABLE>';
		}
		else
			$search_errors[] = 'Character <b>'.$name.'</b> does not exist.';
	}
	else
		$search_errors[] = 'This name contains invalid letters. Please use only A-Z, a-z and space.';
	if(!empty($search_errors))
	{
		$main_content .= '<div class="SmallBox" >  <div class="MessageContainer" >    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="ErrorMessage" >      <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div>      <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>The Following Errors Have Occurred:</b><br/>';
		foreach($search_errors as $search_error)
			$main_content .= '<li>'.$search_error;
		$main_content .= '</div>    <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div>    <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>    <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div>  </div></div><br/>';
		$main_content .= '<BR><FORM ACTION="?subtopic=characters" METHOD=post><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Procurar Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';
	}
}
?>

 

 

Editado por BoneFox (veja o histórico de edições)

tk-melhor.png

Link para o post
Compartilhar em outros sites

Database outdated.

 

Se voce estiver usando Gesior 2012, isso não vai funcionar:

//deaths list 
			$player_deaths = $SQL->query('SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,10;');
			foreach($player_deaths as $death)
			{
				if(is_int($number_of_rows / 2))
					$bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder'];

				$number_of_rows++; $deads++;
				$dead_add_content .= "<tr bgcolor=\"".$bgcolor."\">
				<td width=\"20%\" align=\"center\">".date("j M Y, H:i", $death['date'])."</td>
				<td>";
				$killers = $SQL->query("SELECT environment_killers.name AS monster_name, players.name AS player_name, players.deleted AS player_exists FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id
LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id
WHERE killers.death_id = ".$SQL->quote($death['id'])." ORDER BY killers.final_hit DESC, killers.id ASC")->fetchAll();

				$i = 0;
				$count = count($killers);
				foreach($killers as $killer)
				{
					$i++;
					if(in_array($i, array(1, $count)))
						$killer['monster_name'] = str_replace(array("an ", "a "), array("", ""), $killer['monster_name']);

					if($killer['player_name'] != "")
					{
						if($i == 1)
							$dead_add_content .= "Killed at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						if($killer['monster_name'] != "")
							$dead_add_content .= $killer['monster_name']." summoned by ";

						if($killer['player_exists'] == 0)
							$dead_add_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">";

						$dead_add_content .= $killer['player_name'];
						if($killer['player_exists'] == 0)
							$dead_add_content .= "</a>";
					}
					else
					{
						if($i == 1)
							$dead_add_content .= "Died at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						$dead_add_content .= $killer['monster_name'];
					}

					if($i == $count)
						$dead_add_content .= ".";
				}

				$dead_add_content .= ".</td></tr>";
			}

			if($deads > 0)
				$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Deaths</B></TD></TR>' . $dead_add_content . '</TABLE>';

 

Editado por vankk (veja o histórico de edições)

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
Spoiler
Em 12/11/2015 22:22:14, vankk disse:

Database outdated.

 

Se voce estiver usando Gesior 2012, isso não vai funcionar:



//deaths list 
			$player_deaths = $SQL->query('SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,10;');
			foreach($player_deaths as $death)
			{
				if(is_int($number_of_rows / 2))
					$bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder'];

				$number_of_rows++; $deads++;
				$dead_add_content .= "<tr bgcolor=\"".$bgcolor."\">
				<td width=\"20%\" align=\"center\">".date("j M Y, H:i", $death['date'])."</td>
				<td>";
				$killers = $SQL->query("SELECT environment_killers.name AS monster_name, players.name AS player_name, players.deleted AS player_exists FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id
LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id
WHERE killers.death_id = ".$SQL->quote($death['id'])." ORDER BY killers.final_hit DESC, killers.id ASC")->fetchAll();

				$i = 0;
				$count = count($killers);
				foreach($killers as $killer)
				{
					$i++;
					if(in_array($i, array(1, $count)))
						$killer['monster_name'] = str_replace(array("an ", "a "), array("", ""), $killer['monster_name']);

					if($killer['player_name'] != "")
					{
						if($i == 1)
							$dead_add_content .= "Killed at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						if($killer['monster_name'] != "")
							$dead_add_content .= $killer['monster_name']." summoned by ";

						if($killer['player_exists'] == 0)
							$dead_add_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">";

						$dead_add_content .= $killer['player_name'];
						if($killer['player_exists'] == 0)
							$dead_add_content .= "</a>";
					}
					else
					{
						if($i == 1)
							$dead_add_content .= "Died at level <b>".$death['level']."</b> by ";
						else if($i == $count)
							$dead_add_content .= " and by ";
						else
							$dead_add_content .= ", ";

						$dead_add_content .= $killer['monster_name'];
					}

					if($i == $count)
						$dead_add_content .= ".";
				}

				$dead_add_content .= ".</td></tr>";
			}

			if($deads > 0)
				$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Deaths</B></TD></TR>' . $dead_add_content . '</TABLE>';

 

 

 

 

 

Ora essa

 

agora só falta um lugar

 

Screen_Shot9497.jpg

Editado por BoneFox
vankk (veja o histórico de edições)

tk-melhor.png

Link para o post
Compartilhar em outros sites

Não entendi, qual o problema?

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
1 hora atrás, vankk disse:

Não entendi, qual o problema?

Quando dei print o player tava on!

 

olhei na db e na coluna player.online não atualiza e fica sempre 0

 

alguma ideia?

 

if(!$player_list->isOnline())
							$player_list_status = '<font color="red">Offline</font>';
						else
							$player_list_status = '<font color="green">Online</font>';

 

me explica sobre essa função isOnline pfv?

tk-melhor.png

Link para o post
Compartilhar em outros sites

system/load.compat.php muda

 $statusInfo = new ServerStatus($config['server']['ip'], $config['server']['statusPort'], 1); 

para

 $statusInfo = new ServerStatus('127.0.0.1', $config['server']['statusPort'], 1); 

Ou se não funcionar com 127.0.0.1, coloca o IP público.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
6 horas atrás, vankk disse:

system/load.compat.php muda


 $statusInfo = new ServerStatus($config['server']['ip'], $config['server']['statusPort'], 1); 

para


 $statusInfo = new ServerStatus('127.0.0.1', $config['server']['statusPort'], 1); 

Ou se não funcionar com 127.0.0.1, coloca o IP público.

 

 

Fatal error: Call to a member function isOnline() on a non-object in C:\xampp\htdocs\config-and-functions.php on line 438

Screen_Shot9541.jpg

tk-melhor.png

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por chateadoagr
      Bem-vindo ao Genesis Online Tibia (GOT), um mundo onde a civilização foi devastada por um apocalipse zumbi. Inspirado em referências como The Walking Dead e Resident Evil, o GOT desafia você a sobreviver em meio ao caos, enfrentando hordas de mortos-vivos, explorando ruínas perigosas e formando alianças estratégicas. Embarque nesta jornada épica de sobrevivência e descoberta, onde cada escolha molda seu destino em um cenário hostil repleto de desafios e perigos iminentes.
       
       
      Adentre o universo de Genesis Online Tibia (GOT), um jogo repleto de sistemas inovadores e emocionantes. Equipe-se com um vasto arsenal de armas para enfrentar as ameaças do apocalipse zumbi, enquanto o sistema autoloot simplifica suas conquistas. Desenvolva seu personagem através de um sistema de upgrade único, aprimorando habilidades e atributos para enfrentar desafios cada vez mais formidáveis.
       
      Explore um mundo imersivo onde o som desempenha um papel crucial, criando uma atmosfera envolvente e realista. Vasculhe cada canto em busca de recursos vitais, desvendando segredos e tesouros ocultos. Siga uma cativante história através de missões que expandem o enredo, revelando os mistérios por trás do apocalipse e oferecendo recompensas valiosas.
       
      Em Genesis Online Tibia, a jornada pela sobrevivência é repleta de ação, estratégia e emoção, convidando você a se aventurar em um mundo onde cada decisão molda seu destino e determina sua capacidade de enfrentar os desafios que aguardam.

      Em breve imagens do servidor!
       
       
    • Por Imperius
      O propósito é criar uma nova função em creaturescripts que será acionada toda vez que um novo report (CTRL + R) for aberto.
       
      Eu implementei para enviar uma notificação no grupo do Telegram, contendo os dados do report.
       
      Isso garantirá que os GMs tenham acesso aos reports dos jogadores mesmo quando não estiverem logados, e também evitará que algum report seja perdido caso o jogador saia do servidor.
      A parte do Telegram é apenas um exemplo. Você pode ajustar o script para executar outras ações desejadas.
       
      creatureevent.cpp:
      Dentro deste arquivo, localize a função:
       
      uint32_t CreatureEvent::executeChannelLeave(Player* player, uint16_t channelId, UsersMap usersMap)  
      abaixo dela, adicione:
       
      uint32_t CreatureEvent::executeOpenRuleViolation(Player* player, std::string message) { if (!m_interface->reserveEnv()) { std::clog << "[Error - CreatureEvent::executeOpenRuleViolation] Call stack overflow." << std::endl; return 0; } ScriptEnviroment* env = m_interface->getEnv(); env->setScriptId(m_scriptId, m_interface); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); lua_pushstring(L, message.c_str()); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; }  
      Após, procure por:
       
      std::string CreatureEvent::getScriptEventName() const  
      abaixo de:
       
      case CREATURE_EVENT_CHANNEL_LEAVE: return "onLeaveChannel";  
      adicione:
       
      case CREATURE_EVENT_OPEN_RULE_VIOLATION: return "onOpenRuleViolation";  
      Agora, procure por:
       
      std::string CreatureEvent::getScriptEventParams() const  
      abaixo de:
       
      case CREATURE_EVENT_CHANNEL_LEAVE: return "cid, channel, users";  
      adicione:
       
      case CREATURE_EVENT_OPEN_RULE_VIOLATION: return "cid, message";  
      Procure por:
       
      bool CreatureEvent::configureEvent(xmlNodePtr p)  
      abaixo de:
       
      else if(tmpStr == "leavechannel") m_type = CREATURE_EVENT_CHANNEL_LEAVE;  
      adicione:
       
      else if(tmpStr == "openruleviolation") m_type = CREATURE_EVENT_OPEN_RULE_VIOLATION;  
       
      creatureevent.h:
      Dentro deste arquivo, localize:
       
      enum CreatureEventType_t  
      adicione "CREATURE_EVENT_OPEN_RULE_VIOLATION" como o último item de enum CreatureEventType_t
       
      Exemplo:
       
      enum CreatureEventType_t { // ... CREATURE_EVENT_OPEN_RULE_VIOLATION };  
      Agora, procure por:
       
      uint32_t executeChannelLeave(Player* player, uint16_t channelId, UsersMap usersMap);  
      abaixo dela, adicione:
       
      uint32_t executeOpenRuleViolation(Player* player, std::string message);  
      game.cpp:
      Dentro deste arquivo, localize:
       
      bool Game::playerReportRuleViolation(Player* player, const std::string& text)  
      e substitua por:
       
      bool Game::playerReportRuleViolation(Player* player, const std::string& text) { //Do not allow reports on multiclones worlds since reports are name-based if(g_config.getNumber(ConfigManager::ALLOW_CLONES)) { player->sendTextMessage(MSG_INFO_DESCR, "Rule violation reports are disabled."); return false; } cancelRuleViolation(player); boost::shared_ptr<RuleViolation> rvr(new RuleViolation(player, text, time(NULL))); ruleViolations[player->getID()] = rvr; ChatChannel* channel = g_chat.getChannelById(CHANNEL_RVR); if(!channel) return false; for(UsersMap::const_iterator it = channel->getUsers().begin(); it != channel->getUsers().end(); ++it) it->second->sendToChannel(player, SPEAK_RVR_CHANNEL, text, CHANNEL_RVR, rvr->time); CreatureEventList joinEvents = player->getCreatureEvents(CREATURE_EVENT_OPEN_RULE_VIOLATION); for(CreatureEventList::iterator it = joinEvents.begin(); it != joinEvents.end(); ++it) (*it)->executeOpenRuleViolation(player, text); return true; }  
      Agora é só compilar a source.
       
      depois em "data > creaturescripts > creaturescripts.xml", adicione:
       
      <event type="login" name="loginNotifyRuleViolation" script="notifyRuleViolation.lua"/> <event type="openruleviolation" name="openNotifyRuleViolation" script="notifyRuleViolation.lua"/>  
      em "data > creaturescripts > scripts", crie um arquivo notifyRuleViolation.lua e adicione:
       
      function onOpenRuleViolation(cid, message) local config = { token = "", -- Token do seu BOT no Telegram chatId = "" -- ID do chat do Telegram que será enviado a notificação. } local message = "Player: "..getCreatureName(cid).."\n\nReport:\n"..message.."" message = string.gsub(message, "\n", "%%0A") local url = "https://api.telegram.org/bot"..config.token.."/sendMessage" local data = "chat_id="..config.chatId.."&text="..message.."" local curl = io.popen('curl -d "'..data..'" "'..url..'"'):read("*a") return true end function onLogin(cid) registerCreatureEvent(cid, "openNotifyRuleViolation") return true end  
       
      Demonstração:
      1. Jogador abre um novo report (CTRL + R)

      2. notifyRuleViolation.lua, definido em creaturescripts.xml, é acionado para enviar uma notificação ao grupo do Telegram.
       

       
    • Por chateadoagr
      Atualização v1.7.0

      Chance de Spawn de Monstro: Ao matar vários monstros conhecidos existe a chance de invocar um monstro, por exemplo ao matar uma aranha gigante existe a chance da Velha Viúva aparecer, essa probabilidade dependendo do monstro foi ajustada para o seguinte,
      Exemplo

      :
      Rotworm, para Ao morrer para invocar uma rainha Rotworm, a probabilidade é de 15%, enquanto uma aranha gigante para invocar a Velha Viúva é de 5%.

      Aqui está uma lista dos monstros :
      Rotworm > Rotworm Queen - 15%
      Cyclops > Cyclops Smith - 15%
      Wolf > War Wolf - 15%
      Dragon > Dragon Lord - 8%
      Giant Spider > The Old Widow - 5%
      Magma Crawler > Weeper - 5%
      Serpent Spawn > Medusa - 5%
      Frazzlemaw > Guzzlemaw - 5%
      Midnight Asura > Dawnfire Asura - 5%
      Warlock > Infernalist - 5%
      Sea Serpent > Seacrest Serpent - 5%
      Glooth Anemone > Rustheap Golem - 5%
      Hellspawn > Plaguesmith - 4 %
      Worker Golem > War Golem - 4%
      Demon Outcast > Vexclaw - 4%
      Sight of Surrender > Horadron - 3%

      Azure Portal : Existem agora 4 sites onde portais podem aparecer, o que leva a uma missão.
      Os portais aparecem em:
      Arkeron / Dolwatha / Freewind e Death Valley .
      Para saber as posições veja o arquivo: data/scripts/custom/portal_gates.lua
      Para ver os mapas, abra os mapas localizados em data/world/portals
      Uma vez aberto para ir para a posição, veja o arquivo portal_gates, que indica o exitPosition , marque essa posição e você poderá retocar a porta do portal, se desejar.

      Esses portais levam todos para a nova Caverna Azure, onde encontrarão novos Monstros e um Boss chamado Azure.

      15 Novos Monstros
      3 Novos Bosses

      Combate + Mecânica de Acesso + Boss Combat :
      Eles devem encontrar o caminho para chegar à sala central, na qual deverão usar a pedra azul do santuário para desbloquear o caminho, terão então um certo tempo para correr em direção a ela ... próximo santuário.
      Ao chegar na sala central, você deve destrancar a porta. Aqui, você terá que mudar a posição dos humanos congelados no chão. Ao clicar em todas as estátuas, a porta será removida por um tempo e você poder passar pelo portal.
      Eles se enfrentarão na ordem: Terror Spider (sem loot, sim experiência), que se transformará em Deep Necromancer (Sem loot, sim experiência) que por sua vez se transformará em Azure (Loot + Experience + Rarity Loot), Azure faz não terá muita complicação se ele não conseguir acertar e fazer um aoe bem forte, tome cuidado alguns Azure Guards irão aparecer durante a luta para desequilibrar a luta, aguente firme e desafie o Azure!

      Os monstros possuem novos recursos, esses recursos podem ser vendidos respectivamente para os NPCs (yasir, hana...)
      2 Novos Trajes - Anjo Pequeno / Everblight (Masculino / Feminino - Com Montaria) que são obtidos com a moeda do pesadelo (obtida por matar o chefe Azure)

      4 Novos Conjuntos :
      Seetheras / Varruth: Cavaleiros
      Netherwave: Druidas e Feiticeiros
      Felsinger: Paladinos

      3 Novas Moedas :
      Moeda Ancestral : Permite usá-la e obter Moedas Ancestrais para usar na Loja Ancestral. (Obtido: Azure Portal Monsters (rare loot))
      Nightmare Coin : (Obtido: Boss Azure (Azure Portals)) Usado para obter os 2 novos trajes: Small Angel & Everblight, trocado com o npc Estherya, localizado em frente ao portal Azure.
      Azure Coin : Usado com o Npc: Taerar para comprar os novos conjuntos (Obtido: Boss Azure)
      Taerar Npc: Está localizado na entrada dentro da Azure Cave.

      Adicionado conjunto de gnomo, amuleto de rabo de raposa, anel de borboleta, capa de pena de cisne, frasco de luz estelar, espelho lunar e coletor de sol, que são saqueados de portais Azure (diretamente de monstros) Adicionado Azure e monstros à Tarefa Ancestral (Azure, Tarefa Diária,

      Monstros
      Normal Tarefas) com recompensa Ancestral Coin / Azure Coin e Nightmare Coin.

      Melhorado/Corrigido
      Alterada a primeira letra do arquivo .lua (dentro do xml do NPCS) de maiúscula para minúscula, o que gerava um erro nos sistemas operacionais Ubuntu.
      Cavernas do Pesadelo e do Ceifador dolwatha: Adicionados mais Pesadelos, descendentes do pesadelo e Ceifadores à caverna.
      Corrigido terreno sem bordas na parte externa da caverna.
      Cavernas Glooth em Dolwatha, adicionado mais terreno para evitar ver o preto do mapa (tela 4k)
      Corrigida uma dica de ferramenta na web na parte de mineração da Wikipedia.
                Atualização v1.6.0

      - Criado um novo sistema de Herbalist, com sua habilidade ( SKILL_HERBALIST ) adicionada no cliente, coletar recursos, vendê-los ou criar novas poções.

      - Novas receitas , que serão obtidas de vários monstros (ver site wikipedia)

      - Criadas 6 Novas Poções: Nimble, Hazel e Tumble ( Life & Mana )

      - Uso de poções: jogadores Nimble nível 100, jogadores Hazel nível 150 e jogadores Tumble nível 200.

      - As poções possuem frascos vazios que podem ser vendidos para Alaistar, Asnarus ou Xodet .
      - Poções elaboradas podem ser vendidas no mercado entre jogadores.
       
      Corrigido :
      Visuais :
      Dolwatha do Norte, ciclopes, bordas corrigidas/adicionadas
      Falanaar: Selva, corrigida 1 pedra, 2 águas após a torre azura
      Vale da Morte: Corrigida a entrada do chão para o sono febril
      Arkeron: Corrigida a parte sul de alguns visuais acima da água, grama rochosa deslocada de a pedra "menir"
       
      Área de artesanato ao norte de Dolwatha


      Novo efeito


      Novas Plantas


      Novos recursos


      Novas ferramentas


      Novas receitas e poções
          Atualização v1.5.0

      - Adicionada uma ação de conversação !shop para receber itens da web se eles usarem uma loja.

      Sistema de Masmorras

      O Sistema de Masmorras pode ser ativado através do portal em Mordragor, no momento apenas 1 masmorra está disponível, a Masmorra dos Ossos.
      Esta masmorra tem um cooldown de 30 minutos, caso não o façam dentro desse tempo serão expulsos.
      Só é permitido entrar 1 equipe por vez (Depois vou criar mais, o que vai evitar que fique sempre lotado, também vou organizar para que essa mesma equipe se repita mais caso uma esteja lotada, deixa eu explicar, na mesma masmorra apenas X jogadores podem entrar em equipe, se uma equipe estiver dentro, ninguém mais pode entrar até sair, no caso se repetirmos a masmorra adicionando uma nova linha, 2 equipes podem entrar, com 2 mapas diferentes , mas como dito, virá aos poucos.)
      Novos Monstros com nível, mais dano, mais experiência, mais loot, mais vida.
      Novo Chefe Príncipe Esquelético.
      Novo conjunto de esqueleto (capacete, armadura, pernas, botas), este conjunto é baseado em defesa de terra, sanguessuga de vida / mana e estatísticas de artesanato (habilidade de artesanato, habilidade de mineração e habilidade de corte de lenha, +3 em peças)

      . deve saquear um recurso chamado Enchanted Bone Skull que permitirá acesso à alavanca do chefe. Este recurso pode ser vendido para Yasir.
      Príncipe Esqueleto faz parte da Tarefa Diária como chefe para matar no Sistema Ancestral.
      Alterada a distância em que um monstro pode ver um jogador (10 norte/sul, 15 leste/oeste)   Imagens:
       
       
       
          Atualização v1.4.0


      Criado um Sistema de Tarefas Ancestrais que funciona com o banco de dados (2 novas colunas em jogadores). Os pontos são somados por Jogador e não por conta, posteriormente provavelmente será adicionada uma moeda que lhe permitirá comprá-lo na loja e poder obter pontos de outra forma, no momento é apenas através de tarefas.
      Novo NPC Chamado Armin , esse NPC dá Tarefas para os jogadores completarem, mas também dá tarefas diárias, que podem ser feitas a cada 24 horas.
      As tarefas dão Pontos Ancestrais como recompensa e também Pontos de Classificação Ancestral
      .

      Você pode usar o comando: !ancestral para mostrar informações, pontos, classificação, mas também o status das tarefas que você está realizando .

      Existem várias classificações dependendo dos pontos:
      1 - 40 = "Rookie"
      41 - 100 = "Bronze"
      101 - 250 = "Silver" 251 -
      470 = "Gold"
      471 - 770 = "Platinum"
      771 - 1220 = "Diamante "
      1221 - 1820 = "Ancestral"
      1821 - 2820 = "Místico"
      2821 - 4320 = "Abissal"
      4321 - 6320 = "Ascendente"
      6321 - 9999 = "Caos"
      10000 - + = "Despertar"

      Podemos ver a classificação de um jogador clicando duas vezes .

      Existem atualmente 10 tarefas normais e 5 tarefas diárias. Os diários em sua maioria são os chefes.
      Eles conversam com o NPC Armin e perguntam sobre a Lista de Tarefas Ancestrais Diárias ou a Lista de Tarefas Ancestrais Normais. Para iniciar uma tarefa você dirá ao NPC o nome da tarefa (Nome da tarefa por exemplo: Dragões de fogo e a tarefa será iniciada automaticamente.

      Graças aos Pontos Ancestrais, você pode adquirir itens em um novo módulo adicionado ao cliente.
      O Ranking Ancestral terá mais significado posteriormente, assim como os pontos.

      Foi adicionada uma loja para poder utilizar Pontos Ancestrais.
       
        Atualização v1.3.0 Foram removidos alguns scripts que estavam duplicados e geravam um erro de evento duplicado. Corrigidos os nomes dos jogadores que eram exibidos incorretamente ao subir em montarias, com asas, etc. A partir de agora eles estão mais elevados e mais centrados.

      Um sistema de Lenhador, baseado em (SKILL_WOODCUTTING) que determina a nova habilidade Lenhador, com novos recursos, que podem ser vendidos em primeiro lugar para o NPC Rostock.
      5 novos tipos de árvores para cortar, cada uma com seu próprio nível de machado, semelhante à mineração.
      Novo NPC Rostock na saída de Falanaar (para encontrá-lo/vá para Rostock), com nova área de Artesanato do Lenhador, saída sudoeste de Falanar.

      Receitas do Loot Woodcutter: (Adicionadas na web wikipedia)
      Grande pedaço de madeira: Aranha Gigante, Filhote de Dragão
      Tábua de Cinza: Pesadelo, Descendente do Pesadelo,
      Tábua de Castanha Gigante de Gelo: Cuspidor, Grimeleech, Ferreiro da Praga
      Tábua de Oliveira: Marid, Devorador de Pedra, Cereja Caiman
      Assassina Prancha: Hellflayer, Death Dragon

      Adicionadas auras e asas.
      Para dar aos jogadores você deve usar um item ao clicar nele ele dará aura de asa ou shader.    
       
       
          Atualização v1.2.0:

      Adicionado:
      - Nova Pasta com CUSTOM_SCRIPTS, esta pasta incluirá scripts ou alterações que NÃO serão incluídas no servidor, o que você questionou, por se tratar de uma customização diferente, os scripts serão adicionados nesta pasta , nesta atualização teremos o script potions.lua com cooldown adicionado.
      Isso não significa que tudo o que você perguntar será adicionado aqui, mas sim que o que achamos que não precisa ser alterado será encontrado aqui.

      Montarias :
      - Devorador da Luz Negra, Espírito da Pureza, Caveira da Perdição, Caveira de Magma, Caveira Fogo de Copr
      Trajes :
      - Discípulo Shadowlotus, Aucar Antigo, Rastreador de Gelo, Arqueiro Blindado, Mago Eterno, Leão da Guerra, Defensor Decadente, Evocador da Luz Negra, Mago Fúria Flamejante -

      Sistema de Waypoints em cada cidade, você pode adicionar um requisito (item, armazenamento, missão, missão)
      https://streamable.com/xe0pjb

       
      Criado um sistema de Mineração com uma nova Habilidade de Mineração ( SKILL_MINING ), efeitos, são 7 pedras diferentes por níveis:
      Bronze, Prata, Safira, Ouro, Rubi, Ametista, Esmeralda, cada pedra é cortada com sua picareta necessária, nível de mineração necessário o suficiente para esmagar a pedra e/ou criar as receitas na Forja de Mineração, ao olhar uma receita, esta dirá para que serve, os itens necessários, o nível de artesanato necessário e se você desbloqueou a receita.
      A Forja de Mineração está localizada ao sul de Mordragor.
      Atualmente, os lingotes são vendidos para o npc Elyotrope na Mining Forge, posteriormente serão usados para diversos artesanatos.
      No site eles têm Wikipedia indicando as informações.

      Crafting , nova barra de habilidades como mineração, adicionada no cliente ( SKILL_CRAFT ), assim como mineração, começa no nível 10. Os servidores existentes terão uma atualização com um arquivo chamado migração, que atualizará o banco de dados com as habilidades necessárias e será adicionado a todas as existentes. jogadoras.


      - A confecção dos Lingotes exige a obtenção da receita, em troca não é necessária a picareta, mas é necessário ter um nível de artesanato quanto aos diferentes lingotes, indicado na Receita ao olhar a receita.

      Receitas de Mineração de Loot (Lingotes) :
      A ordem dos monstros escritos, o primeiro tem mais sorte que o segundo, terceiro, etc.

      Lingote de Bronze Pequeno : Dragão, Ciclope, Bárbaro Bloodwalker, Elfo Arcanista, Escoteiro Lingote de
      Prata Pequeno: Senhor Dragão, Feiticeiro, Serpente do Mar, Hidra
      Lingote de Safira Pequeno: Hellspawn, Destroyer, Grim Reaper
      Lingote de Ouro Pequeno: Wereboar, Vile Grandmaster, Behemoth
      Small Lingote de Ametista : Fúria, Diabólico Diabólico, Lutador do Inferno
      Lingote de Rubi Pequeno : Demônio, Lagarto Escolhido, Wyrms
      Pequeno Lingote de Esmeralda : Golem de Lava, Aranha Gigante, Reaver da Realidade Lingote de
      Bronze Grande : Dawnfire Asura, Serpent Spawn Lingote de
      Prata Grande : Minotauro Amazon, Minotaur Hunter , Worm Priestess
      Big Sapphire Lingote : Rustheap Golem, Hellhound, Ironblight
      Big Gold Lingote : Juggernault, Dark Torturer, Frazzlemaw
      Big Amethyst Lingote : Draken Spellweaver, Draken Elite, Ghastly Dragon
      Big Ruby Lingote : Grimeleech, Retching Horror, Sight of Surrender
      Big Emerald Lingote : Vexclaw, Terrorsono, Deepling Tyrant
       
       
       

      Por precaução, uma revisão das missões:
      Bosses (alavanca/missão):
      Abyssador, Annihilator, Deep Terror, Jaul, Plagirath, Plagueroot, Professor Maxxen, The Welter, Ushuriel.
       
    • Por HexusAlphos
      Como eu posso arrumar esses erros?
       
      [18:52:54.889] mysql_real_query(): SELECT `house_id`, `player_id`, `bid` FROM `house_auctions` WHERE `endtime` < 1698184374 - MYSQL ERROR: Table 'murim.house_auctions' doesn't exist (1146)
      [18:52:54.898] > Houses synchronization time: 0.009 seconds.
      [18:52:54.902] mysql_real_query(): SELECT * FROM `houses` WHERE `world_id` = 0 - MYSQL ERROR: Unknown column 'world_id' in 'where clause' (1054)
      [18:52:54.910] mysql_real_query(): SELECT `house_id`, `data` FROM `house_data` WHERE `world_id` = 0 - MYSQL ERROR: Table 'murim.house_data' doesn't exist (1146)
      [18:52:54.919] > Content unserialization time: 0.018 seconds.
      [18:52:54.922] >> Checking world type... Open PvP
      [18:52:54.925] >> Initializing game state and binding services...
      [18:52:54.932] mysql_real_query(): SELECT `key`, `value` FROM `global_storage` WHERE `world_id` = 0; - MYSQL ERROR: Unknown column 'world_id' in 'where clause' (1054)
      [18:52:54.942] mysql_real_query(): SELECT `id`, `text` FROM `server_motd` WHERE `world_id` = 0 ORDER BY `id` DESC LIMIT 1 - MYSQL ERROR: Table 'murim.server_motd' doesn't exist (1146)
      [18:52:54.951] > ERROR: Failed to load motd!
      [18:52:54.955] mysql_real_query(): SELECT `record` FROM `server_record` WHERE `world_id` = 0 ORDER BY `timestamp` DESC LIMIT 1 - MYSQL ERROR: Table 'murim.server_record' doesn't exist (1146)
      [18:52:54.964] > ERROR: Failed to load players record!
      [18:52:54.968] mysql_real_query(): SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=0 AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT 15 - MYSQL ERROR: Table 'murim.player_skills' doesn't exist (1146)
      [18:52:54.986] mysql_real_query(): SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=1 AND
      [18:59:23.046] mysql_real_query(): SELECT `name`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = 1 LIMIT 1 - MYSQL ERROR: Unknown column 'warnings' in 'field list' (1054) `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT 15 - MYSQL ERROR: Table 'murim.player_skills' doesn't exist (1146)
      [18:52:55.003] mysql_real_query(): SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=2 AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT 15 - MYSQL ERROR: Table 'murim.player_skills' doesn't exist (1146)
      [18:52:55.021] mysql_real_query(): SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=3 AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT 15 - MYSQL ERROR: Table 'murim.player_skills' doesn't exist (1146)
      [18:52:55.039] mysql_real_query(): SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=4 AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT 15 - MYSQL ERROR: Table 'murim.player_skills' doesn't exist (1146)
      [18:52:55.055] mysql_real_query(): SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=5 AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT 15 - MYSQL ERROR: Table 'murim.player_skills' doesn't exist (1146)
      [18:52:55.074] mysql_real_query(): SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=6 AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT 15 - MYSQL ERROR: Table 'murim.player_skills' doesn't exist (1146)
      [18:52:55.092] mysql_real_query(): SELECT `id`, `ownerid`, `creationdata`, `checkdata` FROM `guilds` WHERE `world_id` = 0; - MYSQL ERROR: Unknown column 'checkdata' in 'field list' (1054)
      [18:52:55.102] mysql_real_query(): UPDATE `players` SET `online` = 0 WHERE `world_id` = 0 AND `online` > 0; - MYSQL ERROR: Unknown column 'world_id' in 'where clause' (1054)
      [18:52:55.111] mysql_real_query(): SELECT `name`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = 1 LIMIT 1 - MYSQL ERROR: Unknown column 'warnings' in 'field list' (1054)
      [18:52:55.121] mysql_real_query(): SELECT `name`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = 2 LIMIT 1 - MYSQL ERROR: Unknown column 'warnings' in 'field list' (1054)
    • Por Andersontatuador
      .Qual servidor ou website você utiliza como base? 
      Global Full 8.60 + Zao
      Qual o motivo deste tópico? 
      O site não esta adicionando os pontos na conta dos plays.
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo