Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 03/16/14 em todas áreas
-
IPB SKIN old Xtibia.com
Avuenja e 4 outros reagiu a u n d e r por um tópico no fórum
Vejam uma template que eu desenvolvi na época que o Xtibia estava bombando! Link direto: http://s7.postimg.org/b0ym044qj/Skin_IPB_Medieval_Light_by_alegfx.png5 pontos -
Indo à Kazordoon!
JustinnoTibianno e 2 outros reagiu a vital900 por um tópico no fórum
Thais/Venore -> Kazordoon (Atalho) Outras Cidades -> Kazordoon Welcome to Kaz!3 pontos -
Irei mostrar o caminho a partir do DP de Venore! Welcome to Orcs!3 pontos
-
Madarada Show Off
Wingardium e um outro reagiu a Madarada por um tópico no fórum
Eai galerinha meu nick é Madarada e esse é o meu show off Lembrando que todas as minhas sprites são de USO LIBERADO essa é a minha colaboração ao xtibia,só peço quem for usar se puder dar aquele REP pro tio eu estarei atualizando minha galeria toda semana. - 14/03/2014 - Cavaleiros armadura dourada Sauron (fico ma o meno) Nem me perguntem o que é isso rsr Mr.Músculo Um ninja de um projeto de naruto antigo Parede japonesa Já ouviu falar do tryndamere? Outro ninja (anbu) Por enquanto é só isso ABRAÇOS2 pontos -
Eae Galera,vou disponibilizar meu pack de novos lendarios. •Zekrom (Completo) •Renshinran (Completo) •Deoxys (Completo, Contando Com o SPeed, Pyscho e Defense Deoxys esses sao para as magias). •Palkia (Completo) nao é novo mais ta no meu pack faz tempo •Regice (Completo) •Shiny Darkrai (so tem o outifit, o portrait e corpse eu usava do normal) •Primal Dialga (Completo, Pra quem nao sabe é o dialga so que de lava) •Shiny Groudon (Somente Portrait e outfit , corpse eu usava do normal) •Shiny Kyogre (Completo) É ISSO GALERA N FOI FACIL FAZER ESSE PACK ENTAO SE DE AO ESFORÇO DE INCENTIVAR. CUSTA NADA NEH. DOWNLOAD2 pontos
-
Fazendo Gold!
JustinnoTibianno e um outro reagiu a vital900 por um tópico no fórum
Bom vou explicar passo a passo de como ter uma boa condição de gold no tibia, sem demorar muito tempo. Rook Main [Venore] Para Premium2 pontos -
The Djinn War [Djinn Quest]!
Jakson Souza e um outro reagiu a vital900 por um tópico no fórum
Requerimentos: 1- LVL mínimo 40 2- Cheese () 3- Cookbook () -> Você pode comprar ou fazer a quest [Valor: 5~10k, depende do mundo] Pegando o Cookbook! Pegando o Cheese! Agora com os itens que deve se ter para fazer a quest, vamos começa-la! Em Ankrahmun você deve se encaminhar ao NPC Melchior (ele é um andarilho.. Mas ele anda em volta deste circulo). Agora devemos ir na torre dos djinn azuis. Como chegar na Orc Fortress!2 pontos -
Novidade: Poketibia 9.60
lazarocp e um outro reagiu a zerefshirou por um tópico no fórum
Sou bom em estipular prazos, não em seguir, segue os scripts, todos que eu editei (eu acho que estão todos ai): Download Scripts Algumas tags nem alterei, só coloquei por colocar mesmo '.' Não adicionei Great Ball por que fui procurar pelo item editor a sprite, não achei e foda-se não to afim de colocar agora Qualquer dúvida relacionada a algum script que eu fiz só falar... Edit: @lazarocp Adiciona o elemento Crystal também, já que alguém vai pedir pro Crystal Onix... E já adicionou todos os elementos? incluindo Dark e Steel?2 pontos -
PokexGeneration
raulcdj reagiu a JulynaMiiy por um tópico no fórum
• Menu: ├ Informações; ├ Ediçoes; ├ Prints; ├ Download; └ Creditos. • Informações; • Edições; • PrintScreen; • Download; • Créditos; - Brun123. - Slicer. - ZerefShirou. - Zipter98. - StyloMaldoso. - JulynaMiiy. - Murluka.1 ponto -
Ola galera venho aqui postar um simples pet sistema que eu fiz pra participar do OMS. Introdução: O Pet sistema funciona assim você pode ganhar/comprar um item que ao clicar ele sumonarar seu pet com uma certa quantidade de sangue, porem só poderar usar o summon alguns vezes no dia (configuravel). Crie um arquivo chamado Petsystem.lua em data/actions/scripter e coloque. function onUse(cid, item, frompos, item2, topos) local monster ={ [12597] = {"Troll", 1, 50, vida = 500, vezes = 5, go = 00, gack = 00}, [12598] = {"Amazon", 50, 100, vida = 1000, vezes = 10, go = 00, back = 00}, [12599] = {"Demon", 100, 150, vida = 1500, vezes = 15, go = 00, back = 00} } local summom = getCreatureSummons(cid) local mst = monster[item.actionid] local hea = monster.vida function backMonster(cid, monsters) if #getCreatureSummons(cid) >= 1 then monsters = getCreatureSummons(cid)[1] doRemoveCreature(monsters) doPlayerSendTextMessage(cid, 13, "Não precio de sua ajuda"..mst[1].."por enquanto") doSendMagicEffect(getThingPos(monsters), mst.back) end end if getPlayerStorageValue(cid, 18800) >= mst.vezes then return doPlayerSendCancel(cid, "Seu Summon estar cansado só poderar usar amanhan") end if getPlayerLevel(cid) > mst[2] and mst[3] < getPlayerLevel(cid) then doSummonCreature(mst[1], getThingPos(cid)) doPlayerSendTextMessage(cid, 14, "Venha me ajudar"..mst[1].."nessa batalha") setCreatureMaxHealth(summom[1], hea) doPlayerSetStorageValue(cid, 18800, mst.vezes) doSendMagicEffect(getThingPos(monster), mst.go) else backMonster(cid, mst[1]) return true end end Agr va em actions.xml e coloque a seguinte Tag : <action actionid="12597;12598;12599" event="script" value="petsystem.lua"/> Agr va em globalevents/scripter e crie um arquivo chamado Pet.lua e coloque function onTimer() local storage = {5, 10, 15} setPlayerStorageValue(cid, 18800, storage[1]) setPlayerStorageValue(cid, 18800, storage[2]) setPlayerStorageValue(cid, 18800, storage[3]) end agr em globalevents.xml coloque o tag <globalevent name="PetSystem" time="00:00" event="script" value="pet.lua"/> Explicação [12597] = {"Troll", 1, 50, vida = 500, vezes = 5, go = 00, gack = 00}, [12598] = {"Amazon", 50, 100, vida = 1000, vezes = 10, go = 00, back = 00}, [12599] = {"Demon", 100, 150, vida = 1500, vezes = 15, go = 00, back = 00} Verde : Oque estar em verde serar o nome do pet(summon) que você vai ter. Negrito : 1, 50 quer dizer que você pode usar o summon troll so do lvl 1 ao 50. Vida: É a vida do seu pet sugiro que seja entre 500 a 5000. Vezes : e quantas vezes você pode usar ele no dia. Go : e o effeito de invocação do summon caso não deseje deixe e 0. Back : mesma coisa o efeito de remover o monstro, deixe em 0 caso n queira. Pronto eu acho que é somente isso se tiver bug vocês avisam aqui em baixo pois meu nivel de scripter não e tão auto e caso o pessoal mais experiente quizer da uma editada nele, estar de boa . Creditos Escolinha de scripter do roksas (Ensinar o que eu sei) Kttallan (Eu mesmo por ser o criador)1 ponto
-
Como estou com cartão de memória novo, cumprindo a minha promessa com o Alex e criando minha galeria de fotos auahauh Peço desculpas porque as tirei do instagram, então, essas 3 imagens estão com filtro. Amiguinho que as vezes dá as caras pela universidade... Minha cadela... rs Com o tempo posto mais ibagens do meu dia a dia Depois posto algumas que tirei com minha profissional.. abraços1 ponto
-
Galeria[Sheik]
BrenoNeto reagiu a Sheikzinho por um tópico no fórum
Minha Primeira Sprite...Aceito ajudas de como melhorar!!! ^^ segundo sprite. Gaara1 ponto -
Unmatched WODBO Alternative World - Com sistema de Resets!
LordPein reagiu a LudosGamer por um tópico no fórum
Procurando um servidor high-rate de Dragon Ball de qualidade? Então sua busca terminou! Vamos sortear um mês de conta premium! Acesse a pagina do sorteio em nosso site e participe! Introdução Se você é um jogador casual que está aqui para se divertir sem aquele compromisso de precisar ficar jogando o tempo todo para alcançar níveis elevados, Unmatched WODBO - Alternative World é o lugar certo para você! Características Sistema de RESETS EXP - 250x Ki Level (magic level) - 10x Loot - 10x Spawn - 10x Servidor TRADUZIDO (client, npcs, monstros, itens, etc) Mapa com alterações únicas e contínuas. O servidor teve um período BETA e VÁRIOS bugs foram corrigidos Nova fórmula de combate corpo-a-corpo Imagens Instalador e patcher Vocações Premium (várias ainda serão adicionadas) Servidor e Client Traduzidos Eventos temáticos com novos itens e criaturas Alterações constantes no mapa e novos NPCs Para saber outras informações como classes e habilidades acesse nosso site unwodbo.com.br e não se esqueça de acompanhar as novidades clicando em notícias.1 ponto -
Fairy Tail Online [FTO]
JonatasLucasf reagiu a Frenvius por um tópico no fórum
Gráfico Olá, eu sou Frenvius, Spriter/Desginer do projeto Fairy Tail Online. Fará um mês desde que voltamos com o projeto, estamos focados, trabalhando dia e noite para um melhor desempenho do servidor. Até então, estivemos acumulando conteúdo para mostrarmos a vocês durante um certo período. Este é apenas um exemplo Gráfico do nosso game, toda parte gráfica será desenvolvida por mim. Estaremos trabalhando com o gráfico para que ele fique agradável aos olhos de todos, escolhemos muito bem as cores, para assim termos um gráfico bonito fugindo do padrão de outros servidores e da temática do Tibia. Sugestões são sempre bem vindas, o game é feito a gosto de quem joga. Guild System - Level O Guild System é um dos sistemas mais importantes, o jogo inteiro está ligado nele [Praticamente]. Cada usuário poderá se ingressar ou criar uma nova guilda, para executar uma das ações, ele não poderá ser membro de nenhuma. Para criar uma guilda, será necessário no mínimo alcançar o nível 30 [valor ainda não definido]; Individualmente, cada guilda possuirá seu level e experiência. A cada monstro morto por um membro, a guilda receberá 10% da experiência total da criatura morta (Não será descontado no que o player ganhará). Como este é um sistema muito longo, ele será dividido em três partes e a cada dois dias será lançado um novo teaser sobre ele. Dica: Quanto mais usuários ativos em sua guilda, mais experiência ela receberá, mais level ela terá. Guild System - Request Board Como na série Fairy Tail, os magos que pertencem as guildas fazem trabalhos pela comissão. Esses trabalhos estão expostos em um quadro, qualquer um pode pega-los. Um esquema de como funcionará no jogo: Qualquer jogador poderá pegar uma task no Request Board de sua guilda. - Ninguém poderá fazer duas tasks ao mesmo tempo. - Após o jogador pegar a task no quadro, ela nunca mais poderá ser feita. [Existe exceções]; - As tasks irão aparecer no quadro de acordo com o nível da Guilda. Quanto maior for o nível dela, maior vai ser a dificuldade delas e maior a quantidade de tasks para serem realizadas. Guild System - Flags A ideia desse sistema veio de um jogo chamado Ragnarök. O que queremos propor é que as guildas com as maiores influências no jogo terá sua marca exposta para todos os jogadores em bandeiras que estarão nas cidades. Um dos fatores que contribuirá é o level da guilda. - Não será necessário baixar uma nova atualização a cada nova influência. - Os jogadores poderão fazer upload do ícone de suas guildas pelo site, para representar a guilda no site. [sem perspectiva 45º] - A ideia desse sistema foi para que tivesse uma valorização na força das guildas, não que seja a única. Paperdoll System Paperdoll é a representação dos equipamentos utilizados pelo personagem possibilitando a criação das mais variadas combinações, desde os cabelos, roupas, armas, acessórios e outros. Próximo Teaser: --/--/-- Forum1 ponto -
[Arquivado][CLIENTE FLASH][ALL MAKERS] Cliente tibia em flash
MarceloHeuheuheu reagiu a VictorWEBMaster por um tópico no fórum
Bom dia galera do XTibia! Venho por meio deste tópico perguntar e fazer uma enquete para saber se na opinião de vocês OTAdmins o cliente flash seria essencial para seu servidor seja ele derivado ou não. Oque o cliente flash mudaria no servidor? Bom, basicamente os acessos, pois quem entra no site e cria sua conta enquanto baixa o cliente, você não tem ciência de que ha pessoas que gostam e tem net compartilhadas & escada... Flash não pesa? Cliente flash é uma aplicação em flash que mecher com cookies, no servidor que hospeda pode ser pesado, porém para o acessante o primeiro acesso é o de mais paciência, pois os demais já estão guardados em cache/cookies. Sendo assim o cliente carrega mais rapidamente sem interrupções repentinas. Como posso ter este script? Isto existe? Não, ainda nunca vi nenhum website comportando cliente em flash, porém tenho um amigo de um amigo que é parceiro do amigo da escola do meu amigo que me disponibilizou um script em flash que não é perfeitamente funcional, porém eu fiz uns ajustes e ele pode ser adaptado a um servidor de tibia sim! Isto é bom? Você vai vender este script? Bom, com a venda deste script eu tenho oque comer no dia seguinte (#ZOA), porém vou disponibiliza-lo no XTibia na hora certa, nunca vi um servidor com este tipo de script, estou fazendo deste script um private source do ekz, ou seja. Apenas usuários registados do XTibia poderão utilizar. Maaaas poow, quero pro meu ot gringo! Bom, venha fazer parte de nossa família, compartilhar o conteúdo de sua sabedoria no fórum... Vamos te ajudar o mesmo tanto ou mais que você nos ajudar; Tópico aberto para quais quer tipo de duvidas, criticas e sugestões.1 ponto -
[Pack] Global's Chaitosoft ~ [By Mythusz]
Rydda reagiu a xXMythuszXx por um tópico no fórum
Bom galéra, hoje venho aqui postar 2 servidores muito bem 'falados' por uns e bem críticado por outros. São 2 servidores globais da empresa CHAITOSOFT, ambos servidores estão sem as dlls e distro na pasta, estão com as sources para compilar. Ambos servidores tem quase as mesmas carácterísticas, intão fica ai uma bréve descrição.. • Cidades: ├ Carlin ├ Thais ├ Ab'Dendriel ├ Venore ├ Liberty Bay ├ Outlaw Camp ├ Ankrahmun ├ Zao + Razachai! ├ Edron ├ Kazordoon ├ Port Hope ├ Svargrund ├ Yalahar ├ Darashia └ e muitas outras.. • O Que Contêm no Servidor: - War of Emperium (Evento) - Zombie Attack (Evento) - Raids Automáticas (Script) - Bonus 50+ (Script) - Database completa (DB) - Wrath of Emperor (Mapa-quest) - Zao e New Banuta Piece (Mapa) - TFS 0.4 (Distro: Anti-Divulgação, War System e No-otbm check) - Task 100% RL (Script: Com ranking e bonus bosses) - War System com escudos (Script) - VIP System (Script) - 10 Cidades e 15 Ilhas VIPS (Mapa) • Lista Das Principais Quests (Todas Funcionando 100%): The Annihilator Quest ├ Demon Helmet Quest ├ The Elemental Spheres Quest ├ Firewalker Boots Quest ├ The Inquisition Quest ├ Killing in the Name of... Quest ├ The Pits of Inferno Quest ├ Shadows of Yalahar Quest ├ Children of the Revolution Quest ├ The New Frontier Quest ├ The Demon Oak Quest ├ Tomes of Knowledge Quest └ In Service of Yalahar Quest • Downloads Servidor Global Chaitosoft 8.6 LINK OFF Servidor Global Chaitosoft 8.7 [Download Aqui] Servidor Global Chaitosoft 9.8 LINK OFF • Proibido postar? Me manda PM se achar ruim! Ta ae de GRAÇA! Gostou? rep+ *Não darei suporte aos servidores* Créditos: CHAITOSOFT TFS TEAM1 ponto -
Death System Introdução: Vamos pessoal participar da oms, esse sistema faz com que quando um player mate o outro apareça um ceifeiro vindo pega a alma dele. Vamos la começar a add a script Em creaturescript/script, crie DeathSystem.lua -- Do not remove the credits -- -- [CREATURESCRIPT] Death System -- -- developed by Rigby to help DuuhCarvalho -- -- Especially for the Xtibia.com -- function onDeath(cid, corpse, killer) local pos = getCreaturePosition(cid) local monster = 'ceifeiro' local timer = 3 -- quanto tempo vai demorar pra sumir function removeMonster() for _, pid in ipairs(getCreatureSummons(killer[1])) do doRemoveCreature(pid) end return true end if isPlayer(cid) and isPlayer(killer[1]) then doConvinceCreature(killer[1], doCreateMonster(monster, pos)) doSendAnimatedText(getThingPos(cid), "DEATH!", 125) doSendMagicEffect(getThingPos(cid), 65) addEvent(removeMonster, timer*1000) end return true end Creaturescript.xml tag <event type="death" name="DeathSystem" event="script" value="DeathSystem.lua"/> Login.lua antes do ultimo return true registerCreatureEvent(cid, "DeathSystem") Agora vamos criar o ceifeiro em monster crie um ceifeiro.xml <?xml version="1.0" encoding="UTF-8"?> <monster name="Ceifeiro" nameDescription="a ceifeiro" race="blood" experience="0" speed="0" manacost="220"> <health now="9999999999999" max="9999999999999"/> <look type="300" corpse="5971"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag skull="5"/> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="0"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="8"/> </flags> <defenses armor="1" defense="2"/> <immunities> <immunity physical="0"/> <immunity energy="0"/> <immunity fire="0"/> <immunity poison="0"/> <immunity lifedrain="0"/> <immunity paralyze="0"/> <immunity outfit="0"/> <immunity drunk="0"/> <immunity invisible="0"/> </immunities> <voices interval="2000" chance="100"> <voice sentence="HAHAHAHA"/> </voices> </monster> em monsters.xml adicione essa tag antes do ultimo </monsters> <monster name="Ceifeiro" file="ceifeiro.xml"/> Espero que gostem.1 ponto
-
Olá a todos, nesses últimos tempos andei pesquisando sobre criação de website para Open Tibia, não achei muita coisa por ai na internet, então resolvi analisar o banco de dados de um servidor de tibia,e cá pra nos os sites atuais não vão muito alem de um crud,para quem não sabe crud são operações basicas feita no banco de dados . C create (criar) R read (ler) U (update) D (delete) Pensando nisso comecei a desenvolver um website para esse fim, criei algumas classe para fazer todo esse processo e resolvi compartilhar,não vou dar muitos detalhes sobre a classe,apenas postarei exemplos de utilização A primeira classe vem com nome de banco.class.php responsavel pela conexão com banco de dados e operações CRUD <?php abstract class banco{ /*Propriedades*/ public $servidor = "localhost"; public $usuario = "root"; public $senha = "senha"; public $nomebanco = "nome"; public $conexao = NULL; public $dataset = NULL; public $extras_select = NULL; public $linhaafetadas = -1; /*Metodos*/ public function __construct(){ $this->conecta(); } public function __destruct(){ if($this->conexao != NULL): mysql_close($this->conexao); endif; } public function conecta(){ $this->conexao = mysql_connect($this->servidor,$this->usuario,$this->senha,TRUE) or die($this->trataerro(__FILE__,__FUNCTION__,mysql_errno(),mysql_error(),true)); mysql_select_db($this->nomebanco) or die($this->trataerro(__FILE__,__FUNCTION__,mysql_errno(),mysql_error(),true)); mysql_query("SET NAMES 'utf8'"); mysql_query("SET character_set_connection=utf8"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_results=utf8"); } public function inserir($objeto){ $sql = "INSERT INTO ".$objeto->tabela." ("; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= key($objeto->campos_valores); if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; reset($objeto->campos_valores); $sql .= "VALUES ("; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'".$objeto->campos_valores[key($objeto->campos_valores)]."'"; if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= ") "; endif; next($objeto->campos_valores); endfor; return $this->executaSQL($sql); }// inserir public function atualizar($objeto){ $sql = "UPDATE ".$objeto->tabela." SET "; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= key($objeto->campos_valores)."="; $sql .= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ? $objeto->campos_valores[key($objeto->campos_valores)] : "'".$objeto->campos_valores[key($objeto->campos_valores)]."'"; if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .="WHERE ".$objeto->id."="; $sql .= is_numeric($objeto->valorid) ? $objeto->valorid : "'".$objeto->valorid."'"; echo $sql; return $this->executaSQL($sql); }//atualizar public function deletar($objeto){ $sql = "DELETE FROM ".$objeto->tabela; $sql .=" WHERE ".$objeto->id."="; $sql .= is_numeric($objeto->valorid) ? $objeto->valorid : "'".$objeto->valorid."'"; return $this->executaSQL($sql); }//delete public function selecionaTudo($objeto){ $sql = "SELECT * FROM ".$objeto->tabela; if($objeto->extras_select != NULL): $sql .= " ".$objeto->extras_select; endif; return $this->executaSQL($sql); }//seleciona tudo public function selecionaCampos($objeto){ $sql = "SELECT "; for($i=0;$i<count($objeto->campos_valores);$i++): $sql .= key($objeto->campos_valores); if($i < (count($objeto->campos_valores)-1)): $sql .= ", "; else: $sql .= " "; endif; next($objeto->campos_valores); endfor; $sql .= " FROM ".$objeto->tabela; if($objeto->extras_select != NULL): $sql .= " ".$objeto->extras_select; endif; return $this->executaSQL($sql); }//seleciona tudo public function executaSQL($sql=NULL){ if($sql != NULL): $query = mysql_query($sql) or $this->tratarerro(__FILE__,__FUNCTION__); $this->linhasafetadas = mysql_affected_rows($this->conexao); if(substr(trim(strtolower($sql)),0,6)=='select'): $this->dataset = $query; return $query; else: return $this->linhasafetadas; endif; else: $this->trataerro(__FILE__,__FUNCTION__,NULL,'Ocorreu um erro interno,desculpe',false); endif; }// executa SQL public function retornaDados($tipo=NULL){ switch(strtolower($tipo)): case "array": return mysql_fetch_array($this->dataset); break; case "assoc": return mysql_fetch_assoc($this->dataset); break; case "object": return mysql_fetch_object($this->dataset); break; default: return mysql_fetch_object($this->dataset); break; endswitch; }//retorna dados public function trataerro($arquivo=NULL,$rotina=NULL,$numerro=NULL,$msgerro=NULL,$geraexcept=FALSE){ if($arquivo == NULL) $arquivo="Não informado"; if ($rotina == NULL) $rotina="Não informada"; if ($numerro == NULL) $numerro=mysql_errno($this->conexao); if ($msgerro == NUll) $msgerro=mysql_error($this->conexao); $resultado = 'Ocorreu um erro com os seguintes detalhes:<br /> <strong>Arquivo:</strong> '.$arquivo.'<br /> <strong>Rotina:</strong> '.$rotina.'<br /> <strong>Código:</strong> '.$numerro.'<br /> <strong>Arquivo:</strong> '.$msgerro.''; if($geraexcept = false): echo($resultado); else: die($resultado); endif; } } ?> Uma segunda classe precisou ser criada por fim de organização com o nome de base.class.php responsavel por de fato pegar o nome da tabela no banco de dado e executar as operações <?php require_once("banco.class.php"); abstract class base extends banco{ public $tabela = NULL; public $campos_valores = array(); public $id = NULL; public $valorid = NULL; public $extras_select = NULL; public function addCampo($campo=NULL,$valor=NULL){ if($campo != NULL): $this->campos_valores[$campo] = $valor; endif; } public function delCampo($campo=NULL){ if(array_key_exists($campo,$this->campos_valores)): unset ($this->campos_valores[$campo]); endif; } public function setValor($campo=NULL,$valor=NULL){ if($campo != NULL && $valor != NULL): $this->campos_valores[$campo] = $valor; endif; } public function getValor($campo=NULL){ if($campo != NULL && array_key_exists($campo,$this->campos_valores)): return $this->campos_valores[$campo]; else: return FALSE; endif; } } ?> Agora vamos preparar a classe para executar as operações desejadas na tabela "accounts" accounts.class.php <?php require_once ("base.class.php"); class accounts extends base{ public function __construct($campos=array()){ parent::__construct(); $this->tabela = "accounts"; /*Seleciona a tabela*/ if(sizeof($campos)<= 0): $this->campos_valores = array( "email" => 'andre_garehotmail.com' ); else: $this->campos_valores = $campos; endif; $this->id = "id"; } } ?> E por fim exemplo de utilização para começar a utilizar a classe precisamos importar ela na página <?php require_once ("accounts.class.php"); $accounts = new accounts(); Um exemplo pratico atualizando campos na tabela accounts,pode pegar este dados de um formulario, como geralmente é feito $accounts->setValor('name','Rodrigo'); ## Atualizando o nome 'Rodrigo' na tabela accounts ## $accounts->setValor('password','123455');## Adicionando o 'password' na tabela accounts ## $accounts->atualizar($accounts); Selecionando todos os dados da account,um exemplo disso é o characters.php onde lista as informações do personagem(este exemplo foi feito com account,poderia ser na tabela players) $accounts->extras_select = "WHERE id = 5"; /*selecionar id,name,email da account ID = 5*/ $accounts->selecionaTudo($accounts); while($res = $accounts->retornaDados()): echo $res->id .' / '.$res->name .' / '.$res->email.'<br/>'; endwhile; Deletando a account no banco de dados $accounts->valorid = 55; $accounts->deletar($accounts); Adicionando uma account, lembrando que pode pegar os dados pelo formulario,como geralmente é feito no exemplo foi feito so Account Name e Password $accounts->addCampo('name','Jakimif'); $accounts->addCampo('password','123456'); $accounts->inserir($accounts); isso não foi um tutorial e sim exemplo de utilização da classe. poderia ser feito tudo na mesma página,mas dificultaria a manutenção criando a classe você pode utilizar em qualquer página do site com uma simples linha,como feito nos exemplos acima1 ponto
-
Sprite nova :3 (Desculpem a falta de tempo, por isso não venho postando). Base1 ponto
-
Tutorial Básico Creaturescripts
Yan Oliveira reagiu a DuuhCarvalho por um tópico no fórum
Creaturescripts, são scripts executados ao * logar, atacar , morrer, matar, etc.. * Funções usadas para começar um script em Creaturescripts: onLogin(cid) -- Ao logar. onLogout(cid) -- Ao deslogar. onAdvance(cid, skill, oldLevel, newLevel) -- Ao upar. onStatsChange(cid, attacker, type, combat, value) -- Ao peder ou ganhar life, mana ou condições. onDirection(cid, old, current) -- não sei. onOutfit(cid, old, current) -- Não sei. (creio que ao usar outfit).. onSendMail(cid, receiver, item, openBox) -- Ao enviar carta. onReceiveMail(cid, sender, item, openBox) -- Ao receber uma carta. onTradeRequest(cid, target, item) -- Ao dar trade. onTradeAccept(cid, target, item, targetItem) -- ao aceitar trade. onJoinChannel(cid, channel, users) -- Ao entrar em um chat. onLeaveChannel (cid, channel, users) -- Ao sair do chat. onLook(cid, thing, position, lookDistance) -- Ao dar look onThink(cid, interval) -- Executado em Determinado tempo. onTextEdit(cid, item, newText) -- Ao escrever em item (book) onReportBug(cid, comment) -- ao Reportar bug. onAreaCombat(cid, tileItem, tilePosition, isAggressive) onPush(cid, target) -- Ao puxar. (criatura) onTarget(cid, target) -- Não sei (creio que ao seguir ou atacar) onFollow(cid, target) -- Ao seguir. (acompanhar) onCombat(cid, target) -- Parecido com onAttack. (qualquer tipo de ataque) onAttack(cid, target) -- Ao Atacar. onCast(cid, target) -- Ao lançar feitiço ou runa . onKill(cid, target, lastHit) -- Ao matar. onDeath(cid, corpse, deathList) -- Ao morrer. onPrepareDeath(cid, deathList) -- Antes de morrer. Exemplos de Scripts : onPrepareDeath: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if (getCreatureSkullType(cid) >= 4) then if (getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == 7890) then doCreatureSetDropLoot(cid, false) end return true end return true end Antes de morrer (quanto estiver morrendo) Se estiver com skull maior ou igual a 4 então se estiver usando o item 7890 então o player não vai perder loot ao morrer. onAdvance: function onAdvance(cid, skill, oldLevel, newLevel) if getPlayerLevel(cid) >= 200 then if getPlayerStorageValue(cid, 12345) <= 0 then doPlayerAddItem(cid, 2160, 100) doPlayerSendTextMessage(cid, 22, "Parabéns, você atingiu level 200 e ganhou 1kk de bonus!") doSendMagicEffect(getCreaturePosition(cid), 11) setPlayerStorageValue(cid, 12345, 1) end end return true end Ao upar level 200 então Se a storage 12345 do player for menor ou igual a 0 então Adicionar 100 itens com id 2160 ao player ( adiciona 1kk ao player) Manda uma mensagem "Parabéns, você atingiu level 200 e ganhou 1kk de bonus" Mandar efeito 11 na posição do player Mudar valor da storage 12345 para 1. onLogin: function onLogin(cid) doPlayerSendTextMessage(cid, 22, "Bem Vindo!") return true end Ao logar Mandar mensagem "Bem Vindo" ao player. onDeath: function onDeath(cid, corpse, killer) local name = "Demon" if isMonster(killer[1]) and isPlayer(cid) and getCreatureName(killer[1]) == name then doRemoveCreature(killer[1]) end return true end Ao morrer Se quem matou foi um monster e quem morreu foi um player, e o nome do monster que matou foi "Demon" então Remover o monster ("Demon") (scrip by Zipter) onKill: function onKill(cid, target, lastHit) if isPlayer(cid) and isPlayer(target) then doPlayerAddItem(cid, 2160, 20) end return true end Ao matar Se foi um player que matou outro player então adicionar 20 crystal coins(id 2160) ao player que matou Para adicionar seu script ao server: 1ª Vá em data / creaturescripts / script, crie um Arquivo.lua e cole seu script dentro. 2ª Adicione a tag: em creaturescripts.Xml.. <event type="preparedeath" name="forever amulet" event="script" value="aol.lua"/> Type = o tipo de função kill, death, login, preparedeath, joinchannel, reportbug, think ... name = Nome do Evento valu = Nome do Arquivo.lua 3ª adicione a tag : em data/creaturescripts/scripts/login.lua.. (obs: se seu script for de função onLogin não precisa adicionar essa tag) registerCreatureEvent(cid, "forever amulet") Entre " " , coloca o nome do Evento (o mesmo que você colocou em creaturescripts.Xml. É isso pessoal ! Não usei exemplo de todas as funções porque são muitas !1 ponto -
Como faze aparecer city etc
pprgfpedro reagiu a DuuhCarvalho por uma questão
ctrl + g .. da goto na posição .. ctrl + t .. para editar city , Temple position , é a posição do templo . ' j ' .. 1387 , vai aparecer o teleport coloca ele no mapa , depois vá nas propriedades do teleport e escolhe a posição .1 ponto -
Spells - addEvent
DuuhCarvalho reagiu a Killua por uma questão
Duuh, você deve checar se o item está na posição antes de removê-lo, pois, se ele não estiver, vai dar erro. Tópico movido para a seção de dúvidas e pedidos resolvidos.1 ponto -
Novidade: Poketibia 9.60
Strogman reagiu a zerefshirou por um tópico no fórum
@gristony Se for reportar algo, tente reportar em português... Mas pelo que eu entendi, foi erro meu... troque o goback.lua (creaturescripts) por esse: @lazarocp Qual era o problema? AAAAAAH, era isso, por isso senti que estava esquecendo algo! Script heal.lua da Nurse: Uma coisa que percebi (pelo menos aqui), não da pra soltar "summon" no Centro Pokemon, acredito que seja nas sources E se for editar isso, aproveita e coloca pra não entrar em PZ com Fight Edit: Fui atacar meu pokémon pra dar dano nele, mas deu erro no "playerattack.lua (creaturescripts)" então alterei o script, só coloquei 2 coisas, não pode atacar player nem summon Bonus: Fui deixar o Bulbasaur com pouca vida pra ter certeza que a Nurse tava funcionando normalmente deixei ele bater e matei ele, e apareceu isso... Hue Hue1 ponto -
Erro No Shop
viniciusBIG reagiu a u n d e r por uma questão
Que resultado seu banco de dados retorna quando você executa este select? SELECT * FROM shop_history WHERE `processed` = 0;1 ponto -
Spells - addEvent
lucasromero0110 reagiu a DuuhCarvalho por uma questão
existem "varias" maneira , eu particularmente faço assim : function remove() doRemoveItem(getTileItemById(poss, 1316).uid) return true end addEvent(remove, 1*1000)1 ponto -
[Arquivado]O que houve com os servidores de PvP opcional?
Jakson Souza reagiu a Lordbaxx por um tópico no fórum
Se o pessoal nao quer e vc quer, vai la e faz nao fala dos outros, "Antes de Tirar o Cisco do Olho dos outros, tira a trave do seu olho primeiro" Falando assim vc menospreza quem tanto editou os servidores derivados para trazer ao Xtibia e a os outros Fóruns! Minha Opnião!1 ponto -
Corpse Por Vocation C++
Renan Morais reagiu a Applezin por um tópico no fórum
Olá galera, eu vi muita gente querendo script de Corpse por vocation. Tentaram fazer até no script lua, Mas eu acho mais fácil fazer pelas sources mesmo. 1° Abra as sources do seu servidor, e abra o arquivo chamado "Players.cpp", depois Procure por uint16_t Player::getLookCorpse() const { if(sex % 2) return ITEM_MALE_CORPSE; return ITEM_FEMALE_CORPSE; } Depois mude esse código para uint16_t Player::getLookCorpse() const { uint16_t sorcerer, druid, paladin, knight, defaultt = 0; /*Config */ sorcerer = 3343; // corpse do sorcerer druid = 3343; // corpse do druid paladin = 3343; // corpse do paladin knight = 334; // corpse do knight defaultt = 3354; // corpse padrão. /*End */ if (getVocationId() == 1 || getVocationId() == 5) return sorcerer; else if (getVocationId() == 2 || getVocationId() == 6) return druid; else if (getVocationId() == 3 || getVocationId() == 7) return paladin; else if (getVocationId() == 4 || getVocationId() == 8) return knight; return defaultt; } Como configurar ao seu gosto ? Pronto fim1 ponto -
[Life Thread] Transloko
vital900 reagiu a Jakson Souza por um tópico no fórum
gtz vital, agora partiu 150 né haha1 ponto -
[Life Thread] Transloko
JustinnoTibianno reagiu a vital900 por um tópico no fórum
Tempo que não atualizo a page dos itens do meu char.1 ponto -
Isso deve ser porque seu Provedor Troca de Ip.... Depois que vc colocar o dedicado isso se resolvera1 ponto
-
Bom, eu posso dar uma definição básica, já que trabalho com isso. O nameserver é um endereço, ou protocolo, que faz o relacionamento entre endereços IP e domínios. Ele relaciona uma Zona de DNS a um domínio em questão. Vamos dizer que você tem um domínio chamado "blogdofulano.com.br", quando você hospeda um site nesse domínio, você não quer ter acesso ao serviço de FTP, serviço de e-mail e afins? Quando você solicita acesso a esses serviços seja por um FileZilla ou qualquer navegador, ele faz a requisição através dos nameservers configurados para achar o servidor DNS do domínio, e finalmente chegar ao IP do seu serviço de FTP. Acho que isso basta1 ponto
-
Bacana vital ^^ Vou complementar com um pouco de minha experiencia; 1° Eu costumava fazer muito gold comprando hellspawn tail e vendendo direto no npc grizzly. (Comprava a 400+- e vendia a 625 se não me engano) 2° Outra forma é se aproveitar das quests que você pode ter. Eu jogava com ED e EK, no EK eu tinha green djin + rashid, e no ED, blue djin.. então eu procurava comprar itens que só vendesse neles (Poucas pessoas costumam ter por considerarem quests chatas) 3° Eu já tinha NewFrontier, Wote, etc. (Quests de zao), então já tinha entregue os tomes ao npc para poder negociar com ele, aqui eu faço a mesma coisa que os Djins, entretanto, os itens aqui compensam mais na venda.. mas depende de por quanto você consegue comprar no seu servidor. "Você já atingiu seu limite de reputações positivas para hoje"1 ponto
-
Players free podem matar galinhas ao norte de carlin dropa meio que fácil as Chicken Feather e pelo menos no mundo que eu jogo vale 500gp da pra montar um set muito bom pra level baixo só em chicken Não é um grande set mas da pra aguentar bem1 ponto
-
Correto, o que eu acho melhor, seria você primeiro lançar com 1, após deixar 100% balanceado e programado corretamente sem nenhum bug, e se acostumar com os pokemons, você lança uma expansão com pelo menos mais uma geração... É difícil balancear pokemons, mesmo que seja tão simples... Ficar alterando varias e varias vezes, e ai ter que ficar reabrindo o server para ver o resultado. Mas como ele já adicionou até a 4, é só desabilitar no .xml e retirar os outros scripts, e depois quando você quiser lançar, você adiciona de volta! xD1 ponto
-
[Encerrado] [Duvida - Pedido] Como ocultar o sexo do pokemon?
HenrikDiamond reagiu a Jakson Souza por um tópico no fórum
eu não testei aqui se você não gostar ou der erro fala ae ^^ seu pic editado por min link download > http://www.4shared.com/rar/LO-z_B66ba/tibia.html? pic que eu uso e aconselho link download > http://www.4shared.com/file/0-RKXgDNba/tibia.html?1 ponto -
[Pokemon] Servidor Skyfall - Completo
mateuslolzinhoo reagiu a Gabrieltxu por um tópico no fórum
hehe nem é o melhor poxa acho que é o mais editado apenas1 ponto -
Ai pega o tibia.spr e tibia.dat que fica na pasta data/things/854 do teu otclient e poe nesse client A e pega um tibia.pic tbm (renomeie os 3 arquivos para POK.dat POK.spr e POK.pic) Client PKM.rar1 ponto
-
preços somente por skype, adc ae wiindy41 ponto
-
Estava passando o olho pelos códigos do Zeref, e percebi uma espécie de "erro" no código do /cb. Suponho que, no parâmetro da talkaction citada, todos vocês colocam o nome do pokémon inteiramente minúsculo, certo? Neste caso, como (talvez obviamente) é configurado em pokes o nome correto do pokémon (Bulbasaur, e não bulbasaur), seria enviada a mensagem informando que o pokémon não existe. O porque, para quem não entendeu, é este: quando há uma condição com pokes[param], é verificado se na tabela citada - pokes -, existe algum elemento com nome param. Como param é o parâmetro da talkaction, na verdade seria verificado se "existe o pokémon do parâmetro". E como não há elemento algum chamado bulbasaur - exemplificando, novamente -, e sim, Bulbasaur, a mensagem seria enviada. Enfim, para corrigir isso, fiz o seguinte: Adicionei em lib a seguinte função: function getCorrectNameOfPokemon(name) local str = "" if type(name) ~= "string" then name = tostring(name) end for poke, _ in pairs(pokes) do if poke:lower() == name:lower() then return poke end end return false end Alterando o código do cb com a função acima, o resultado seria: function onSay(cid, words, param) local pokemon = getCorrectNameOfPokemon(param) if not pokemon then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, a pokemon with the name "..param.." doesn't exists.") end addPokemonToPlayer(cid, pokemon, "poke") return true end1 ponto
-
Olha ae o Client que você mandou Descompilar ... Link Aq1 ponto
-
baixando o Client Para Descompilar Ligeirinho quando baixar descompilo e Fasso Upload e Boto aq Para vocÊ... e a Quanto Para Proteger Seu Client Tem Tutorias aqui No Fórum, Vai Lá na barra de pesquisas Lá no Topo do Fórum e Digitar oq vc quer saber ...1 ponto
-
Olha os Tutorias do Duuh ,são bem explicado e da pra vc entender1 ponto
-
[PhpMyAdmin] Comandos Para Editar Database
tgibes reagiu a LuckinhaSan por um tópico no fórum
Este tutorial mostra alguns comandos para editar a database (Players, accounts, etc...) Isso é só para The Forgotten Server. Comandos PhpMyAdmin - Logue-se na database e vá na aba SQL (Não é necessário selecionar uma table). • Remover premium para cada account da database (By Jester) UPDATE account SET premdays=0; • De 7 dias de premium para todos (By Jonern) UPDATE accounts SET premdays = premdays + 7 • Defina todos os jogadores uma cordenada (By Jonersn, Jester) UPDATE players SET posx = 793, posy = 1014, posz = 7; • Defina todos os ID's de grupo a 1 (By Jester) UPDATE groups SET flags=0,name="Player" WHERE id=1; UPDATE players SET group_id=1; DELETE FROM groups WHERE id<>1; • Criar Account Manager (By forgottenserver.sql) INSERT INTO `players` VALUES (1, 'Account Manager', 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 10, 10, 10, 0, 0); • Remover todas RedSkulls e Mortes (By Jester) UPDATE `players` SET `redskulltime`=0; • Dê 5 blessings para todos (By Jester) UPDATE `players` SET `blessings`=31; • Remover um item específico (Aqui ID 2160) completamente do jogo (depot, players, house) (By Jonern, Macroman) DELETE FROM player_depotitems, player_items, tile_items WHERE itemtype = 2160; • Excluir players inativos, com level menores do que 50, e 20 dias inativos (By Jonern) DELETE FROM players WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60 • Excluir itens de jogadores cuja a conta foi excluida, mais os itens não. É só para mostrar a forma como ele funciona. Significa que ele vai apagar todas as linhas que não pertencem a nenhum jogador. Mude para sua própria necessidade (By Jonern) DELETE FROM player_items WHERE player_id NOT IN (SELECT id FROM players); • Excluir todos os itens por id do player (By Macroman) DELETE FROM `player_depotitems` , `player_items` WHERE `player_id` = '1234' • Eliminar todas as mortes produzidas antes do tempo que você colocar, neste caso 1 de Julho. DELETE FROM player_deaths WHERE time<1246468428; Espero ter ajudado! Créditos - Jester1 ponto -
PDA Sem lvl 1.9 (Editado Por Bolz)
yoko reagiu a SamueLGuedes por um tópico no fórum
Fala galera do xtibia, hoje trago a voçes, o PDA Slicer 1.9, editado por min, eu passei um bom tempo editando ele, eu até deixei online, entrou 52 players. mais isso nao importa, oque importa e as informaçoes: • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • Servidor Pokemon Dash (editado por Bolz) client incluido na pasta do servidor. 4Shared: http://www.4shared.com/rar/WnEElQIT/PDA_Edited_by_Bolz.html MediaFire: http://www.mediafire.com/?cvm4f5bfksxjbe2 • Scan • https://www.virustotal.com/pt/file/e37c5683162d0264ee2115810c5930f196f516c240d48ce6aebd5102854baaec/analysis/1367376049/ @atualizado 05/05/2013 • Menu: ├ Ediçoes; ├ Prints; ├ Download; • Edições / Ajustes • • PrintScreen • • Download's • Server PDA Slicer editor Por Bolz v2 (client ja na pasta) MediaFire: http://www.mediafire.com/?thh05yhnc7srasn • Scan • https://www.virustotal.com/pt/file/3fd8e0702e23b1f83ce9421f2f9a3808071222d084cf77a385d03e0f3f5099fc/analysis/ Atualizado 30/05/2013 desculpe a demora, eu estava sem tempo, o servidor ja estava arrumado só faltava postar, e só tive hoje para postar. é uma pequena atualização, por isso é 2.5, e nao 3.0, é algumas correções do serv. na proxima atualização tentarei colocar pokemons da 3° geração ou, o icon system, oque tiver ao meu alcanse eu tentarei colocar. abraços. ├ Ediçoes; ├ Prints; ├ Download; └ Creditos. • Edições / Ajustes • • PrintScreen • • Download's • como pedido de alguns, eu deixei o client separado do servidor. Server PDA Edited By Bolz 2.5: http://www.mediafire.com/?ry55tjk2l4l5cow Client: http://www.mediafire.com/?nwdf2nfk9txk35f • Scan • galera eu nao consegui fazer o scan do servidor e do client, quando termina de carregar, ele diz que falhou, se alguem poder colocar o scan, eu agradeçeria muito. abraços Atualizado 24/07/2013 Iaew galera, bem eu falei que ia atualizar para v3, e ta ai, só que nao consegui colocar muito doque eu falei. por falta de espaço no client. porem eu irei começar depois dessa atualização, um novo client, leve, e com espaço, que na verdade, vai ser o client do PDA 1.9. mas eu irei tirar todas as sprites de tibia que existem nelas. e so deixarei as de pokemon. assim tera mais espaço na hora de colocar um novo pokemon. chega de falar, vamos ao que interessa: ├ Ediçoes; ├ Prints; ├ Download; └ Creditos. • Edições / Ajustes • • PrintScreen • • Download's • Server 3.0 (Media Fire): http://www.mediafire.com/?j7e112fw6gaggnj Server 3.0 (4Shared): http://www.4shared.com/rar/2CVWvjAy/PDA_Edited_by_Bolz_v3.html Client 3.0 (MediaFire): http://www.mediafire.com/?4wx5dyy6hyq8upi Client 3.0 (4Shared): http://www.4shared.com/rar/xBrGwfMy/Client_v3.html • Scan • Scan do server: https://www.virustotal.com/pt/file/125ecfbe02cb0b154769a104518100cb30fe28e5fddd58891b708a1aa7a68ab8/analysis/1374685280/ Scan do client: o scan do client eu nao consegui fazer, ele sempre trava na hora de scania, se alguem puder fazer o scan dele eu agradeço • Creditos • Slicer (pelo servidor) Brun123 (por alguns scripts, e por criar o pda) Stylo Maldoso (pelo mapa) Eu (por editar) Xtibia (por alguns scripts) OBS: comentem, e votem no enquete, abraços galera.1 ponto -
Olá galerinha do xtibia venho aqui hoje para postar o novo modern acc editado por min eu traduzi ele todo e fiz um template massa para voçês depois falarei mais oque ele tem sem mais delongas o download está ae. Print: Download: http://www.mediafire...7zh3dtg5pznl42e Download Sql: http://www.mediafire.com/?a9549gzo7w6tmgl Scan: pesso que alguem faça para min não sou bom com isso :X PS:COMENTEM OQUE VOÇÊS QUEREM NA V2 CREDITOS: Junior001 Gabrieltxu1 ponto
-
@isso é nas sources dele que vc mdua e tem q copilar mas da pra faze uma gambiarra no modules/client_background/background.lua aubistua a função init por essa e altere ali onde esta nome do server pelo nome q vc quiser e tem q deixar as aspas function init() background = g_ui.displayUI('background') background:lower() clientVersionLabel = background:getChildById('clientVersionLabel') clientVersionLabel:setText('nome do server'.. ' ' .. g_app.getVersion() .. '\n' .. 'Rev ' .. g_app.getBuildRevision() .. ' ('.. g_app.getBuildCommit() .. ')\n' .. 'Built on ' .. g_app.getBuildDate()) if not g_game.isOnline() then addEvent(function() g_effects.fadeIn(clientVersionLabel, 1500) end) end connect(g_game, { onGameStart = hide }) connect(g_game, { onGameEnd = show }) end1 ponto
-
• SPR & DAT Pokemon 5° Geraçao - Stigal [Download]• • Menu: ├ Informações; ├ Download; ├ PrintScreen; └ Creditos. • Informações Basicas • • Download's • [Pokemon] SPR e DAT [Pokemons 5 Geração] (4shared) http://www.4shared.com/rar/E836cXv0/Pokemon_Sprite_5_Gerao_-_Stiga.html Sprite Editor [v1.3.0] (4shared) http://www.4shared.com/rar/ZQ1w2BpH/Stigal_-_Spriter_Editor.html? Scan [Pokemon] SPR e DAT [Pokemons 5 Geração] (Virus Total) https://www.virustotal.com/file/030d85e9fe0bb5cab4e8159e3247b86a633acb35dc0773a03effe17da08cef87/analysis/1347751884/ • Prints De Algumas SPR • • Creditos • Stigal - {Master}1 ponto
-
[Wodbo 8.0] Criando Vocations Parte 2
New'gadu reagiu a PostadorHunter por um tópico no fórum
Fala galera do xtibia hoje vou terminar o tutorial de como criar vocations em wodbo 8.0 Então vamos la O que você vai precisar - Somente o bloco de notas ou algum outro editor de sua preferencia Para colocar reborn em uma Vocation va em data/npcs/scripts/reborn.lua deve estar mais ou menos assim Agora nessa parte aqui copie e cole agora vamos aprender a ajustar para a vocação que você criou Configurando: level necessario para rebornar vocation normal vocation transformada looktype Agora para colocar buffs nas vocations va em data/movements/first.lua deve estar parecido com isso: para adicionar os buffs para tal vocation simplesmente adicione a linha: or (getPlayerVocation(cid) == 206) em 206 você coloca o id da vocation lembrando que se for o ultimo daquela lista de buffs tem um then no final da linha or (getPlayerVocation(cid) == 206) then1 ponto -
Bom, para quem não me conhece, meu nick é iuniX. Sou programador faz uns 2 anos. Minha linguagem principal é Lua, porem domino algumas outras. Ok, agora vamos para a aula. O que é Lua? Lua é uma linguagem interpretada e comparada a outras linguagens interpretadas, ela é bem leve e versátil. Lua tem uma sintaxe bem simples de entender e ela é MUITO útil. Ela também é uma linguagem TOTALMENTE brasileira, feita na PUC-Rio. Mas por que usar Lua? Como eu disse acima, Lua é uma linguagem simples e poderosa. Isso a torna perfeita para aplicativos que requerem edições constantes (Como nosso Open Tibia). E também pelo fato de Lua ter um manual realmente completo e bem explicado. Sem contar que Lua é uma linguagem livre (Pode ser usada para qualquer coisa ou pessoa) O que é uma linguagem interpretada? Linguagens interpretadas, são linguagens de programação que precisam de um interpretador, também conhecidas como linguagem de scripting. Algo que "traduza" ela para a máquina (No nosso caso, usamos o distro do Open Tibia). Elas não precisam ser compiladas, isso geralmente as tornam mais eficientes para pequenas e rápidas edições. Onde arrumar um interpretador para Lua? O próprio site da linguagem tem um pequeno interpretador: http://www.lua.org/demo.html, mas para algo mais "sério", eu aconselho vocês a usarem o Scite (postarei o link abaixo). Finalização Queria agradecer a todos que leram tudo. E espero que com esse tópico eu desperte interesse em alguns, fazer essa grande linguagem que eu gosto tanto crescer. Gostaria que vocês me ajudassem com um feedback, dicas e que postem duvidas para eu responder. Download Scite: http://sourceforge.n...=ufpr&download=1 ponto
