Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/21/13 em todas áreas
-
Char Maker
Noninhouh reagiu a BananaFight por um tópico no fórum
Esse Mod faz com que seja possível criar novos char na sua acc usando apenas o client. OBS: Ele usa Opcode, e com isso só é possível criar char com um personagem online, Porem o sistema é foi totalmente feito para funcionar com um personagem off, então a menos que você consiga editar as source do server, só será possível criar novos personagens na conta com um char logado, Pois os opcodes só funcionam com um char logado. Nome: Char MakerDescrição: Criado de charAutor: Eduardo Vicente (Banana Fight)Website: www.xtibia.com Client Side Client_Entergame/Entergame.lua Procure por: if modules.game_things.isLoaded() thenprotocolLogin:login(G.host, G.port, G.account, G.password) e embaixo adicione: accountName = G.account Client_Entergame/Characterlist.lua procure por : -- public functions[function CharacterList.init()connect(g_game, { onLoginError = onGameLoginError })connect(g_game, { onUpdateNeeded = onGameUpdateNeeded })connect(g_game, { onConnectionError = onGameConnectionError })connect(g_game, { onGameStart = CharacterList.destroyLoadBox })connect(g_game, { onLoginWait = onLoginWait })connect(g_game, { onGameEnd = CharacterList.showAgain })if G.characters thenCharacterList.create(G.characters, G.characterAccount)endend E substitua por : -- public functions[function CharacterList.init()connect(g_game, { onLoginError = onGameLoginError })connect(g_game, { onUpdateNeeded = onGameUpdateNeeded })connect(g_game, { onConnectionError = onGameConnectionError })connect(g_game, { onGameStart = CharacterList.destroyLoadBox })connect(g_game, { onLoginWait = onLoginWait })connect(g_game, { onGameEnd = CharacterList.showAgain })if G.characters thenCharacterList.create(G.characters, G.characterAccount)endnewChar = g_ui.displayUI('newchar')newChar:hide()endfunction sendAll()local msg = newChar:getChildById('msg')local name = newChar:getChildById('name'):getText()local sex = newChar:getChildById('sex'):getText()local voc = newChar:getChildById('vocation'):getText()local protocol = g_game.getProtocolGame()local sendSexlocal sendVocif sex == "male" thensendSex = 0elsesendSex = 1endif voc == "Sorcerer" thensendVoc = 1elseif voc == "Druid" thensendVoc = 2elseif voc == "Paladin" thensendVoc = 3elsesendVoc = 4endprotocol:sendExtendedOpcode(152, string.format("%s,%s,%d,%d", accountName, name, sendVoc, sendSex))msg:setColor("green")msg:setText("Character "..name.." Created")end Agora Crie um arquivo com o nome newchar.lua, e adiciona isso dentro : MainWindowid: characterCreator!text: tr('New Char')size: 210 250@onEnter: sendAll()Labelid: labelNametext: Choose your name:color: whitetext-auto-resize: trueanchors.top: parent.topanchors.left: parent.leftmargin-top: 2TextEditid: nameanchors.left: parent.leftanchors.right: parent.rightanchors.top: prev.bottommargin-top: 5Labelid: labelSextext: Chose your sextext-auto-resize: truecolor: whiteanchors.left: parent.leftanchors.top: name.bottommargin-top: 10ComboBoxid: sexanchors.left: parent.leftanchors.top: labelSex.bottommargin-top: 5width: 75options:- Male- FemaleLabelid: labelVocationtext: Chose your vocationtext-auto-resize: truecolor: whiteanchors.left: parent.leftanchors.top: sex.bottommargin-top: 10ComboBoxid: vocationanchors.left: parent.leftanchors.top: labelVocation.bottommargin-top: 5width: 100options:- Knight- Paladin- Sorcerer- DruidLabelid: msgtext-auto-resize: trueanchors.left: parent.leftanchors.top: vocation.bottommargin-top: 20Buttonid: creatChartext: Creat Charactercolor: whiteanchors.left: parent.leftanchors.bottom: parent.bottom@onClick: sendAll()Buttonid: canceltext: Cancelcolor: whiteanchors.left: creatChar.rightanchors.right: parent.rightanchors.bottom: parent.bottommargin-left: 10@onClick: newChar:hide() E no chartacterlist.otui, lá no final você apaga os 2 botões de "cancel" e "ok" e substituto por estes : Buttonid: newChartext: New Charwidth: 64anchors.left: parent.leftanchors.bottom: parent.bottom@onClick: newChar:show()Buttonid: buttonOk!text: tr('Ok')width: 64anchors.left: newChar.rightanchors.right: buttonCancel.leftanchors.bottom: parent.bottommargin-right: 10margin-left: 10@onClick: CharacterList.doLogin()Buttonid: buttonCancel!text: tr('Cancel')width: 64anchors.right: parent.rightanchors.bottom: parent.bottom@onClick: CharacterList.hide(true) Server Side Data/Creaturescritps/scripts crie um arquivo chamado exetendedopcode.lua, e adicione isso dentro : local QUERY = "INSERT INTO `players` VALUES (NULL, '%s', 0, 1, %d, 1, %d, 150, 150, 0, 0, 0, 0, 0, 221, 0, 0, 50, 50, 0, 0, 1, 95, 127, 7, 0, 400, %d, 0, 0, 1, 0, 0, 0, '', 0, 0, 0, 151200000, 2, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '');"NEW_ACCOUNT_CHAR = 152function onExtendedOpcode(cid, opcode, buffer)if opcode == NEW_ACCOUNT_CHAR thenlocal info = string.explode(buffer, ",")for a = 1, #info doif tonumber(info[a]) theninfo[a] = tonumber(info[a])endenddb.executeQuery(string.format(QUERY, info[2], getAccountIdByAccount(info[1]), info[3], info[4]))endreturn trueend E dentro do creaturescripts.xml adicione : <event type="extendedopcode" name="ExtendedOpcode" event="script" value="extendedopcode.lua"/> O sistema ainda não esta 100% completo, falta a parte que envia uma mensagem de erro quando o char não é criado, Porem eu não irei atualizar esse sistema pelo fato de só funcionar com char online.1 ponto -
Bom, so querendo compartilha ae com vcs ;p1 ponto
-
Outland completa para POKÉMON. Atualizado 26/11/2013 DOWNLOAD: http://www.4shared.com/rar/VaQnQ718/Outlands_26112013.html? O 4shared já faz o scan. Outlands Leaf Ghost Psychic Fire (East) Bug Rock Fire (South) Normal Fly Ice Electric Earth Fight Dragon SE GOSTOU, DÁ UM CURTIR E DEIXE SEU COMENTÁRIO Créditos: murluka1 ponto
-
Update #1 Fórum + Chat + Revisões
masdead reagiu a Administrador por um tópico no fórum
Estamos iniciando nossa série de 3 updates grandes que devem marcar uma nova parte do xtibia.com, com novos sistemas, novo portal e várias outras tools para facilitar a sua vida. Ao mesmo tempo, passamos meses mudando a gestão do portal e criando uma nova cultura de equipe no projeto onde nos falamos todos os dias pelo grupo no skype oficial, conversamos toda semana pelas reuniões semanais e mais um passo foi dado hoje, nosso novo sistema de chat permitirá um novo tipo de interação com o público! Nossa Previsão: - Update Fórum (Junho.3) - Update Portal Novo (Junho.4) (em testes) - Update Tools (Não planejado) - Lista Release (Não planejado) O que impacta o prazo? Tivemos muitos atrasos nesse projeto por conta da falta de apoio de muitos membros que ao invés de nos ajudar apenas criticaram o trabalho de uma forma tão ofensiva que nos fez perder alguns membros da equipe por não suportar muito o cenário. Peço e desejo que a comunidade nos apoie daqui pra frente, pois teremos resultados positivos e melhores juntos do que separados. UPDATE Fórum Atualizado IPB para última versão Alterada sistema de REP para "Likes" (Evolução cultural) Sidebar modificada (Últimas Notícias, Top Tópicos, Top Usuários, Concurso Top Likes, Top On-line etc..) Bugs reportados na versão anterior corrigidos Facebook connect ativado (agora você pode se logar com facebook) Twitter connect corrigido Sistema de envio de e-mail protegido e com garantia de entrega Login alterado para username e e-mail (pode usar os 2 agora) UPDATE Portal Para quem ainda não conhece, estarei mostrando uma foto com algumas dicas de como será o novo portal! Essa semana os testes de carga se iniciaram e iremos ter o sistema disponível e pronto para uso em poucas semanas. CHAT INTEGRADO Agora é possível conversar com os membros on-line em tempo real. Fizemos um investimento pra comunidade e implantamos um sistema de chat com todo o apoio de um backend para servir as mensagens em tempo real. O serviço usa recursos dedicados e roda com otimização de recursos pro Brasil! Usem e Abusem! Qualquer bug encontrado, me mande pm diretamente ou me procure no chat para conversarmos, sala "Bate Papo com a Staff".1 ponto -
Gostei muito cara eu achei top aquele CP No deserto.1 ponto
-
Ajuda para minhas Spirits de inuyasha
joseanpereira reagiu a markindoot por uma questão
1 ponto -
Curti as atualizações xtibia provo que pode se levantar.1 ponto
-
[Show Off] Barra Skill - baseada na pxg
Noninhouh reagiu a zerefshirou por um tópico no fórum
Fiz 1 só que aminha é mais bugada e.e e falta colocar os coins do cassino '.' 3 bugs: Fonte do Nick não consigo diminuir Badges do capiroto não ficam uma do lado da outra Quando coloca "full screen" (sem aquela barra q desce e sobe) as imgs mudam de tamanho Argg odeio quando script n faz oque eu quero e.e Edit: Se eu não conseguir deixar as badges uma do lado da outra, gambiarra master vai acontecer1 ponto -
Ajuda para minhas Spirits de inuyasha
joseanpereira reagiu a markindoot por uma questão
1 ponto -
Feito um smallfix na source, o que fixado? compilação on linux. créditos? Freielement 100%. http://www.mediafire.com/?ohyx9poyza1y08s1 ponto
-
E talvez um verificador de syntax tal como assert seria uma boa. Mais e melhor criar uma próprio verificador e rodar no código do CT antes dele executar.1 ponto
-
ehauehauehauhe'. Pois é. Já me chamaram de doido(eventide fdp) porque to desenvolvendo ela.1 ponto
-
[Encerrado] [Dúvida] Fishing PDA
AsMinaPira reagiu a brun123 por um tópico no fórum
é porque o servidor usa uma variável do tipo unsigned long int pra armazenar a skill tries que precisa pra certa skill chegar em tal level, e o alcance desse tipo de variável é de 0 até 2^32 - 1, a fórmula pra calcular as tries de um certo level é: TRIES_NO_LEVEL = SKILL_BASE * SKILL_FORMULA^(LEVEL - 11) SKILL_BASE e SKILL_FORMULA são duas propriedades da vocation do player nesse vocations.xml que vocês estão usando, só está definido o SKILL_FORMULA das skills, o valor do SKILL_BASE assume o padrão do servidor quando não definido, no caso do fishing é 20. substituindo o "TRIES_NO_LEVEL" pelo alcance máximo do tipo de variável e usando skill_base como 20 e skill_formula como 3, o level deveria ir só até o 28, depois disso o comportamento é imprevisível obviamente skill_formula não pode ser um número menor que 1, isso faria com que ficasse cada vez mais fácil upar de level, e se for 1, isso faz com que todo level seja necessário o mesmo número de tries para upar skill_base deve ser inteiro e quanto maior, mais difícil de upar a skill também para alterar a base basta fazer assim no xml: <skill fishing="1.3" fishBase="40"/>1 ponto -
Pokedex System (Basico)
gabriell1325 reagiu a brunin86 por um tópico no fórum
Bom o script está simples mas esta bem funcional, blsa, vamos ao script: Na pasta actions abra a pasta scripts, crie uma pasta chamada pokemon e dentro dela um arquivo LUA e nomeie-o para pokedex.lua e cole isso: agora vá na pasta actions e abra o actions.xml e adicione esta tag em qualquer lugar: <action itemid="xxxx" event="script" value="pokemon/pokedex.lua" allowfaruse="1" blockwalls="1"/> Substitua o xxxx pelo item que quer usar como pokedex. ------------. •-• Agora na pasta data crie uma outra pasta chamada pokedex e salve este texto dentro da pasta pokedex e nomeie-o para nomes numerados: 1.txt, 2.txt, 3.txt ... ------------. •-• Editando Pokedex. Agora vou ensinar a editar essa parte: ------------. •-• Se der erro... Se der erro basta vc ir na pasta data\lib do seu server, criar um arquivo .lua com o nome issummon.lua e adicionar isto: function isSummon(sid) for i, pid in ipairs(getPlayersOnline()) do for c, cid in pairs(getCreatureSummons(pid)) do if (cid == sid) then return true end end end return false end Pronto! ------------. •-• Instalando + pokemons na dex Em data\actions\scripts\pokemon abra o arquivo pokedex.lua onde vc encontrará isso: Para colocar mais, basta adicionar : {"NOME DO POKEMON", "ARQUIVO TXT", ID DO ITEM DE FOTO, 20, 100, "NOME", 99101}, Abaixo da linha que está em laranja. E também adicionar: elseif isMonster(pokemon) then local Dex = io.open('data/pokedex/' .. n[2],'r') if getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[7]) <= 0 then doShowTextDialog(cid, n[3], Dex:read("*all")) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have unlocked " .. n[6] .. " in your pokedex") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained " .. n[5] .. " experience points.") doPlayerAddExperience(cid, n[5]) setPlayerStorageValue(cid, n[7], 1) elseif getCreatureName(pokemon) == n[1] and getPlayerStorageValue(cid, n[7]) >= 1 then doShowTextDialog(cid, n[3], Dex:read("*all")) end Dex:close() Abaixo da linha que está escrita em vermelha Pronto e agora? Crie outro arquivo .txt em [b]data\pokedex[/b] correspondente ao nome do arquivo .txt que vc colocou na linha [color="#FF8C00"]laranja[/color], adicionando o que estará escrito ao dar dex. Só? Sim, somente. Créditos: OT Land - 50% - Base do script. Eu - 50% - Pelo script, e por postar para vcs. para vcs. ------------. Ajudei ? não custa nada clicar no + no cantinho ali Para contato add: brunin.1420@hotmail.com Postem aqui se alguma coisa estiver errada ou se der algum erro que não consigam resolver.1 ponto -
V1 exemplo como fazer pokemon falar !x E Ae Galera Do XTibia V2 nessa v2 apenas Mewtwo,Meowth,Entei que fala e deixei alakazam e gengar fala espero que gostei *-*1 ponto
-
Ola Boa Tarde, como coloco para ele inicar o fast attack quando o fist chegar no 60 desde ja obrigado1 ponto
-
Ebot World Edited [8.60] By Bianoots
Kreis reagiu a Fabiano0921 por um tópico no fórum
Ebot World Map Edited [8.60] *TFS Alissow 0.4.1. *Versão 8.60. *98% Sem Bugs. *Mapa Editado com duas cidades. *Novos monstros. Ghost Alien (loot: Alien Armor, armadura extremamente rara). Alien Alien Tentacle Bug Alien Alien Destructor Entre outros *Stages Ativados *Novos Itens *Casas *Novas Runas: -Mr -Super Mr -Ultra Mr -Mega Mr Imperia Mr (vip) ------------------------- Super Uh Ultra Uh Mega Uh Imperia Uh (vip) *Novos Weapons *Snake System *VIP System por vip scroll *Bomb System *Chaos Bangle *Novas Spells *Eventos: Corrida Dog Event Battle PVP (Azul & Verde) Zombie Event Aqui vai algumas Imagens http://desmond.image...png&res=landing http://desmond.image...png&res=landing http://desmond.image...png&res=landing http://desmond.image...jpg&res=landing http://desmond.image...jpg&res=landing Creditos Hagar157Vortex - Pela Edição. Alissow | pela Distro. Créditos Para o Xtibia Também Hehe. Então se curtiu da um Rep+ ae ! Abraços. Ebot World [8.60].rar (18.95MB) Download Link http://www.sendspace.com/file/pzpslb Scan Depois eu Posto ae mais nao tem Virus! Palavra de Homem Para Homem ! Espéro que Gostem! . Meu Msn: biano_monet@hotmail.com Por favor , caso queria fazer algum Update no Meu Servidor que Faça . Mais deixe meus Devidos Créditos (BianoOts [Hagar157Vortex]) Por eu ter trago ao Xtibia.1 ponto -
Se eu não me engano tem um bug, porque os dois jogadores tem que ta usando pra não poderem se atacar, ou seja se JOÃO tiver no modo seguro e MARIA não, MARIA ainda vai poder atacar o JOÃO... usa assim: query: ALTER TABLE `players` ADD `pvpmode` INT NOT NULL DEFAULT '0' e script fiz em MODS PvpMode.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="Pvp Mode" version="1.0" author="Gevox" contact="xtibia.com" enabled="yes"> <config name="pvpmode_func"><![CDATA[ function getPlayerPVPMode(cid) local check = db.getResult("SELECT `pvpmode` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1") return check:getDataInt("pvpmode") <= 0 and 0 or check:getDataInt("pvpmode") end function setPlayerPVPMode(cid, value) db.executeQuery("UPDATE `players` SET `pvpmode` = "..value.." WHERE `id` = "..getPlayerGUID(cid)) end ]]></config> <talkaction words="/pvp;!pvp" event="buffer"><![CDATA[ domodlib('pvpmode_func') if isPlayerPzLocked(cid) == FALSE and getCreatureSkullType(cid) == SKULL_NONE then setPlayerPVPMode(cid, getPlayerPVPMode(cid) == 0 and 1 or 0) doPlayerSendTextMessage(cid, 19, "Now you set pvp mode to "..(getPlayerPVPMode(cid) == 0 and "off" or "on").."!") else doPlayerSendCancel(cid, "You cannot set pvp mode when you are agressive.") end return true ]]></talkaction> <event type="login" name="PvpModeRegister" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "pvpProtection") return true end]]></event> <event type="combat" name="pvpProtection" event="script"><![CDATA[ domodlib('pvpmode_func') if isPlayer(cid) and isPlayer(target) then if getPlayerPVPMode(cid) == 1 or getPlayerPVPMode(target) == 1 then doPlayerSendCancel(cid, "You may not attack this player.") return false end end return true ]]></event> </mod> obs: ainda prefiro fazer por storage1 ponto
-
fico bom, mas de vez de fazer por db, daria pra fazer por storage...1 ponto
-
agora clika no + no cantinho da tela. pra me ajudar.1 ponto
-
Fala ae galerinha do Xtibia,esse tuto não é meu ok,eh de um usuário chamado katchoskow de um certo fórum e resolvi trazer aki pra vcs pra ajudar blz??? PS: Não sei que versão que funciona,tentem ai na versão que vcs tem,tentem no 7.8 tbm... ^^ --------- Tutorial Ensinando como adicionar monstros ao Simone editor. Bom andei pesquisando por aí e descobri que muita gente que cria monstros personalizados não sabem adicioná-los no mapa, alguns tentam adicionar pelo map-spawm, mas sempre quando o map era salvo eles tinha que fazer isso denovo. Por isso resolvi postar um tutorial explicando como adicionar esses monstros no Simone editor. Início Apos ter criado o monstro desejado, va na pasta do Simone map editor, e procure pelo arquivo Itens.xml Abra-o e adicione isso (se colokar numa linha no meio do documento nao tem erro, mas ficara desorganizado, algumas pessoas, preferem colocar os novos monstros ou no começo ou no final.) <item id="[color=green]X[/color]" name="[color=red]Y[/color]" type="monster"/> [/code] =-Explicando-= Configurando a variavel X: A letra X esta representando o ID que voce escolhera para esse seu novo monstro, escolha um ID inexistente, pois se o id escolhido já existir nao funcionara. Por exemplo: Suponhamos que eu tenha escolhido o ID 4549. Então ficara assim: <item id="[color=green]4549[/color]" name="[color=red]Y[/color]" type="monster"/> Configurando a variavel Y: A letra Y representa o nome do arquivo que voce colocou no seu monstro personalizado. Digamos que eu criei um monstro chamado "Supreme Knight", neste caso eu adicionarei este nome no local onde esta a variavel Y. Ficando assim: <item id="[color=green]X[/color]" name="[color=red]Supreme knight[/color]" type="monster"/> Finalizando Bom depois de seguir estes passos a linha adicionada ficara por exemplo assim: <item id="[color=green]4549[/color]" name="[color=red]Supreme knight[/color]" type="monster"/> para localizá-lo no map editor basta você ir em View>Windows>Jump to id..>ai coloque o id escolhido que o map editor autmaticamente ira selecionar para voce. É isso, espero ter ajudado em algo com esse tutorial.. -=edited=- Tirando o Id máximo. Tem um arquivo na sua pasta do simone que se chama Materials.xml, abra-o com o bloco de notas e procure uma linha com esses códigos: <material name="Monsters"> <item fromid="4329" toid="4452"/> <item fromid="4538" [b]toid="4551[/b]"/> </material> Depois de achar vá onde esta escrito toid="4551" e mude para 5000, ante (") sem parenteses, só salvar depois disso e usar normal. -------- Comentem se gostaram ae pessoal.. \o/1 ponto
-
Pokedex System (Basico)
gabriell1325 reagiu a kevinloko por um tópico no fórum
Boa salvo nossas vidas =D +rep =D edit: erro =/ [02/11/2010 12:23:21] [Error - Action Interface] [02/11/2010 12:23:21] data/actions/scripts/pokemon/pokedex.lua:onUse [02/11/2010 12:23:21] Description: [02/11/2010 12:23:21] data/actions/scripts/pokemon/pokedex.lua:10: attempt to call global 'isSummon' (a nil value) [02/11/2010 12:23:21] stack traceback: [02/11/2010 12:23:21] data/actions/scripts/pokemon/pokedex.lua:10: in function <data/actions/scripts/pokemon/pokedex.lua:1>1 ponto -
[Encerrado] Item Editor
crusheralpha reagiu a Ardemax por um tópico no fórum
Há sim. Esse programa é criado por SimOne. Muito gente procura esse programa e é muito útil. ah, Para usar basta extrair na pasta do servidor, coloque o tibia.dat e o tibia.spr junto também. Download Scan Obrigado, espero tenho aproveite! ;]1 ponto -
Pra quem um dia ja jogo MU online, esse eh um axe baseado no Chaos Dragon axe: Essa sword eu não sei ja postei aki: Vlw, eu voltei =D1 ponto