nyuchiha 108 Postado Junho 6, 2011 Share Postado Junho 6, 2011 Primeiramente agradeceria se alguem deixa-se o Msn , para poder tirar essas duvidas e uma outras Plixxx Então estava fuçando no site , tentando aprender algo ow fo@$¨com ele tbm. (1° tirar o Inventário ) Possuo um Gesior Senior , e nele tem a opção Characters , ao clicar ele exibe uma serie de informação do player procurado. Eu consegui retirar algumas , + n consegui tirar aquele SET , que eh colocado para mostrar os equipes que o player possui em sem inventário. ( 2° Proteger Site ) Gostaria de saber se realmente eh perigoso ser Hakiado pelo site. Li uns tutoriais ( meio antigos ) que citavam o yurots por possui algo ja programado pra site. Eu possuo um Servidor Dash e 1 Cite Senior , eu tbm precisaria fazer esses tutoriais para proteger meu Site e Server? (3° Como eu adiciono algo para Download , + n quero que fique soh o link , gostaria de 1 imagem que ao ser clicada , abriria a pagina de 1 site ( megaupload vai ) , ow fizesse o download direto do site mesmo ) Thx Agradeço mesmo ps: se der deixe o msn Plix Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/ Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Junho 6, 2011 Share Postado Junho 6, 2011 (editado) 1° vou postar pra vc um scrip alterado por mim, ele esta configurado para ser o mais proximo possivel do Tibia RL. Obs: se postar em outro lugar poste meu creditos pois acredite deu trabalho!) <?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>Search 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=10 HEIGHT=1 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=20%>Name:</TD><TD><font color="'; $main_content .= ($player->isOnline()) ? 'green' : 'red'; $main_content .= '"><b>'.$player->getName().'</b></font>'; 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>Former name:</TD><TD>'.$player->getOldName().'</TD></TR>'; } // BEGIN Position Showing *** Fixed by jerryb1988 from otfans.net $group = $player->getGroup(); if ($group == 2){$group_name = 'Colaborador';} if ($group == 3){$group_name = 'Supervisor';} if ($group == 4){$group_name = 'Moderador';} if ($group == 5){$group_name = 'Coodernador';} 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($config['site']['show_marriage_info']) { 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>Marital status:</TD><TD>'; $marriage = new OTS_Player(); $marriage->load($player->getMarriage()); if($marriage->isLoaded()) $main_content .= 'married to <a href="?subtopic=characters&name='.urlencode($marriage->getName()).'"><b>'.$marriage->getName().'</b></a></TD></TR>'; else $main_content .= 'single</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>Profession:</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>'; 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>'; } $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>'; } } if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $lastlogin = $player->getLastLogin(); if(empty($lastlogin)) $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Last login:</TD><TD>Never logged in.</TD></TR>'; else $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Last login:</TD><TD>'.date("j F Y, g:i a", $lastlogin).'</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>Account Status:</TD><TD>'; $main_content .= ($account->isPremium()) ? '<b><font color="green">Premium Account</font></b>' : '<b><font color="red">Free Account</font></b>'; if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; if($config['site']['show_creationdate'] && $player->getCreated()) { $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>Created:</TD><TD>'.date("j F Y, g:i a", $player->getCreated()).'</TD></TR>'; } if($config['site']['show_vip_status']) { $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>'; } } //Outfit shower by Pening edited by loleslav $id = $player->getCustomField("id"); $main_content .= '<TD BGCOLOR="'.$config['site']['lightborder'].'">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 .= '</TABLE></td>'; //end Outfit shower by Pening edited by loleslav //quest status by ballack13 $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>Quests</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>'; //deaths list $player_deaths = $SQL->query('SELECT * FROM player_deaths WHERE '.$player->getId().' = player_id ORDER BY date DESC'); $dead_add_content .= '<br><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Deaths</B></TD></TR>'; if(!empty($player_deaths)) { $vowels = array("e", "y", "u", "i", "o", "a"); foreach($player_deaths as $dead) { $player_env_id = $dead['id']; $player_env = $SQL->query('SELECT * FROM killers WHERE death_id = '.$player_env_id.' and final_hit = 1'); $player_env1 = $SQL->query('SELECT * FROM killers WHERE death_id = '.$player_env_id.' GROUP BY id'); foreach($player_env as $env) { $player_ki = $env['id']; } foreach($player_env1 as $env1) { $player_ki1 = $env1['id']; } $player_kil = $SQL->query('SELECT * FROM environment_killers WHERE kill_id = '.$player_ki.''); $player_kill = $SQL->query('SELECT * FROM player_killers WHERE kill_id = '.$player_ki.''); $player_kill1 = $SQL->query('SELECT COUNT(*) as liczba FROM killers WHERE death_id = '.$player_env_id.''); foreach($player_kill as $killl) { $player_kurwa = $killl['player_id']; } foreach($player_kill1 as $killl1) { $player_kurwa2 = $killl1['liczba']; } if(empty($player_kurwa)) { foreach($player_kil as $kilere) { $player_kills = $kilere['name']; } } else { $player_killed_by_pks = 1; } if(is_int($number_of_player_deaths / 2)) $bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder']; $number_of_player_deaths++; $dead_add_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=20%>'.date("j M Y, H:i", $dead['date']).'</TD>'; if($player_killed_by_pks == 1) { if ($player_kurwa2 < 5) { $dead_add_content .= '<TD>Killed at Level '.$dead['level'].' by '; } elseif ($player_kurwa2 > 4 and $player_kurwa2 < 10) { $dead_add_content .= '<TD>Slain at Level '.$dead['level'].' by '; } elseif ($player_kurwa2 > 9 and $player_kurwa2 < 15) { $dead_add_content .= '<TD>Crushed at Level '.$dead['level'].' by '; } elseif ($player_kurwa2 > 14) { $dead_add_content .= '<TD>Eliminated at Level '.$dead['level'].' by '; } if ($player_kurwa2 == 1) { $player_kurwa1 = $SQL->query('SELECT * FROM players WHERE id = '.$player_kurwa.';'); foreach($player_kurwa1 as $kurwa) { $player_kills = $kurwa['name']; } $dead_add_content .= '<a href="?subtopic=characters&name='.urlencode($player_kills).'"><b>'.$player_kills.'</b></a>.'; } else { foreach($player_env1 as $killl2) { $player_kurwa = $killl2['player_id']; } $player_kurwa8 = $SQL->query('SELECT * FROM players WHERE id = '.$player_kurwa.';'); foreach($player_kurwa8 as $kurwa8) { $player_kills = $kurwa8['name']; } $dead_add_content .= '<a href="?subtopic=characters&name='.urlencode($player_kills).'"><b>'.$player_kills.'</b></a>'; $iui = 1; while ($iui != $player_kurwa2) { $player_env1 = $SQL->query('SELECT * FROM killers WHERE death_id = '.$player_env_id.' GROUP BY death_id'); foreach($player_env1 as $kurwa30) { $kurwa31 = $kurwa30['id'] + $iui; } $player_killerr = $SQL->query('SELECT * FROM player_killers WHERE kill_id = '.$kurwa31.''); foreach($player_killerr as $kurwa32) { $player_kd = $kurwa32['kill_id']; } $player_killerr12 = $SQL->query('SELECT * FROM player_killers WHERE kill_id = '.$player_kd.''); foreach($player_killerr12 as $player_kds) { $kurwa33 = $player_kds['player_id']; } $iui++; $player_killerr1 = $SQL->query('SELECT * FROM players WHERE id = '.$kurwa33.''); foreach($player_killerr1 as $kurwa34) { $kurwa35 = $kurwa34['name']; } $player_kills1 = $kurwa35; if ($iui < $player_kurwa2) { $dead_add_content .= ', <a href="?subtopic=characters&name='.urlencode($player_kills1).'"><b>'.$player_kills1.'</b></a>'; } elseif ($iui == $player_kurwa2) { $dead_add_content .= ' and <a href="?subtopic=characters&name='.urlencode($player_kills1).'"><b>'.$player_kills1.'</b></a>.'; } } } } else { $dead_add_content .= '<TD>Killed at Level '.$dead['level'].' by '; $dead_add_content .= $player_kills; } } } $dead_add_content .= '</TABLE>'; if($number_of_player_deaths > 0) $main_content .= $dead_add_content; //end //frags list by Xampy $frags_limit = 5; // frags limit to show? // default: 5 $player_frags = $SQL->query('SELECT `player_deaths`.*, `players`.`name`, `killers`.`unjustified` FROM `player_deaths` LEFT JOIN `killers` ON `killers`.`death_id` = `player_deaths`.`id` LEFT JOIN `player_killers` ON `player_killers`.`kill_id` = `killers`.`id` LEFT JOIN `players` ON `players`.`id` = `player_deaths`.`player_id` WHERE `player_killers`.`player_id` = '.$player->getId().' ORDER BY `date` DESC LIMIT 0,'.$frags_limit.';'); if(count($player_frags)) { $frags = 0; $frag_add_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><br><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Frags</B></TD></TR>'; foreach($player_frags as $frag) { $frags++; if(is_int($number_of_rows / 2)) $bgcolor = $config['site']['darkborder']; else $bgcolor = $config['site']['lightborder']; $number_of_rows++; $frag_add_content .= "<tr bgcolor=\"".$bgcolor."\"> <td width=\"20%\" align=\"center\">".date("j M Y, H:i", $frag['date'])."</td> <td>".(($player->getSex() == 0) ? 'He' : 'She')." killed <a href=\"index.php?subtopic=characters&name=".$frag[name]."\">".$frag[name]."</a> at level ".$frag[level].""; $frag_add_content .= ". ".(($frag[unjustified] == 0) ? "<b><font size=\"1\" color=\"green\">Ok</font></b>" : "<b><font size=\"1\" color=\"red\">Unjustified</font></b>")."</td></tr>"; } if($frags >= 1) $main_content .= $frag_add_content . '</TABLE>'; } // end of frags list by Xampy if(!$player->getHideChar()) { $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=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>Never logged in.</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>'; } 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>'; $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> </B></TD></TR>'; $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.'. '.$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>Search 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>Search 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>'; } } ?> esse é meu character.php o que ele tem modificado dos demais? ele nao tem nada de info do char do player em jogo como: skills, hp e mana, exp pra upar, set, nao mostra se o char e vip(apenas se o player e premium account, mostra msmo se o char estiver hide(como no tibia global)), mostra frags dos players, mostra quests, e retirei o bug de qndo vc tira o status "vip account " do player nao conseguir postar comentario no char, mostra outfit. qualquer alterçao do script e bem vinda e autorizada, so nao eskeca dos creditos se for postar em outro lugar! OBS: projetei para ots que so ultilizao premium account! relembrnado q nao mostra status "VIP". 2° nao sei se estou certo mais axu que é possivel por um comando no htacess(um arkivo para proteger a pasta de invasoes(se tbm nao estou enganado) que o computador deixa de reconhecer "ping" diretamente com o ot! nao sei como por (se é realmente possivel). 3° aqui vai um exemplo do q eu uso! <a href="http://tibiaclient.com" target="_blank"><img src= "images/download.gif" width="182" height="62" border="0" /></a><br /><h3> O link acima e o link que vc deseja por para acessar cliando na imagem! O "images/download.gif' e a localizacao da imagem(no meu caso pasta htdocs/images, a seguir o nome do arkivo com a sua extençao(no meu caso .gif, mais pode ser qualquer uma desde q vc coloque a extençao correta no script) width="182" height="62" border="0" Aqui fika a largura e a altura e tamanho de borda (se nao me engano). Pergunta possivel: O tio piabetaman01 onde eu coloco essa p....? R: vc vai colocar no arkivo downloads.php Se ajudei + Rep, nao custa nada! Editado Junho 6, 2011 por PiabetaMan01 Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1041978 Compartilhar em outros sites More sharing options...
nyuchiha 108 Postado Junho 6, 2011 Autor Share Postado Junho 6, 2011 (editado) Huhuh Vlw mesmo Importante agora eh saber sobre a segurança do site =/ Se tem algum jeito , ow se precisa mesmo. Character.php dando um erro : Warning : invalid argument supplied for foreach() in C:htdocs\characters.php on line 144. Ja arrumei era na Parte das Quests ( tirei essa parte ) Outra coisa , pq mostra Free Account no site , se no Config.lua ta : freePremium = true Editado Junho 6, 2011 por DeathAngels Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1042064 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Junho 6, 2011 Share Postado Junho 6, 2011 a gratis premium account nao conta pq na tabela do player nao tem dias adicionados e sobre o erro nao sei se eu usei algum arikvo sql no site patra funcinao algum sistema mais ja vou verificar pra vc! Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1042091 Compartilhar em outros sites More sharing options...
nyuchiha 108 Postado Junho 6, 2011 Autor Share Postado Junho 6, 2011 Uhh fmz vlw mesmo em , então n precisa arrumar as Quests não , pode ficar sem. Quero a parte characters o + simples possivel , e ja esta perfeito. Vc conheçe algum sistema de adicionar item direto no char por aquele points comprados? Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1042109 Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Junho 6, 2011 Share Postado Junho 6, 2011 Character.php dando um erro : Warning : invalid argument supplied for foreach() in C:htdocs\characters.php on line 144. Baixe o meu , eu testei aqui e deu certo , caso não der passe o seu characters.php que eu vejo o problema characters.php Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1042123 Compartilhar em outros sites More sharing options...
nyuchiha 108 Postado Junho 6, 2011 Autor Share Postado Junho 6, 2011 Oks , ambos deram certo. Agora estou atrás de 1 sistema que adicione o Item direto no char do player ( DP ) , por aqueles points comprados. Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1042159 Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Junho 6, 2011 Share Postado Junho 6, 2011 Só procurar nesse link que você encontra. Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1042161 Compartilhar em outros sites More sharing options...
Piabeta Kun 359 Postado Junho 6, 2011 Share Postado Junho 6, 2011 bem se for compra pela loja so tem que adiconar um script em seu ot, sendo que nao xega no dp xega na amunition e nao sei troca(na verdade nunca tentei) vou posta aki pra vc! vá em htdocs/pasta do seu ot/data/globalevents/globalevents.xml, adicion isso la: <globalevent name="shop" interval="300" script="shop.lua"/> lembrando que se vc usa tfs 0.4 fikaram assim: <globalevent name="shop" interval="30000" script="shop.lua"/> pois o tfs0.4 usa microsegundos ao invez de segundos agora vai em htdocs/pasta do seu ot/data/globalevents/scripts crie um arkivo.ua chamdo shop.lua e cole isso dentro dele: -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while iter ~= container_count do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return TRUE end explicando, ele conectaram seu server com a loja do site assim que a compra for realizada no site o item xega em 30 segundos no char(local de xegada ammunition) se funfar avisa aew flw? e se nao avisa tbm xD Link para o comentário https://xtibia.com/forum/topic/158001-set-em-characters/#findComment-1042177 Compartilhar em outros sites More sharing options...
Posts Recomendados