Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/20/12 em %
-
Mudanças Na Equipe E Like Box
Gabriel Couto e um outro reagiu a dwhfms por um tópico no fórum
Salve Galera!!! Estou aqui para anunciar para vocês algumas mudanças no fórum. Primeiramente o nosso querido diretor Critical teve que se ausentar por motivos pessoais. Apesar de ter passado pouco tempo na equipe fez muito por ela; organizou, motivou, trouxe mais gente. O XTibia sempre será grato aos serviços prestados e esperamos que ele volte em breve. Além disso estamos implementando uma nova funcionalidade no fórum, que é uma integração com o Facebook, desta forma você poderá curtir a nossa página diretamente do fórum. Como podem ver a página está no inicio, temos apenas 89 pessoas que curtem. Mas tenho certeza que temos bem mais que isso de usuários firmes do XTibia! Vamos mudar isso? Entrem no fórum e CURTAM nossa página ATUALIZAÇÃO: Recebemos uma mensagem lá de cima que quando chegarmos a 500 curtidas sortearemos uma Premium Time de 1 mês! Então vamos galera, convidem seus amigos, pai, mãe, namorada, cachorro. Vamos todos curtir a Página do XTibia! É isso galera, Abraços.2 pontos -
Mapa feito por AnneMotta: Mapa Battlefield.rar scan: https://www.virustot...sis/1346548669/ Imagens do mapa: Descrição: - O evento é automático e acontece em determinado dia e hora da semana - Logo após é aberto um teleport então apenar um número limitado de players entra no evento - São formados por dois times, os "Black Assassins" e os "Red Barbarians" - Os times são balanceados automaticamente, quando o último jogador entra, esse teleport é fechado e depois de 5 minutos o evento começa, os 5 minutos são para os players ter tempo de planejar um ataque. - O sistema tem por finalidade matar todos do time inimigo, e os players que sobreviverem recebem um prêmio. Bônus: - Durante o evento é mostrado na tela somente dos jogadores que estão no evento um placar de times. - Até o último player entrar no evento, ficam mandando broadcast dizendo quanto players faltam para dar inicio ao jogo. - Se o evento abrir e não atingir a meta de players colocada, o evento é finalizado e os players voltam para o templo. Lembre-se: - De colocar Pvp Tool na área - De colocar área NoLogout Imagens: Instalação: Data/Lib Data/CreatureScript Data/Globalevents Data/Movements Como configurar: Configuração dos Times: Configurar Datas do evento: Configuração Paredes:1 ponto
-
[Pokemon] PDA By Slicer Pokemon dash advanced editado por slicer, vários bugs retidos. Projeto encerrado! Espero que todos tenham gostado desse 1 ano de trabalho duro! Todas as atualizações: * Leiam e sigam as instruções do Change Log dentro da pasta do patch! Downlaods: PDA By Slicer With Level System v2.9 Full -> http://www.mediafire...z2afuu75zblvmvq PDA By Slicer Without Level System v1.9 Full -> http://www.mediafire...td0l0ip9ajprrbf OTClient editado 2.8/1.8 => http://www.mediafire...1lcbs1fktpm676w Atualizações: EH OBRIGATORIO O USO DESSE CLIENT ABAIXO E USEM O .PIC TB!!!!!!!!! Client v1.9/2.9 => http://www.mediafire...77i414v1hy187fj Patch v1.9 => http://www.mediafire...da4umj3ip18jrf1 Patch v2.9 => http://www.mediafire...7nt275td9afl1fy Patch v1.9.1 => http://www.mediafire.com/?i3flwa3lrd016zl Patch v2.9.1 => http://www.mediafire.com/?m4zhjgn62uow1sp Obs: Atualizaçoes mais antigas estao dentro do spoiler acima!! OTAL.DLL: OBS: caso n esteja aparecendo a barra de moves no client normal do tibia, baixem essa .dll e coloquem na pasta onde fica o Pokemon_nibe.exe ... Otal.rar Patch Correçao! Todos olhem! Bugs na nova atualizaçao? Olhe o spoiler e veja se arruma o problema! Atualizado: 08/02/13 Créditos: Otal.rar1 ponto
-
Eaaew Xtibianos!! Finalmente mapa foi atualizado, desculpas pelo atráso, mas meu pc deu problems o/. Oque mudou nessa versão? *Houses Ativas 98% [se alguma n estiver funcionando,avise-me] *Subsolos *Novas Hunts *Alguns Respaws *Bugs retirados *Alguns pontos do mapa, foram totalmente editados *Imagem do mapa Geral: *Download 2.0 *Scan Mapa 2.0 Gostou? Rep+ ou clique na seta para cima de cor verde. *Lembre-se poste erros em geral para que eu possa arrumar nas próximas versões e também farei novas ilhas e o Mapa da região Johto.1 ponto
-
[Pokémon]Mapa Do Lendreo 1.0
xTheGoidoX reagiu a Lendreo por um tópico no fórum
Então galera do Xtibia, vim trazer a vocês o meu mapa que estava desenvolvendo. *Mapa para PDA 1.6+ e 2.6+. *Mapa feito por: Lendreo, com os créditos de: Lendreo 80% Criar geral do mapa e retirar bugs de base. Bruninhowz666 10% Por parte de base em mapa. Brun123 10% Por parte de base em mapa. *Mapa sem Subsolo. *Mapa sem Respaw para você por ao seu gosto. *Mapa com Houses inativas. *Mapa sem algumas hunts. *Imagem em Mapa Geral : *Download 1.0 : *Scan Mapa 1.0 : Gostou? Rep+ ou clique na seta para cima de cor verde. *Lembre-se poste erros em geral para que eu possa arrumar nas próximas versões e também farei novas ilhas e o Mapa da região Johto.1 ponto -
[Lua] Mega Tutorial De Oop [Avançado]
dwhfms reagiu a SkyDangerous por um tópico no fórum
Lua Orientada a Objetos Avançado ! Lua é uma linguagem de programação(Sério??) , sua orientação a tabelas, meta tabelas, meta métodos é bem prático e versátil. * Meta tabelas * O que é uma meta tabelas? São tabelas que controla o comportamento de outras estruturas de dados, ela nos permiti alterar o comportamento da tabela. Exemplo, se colocar o código abaixo num interpretador Lua. nome = "Xtibia Forum de Tibia"print(nome:upper()) A saída será: XTIBIA FORUM DE TIBIA Porém, da onde saiu esse upper()? Vejamos.. print(getmetatable(nome)) Sua saída será: table: 0033BE78 Uma meta tabela associado a string !!, vejamos: print(getmetatable(nome).__index == string) Sua saída será: true ou seja concluímos que a chave __index da meta tabelas é módulo de uma string: como exemplo nome:upper() == nome.upper(nome) == string.upper(nome) *Chave __index* A chave __index da meta tabela pode ser uma tabela ou uma função e indica o que deve acontecer quando houver uma tentativa de leitura de uma chave que a estrutura de dados original não possuía Se o objeto referenciado pela variável nome(uma string) não possui a chave upper, então quando tentamos acessar esta chave, o sistema procura pela chave na tabela referenciada pela chave __index da meta tabela, que é uma string Caso queiramos que ela retorna um valor da tabela ASCII, podemos utilizar está função mt = {__index = function (t, k)return k:byte()end}var = setmetatable({b}, mt)print(var) Vale lembrar que essa chave é importante para orientação a objetos. * Classes e Construtores * Em orientação a objeto, classe é um molde para a criação de novos objetos, em Lua,classe em geral é uma meta tabela onde a chave __index aponta para ela própria. Exemplo abaixo: mt = {}mt.__index = mt Meta tabelas se torna um molde para as outras tabelas. As tabelas que fazem o uso deste molde são chamadas de instâncias. As funções de uma classe/instância são chamadas de métodos e sempre recebem implícita ou explicitamente como primeiro argumento a classe ou instância que faz a chamada. Lua pode chamar um método passando a instância (ou classe) implícita ou explicitamente Exemplo de uma chamada explícita: login = login.lower(login) Exemplo de uma chamada , passando a instância implicitamente login = login:lower() Existe um método especial chamado construtor, que é executado sempre que uma nova instância é criada. Vejamos: function mt:new(o)o = o or {}return setmetatable(o, self)end O construtor do código a cima recebe como um argumento uma tabela que servirá de referência para a criação da instância. O primeiro comando garante que o argumento o é uma tabela, o segundo associa a meta tabela ao objeto, retornando-o. Como new()é um método de classe, self representa a classe. Se fosse um método de instância, self representaria a instância. * Outros métodos * Podemos criar outros métodos. Por exemplo queremos criar um somatório dos elementos números da tabela seja retornado para o método soma() Exemplo function mt:soma()local s = 0table.foreachi(self, function (i, e)if type(e) == "number" thens = s + eendend)return send Podemos criar um objeto com alguns valores números e retornar seu somatório: var = mt:new { 2, 4, 6 }ret = var:soma()print (ret) Que imprimirá: 12 *Meta Métodos* Apenas irei citar alguns, caso tenha curiosidade procure sobre. __add – gerencia operador de adição; __sub – gerencia operador de subtração; __mul – gerencia operador de multiplicação; __div – gerencia operador de divisão; __unm – gerencia operador unário de negação; __eq – gerencia operador de igualdade; __lt – gerencia operadores menor que e igual ou maior; __le – gerencia operadores menor ou igual e maior que; __pow – gerencia operador de potência; __tostring – gerencia conversão para string; __tonumber – gerencia conversão para número. * Herança * Queremos outra classe que além de devolver a soma, também devolva o produto, mas sem modificar a classe original. Para isso herdamos uma nova classe, para isso precisamos instanciar a classe pai normalmente, modificar a instância e usar esta instância como uma nova classe Exemplo function nmt:produto()local p = 1]table.foreachi(self, function (i, e)if type(e) == "number" thenp = p * eendend)return pendvar = nmt:new { 2, 4, 6 }[size=4]print(var:soma(), var:produto()) Imprimirá: 48 Há outra forma mais avançada de herança, chamada herança múltipla, que acontece quando uma classe é herdeira de mais de uma classe pai. Fim. Mega Tutorial OOP em Lua1 ponto -
[Lua] Escrevendo Em Um Arquivo [Básico]
MasterDino reagiu a SkyDangerous por um tópico no fórum
Escrevendo em um Arquivo. Básico Escrevendo um arquivo em lua é muito baba, muito simples começamos com: local file = io.open("exemplo.txt", "w") Caso queira que o arquivo não necessariamente esteja no mesmo lugar, utilize: local file = io.open(getDataDir().."/logs/bans/ban.txt/", "w") O código a cima será responsável pela localização do arquivo. Podemos notar dois parâmetros dentro do parênteses, vejamos: "exemplo.txt" Aqui será o nome do arquivo que ele irá escrever, você pode por qualquer formato (.txt,.xml,.lua) "w" Aqui será o modo que ele ira abrir o arquivo, o w significa write ou seja ele irá escrever, vale lembrar que exitem vários outros métodos. Nota: Para abrir o arquivo é necessário que eles estejam no mesmo local de trabalho. Ok, agora vamos escrever algo no arquivo, para isso utilizamos: file:write (" XTIBIA ") O código a cima escreverá o que está entre os parênteses, que no caso seja XTIBIA Estamos indo bem, agora precisamos encerrar, para isso vamos utilizar: file:close() O código a cima vai sinalizar que está encerrado a escrita do arquivo. Código Inteiro: local file = io.open("exemplo.txt", "w") file:write("XTIBIA") file:close() outros métodos: "r" -- modo de leitura "w" -- modo de escrita "a" -- modo de adição "r+" -- modo de atualização, preservando dados anteriores "w+" -- modo de atualização, apagando todos dados anteriores "a+" -- modo de atualização, preserva dados anteriores, novos dados apenas no fim do arquivo1 ponto -
Pokemon Shinys Do Pxg Para Pokemon Centurion
Olan trein reagiu a pablopablo por um tópico no fórum
Bem vi algumas reclamaçoes sonbre os shinys do server (pokemon Centurion). que os shinys tao todos com as cores erradas estao zuados e varias outras coisas entao aki vou postar o Download de alguns shinys que eu fiz para voces. Alguns shinys que eu arrumei: (imagem) Link do pacote com os shinys: Extraia para data/monster/pokes/shiny. Obs: nao presisa e uma outra Spr se vc estiver usando o client da versa V3.2 (ultima). mas de qualquer forma para evitar erros ae link do client:. Bom galera e issu, espero ter ajudado . Creditos: Eshpedrero 80% Cacaiu 20% (pelo link do client) _____________________________________________________________________ Ajudei? + REP1 ponto -
Como Colocar Fast Atack No Seu Otserv!
Marco Oliveira reagiu a popota por um tópico no fórum
Bom pessoal , aqui vou falar como você coloca Fast Atack no seu Ot! Va no arquivo vocations.xml, clique com o botão direito e dpois em editar. Vai estar mais o menus assim: <?xml version="1.0"?> <vocations> <vocation id="0" name="None" description="a rookie" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="10" gainsoulticks="120" gainsoulamount="1" maxsoul="100" manamultiplier="4.0" attackspeed="700" prevoc="0" basespeed="220"> <diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/> <formula damage="1.2" defense="1.1" armor="1.1"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> Aqui peguei a vocation none , veja onde esta escrito: attackspeed="700" No lugar de 700 coloque 200 e ira ficar assim: attackspeed="200" Faça isso em todas as vocações e está Pronto ! Ps: Se não der certo, dê ctrl+alt+del Vá em processos , procure o nome do seu Otserv , clique com o botão direito e vá em definir propriedade , coloque Tempo Real e está pronto!1 ponto -
Não mesma coisa que qualquer outro tempo, mais pra que tanto tempo?1 ponto
-
Nome: bool manager Tipo: C++ Autor: Oneshot Oioioi, como vai? Vi um pedido interessante no seção de suporte, que consistia em fazer um jeito de vocações que não são promotions de outras não aparecerem nas opções do Account Manager. Ou seja são vocações iniciais mas você pode ter a livre opção de bloquear a escolha da vocação no Account Manager pelo jogador. Em vocations.h, procure por: bool attackable, needPremium; Substitua: bool attackable, needPremium, manager; Procure por: bool isPremiumNeeded() const {return needPremium;} void setNeedPremium(bool v) {needPremium = v;} Adicione logo abaixo: bool isManagerOption() const {return manager;} void setAsManagerOption(bool v) {manager = v;} Agora em vocations.cpp, procure por: if(readXMLString(p, "needpremium", strValue)) voc->setNeedPremium(booleanString(strValue)); Logo abaixo adicione: if(readXMLString(p, "accountmanager", strValue) || readXMLString(p, "manager", strValue)) voc->setAsManagerOption(booleanString(strValue)); Procure por: needPremium = false; Adicione logo abaixo: manager = true; E finalmente em player.cpp, procure por: if(it->first == it->second->getFromVocation() && it->first != 0) Substitua por: if(it->first == it->second->getFromVocation() && it->first != 0 && it->second->isManagerOption() == true) Logo abaixo, procure por: if(checkText(text, tmp) && it != Vocations::getInstance()->getLastVocation() && it->first == it->second->getFromVocation() && it->first != 0) Substitua por: if(checkText(text, tmp) && it != Vocations::getInstance()->getLastVocation() && it->first == it->second->getFromVocation() && it->first != 0 && it->second->isManagerOption() == true) Compile e teste. O modo de uso é bem simples, no seu vocations.xml, escolha a vocação que você quer ou não quer que apareça no Account Manager: <vocation id="9" name="Fighter" description="a fighter" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="9"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> E adicione a opção manager com valor 0 ou 1, para não aparecer e aparecer, respectivamente: <vocation id="9" name="Fighter" description="a fighter" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="9" manager="0"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> Assim a vocação não poderá ser selecionada pelo Account Manager. Um grande abraço.1 ponto
-
lib necessária (você pode adicionar no início do script, ou então criar um outro arquivo .lua com qualquer nome em data/lib e colocar isso dentro): function newXYvar(x, y, voltas_horarias) while voltas_horarias > 3 do voltas_horarias = voltas_horarias - 4 end if voltas_horarias <= 0 then return x, y elseif voltas_horarias == 1 then return -y, x elseif voltas_horarias == 2 then return -x, -y elseif voltas_horarias == 3 then return y, -x end return 0, 0 end function arrayToPositions(array, center, n_horario) if not center or not center.x or not center.y or not center.z then return {} end local voltas, mp, ret, iIs, x, y = n_horario and math.max(0, n_horario) or 0, {}, {}, {}, 1, 1 if voltas > 0 then local maxC = 0 for lines = 1, #array do if maxC < #array[lines] then maxC = #array[lines] end end if maxC < #array then maxC = #array end for a = 1, maxC do iIs[a] = {} for b = 1, maxC do table.insert(iIs[a], 0) end end end while #mp == 0 do local check = array[y][x] if check > 1 then mp = {x, y} if voltas > 0 then iIs[y][x] = check end if check == 3 then table.insert(ret, center) end break end x = x + 1 if x > #array[y] then y, x = y + 1, 1 if y > #array then break end end end for ly, ny in pairs (array) do for lx, nx in pairs (ny) do if nx == 1 then local dx, dy = lx - mp[1], ly - mp[2] local newX, newY = newXYvar(dx, dy, voltas) local newPos = {x = center.x + newX, y = center.y + newY, z = center.z} table.insert(ret, newPos) end end end return ret end magia criano item: elseif spell == "?" then local itemId = 1990 local timeToRemove = 2500 local function damage(cid, area) if not isCreature(cid) then return end doAreaCombatHealth(cid, FIREDAMAGE, getThingPositionWithDebug(cid), area, -min, -max, 255) local positions = arrayToPositions(area, getThingPositionWithDebug(cid)) for _, pos in pairs (positions) do doCreateItem(itemId, 1, pos) addEvent(function() local i = getTileItemById(pos, itemId) if i.uid > 0 then doRemoveItem(i.uid) end end, timeToRemove) end end local areas = {teste1, teste2, teste3, teste4, teste5} for _, area in pairs (areas) do addEvent(damage, 200 * (_ - 1), cid, area) end end magia criando monstro (precisa ter o "backupPos" configurado): elseif spell == "?" then local monsterName = "Monster" local timeToRemove = 2500 local function damage(cid, area) if not isCreature(cid) then return end doAreaCombatHealth(cid, FIREDAMAGE, getThingPositionWithDebug(cid), area, -min, -max, 255) local positions = arrayToPositions(area, getThingPositionWithDebug(cid)) for _, pos in pairs (positions) do local newMonster = doCreateMonster(monsterName, backupPos, false) if newMonster > 1 then doTeleportThing(newMonster, pos, false) addEvent(function() if isCreature(newMonster) then doRemoveCreature(newMonster) end end, timeToRemove) end end end local areas = {teste1, teste2, teste3, teste4, teste5} for _, area in pairs (areas) do addEvent(damage, 200 * (_ - 1), cid, area) end end1 ponto
-
Crie um arquivo de nome staff.lua em data/talkactions/script, utilize o seguinte conteúdo: function onSay(cid, words, param, channel) local result = db.getResult("SELECT `name` FROM `players` WHERE `group_id` > 1 ORDER BY `group_id` DESC") local msg = "Server Staff\n\n" if result:getID() == -1 then while true do local name = result:getDataString("name") msg = msg .. name .."\n" if not result:next() then break end end end doPlayerPopupFYI(cid, msg) return true end Abra o arquivo talkactions.xml e adicione a seguinte chave <talkaction words="/staff" event="script" value="staff.lua"/> Fiz este código para listar em ordem decrescente de acesso todos os jogadores que não pertençam ao grupo padrão. Ou seja, até tutores serão listados.1 ponto
-
[Encerrado] Duvida Move1.lua
Session Start reagiu a Skymagnum por um tópico no fórum
Não mecho com pokémon mais tenta.1 ponto -
http://www.xtibia.com/forum/topic/133661-perfect-vip-system-30/1 ponto
-
Passivo E Agressivo Pda
Yan Oliveira reagiu a caotic por uma questão
Yan18 você esta apresentando um bom desenvolvimento vejo que você sempre esta reportando continua assim amigo. Tópico já Movido1 ponto -
Passivo E Agressivo Pda
caotic reagiu a Yan Oliveira por uma questão
=) Duvida Sanada, peça para mover. Atenc. Yan18.1 ponto -
Bug Vocaçao
matheusfera reagiu a LuckOake por uma questão
Sim sim, quanto às skills, é que buga o cap mesmo. No meu server tinha esse problema também. Sobre a grana, eu já não sei o que pode ser.1 ponto -
Cara vc fugiu completamente sobre o asunto do Tópico.1 ponto
-
Passivo E Agressivo Pda
rodrigoorgirdor reagiu a Yan Oliveira por uma questão
Pronto ja coloquei add isso: passivepokemons = {"Eevee", "Caterpie", "Metapod", "Butterfree", 'Pidgey', 'Clefairy', 'Jigglypuff', 'Oddish', 'Gloom', 'Paras', 'Psyduck', 'Bellsprout', 'Weepinbell', 'Slowpoke', 'Ponyta', 'Slowbro', "Farfetch'd", 'Doduo', 'Dodrio', 'Seel', 'Shellder', 'Kangaskhan', 'Chansey', 'Tangela', 'Mr. Mime', 'Tauros', 'Ditto', 'Lapras', 'Porygon', 'Omanyte'} Se n der me avise.1 ponto -
[Encerrado] Criar Player Com Bless Infinita E Promotion
goesraphael1 reagiu a jhon992 por um tópico no fórum
Da pra fazer por script, basta no arquivo login.lua na pasta data/creaturescripts/scripts e antes do último return true cole: if getPlayerVocation(cid) <= 4 then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) end doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doPlayerAddBlessing(cid, 3) doPlayerAddBlessing(cid, 4) doPlayerAddBlessing(cid, 5)1 ponto -
Olá hoje trago-lhes minha primeira função como estagiário espero que gostem. Creio que vocês já conhecem a função string.upper e string.lower? se não explicarei no final do tópico. @Oque Faz? Bom se a palavra/letra estiver em maiúsculo ela passa para o minusculo se estiver minusculo passa para o maiúsculo. @Installing Vá em pasta do seu servidor / data / libs / 050 - function no começo adicione isso: function string.aproximity(word) return word == word:lower() and string.upper(word) or string.lower(word) end . String Upper: Basicamente ela muda uma letra minuscula pra maiúscula. String Lower: Ao contrário da string.upper ela passa uma letra maiúscula para minuscula. LEMBRANDO QUE NÃO FOI TESTADO QUALQUER BUG/ERRO FAVOR POSTAR QUE VOU TENTAR ARRUMAR.1 ponto
-
Duvida Sanada reportado Para Um Superior1 ponto
-
1 ponto
-
Duvida Sanada reportado Para Um Superior1 ponto
-
Duvida Sanada Reportado Para um Superior1 ponto
-
[Encerrado] Alguem Pode Me Disponibilizar Um Ot Narutibia?
dwhfms reagiu a PostadorHunterXXXX por um tópico no fórum
área erradíssima reportado1 ponto -
boto actionID 33799 no tile dentro do trade center?1 ponto
-
Tem 1 maneira melhor de se fazer isso, tipo assim: Você é um player e esta level 1. Quando você upar para o level 2 automaticamente você ganha este 1k + exp. Se quizer usar assim, pode usar este aqui olha: \/ \/ \/ 1° - Vai em data\creaturescripts\scripts crie um arquivo com nome levelrecompense.lua e dentro dele adicione isto: 2º - Va em login.lua e adicione esta tag: registerCreatureEvent(cid, "levelrecompense") 3º - Por último vai em data\creaturescripts\creaturescripts.XML e adicione esta tag aqui: <event type="advance" name="levelrecompense" event="script" value="levelrecompense.lua"/> Créditos: 30% = Eu - GuhPk 70% = Snokiuthu - Criou o script Ajudei? Da REP+ aew.1 ponto
-
veja assim local config = { doorPosition = {x = 100, y = 100, z = 7}, doorID = 1000, minAccess = 6, message = { doorOpen = "The door has been opened!", doorClose = "The door has been closed!" } } function onUse(cid, item, frompos, item2, topos) if getPlayerAccess(cid) >= config.minAccess then local item = getTileItemById(config.doorPosition, config.doorID) if item.uid > 0 then doRemoveItem(item.uid, 1) doPlayerSnedTextMessage(cid, 22, config.message.doorOpen) else doCreateItem(config.doorID, 1, config.doorPosition) doPlayerSendTextMessage(cid, 22, config.message.doorClose) end end return true end1 ponto
-
Duvida sanada reportado Para um superior1 ponto
-
[Encerrado] Bloqueador De Roubo De Sprites
dwhfms reagiu a Yan Oliveira por um tópico no fórum
N é pok.dat e pok.spr é PO.dat, PO.spr e PO.pic =) Duvida Sanada, peça para mover. Atenc. Yan18.1 ponto -
Duvida Sprites 64X64
PostadorHunterXXXX reagiu a Insaend por uma questão
Espero ter ajudando e não ter " Ressuscitado " esse topc ^^!1 ponto -
Mudanças Na Equipe E Like Box
Gabriel Couto reagiu a Jvchequer por um tópico no fórum
Critical não fará falta perto do Won. No mais, a foto do LF salvou o tópico. Beijos.1 ponto -
Ajuda Aqui ?
dwhfms reagiu a SkyDangerous por uma questão
Isso se encaixa melhor na seção de dúvidas e pedidos de scripting. Reportado1 ponto -
Local Incorreto certo seria em pedidos e duvidas de scripting reportado para ser movido1 ponto
-
Olá Seu Tópico esta no lugar errado Irei Reportado para ser movido para Pedidos E Duvidas De Scripting1 ponto
-
1 ponto
-
[Encerrado] Bloqueador De Roubo De Sprites
narutochuuu reagiu a Yan Oliveira por um tópico no fórum
www.pokexgames.com Baixa o mirror 4 (Eu baixo por ele, recomendo).1 ponto -
@PostadorHunterXXXX Vlw por explicar na minha ausência. @ Topic o que o @PostadorHunterXXXX flw ta certo...1 ponto
-
Duvida Sobre Function Onuse
pedrowarlock reagiu a SmiX por uma questão
Function onUse() -- Essa é uma função usada para actions. Cid, Item, frompos, item2, topos esses são os parametros da function onUse(), explicando-as: cid = creature id item = esse é um parametro que vc pode introduzir duas alterações nela [ item.itemid e item.uid ] frompos = uma posição que vc pode editar, mas nunca usei ela topos = uma posição que vc pode editar, mas nunca usei ela1 ponto -
[Encerrado] Leite Ninho
Slicer reagiu a zerefshirou por um tópico no fórum
não tem como se vc não tem a source do seu ot Tirar totalmente acho que só com source, mas tem como sim dar um "jeito" nele.Bem eu até falaria como é, mas é sou pessimo em explicar e não to com vontadeSe não to errado o @Slicer, tirou do servidor sem level dele, então se perguntar a ele, ele deve te falar como tira ou te da uma ideia do que deve tirar ou tirar pra vc sei láOque eu posso dizer agora para ajudar.Colocar "-1" nos genders de todos no configuration, ja pode ser um começo ou um fimTirar os icones da pic, tambem.Editar a parte no exp.lua que ve algo relacionado a bonus de sex (10%+ power pra Machucado e 10%+ def pra Femaluda)Bem é o basico isso ai que eu disse, obs: ja tirei do meu, tirar é uma palavra feia, já removi, já desativei, desativei fica mais bonito1 ponto -
Trocando !buyvip De Money Pra Item
leozinhoac reagiu a LuckOake por uma questão
Tó: Configure aqui: local item = 9404 -- ID do Item local count = 1 -- Quantia do Item1 ponto -
Área errada. Reportado.1 ponto
-
[Encerrado] [Pokemon] Dúvidas? - Pda
RodrigoTortu reagiu a Slicer por um tópico no fórum
@zeref ques por outro botao na barra la emcima neh? q quando clicar vai abrir um outra janela... eh soh pegar a cdBar como base e fazer outro arquivo dentro da pasta mods.. por exemplo.. eu fiz esse botao aki para alguem aki no forum.. botao.rar botando essa pasta dentro da pasta mods, vai aparecer outro botao la na barra superior, q quando clicar vai fazer o player flar 'talk'... dai eh soh pegar isso como base e a cdBar tb para fazer aparecer outra janela.. @pedrowarlock era bem isso q tava pensando hehe mas agora, como por img ae.... kkk ter uma equipe de verdade, com um programador de verdade, eh outra coisa n? uahuah1 ponto -
[Problemas Com Hack]
Piabeta Kun reagiu a elder720 por um tópico no fórum
Exatamente. Como pode perceber galera, é uma série de detalhes que fazem a segurança do seu servidor. Não é preciso de nada muito caro ou até mesmo pago para se ter algo seguro. Basta ter qualidade1 ponto -
Addon Bonus
MonsterB0SS reagiu a JulioNakanishi por um tópico no fórum
Não sei se aqui é o lugar certo, mas ta ai; Sistema de bonus quando adquiri o outfit full Testado apenas em 8.60 Vá em PastaDoSeuOt/data/XML/outfits e mude: <outfit id="1"> <list gender="0" lookType="136" name=" Citizen "> <attribute speed="10"/> <stats maxHealth="100"/> </list> <list gender="1" lookType="128" name=" Citizen "> <attribute speed="10"/> <stats maxHealth="100"/> </list> </outfit> <outfit id="2"> <list gender="0" lookType="137" name=" Hunter "> <skills dist="3"/> </list> <list gender="1" lookType="129" name=" Hunter "> <skills dist="3"/> </list> </outfit> <outfit id="3"> <list gender="0" lookType="138" name=" Mage "> <stats magLevel="2"/> <stats maxMana="200"/> </list> <list gender="1" lookType="130" name=" Mage "> <stats magLevel="2"/> <stats maxMana="200"/> </list> </outfit> <outfit id="4"> <list gender="0" lookType="139" name=" Knight "> <skills sword="3"/> </list> <list gender="1" lookType="131" name=" Knight "> <skills sword="3"/> </list> </outfit> <outfit id="5" premium="yes"> <list gender="0" lookType="140" name=" Noblewoman "> <skills club="3"/> </list> <list gender="1" lookType="132" name=" Nobleman "> <skills club="3"/> </list> </outfit> <outfit id="6" premium="yes"> <list gender="0" lookType="141" name=" Summoner "> <stats magLevel="3"/> <stats maxMana="200"/> </list> <list gender="1" lookType="133" name=" Summoner "> <stats magLevel="2"/> <stats maxMana="200"/> </list> </outfit> <outfit id="7" premium="yes"> <list gender="0" lookType="142" name="Warrior"> <skills melee="3"/> </list> <list gender="1" lookType="134" name="Warrior"> <skills melee="3"/> </list> </outfit> <outfit id="8" premium="yes"> <list gender="0" lookType="147" name="Barbarian"> <skills axe="5"/> <skills sword="2"/> <skills club="2"/> <stats maxHealth="200"/> </list> <list gender="1" lookType="143" name="Barbarian"> <skills axe="3"/> <skills sword="2"/> <skills club="2"/> <stats maxHealth="200"/> </list> </outfit> <outfit id="9" premium="yes"> <list gender="0" lookType="148" name="Druid"> <stats magLevel="3"/> <absorb percentPoison="5"/> </list> <list gender="1" lookType="144" name="Druid"> <stats magLevel="3"/> <absorb percentPoison="5"/> </list> </outfit> <outfit id="10" premium="yes"> <list gender="0" lookType="149" name="Wizard"> <stats magLevel="1"/> <stats maxHealth="100"/> <stats maxMana="200"/> <absorb percentDeath="5"/> </list> <list gender="1" lookType="145" name="Wizard"> <stats magLevel="1"/> <stats maxHealth="100"/> <stats maxMana="200"/> <absorb percentDeath="5"/> </list> </outfit> <outfit id="11" premium="yes"> <list gender="0" lookType="150" name="Oriental"> <stats maxHealth="200"/> <stats maxMana="200"/> <attribute speed="50"/> </list> <list gender="1" lookType="146" name="Oriental"> <stats maxHealth="200"/> <stats maxMana="200"/> <attribute speed="50"/> </list> </outfit> <outfit id="12" premium="yes"> <list gender="0" lookType="155" name="Pirate"> <stats maxHealth="100"/> <skills club="5"/> </list> <list gender="1" lookType="151" name="Pirate"> <stats maxHealth="100"/> <skills club="5"/> </list> </outfit> <outfit id="13" premium="yes" > <list gender="0" lookType="156" name="Assassin"> <attribute speed="80"/> <skills dist="3"/> <stats magLevel="2"/> </list> <list gender="1" lookType="152" name="Assassin"> <attribute speed="80"/> <skills dist="3"/> <stats magLevel="2"/> </list> </outfit> <outfit id="14" premium="yes" > <list gender="0" lookType="157" name="Beggar"> <absorb percentAll="5"/> </list> <list gender="1" lookType="153" name="Beggar"> <absorb percentAll="5"/> </list> </outfit> <outfit id="15" premium="yes" > <list gender="0" lookType="158" name="Shaman"> <stats magLevel="2"/> <absorb percentEnergy="5"/> </list> <list gender="1" lookType="154" name="Shaman"> <stats magLevel="2"/> <absorb percentEnergy="5"/> </list> </outfit> <outfit id="16" premium="yes" > <list gender="0" lookType="252" name="Norsewoman"> <skills shielding="5"/> <absorb percentIce="15"/> <stats maxHealth="200"/> <skills club="3"/> <stats magLevel="2"/> </list> <list gender="1" lookType="251" name="Norseman"> <skills shielding="5"/> <absorb percentIce="15"/> <stats maxHealth="200"/> <skills club="3"/> <stats magLevel="2"/> </list> </outfit> <outfit id="17" premium="yes" > <list gender="0" lookType="269" name="Nightmare"> <skills shielding="5"/> <absorb percentPhysical="15"/> </list> <list gender="1" lookType="268" name="Nightmare"> <skills shielding="5"/> <absorb percentPhysical="15"/> </list> </outfit> <outfit id="18" premium="yes"> <list gender="0" lookType="270" name="Jester"> <stats maxMana="100"/> <attribute speed="50"/> <stats maxHealth="100"/> </list> <list gender="1" lookType="273" name="Jester"> <stats maxMana="100"/> <attribute speed="50"/> <stats maxHealth="100"/> </list> </outfit> <outfit id="19" premium="yes"> <list gender="0" lookType="279" name="Brotherhood"> <stats magLevel="3"/> <absorb percentDeath="5"/> <stats maxHealth="100"/> </list> <list gender="1" lookType="278" name="Brotherhood"> <stats magLevel="3"/> <absorb percentDeath="5"/> <stats maxHealth="100"/> </list> </outfit> <outfit id="20" premium="yes" > <list gender="0" lookType="288" name="Demonhunter"> <attribute speed="10"/> <stats maxHealth="300"/> <absorb percentFire="5"/> </list> <list gender="1" lookType="289" name="Demonhunter"> <attribute speed="10"/> <stats maxHealth="300"/> <absorb percentFire="5"/> </list> </outfit> <outfit id="21" premium="yes" > <list gender="0" lookType="324" name="Yalaharian"> <attribute speed="20"/> <stats magLevel="2"/> <stats maxHealth="250"/> <stats maxMana="250"/> </list> <list gender="1" lookType="325" name="Yalaharian"> <attribute speed="20"/> <stats magLevel="2"/> <stats maxHealth="250"/> <stats maxMana="250"/> </list> </outfit> <outfit id="22" premium="yes"> <list gender="0" lookType="336" name="Warmaster"> <stats maxMana="200"/> <stats maxHealth="200"/> <stats magLevel="2"/> <absorb percentHoly="5"/> </list> <list gender="1" lookType="335" name="Warmaster"> <stats maxMana="200"/> <stats maxHealth="200"/> <stats magLevel="2"/> <absorb percentHoly="5"/> </list> </outfit> Explicação: Vermelho: nome do outfit Verde: o bonus que vai dar com o outfit full não tem muito oque explicar,é só mudar os add que você quiser. Deixarei o download do outfits.xml completo (com os bonus) para quem quiser: Outfits.xml(4Shared) - (Foi testado apenas em 8.6) Scan1 ponto -
[Encerrado] Erro Ao Iniciar O Server
adm oliveira reagiu a Sinos por um tópico no fórum
Bom mano, tava com esse problema e concertei, fazendo o seguinte: Na aba do config.lua: sqlType = "mysql" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "teste" sqlFile = "" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "sha1" Mude o que está de vermelho para "127.0.0.1" Se ajudei dê um rep+ ai, bom jogo!1 ponto -
Na vdd @fireelemental o "r" é o parâmetro que recebe a função só que ao colocar o script aqui a formatação deve ter mudado automaticamente. Tenta assim @JeanDoido: -- [( XTibia.com )] -- local maximo = 1 -- Maximo de IP's iguais permitidos. function remover(r) if #getPlayersByIp(getPlayerIp(r.pid)) >= r.maximo then addEvent(doRemoveCreature, 100, r.pid) end return true end function deslogar(cid) if isPlayer(cid) then doRemoveCreature(cid) end return true end function onLogin(cid) local online = getPlayersOnline() local cont = 0 if getCreatureName(cid) == "Account Manager" then addEvent(deslogar, 60000*3, cid) cont = 1 end for i=1, #online do if getCreatureName(online[i]) == "Account Manager" then cont = cont+1 if cont > 9 then doRemoveCreature(cid) end end end if getPlayerGroupId(cid) <= 1 then if isInArray(getPlayerIp(cid)) == FALSE then addEvent(remover, 300, {pid = cid, maximo = maximo+1}) end end return true end1 ponto
-
incrivel que nego divulga um unico Host e não esclarencem a nossa duvida.. Fodá!! ... Deu a Loka na #########? palhaçada...1 ponto