Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 09/22/15 em todas áreas

  1. Moscando sem aol em magician quarter.... devolvi o loot, e virei amigo... edit: o loot é a red backpack... 22:15 Loot of a carniphila: 40 gold coins, a carrot on a stick é incrível como demora a achar um terror bird quando você quer achar...
    2 pontos
  2. Infelizmente, os players de hoje em dia preferem facilidade, e isso não se limita apenas para tibia. Para que tenha sucesso, deverá proporcionar uma experiência realmente única, não apenas o mapa, mas a jogabilidade tem que ser diferente. Para que o player enfrente dificuldades maiores do que está acostumado, a experiência para ele terá que valer a pena.
    2 pontos
  3. RigBy

    Dodge System V2

    Dodge System por item V2 http://prntscr.com/7f2vl9 Para quem não sabe eu ja tinha feito um Dodge System ano passado, na época que eu não sabia nada, embora eu ainda não saiba nada to melhorando , eu tava sem nada para fazer ai decidir refazer, o script não tem nada de novo só foi modificado e melhorado algumas coisa. Para que não sabe dodge é um sistema que faz com que o player tenha uma certa porcentagem de esquiva de um ataque( por ele te esquivado ele não vai toma nenhum ataque e não apenas 50%) Então vamos la: Em creaturescript: Dodge System.lua function onStatsChange(cid, attacker, type, combat, value) local getStorage = getPlayerStorageValue(cid, 123455678) if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then local chance = math.random (0,100) if chance <= getStorage then doSendAnimatedText(getCreaturePos(cid), "MISS!", 214) doSendMagicEffect(getCreaturePosition(cid), 30) return false end end return true end Creaturescript.xml <event type="StatsChange" name="DodgeSystem" event="script" value="Dodge System.lua"/> Login.lua antes do ultimo return true registerCreatureEvent(cid, "DodgeSystem") if getPlayerStorageValue(cid, 123455678) == -1 then setPlayerStorageValue(cid, 123455678, 0) end em action: dodgestone.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local max = 50 -- limite de dodge local storagedodge = 123455678 -- storage do dodge if getPlayerStorageValue(cid, storagedodge) >= max then return doPlayerSendTextMessage(cid,22,"Você ja chego no limite de Dodge.") else doPlayerSetStorageValue(cid, storagedodge, (getPlayerStorageValue(cid, storagedodge)) + 1) doPlayerSendTextMessage(cid,22, "DodgeSKILL:["..getPlayerStorageValue(cid, storagedodge).."/"..max.."].") doRemoveItem(item.uid, 1) end return true end action.xml tag <action itemid="Id do item" event="script" value="dodgestone.lua"/> Se tiver algum bug ou dica de como melhorar pode comentar ai nos cometários Ps. com base nesse da para fazer Critical System, Reflect System e da para usar como magia de esquiva, se precisar é so fala
    1 ponto
  4. RigBy

    Akatsuki System Advance 1.0 + Heart System

    Akatsuki System + Heart System Introdução - tava vendo muitas pessoas precisando desses dois sistema então resolvi criar o meu próprio. - Não ta igual ao do NTOUltimate pois nunca joguei esse servidor. O que tem no Akatsuki system 1.0? - Verifica se sua vocação pode fazer parte da akatsuki - Verificar sua vocação e adiciona outra diferente? - Troca de outfit dependendo da sua vocação - Da bonus de hp e mp - Adicionar o nome [Akatsuki] no seu nick exemplo [Akatsuki] RigBy - Aplica uma storage quando você entra pra akatsuki (com isso da pra você fazer bonusXp) - storage é 85798723243 valor 1 O que tem no Heart System - Ele só te da o coração se você for acima de tal level - adiciona o nome da pessoa no coração Vamos la a script Npc.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="[Akatsuki] Tobi" script="data/npc/scripts/AkatsukiSystem.lua" walkinterval="2000" speed="0" floorchange="0"> <health now="100" max="100"/> <look type="128" head="0" body="0" legs="0" feet="0" addons="0"/> <parameters> <parameter key="message_greet" value="Hello You who joins {akatsuki}?"/> </parameters> </npc> Npc/Script/AkatsukiSystem.lua -- Do not remove the credits -- -- [NPC] Akatsuki System -- -- developed by Rigby -- -- Especially for the Xtibia.com -- local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local level = 1 -- Level preciso pra entra para akatsuki local itemid = 5943 -- id do coração local quantidade = 6 -- quantos hearts e preciso local bonushp = 300000 -- quanto de bonus de life vai ganha local bonusmp = 30000 -- quanto de bonus de mana vai ganha local config = { --[Vocation] = ( Nova Vocation, New Outfit ) [1] = { 5, 128}, [2] = { 6, 129}, [3] = { 7, 130}, [4] = { 8, 131}, } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'akatsuki') then if getPlayerVocation(cid) ~= config then if getPlayerStorageValue(cid, 85798723243) == -1 then if getPlayerLevel(cid) >= level then selfSay('Are you sure you want to join the Akatsuki?.', cid) talkState[talkUser] = 1 else selfSay('You there and very weak, vain talk to you when you have level '..level..'.', cid) end else selfSay('You already part of the akatsuki!', cid) end else selfSay('Do not need you now!', cid) end end if talkState[talkUser] == 1 and msgcontains(msg, 'yes') then selfSay('To prove their loyalty, you have to bring '..quantidade..' {hearts}.', cid) talkState[talkUser] = 2 end if talkState[talkUser] == 2 and msgcontains(msg, 'hearts') then if getPlayerItemCount(cid, 5943) >= 6 then local voc = config[getPlayerVocation(cid)] doPlayerSetVocation(cid, voc[1]) local outfit = {lookType = voc[2]} doCreatureChangeOutfit(cid, outfit) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonushp) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonusmp) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doPlayerRemoveItem(cid, 5943, 6) doCreatureAddMana(cid, getCreatureMaxMana(cid)) setPlayerStorageValue(cid,85798723243,1) db.executeQuery("UPDATE `players` SET `name` = '[Akatsuki] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") addEvent(doRemoveCreature, 5*1000, cid, true) doPlayerSendTextMessage(cid,25,'You will be kicked in 5 seconds to enter the akatsuki!') selfSay('Congratulations now you are part of akatsuki.', cid) talkState[talkUser] = 0 else selfSay('No use to fool me, you do not have '..quantidade..' hearts, goes behind.', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Heart System Creaturescript/script/heartsystem -- Do not remove the credits -- -- [CREATURESCRIPT] Heart System -- -- developed by Rigby -- -- Especially for the Xtibia.com -- function onKill(cid, target, lastHit) local item = 5943 -- id do coração local level = 300 -- level necessário para tira o coração if isPlayer(cid) and isPlayer(target) then if getPlayerLevel(target) >= level then local add = doPlayerAddItem(cid, item, 1) doItemSetAttribute(add, "description","Esse coração é de "..getPlayerName(target).." que foi morto no level "..getPlayerLevel(target).." por "..getPlayerName(cid)..".") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce Mato " ..getPlayerName(target).. ".") doSendMagicEffect(getPlayerPosition(cid),12) end end return true end Creaturescript.xml Tag <event type="kill" name="HeartSys" event="script" value="heartsystem.lua"/> Podem comenta duvidas, opiniões ou melhoramento para que haja a versão 2.0
    1 ponto
  5. Gabrieltxu

    [Pokemon Open-Source] Pokemon Ex 3.0

    Conteudo Retirado.
    1 ponto
  6. Qwizer

    TibiaSchool RL MAP 7.4

    OPEN 24/10 as 19 Hrs Mais do que um conceito, responsabilidade se traduz no exercicio planejado de um servidor, aqui voce encontra um serve com excelente jogabilidade, vocacoes totalmente balanceadas, runas e municoes, quest, outfits atualizados da versao 7.4 com EXP Share Party, War System e Task System, alem de algumas coisas das versoes mais novas como Pits Of Inferno Quest, Demon Oak Quest, Port Hope entre outros, servidor com bot liberado. Nosso servidor encontra-se hospedado na Oles Van Herman uma das empresas mais conceituadas em hospedagens de servidores dedicados do continente americano, capaz de nos proporcionar um jogo intuitivo com o ping baixo e otima qualidade, tornando-se mais prazeroso e divertido. Nossa staff se compoem em administradores, a tutores com possibilidades de mais integrantes e um programador. Todo servidor esta sujeito a falhas graficas "bugs" sendo assim elaboramos um formulario para ser relatado qualquer tipo de bug, temos uma equipe profissional capaz de resolver todos os problemas encontrados no jogo. acesse: www.tibiaschool.com Caracteristicas: RLMAP com Port Hope. War System Experience: 15x (Stages) Skill: 6x Magic Level: 3x Loot: 3x EXP Share Party. Municoes & Runas conjuradas x2. Task System. Raids automaticas e constantes. Saudacoes: Agradecemos a todos pelo apoio e confianca, divirta-se em um servidor dedicado e responsavel. E nao se esqueca curta nossa Home Page no facebook, la voce encontra as ultimas noticias relacionadas ao nosso servidor. IMAGES
    1 ponto
  7. SkyLigh

    [AJUDA] Donate Boots

    Sim registra-lo no moveevents.xml segue as tags : <movevent type="Equip" itemid="2358" slot="feet" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="2358" slot="feet" event="function" value="onDeEquipItem"/> não sei se é assim no tfs 1.2 caso não seja assim poste alguma tag do seu moveevents.xml para mim
    1 ponto
  8. Invasão horestis fui o primeiro a chegar!!!
    1 ponto
  9. Vá Em Modules/ Game_Interface/ E Abra O Interface.otmod, Depois Vá Onde Tem " - game_minimap " Depois Vá No Fim Do Nome E Aperte Enter 1 Vez Para Pular 1 Linha E Cole Isso Aqui. - game_guild
    1 ponto
  10. Olá galera, meu nome é Tarcísio Filho, tenho 23 anos e sou graduado em ciências da computação. Primeiramente gostaria de me desculpar caso esteja postando isso em uma área indevida e também pedir com carinho a participação de todos da comunidade para engrandecer a discussão usando de argumentos e de bom senso. Vamos lá, não é segredo para ninguém que o cenário atual dos servidores privados está bem diferente do que já foi um dia, em geral, a maioria dos servidores são globais com uma exp stage fácil. Tendo afirmado isso, eu como administrador de servidores, tenho me questionado ao longo dos anos: Ainda existe espaço no cenário atual para servidores Custom Map com uma exp stage mais difícil? Desde já agradeço a participação de todos, espero que consigamos ter uma boa conversa a respeito dos servidores, abraço galera.
    1 ponto
  11. Sim, correto, estávamos amadurecendo mais o conteúdo para poder começar a fazer uma divulgação e obrigado pelo apoio, quando postar lá na área de divulgação quero ver seus comentários lá para agregar melhorias PS: não fiz esse tópico para divulgar meu trabalho, fiz para buscar respostas que eu não tinha e ter uma boa conversa, esse é realmente um assunto importante pra todos nos que gostamos de OT.
    1 ponto
  12. Desejo sucesso com o projeto, que dê certo e seja um diferencial na área de otservs, estamos precisando de inovações. Vocês poderiam divulgar o andamento do projeto. Marketing só tem a favorecer a vocês, além de ajudar a captar novas idéias, feedbacks.
    1 ponto
  13. Concordo plenamente, lendo tópicos nos fóruns da comunidade de otservers, me deparei com um questionamento onde o usuário questionava o por que dos ot's durarem tão pouco, a maioria falava por falta de empenho da administração e etc... E em parte eu concordo com isso, hoje em dia OT virou lucro, você lança um global poe itens e vip no shop para vender, ganha um dinheiro e com 1 mês fecha o servidor e abre outro com o mesmo nome. Isso pra mim é picaretagem. Tenho trabalhado com minha equipe nesse Servidor a quase 1 ano e posso garantir a você que não estamos fazendo isso por dinheiro (os três são formados 2 em ciências da computação e 1 em medicina) estamos fazendo isso por que gostamos e estamos nos esforçando por que fazemos isso com o coração e escutando o que cada um de vocês tem a dizer só me motiva mais ainda a não desistir. Obrigado. Engraçado que praticamente me identifico com cada comentário, rsrs. Pois é, um servidor custom ao meu ver, tem que estar bem estruturado, bem acompanhado e próximo dos players para buscar melhorias, eu estou trabalhando basicamente em cima disso, me questiono: Quando era eu o player, o que eu buscava em um servidor? Quero poder passar confiança, credibilidade e a cima de tudo, quero fazer do meu servidor algo que o player possa jogar e pensar "vou viajar agora, daqui a 2 semanas eu volto e ainda vou poder jogar..." Agradecido pela participação, algo mais que possa adicionar? O que você buscaria em um servidor com mapa e sistemas customs?
    1 ponto
  14. , parabéns pelo tópico. O fato é que servidores 'realmap' estão nessa mesmice porque se fosse para jogar um gobal exp baixa, é preferível jogar o Tibia original. Servidores derivados e/ou 'custom' são outra história, pois apresentam um cenário diferente; mesmo assim, a procura é pequena e a qualidade do servidor deve superar isso.
    1 ponto
  15. RigBy

    [Votação] A Melhor Sprite #1

    Obrigado madarada por sua denuncia, eu ja tava começando a desconfiar que era ripada ja que o cara erro no mais facil, o sombreamento, a luz dele tava vindo do nordeste e não do noroeste. Autor numero #1 foi alertado e desqualificado do concurso, todos os votos dado para ele serão anulado. Quem voto nele pode edita seu comentário com uma nova avaliação. Obrigado a todos participante que fizeram algo original.
    1 ponto
  16. Madarada

    [Votação] A Melhor Sprite #1

    Sinceramente,não sei porque vem participar do concurso com sprite ripada. A 1ª espada pertence a um spriter que frequenta o fórum Otland chamado Anevis. A única coisa que o ripper fez foi girar a sprite original ( no quadrado vermelho) e mudar o cabo e a tonalidade da lâmina,tanto que a lâmina está muito superior ao cabo em qualidade e técnica. Não sei porque ripar para um concurso,fazer uma lâmina dessas é bem fácil só que vocês não tem paciência e são preguiçosos. Parabéns a todos os outros participantes que tentaram fazer algo original.
    1 ponto
  17. Hiagante

    [Pedido] Characters.php

    Pega ai. <?PHP $name = stripslashes(ucwords(strtolower(trim($_REQUEST['name'])))); if(empty($name)) { $main_content .= '<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 Personagens</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Nome:</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=15 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><center><B>Mortes:</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=50% HEIGHT=100% BORDER=1><nobr><b>Nome:</b></TD><TD WIDTH=30 HEIGHT=30 BORDER=1><font color="'; $main_content .= ($player->isOnline()) ? 'green' : 'red'; $main_content .= '"><b>'.$player->getName().'</b></font>'; $main_content .= ($account->ispremium()) ? ' ' : ''; if($player->isDeleted()) $main_content .= '<font color="red"> [Deletado]</font>'; if($player->isNameLocked()) $main_content .= '<font color="red"> [Nome em Mudança]</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><b>Nome Antigo:</b></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 = 'Comunnity Manager';} if ($group == 6){$group_name = 'GOD';} if ($group == 7){$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><b>Group:</b></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><b>Sexo:</b></TD><TD>'; $main_content .= ($player->getSex() == 0) ? 'Feminino' : 'Masculino'; $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><b>Vocação:</b></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><b>Level:</b></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><b>Mundo</b></TD><TD>'.$config['site']['worlds'][(int)$death['world_id']].'Not Forget</TD></TR>'; //Hp/Mana/ if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $hp = ($player->getHealth() / $player->getHealthMax() * 100); $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><td><b>Vida Máxima:</b></td> <td BGCOLOR="'.$bgcolor.'" align="left">'.$player->getHealthMax().'</td></tr>'; if ($player->getManaMax() > 0) { $mana = ($player->getMana() / $player->getManaMax() * 100); if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<td BGCOLOR="'.$bgcolor.'" align="left"><b>Player Mana:</b></td><td BGCOLOR="'.$bgcolor.'" align="left">'.number_format($player->getManaMax(), 0, '.', ',').'</td>'; } $main_content .= '</TD></TR>'; $players_rows .= '.</TD>'.$config['site']['worlds'][(int)$death['world_id']].'<TD WIDTH=10%>Not Forget</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><b>Residência:</b></TD><TD>Carlin</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><NOBR><b>Guild</b></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><NOBR><b>Último Acesso</b></TD><TD>Não entrou no servidor</TD></TR>'; else $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD><NOBR><b>Último Acesso:</b></TD><TD>'.date("j M Y, H:i", $lastlogin).'</TD></TR>'; 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><NOBR><b>Char Criado:</b></TD><TD>'.date("j M Y, H:i", $player->getCreated()).'</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><b>Account Status:</b></TD><TD>'; $main_content .= ($account->getPremDays() > 0) ? '<font color="green"><b>Premium Account</b></font>' : '<font color="red"><b>Free Account</b></font>'; //Outfit shower by Pening edited by loleslav // ** ADDED GM/CM/GOD outfits by Jerryb1988 from otfans.net if($config['site']['show_outfit']) { $id = $player->getCustomField("id"); if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TD BGCOLOR="'.$bgcolor.'">Outfit:'; $listaddon = array('75','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','266','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 style="background-color: '.$bgcolor.'"><img src="images/addons/'.$finaddon.'.gif"/></center></TD></TD>'; } } } //end Outfit shower by Pening edited by loleslav // Char Comment $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><b>Comentário:</b></TD><TD>'.$comment.'</TD></TR>'; } $main_content .= '</td></table></td>'; // END Char Comment //modified status scripts by ballack13 // Signature by makr0mango. if($config['site']['show_signature']) { 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 .= '<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='' /></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(). "ℑ=" . $random . "' /></TD></TR>"; $main_content .= "<TR BGCOLOR=".$config['site']['darkborder']."><TD COLSPAN='2' style='text-align: center;'><img src='signature.php?character=" .$player->getName(). "ℑ=" . $random . "' /></TD></TR>"; $main_content .= '</TD></TR></TABLE>'; } // Signature by makr0mango. //BEGIN Player advances by jerryb1988 from otfans.net if($config['site']['number_of_advances'] > 0) { $numadvances = $config['site']['number_of_advances']; $advances = 0; $player_advances = $SQL->query('SELECT * FROM `player_advances` WHERE `cid` = '.$player->getId().' ORDER BY `time` DESC LIMIT '.$numadvances.';'); foreach($player_advances as $advance) { $skill = $advance['skill']; if ($skill == 0){$skill_name = '<font color=purple><B>Fist</B></font>';} if ($skill == 1){$skill_name = '<font color=purple><B>Club</B></font>';} if ($skill == 2){$skill_name = '<font color=purple><B>Sword</B></font>';} if ($skill == 3){$skill_name = '<font color=purple><B>Axe</B></font>';} if ($skill == 4){$skill_name = '<font color=purple><B>Distance</B></font>';} if ($skill == 5){$skill_name = '<font color=purple><B>Shielding</B></font>';} if ($skill == 6){$skill_name = '<font color=purple><B>Fishing</B></font>';} if ($skill == 7){$skill_name = '<font color=blue><B>Magic</B></font>';} if ($skill == 8){$skill_name = '<font color=red><B>Level</B></font>';} if(is_int($advances / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['darkborder']; } $advances++; $advances_add_content .= "<tr bgcolor=\"".$bgcolor."\"><td width=\"20%\" align=\"center\"><nobr>".date("j M Y, H:i", $advance['time'])."</td><td>".$skill_name."</td><td width=75><font color=red><B>".$advance['oldlevel']."</B></font></td><td width=75><font color=green><B>".$advance['newlevel']."</B></font></tr>"; } if($advances > 0) $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=4 CLASS=white><B>Lastest Skill Advances</B></TD></TR><tr bgcolor='.$config['site']['darkborder'].'><td><b>Time</b></td><td><b>Skill</b></td><td><b>Old Level</b></td><td><b>New Level</b></td></tr>' . $advances_add_content . '</TABLE><br />'; } //END Advances by jerryb1988 from otfans.net //deaths list $deads = 0; $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\"><nobr>".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 .= "Morto no nível <b>".$death['level']."</b> por "; else if($i == $count) $dead_add_content .= " e por "; else $dead_add_content .= ", "; if($killer['monster_name'] != "") $dead_add_content .= $killer['monster_name']." invocado por "; 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 .= "Morto no nível <b>".$death['level']."</b> por "; else if($i == $count) $dead_add_content .= " e por "; 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=15 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><center><B>Mortes:</B></TD></TR>' . $dead_add_content . '</TABLE>'; //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=15 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><center><B>Vítimas:</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) ? 'Ela' : 'Ele')." matou <a href=\"index.php?subtopic=characters&name=".$frag[name]."\">".$frag[name]."</a> no nível ".$frag[level].""; $frag_add_content .= ". (".(($frag[unjustified] == 0) ? "<font size=\"1\" color=\"green\">Justificado</font>" : "<font size=\"1\" color=\"red\">Injustificado</font>").")</td></tr>"; } if($frags >= 1) $main_content .= $frag_add_content . '</TABLE>'; } // end of frags list by Xampy //end DEATHS if(!$player->getHideChar()) { 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%><b>Nome Verdadeiro:</b></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%><b>Mora Em:</b></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()) if($account->getCreated()) { } if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['lightborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '</TD></TR></TABLE>'; $main_content .= '<TABLE BORDER=15 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=6 CLASS=white><center><B>Outros Personagens:</B></TD></TR> <TR BGCOLOR='.$config['site']['darkborder'].'><TD><B>Nome</B></TD><TD><B>Mundo</B></TD><TD><B>Nível</B></TD><TD WIDTH=25%><B>Vocação</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">Deslogado</font>'; else $player_list_status = '<font color="green">Logado</font>'; $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=52%><NOBR><a href="?subtopic=characters&name='.urlencode($player_list->getName()).'">'.$player_list->getName(); $main_content .= ($player_list->isDeleted()) ? '<font color="red"> [DELETED]</font>' : ''; $main_content .= '</NOBR></TD><TD WIDTH=11%>'.$config['site']['worlds'][(int)$death['world_id']].'Not Forget</TD><TD WIDTH=8%>'.$player_list->getLevel().'</TD><TD WIDTH=5%> '.$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 Mais Personagens</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Nome:</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>'; } } ?>
    1 ponto
  18. Mudrock

    [Arquivado]O atual cenário OTserv

    Eu acho, que o que chama atenção em um servidor acima de tudo é sua qualidade, não adianta um servidor lindo, todo bem estruturado sem uma qualidade de " serviço " boa ao player.. mais emfim.. eu jogaria sim
    1 ponto
  19. Pelo menos pra mim tem, não aguento jogar essa mesmice
    1 ponto
  20. Mudrock

    Assistente da equipe

    Para ser um membro da Staff ( equipe do fórum ), você deve contribuir com o mesmo, todos os membros são avaliados a todo momento no fórum, tanto como seu rendimento, conteúdo, etc.. conforme os membros vão se destacando vão ganhando reconhecimento no fórum, sendo assim todos tem oportunidades para participar da equipe, onde todos trabalham em grupo, sem remuneração, espero que tenha entendido oque eu quis dizer rsrsrsr Abraços amigo!
    1 ponto
  21. kaleudd

    Pokexgames Sprites INÉDITAS!

    Salve kakaralho,vim trazer mais umas 273 sprs para vocês,Itens dos addons,LookType de cerca de 200 Pokémons remakes addons e muito mais. Créditos:Eu:Pela descompilação,organização e liberação. Pokexgames:Pela criação das Sprites. OBS:Todos os itens dentro desse pacote está nos três prints finais destê topico... Download + Scan:
    1 ponto
  22. zipter98

    Alguns scripts

    Spell: local config = { itemId = 7171, --Outfit (item) que o target irá assumir. time = 10, --Duração do debuff. distance_effect = xxx --Distance effect. Se não quiser, basta colocar false. } function onCastSpell(cid, var) local target = variantToNumber(var) if not isCreature(target) then return doPlayerSendCancel(cid, "You need a target to cast this spell.") end if config.distance_effect then doSendDistanceShoot(getThingPos(cid), getThingPos(target), config.distance_effect) end doSetCreatureOutfit(cid, {lookTypeEx = config.itemId}, config.time * 1000) setPlayerStorageValue(cid, 9182, os.time() + config.time) doCreatureSetNoMove(cid, true) addEvent(function() if not isPlayer(cid) then return true end doCreatureSetNoMove(cid, false) end, config.time * 1000) return true end Creatureevent (não se esqueça de registrá-lo em login.lua): function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHGAIN and isPlayer(cid) and getPlayerStorageValue(cid, 9182) > os.time() then return false end return true end
    1 ponto
  23. Krono

    OTScript Live atualizada (Tfs 1.0)

    Salve Galera Hoje estou trazendo pra vocês uma "mão na roda", no que diz respeito a criação de scripts. É a versão atualizada do OTScript com suporte para TFS 1.0. Ele é um programa leve, porém muito util, principalmente para quem está começando no mundo "Ot script" pois ele auxilia na criação dos mesmos. Segue as Features Download OTScript Live TFS 1.0 Scan CRÉDITOS Colex Nostradamus KingDev Espero que gostem e aproveitem. Até a proxima.
    1 ponto
  24. Categoria: Download de SPRITES Créditos: PokeXGames - PXG Conteúdo: Cliente da PXG referente a data 22/03/2015 descompilado. OBSERVAÇÕES: O cliente deve ser aberto utilizando o OBJECT BUILDER, onde as opções EXTENDED e TRANSPARENCY devem estar marcadas. FOTOS: - DOWNLOAD: MediaFire SCAN: Virustotal
    1 ponto
  25. SmiX

    Pokeball Icon System

    Acessem esté link. Espero REP+. Ta bom galerinha.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...