Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/28/14 em todas áreas
-
FIQUE POR DENTRO #1
Omega e 6 outros reagiu a Alexclusive por um tópico no fórum
Fala pessoal..tudo na paz? Estarei começando a partir de hoje com o "Fique por dentro". Ele funciona da seguinte maneira: Toda vez que for postado uma edição, é por que temos algo para comunicar a vocês. Podendo ser uma breve mensagem ou uma grande noticia. Sempre que ver um Fique por dentro, não deixe de conferir! Assunto do momento É com um imenso prazer que venho por meio deste realizar a abertura do maior concurso sequencial de escrita do Xtibia! Embarque nessa nova onda, e compartilhe conosco suas histórias, seus contos, sua fantástica; imaginação... Bem vindos ao: Edição #01 aberta e o seu tema é: "Assassinato"7 pontos -
Iteradores são funções especiais criadas para iterar, ou seja, percorrer, listas, vetores (arrays), matrizes, tabelas ou o que quisermos. Nós criamos iteradores para usar na função for. Um exemplo de iterador que você já deve conhecer é o pairs. Vamos supor que eu tenha a seguinte tabela: k = {1, 2, 3, 4, 5}E eu queira iterar por todos eles imprimindo o seu quadrado. Como faríamos isso? Casualmente, o código seria este: for i = 1, 5 do print(i ^ 2) endMas e se eu quiser fazer isso várias vezes? Com uma lista que não segue um padrão? Então criamos um iterador, mas primeiro, vamos entender a estrutura de um em pseudocódigo Lua: function iterator(values) local pos = 0 --posição do iterador na lista return function() pos = pos + 1 if values[pos] ~= nil then return values[pos] end return nil end endPerceba que eu não retorno um valor especifico ao chamar a função iterator(), eu retorno uma nova função. Essa função será chamada pelo for até que seu retorno seja nil, onde Lua assume que o iterador acabou. E como eu sei quando acaba? Simples, há uma variável (chamei, neste caso, de pos) que armazena a posição dentro do array values do próximo valor a ser retornado. A cada iteração, o valor aumenta em 1 dentro da função. Quando eu acessar um índice dentro do array que não existe, seu valor (values[pos]) será nil, portanto eu testo essa condição. Parece bastante complexo, mas vamos voltar ao exemplo do quadrado. Chamarei minha função iteradora de square: function square(numbers) local pos = 0 return function() pos = pos + 1 if values[pos] ~= nil then return values[pos] ^ 2 end return nil end endA cada chamada da função de retorno, eu aumento a posição e retorno este elemento elevado ao quadrado. Então, usarei a função assim: for i in square(k) do print(i) endQue funciona como o esperado: O que mais podemos fazer com iteradores? Podemos, por exemplo, bloquear uma palavra usando a função onTalk do xotservx: local palavra = "jujuba" function splitWords(phrase) local pos = 0, words = phrase:gmatch("%w+") return function() pos = pos + 1 if words[pos] ~= nil then return words[pos] end return nil end end function onTalk(cid, type, text, position) for w in splitWords(text) do if w = palavra then return false end end return true endClaro que esse exemplo é bastante simplório, mas demonstra a utilidade dos iteradores. Neste caso, eu testo todas as palavras que o player falou para encontrar uma palavra especifica que eu defini. Podemos transformar isso tudo em um loop while, para você entender um pouco melhor: local words = splitWords(text) while w = words() do if w == nil then break end if w = palavra then return false end end end return trueUsando o iterador, ganhamos organização no código e o controle do for. Espero que façam bom uso de iteradores para organizar seus códigos4 pontos
-
2 pontos
-
Tutorial Nature
Goomba e um outro reagiu a RastaLegion por um tópico no fórum
olá xtibianos venho aqui trazer o meu primeiro tutorial , e quero trazer outros se este for de agrado da maioria. 1 Comece colocando o ground de grama então comece a formar um caminho pro player poder andar com o ground de terra ou outro que tenha vontade ,depois coloque alguns grounds diferentes como o da grama escura e o de pedra visualizando como vai ficar depois de colocar as bordas. 2 Agora coloque as bordas, randomizando-as para que fique bonito e não apenas com uma borda porque na minha opinião fica feio e parecido com auto border. 3 Agora coloque as arvores e arbustos ,não coloque arvores demais pois ficará difícil para o player andar, recomendo que coloque de 3~5 arvores pequenas (arbusto e pinheiro pequeno) para cada arvore grande. 4 Agora coloque os tufos de grama ,cogumelos ,flores ,pedrinhas ,e outros detalhes, recomendo que veja o tutorial que deixarei no final do tópico para posicionar os tufos de grama. 5 Agora Coloque oque for de seu agrado ,eu por exemplo gosto de colocar plantas aquáticas ,uma arvore gigante para que a natureza não fique repetitiva ,e algumas arvores secas , também coloquei alguns arbustos com blueberry e morangos pois vejo muita gente usando apenas arbustos sem nada e acho legal ter algumas arvores com food durante a floresta , fica mais interessante. Todos os itens deste tutorial poderá ser encontrado em terrain palette e nature, com exceção das arvores de id 8313 e 8314 que podem ser encontrado em others e os morangos que podem ser encontrado em foods com o id 2680. obrigado aos mappings que me ajudaram dando opiniões link do tutorial de posicionar tufos de grama : http://www.xtibia.com/forum/topic/221802-posicionando-tufos-de-grama/2 pontos -
Funcionamento A cada dezesseis (16) dias um tema será publicado, qual os participantes deverão segui-lo em seus contos postados. Os candidatos ao melhor conto terão dez dias para postarem seus textos, e cinco dias abertos para votação. No décimo sexto dia, o resultado será postado e um novo tema será lançado. Avaliação: Os contos postados serão avaliados da seguinte forma: 1. Cinco (5) pontos atribuídos mediante votação interna por membros do fórum, como no exemplo abaixo: Avilack: Voto para Candidato3. (Logo; Candidato3 recebe um (1) ponto). Ao receber cinco (5) votos, o candidato atingirá o seu limite de pontos mediante votação aberta. Após atingir os cinco pontos por votação aberta, demais votos serão considerados como critério de desempate. 2. Cinco (5) pontos atribuídos mediante avaliação técnica feita por mim; Avilack, de acordo com os critérios abaixo: - Coesão: Variando de 0 a 1,5 pontos. – Avaliação das articulações textuais analisando a “sequenciação” de eventos apresentados nos contos. - Coerência: Variando de 0 a 1,5 pontos. – Avaliação das relações lógicas dos fatos apresentados nos contos, junto com análises gramaticais. - Criatividade: Variando de 0 a 1 ponto. – Avaliação da criatividade fantástica do texto apresentado. - Formatação: Variando de 0 a 1 ponto. – Avaliação da organização do texto postado. Premiação: A premiação do OMC irá variar de acordo com a quantidade de participantes - como de praxe - de acordo com o exemplo: Dez (10) participantes concorrendo. 1° lugar: 1 medalha + 3 Reps. 2° lugar: 2 reps. 3° lugar: 1 rep. Regras gerais: 1- Qualquer membro pode participar do OMC. 2- Para votar, sua conta deve ter mais de 30 posts e pelo menos 15 dias de existência. 3- Não é permitido postar mais de um conto por usuário na mesma edição. 4. Não é permitido utilizar textos prontos, assim como não é permitida a cópia parcial ou total de textos já existentes. 5. Não é permitido votar utilizando contas falsas. (Sujeito a banimento). 6. Não é permitido editar o texto cinco minutos após sua postagem. 7. Não são avaliados contos que fujam do tema proposto. 8. Os contos deverão ser digitados preferencialmente com a fonte e tamanho Arial - 12. 9. Os contos deverão empregar no mínimo; um nível básico de português em sua norma padrão, tornando sua leitura compreensível. 10. Os contos deverão possuir no mínimo três, e no máximo seis mil caracteres sem espaços, contados pelo Microsoft Word. Caso as regras acima sejam violadas, o participante será desclassificado. Dúvidas? • Como contar os caracteres pelo Word? • Tema proposto? O que quer dizer? • De acordo com a regra nove; o que seria um nível básico de português?2 pontos
-
Spr Editor [ 8.54/9.81 ][ versão 1.3 ]
pirulitopiu reagiu a cristofermartins por um tópico no fórum
Olá, meu nome é Cristofer Martins, sou programador e gameDesigner e atualmente faço parte da equipe Digimon Adventure Online. Estou aqui para apresentar o meu Spr Editor, que desenvolvi para a equipe por que outros editores não eram funcionais/simples o suficiente. Alem disso, vi que não há sprite editores para as novas versões do Tibia, dificultando a inserção/remoção/edição/exportação de Sprites dos novos arquivos SPRs.Alem disso, um outro motivo foi que tive uma pessima experiencia com o Demonic Editor, tentei exportar as Sprites do nosso SPR para uma pasta umas 20 vezes e sempre dava algum erro no meio do caminho. Por isso desenvolvi um Editor eu mesmo. Preview: Funções( no menu ): -Add: Adiciona n sprites ao editor. Basta clicar no add que irá aparecer a janela para você seleciona todas as sprites que você quiser( multi seleção ). Essas sprites serão adicionadas no final da lista de sprites. OBS: As imagens devem ser PNG e o fundo das sprites deve ser transparente, e não rosa, como é de costume. -Replace: Substitui n sprites no editor. Selecione com Ctrl ou até com o Shift as sprites no editor que você quer substituir, depois clique no menu em Replace. Irá aparecer uma janela aonde você seleciona as imagens PNG para serem substituidas. As sprites serão substituidas na sequencia, a primeira Sprite selecionada no editor vai ser substituida com a primeira imagem selecionada na pasta. O progresso do replace pode ser visto na barra de progresso. -Delete: "Deleta" n sprites da lista.Selecione com Ctrl ou até com o Shift as sprites no editor que você quer deletar, depois clique no menu em Delete. Essas IDs das sprites que são deletadas vão aparecer "" e o ID delas, elas são sprites vazias, sem conteudo que você substiuir com novas imagens e assim aproveitar essas IDS que não estão servindo para nada. Export: Exporta n Sprites. Basta selecionar com Ctrl ou com Shift ou clicando na sprite que o editor irá exportar essa sprite com fundo transparente. Você pode facilmente exportar todas as sprites para uma pasta ou apenas aquelas que lhe interessam. O progresso da exportação pode ser visto na barra de progresso. Clear: Limpa a lista de sprites e remove as imagens da memoria. Util para criar um arquivo SPR do zero, por exemplo. Exemplo multi select( para deletar, substituir ou exportar ): Abas Extract/Compile Extract: Nessa aba você clica em SPR file para abrir o arquivo SPR, escolhe a versão dessa SPR ali no "menu" do lado daonde tá escrito "version" e clica em Extract. O programa vai começar a extrair as sprites e adiciona-las a lista( as vezes a lista fica estatica basta clicar nela que ela atualiza com as sprites novas ) e o progresso da extração pode ver na barra de progresso. Compile: Nessa aba você compila as Sprites da lista para um arquivo SPR. Para isso basta clicar em "save" e escolher o arquivo SPR que vai ser salvo, escolher a versão desse arquivo SPR como feito em Extract e clicar em "Compile!". O progresso da compilação pode ser visto na barra de progresso. Outros Search by ID: Pesquisa uma sprite pelo ID. Caso essa id exista na lista, a lista se move até a a sprite. Download: SPREditor Scan: Virus Total Caso você encontre algum bug, reporte nesse topico por favor. Aceito sugestões. Caso exista alguma versão que não seja aceita no editor e você tem a signiture(assinatura) do arquivo spr, poste aqui que eu atualizo o version.ini.1 ponto -
Killua Task System [Atualizado 16/04/2014]
williamserravalle reagiu a Killua por um tópico no fórum
Killua Task Sytem Versões testadas: tfs 0.3.6 e 0.4 Eu sei que já existem vários task systems, inclusive aqui no fórum, mas do jeitinho que eu queria, não consegui achar nenhum. Por isso, resolvi fazer um eu mesmo. O que ele tem de diferente? • É totalmente simplificado. • Não precisa "pegar" as tasks. Elas já são todas automáticas, ou seja, os monstros são contados desde sempre. • É tudo configurado em uma única tabela, de forma muito simples. • Tem um NPC que somente entra as recompensas. • Seu progresso pode ser visto pelo comando !task Atualização do sistema: Refiz os códigos pois existia uma possibilidade de bug. Otimizei eles, deixando o código mais limpo, eficiente e rápido. Aconselho a todos que usam o sistema que instalem a nova versão. Instalação: Tags: Em talkacions.xml adicione: <talkaction log="yes" words="!task" event="script" value="amoebaTask.lua"/> Em creaturescripts.xml adicione: <event type="kill" name="AmoebaTask" event="script" value="amoebaTaskCreature.lua"/> Em data/creaturescritps/scripts/login.lua adicione: registerCreatureEvent(cid, "AmoebaTask") Scripts: Lib: Crie amoebaTask.lua em data/lib e coloque Talkaction: Crie amoebaTask.lua em data/talkactions/scripts e coloque Creaturescripts: Crie amoebaTaskCreature.lua em data/creaturescripts/scripts e coloque NPC: Em data/npc crie Task Man.xml e coloque Configuração: A configuração é feita unicamente na tabela da lib: amoebaTask = { ["Jabuti"] = {creatures = {"Jabuti","Jabuti Hatchling"}, storage = 2312112, storagecount = 890120, count = 300, exp = 0, money = 0, premios = {{6527, 10},{10133, 1}}}, ["Thenebreus"] = {creatures = {"Thenebreus"}, storage = 2312113, storagecount = 890121, count = 250, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}}, ["Demon"] = {creatures = {"Demon"}, storage = 2312114, storagecount = 890122, count = 5, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}} } Em [""] vc coloca o nome que vai aparecer no !task e que também será usado para pega a recompensa no NPC. Em creatures vc coloca todos os monstros que vão contabilizar para tal task. Em storage vc coloca o storage de task completa, que garante que o premio só será pego uma vez. Esse storage nunca pode ser repetido! Em storagecount vc coloca o storage de contagem de monstros. Esse também nunca pode ser repetido! Em count vc coloca o número de monstros necessários pra completar a task. Em exp vc coloca a exp que ganha completando. Em money vc coloca o dinheiro que ganha completando. Em premios vc coloca os itens que ganham completando, seguido de sua quantidade. Ex: {6527, 4} o player vai receber 4 itens de id 6527. Espero que façam bom uso do sistema. Vou ficar feliz em atender qualquer tipo de dúvida e também aceito sugestões. Caso queira que as tasks possam ser feitas repetidas vezes, me peça que eu ponho aqui. Pois basta mudar duas linhas.1 ponto -
Atualizado V1.0: Mostra últimas mortes do servidor: você pode usar o comando !deathlist NOME ex: !deathlist Carlin: in your db execute this query: CREATE TABLE death_list ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, date INTEGER NOT NULL, level INTEGER NOT NULL, killer_name INTEGER NOT NULL, PRIMARY KEY ( id ) ); creaturescript death_list.lua function onDeath(cid, corpse, deathList) local str = "" for _, pid in ipairs(deathList) do if isCreature(pid) == true then str = str.."".. (str == "" and "" or ",") ..""..getCreatureName(pid) else str = str.."".. (str == "" and "" or ",") .." a field item" end end str = str.."." death = str .. " ".. (getPlayerBlessing(cid, 5) and "[Blessed]" or getPlayerSlotItem(cid, 2).itemid == 2173 and "[AOL]" or "") db.executeQuery("INSERT INTO `death_list` (`player_id`, `date`, `level`, `killer_name`) VALUES ('".. getPlayerGUID(cid).."', '".. os.time() .."', '".. getPlayerLevel(cid) .."', '".. death .."');") return true end creaturescript.xml <event type="death" name="DeathList" event="script" value="death_list.lua"/> creaturescript/script/login.lua registerCreatureEvent(cid, "DeathList") talkactions deathlist.lua limit = 5 function onSay(cid, words, param, channel) str = "" if param == "" then local qry = db.getResult("SELECT `player_id`, `date`, `level`, `killer_name` FROM `death_list` ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." "..getPlayerNameByGUID(qry:getDataString("player_id")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes no servidor." end doPlayerPopupFYI(cid, "Last Deaths:\n\n" .. str) return true end local getGuid = getPlayerGUIDByName(param:lower()) if not getGuid then doPlayerSendCancel(cid, "Este Player não existe.") return true end local qry = db.getResult("SELECT `id`, `date`, `level`, `killer_name` FROM `death_list` WHERE `player_id` = " .. getGuid .." ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes." end doPlayerPopupFYI(cid, "Last Deaths of: " .. param .. ".\n\n" .. str) return true end talkactions.xml <talkaction words="!deathlist" script="deathlist.lua"/>1 ponto
-
Baiak 8.60
VitaoGames reagiu a Raspas por um tópico no fórum
Estou aki na minha primeira postagem, espero que gostem Se tiver algum bug me avisem, esse é meu primeiro post entaum porfavor nao me chinguem... vou colocar umas imagens aki ; ) Baiak Yurots V2.2 Oque Mudou ? Mudou a City ta 90% 8.5 Foi Arrumada As Houses. No Templo Vende Items 8.54! Novos Items Novos Outifits Novas Hunts E Muito Mais... Baiak Yurots V2.7 Oque Mudou ? Foi Adicionada um Nova Cidade Chamada Baiak City Foi Adidionada Um Teleport no Templo Que Vai para Alumas City's Foi Adicionado Npc de Bless,Pagando Todas as Bless você nao prescisa usar aol... Foi Adicionado Uma Ilha de GM's ... Bug do Account Mananger Arrumado. Novo Executer adicionado,se o ot cai ele salva sozinhoo. E Muito Mas Estara por vim ... Baiak Yurots v1.0.9 Oque Mudou ? Foi Adicionado Sistema Vip.. Foi Adicionado Varios Portais Vip Foi Adicionado Novos Bixos Vip,Warlock Vip,Medusa Vip,Bossing of Baiak... Foi Adicionado New Quest Baiak Super Foda !! ;D Foi Modificado o Templo Foi Adicionado Mais Treiners ! Entre Alguns Bugs Retirados Baiak Yurots v1.1.0 Oque Mudou ? Mudou o Protocolo de 8.57 para 8.60 Novos Item Novo Outfit Baiak Yurots V1.1.4 Oque Mudou ? Tirei o Pz tool do Templo Fiz um Novo System Vip por Comando Fiz o Novo Addon do Outfit do Wayfarer Baiak Yurots Edited By Skull Oque mudou ? Modifiquei o templo. Fiz novos comandos, !aol, !bless, !jail playername <para gods>, !removeskull (retira sua black ou red skull por 1kk), entre outros Criei novos itens vips II! (obtidos na vip quest) Fiz quest para axe vip, star vip,club vip,sword vip,wand e rod vip Fiz uma vip II Fiz Um Castelo, onde ocorre batalhas do time Verde X Vermelho. Fiz uma Area Pvp, onde quem morrer nao perde level Fiz uma quest vip, onde se ganha a vip II E mais um amuleto vip(permite que red skull e black skull nao percam itens, funciona como aol tambem, possui 30 cargas) e tambem um item vip de sua escolha( axe,sword,club,star,rod ou wand vip.) Novos Teleports Adcionados na Vip II Monstros novos como Medusa vip II, Hydra Vip II, entre outros. Fiz uma Hiper Quest ... Vocaçoes Balanciadas Teleports Especiais [ARENA, CASTELO DO REI E HOUSE ISLAND] para level 300+ Bug Da baiak cape que nao dava ml+6, arrumado, entre outros varios bugs System Vip Como Funciona ? A Vip I é free, portanto o comando !buyvip, foi removido, pois implicava com a vip II. A Vip II é somente para quem conseguiu completar a Vip Quest, onde la voce ganha a vip stone, e vira vip usando ela. Acc do God. god/god Templo http://imageshack.us...38/templox.png/ Novas Hunts http://imageshack.us...novashunts.png/ Quest Vip 3 http://imageshack.us.../questvip3.png/ Vip seller 3 http://imageshack.us...vipseller3.png/ Download: http://www.4shared.c..._GOD_Skull.html Scan: https://www.virustot...sis/1334459330/ Se gostou da um REP ai vlw !1 ponto -
[Pokemon] Servidor Skyfall - Completo
Josemir rosendo reagiu a Gabrieltxu por um tópico no fórum
Conteudo Retirado.1 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
-
Olá galerinha, Primeiramente me apresentando, me chamo Lucas Melo, conhecido como LuquitossML, por problemas técnicos eu perdi meu nick aqui no Xtibia por conta da minha ausência, faz muito tempo que não visito o fórum, e percebi que agora o Xtibia está investindo mais na área de spriting, vou tentar me dedicar para que essa área cresça cada vez mais, e faço questão de ajudar aqueles que realmente pretendem evoluir. Mas vamos ao que interessa...Neste meu humilde tópico, irei postar alguns de meus gráficos... A principio um Axe e um Goblin e um Giant inacabado, coisas aleatórias de alguns dos meus trabalhos.. Ao longo do tempo vou postando coisas mais complexas.. Axe: Goblin: Hill Giant: [e claro, não estão liberadas para uso (: ] Atenciosamente, LuquitossML.1 ponto
-
Object Builder é o programa usado para editar itens, outfits, efeitos e mísseis no cliente. Ele edita e compila os arquivos dat e spr. (Object Builder) Versões suportadas: 8.00 - 10.38Download: ___________________________ Adobe AIR Object Builder 0.2.9 Scan Adobe AIR ___________________________ Sources GitHub1 ponto
-
O Fim dos Tempos - Extraterrestre
markindoot reagiu a rodrigoup por um tópico no fórum
Fim dos Tempos Capitulo 14 Extraterrestre: Diz-se de pessoa ou daquilo que é de fora da Terra / Pessoa ou coisa que é de fora da Terra. Alienígena: De origem no estrangeiro; estranho, forasteiro. Imagine se um extraterrestre de verdade caísse na terra! Gigante! Tipo uns 15m de altura! Com a pele lilás, cabeça no formato de bola de futebol americano e sem nariz! Forte e com asas semelhantes a asas de morcego! Seria a sensação do momento. Agora imagine se isso acontecer num período de catástrofes globais sem precedentes na história. Um cometa cairá na terra, precedido de meteoritos cobertos de fogo e sangue. O cometa cairá no mar e transformará um terço dos oceanos do mundo em sangue. Matando, assim, um terço das criaturas marinhas e destruindo um terço de embarcações. Pois com a queda no mar, se o cometa tiver 15 km de diâmetro, ele causará uma onda de dois quilômetros de altura que avançará 500 km, continente adentro. O impacto do cometa causará um tremor que poderá ser sentido no mundo inteiro e isso provocará a erupção de todos os vulcões do mundo. Isso cobrirá a atmosfera terrestre com cinzas vulcânicas durantes meses a fio. Sem falar no incêndio que os meteoritos causaram enquanto o cometa estava caindo, que queimará um terço de todas as árvores do mundo e causará uma poluição inimaginavelmente grande! Então, se esse extraterrestre fosse descoberto no meio do nada, em algum lugar do mundo, de seis a sete meses depois desses acontecimentos, isso seria um acontecimento que chamaria a atenção do mundo inteiro! No capítulo anterior, o homem em particular fez justamente isso: Fez que a notícia chegasse ao mundo inteiro através da mídia. Ele marcou uma coletiva de imprensa e disse que qualquer pergunta que eles fizessem a esse “amigo visitante” seria respondida. Enquanto o homem em particular estava em seu jatinho indo para aquela floresta para encontrar com o Anjo, ele fez uma ligação pedindo que construíssem na praça do vaticano um palco de metal. Um palco simples que pudesse ficar pronto até à tarde do dia seguinte. E ordenou que fosse feito imediatamente. O pessoal dele teve que fazer uma correria danada para conseguir pessoal o suficiente para construir esse palco, mas, na hora marcada, ele estava pronto. Na verdade foi uma coisa bem simples: um elevado com uma parede no meio. Na parte onde seria a frente, eles colocaram uma mesa comprida e cadeiras. A imprensa não demorou muito para chegar ali. Na verdade, muitos passaram à noite ali esperando ansiosos para ver se conseguiriam pelo menos ver o alien. Imagine isso! Já imaginou se você fosse alguém que mora em Roma, ali perto do vaticano. Então você vê no jornal, a notícia que encontraram um extraterrestre de verdade. E, ao vivo, você vê esse extraterrestre se mexendo e acabando com o pessoal que estava ali para investiga-lo. Depois você fica sabendo que o presidente atual – o homem em particular – vai trazer o alienígena para fazer uma coletiva de imprensa porque ele tinha apenas sido mal compreendido... Se fosse eu, com certeza estaria lá! Não podia perder essa! Um extraterrestre gigante e de verdade! De verdade!!! E era mais ou menos isso que a maioria estava pensando e sentindo. E, na noite do dia seguinte, as pessoas começaram a chegar. As emissoras de TV que ainda existiam vieram até mesmo do exterior para ouvir o que a criatura tinha para dizer. Eles não sabiam se ele falava, mas esperavam que sim, pois tinham muitas perguntas para fazer. Todos os microfones já estavam alinhados, os programas de TV estavam todos transmitindo isso: “Ao vivo! Coletiva de imprensa com o primeiro extraterrestre genuíno encontrado na terra”.Quando a hora chegou, o homem em particular, o homem que se diz profeta, os presidentes da aliança e o Anjo vieram da parte de trás do palco e os flashes inundaram o lugar, quase os deixando cegos de tantas luzes. Eles se assentaram em suas respectivas cadeiras e o Anjo se sentou em um assento especial de madeira, grande, que fizeram para ele na extrema esquerda da mesa. (Na extrema direita para quem assistia pela TV). Então o homem em particular disse: Muito bem... A partir de agora nossa coletiva de imprensa está valendo. Todos começaram a fazer suas perguntas de modo que não dava para entender nada do que se dizia. O homem em particular fez sinal com as mãos para que se acalmassem e, quando se acalmaram, ele disse: Sei que todos querem fazer suas perguntas, mas vamos com calma. Se me permitem, eu gostaria de fazer a primeira pergunta. Todos se calaram, prestando total atenção na pergunta dele: Então, senhor... Ehh... O senhor poderia se apresentar e dizer o que o trás ao nosso planeta? O coração de muitos ali estava palpitante de tanta emoção de ouvir pela primeira vez um alienígena genuíno falando conosco de livre e espontânea vontade. O primeiro contato extraterrestre genuíno e inegável que seria registrado na história! Então o Anjo diz: Meu nome é Heylel. Sou o líder dos mensageiros da guarda... Ahh... Sou um K’eruwb. Ahh... Bem... O que me trás ao seu planeta, foi uma batalha que houve... Onde eu morava. Eles... Eles me expulsaram de lá. Cada vez que dava uma pausa na fala, ele olhava para o céu um pouco preocupado e continuava: Parece que o Rei não quer concorrência. Parece que Ele quer o trono só para Ele e, toda vez que surge alguém para... Alguém com maior capacidade do que Ele para reinar... Ele o abate. Bem... Fazer o que, não é? Egoísmo é assim mesmo. Mas, enfim... Eu e meus soldados também tentamos acabar com a tirania do Rei, mas Ele acabou nos pegando desprevenidos e... Agora estou aqui. Ele sabia atuar muito bem. Então um dos repórteres levantou o braço, o homem em particular o autorizou e ele perguntou em alemão: Ahh... Desculpe-me, mas... Como o senhor consegue falar a língua dele? Heylel respondeu em alemão: Eu também consigo falar a sua. Todos ficaram muito surpresos com aquela resposta e ele continuou: Na verdade, eu consigo falar todas as linguagens que vocês usam nesse planeta. Isso é um pré-requisito para ser um soldado.Todos do meu planeta sabem sua linguagem. O homem em particular: Mas isso é incrível! Como vocês conseguem? Quer dizer... Como vocês... Vocês nos observam? É isso? Heylel: Isso mesmo. Novamente, todos se surpreenderam com a resposta, pois isso significava que eles poderiam estar ali desde muito antes de nós! E ele continuou: Nós o observamos desde o dia em que soubemos que vocês estavam adquirindo inteligência. Isso já faz uns... Milhões de anos, com certeza. O “zum, zum, zum” começou e todos comentavam sobre o que acabaram de ouvir. Então Heylel comentou: E eu acho que vocês não se lembram, mas antes... Deu uma pequena risada como se estivesse se lembrando de algo engraçado e disse: Antes era engraçado. Vocês não sabiam direito falar e faziam gestos como... Como... O seu ancestral, o macaco! Todos se espantaram novamente e ele disse: Ahh... Vocês já sabiam disso, não é? Que vocês foram evoluindo e... Não? O Anjo olhou para o homem em particular como se tivesse dito algo que não devia ter dito. Nessa hora, todos os cristãos ao redor do mundo pensavam: “Mas o que ele está falando? Ele está falando que ele já estava aqui desde...” O homem em particular disse: Ahh... Bem... Nossos cientistas ainda estudam essas possibilidades, mas... Eram apenas possibilidades. Não fazíamos a menor ideia de como realmente surgimos. Uns dizem que nós fomos criados por um ser maior, tipo um deus ou algo assim, mas outros acreditam que aconteceu como o senhor está descrevendo. Isso é... Heylel: Criados? Não, não. Vocês vieram da evolução de moléculas e tudo mais. Não sou muito bom nesse assunto. Afinal, minha função é outra. Não posso ficar pensando em outras coisas, sabe como é, não é? Mas eu vi tudo! Eu vi como os primeiros seres daqui eram apenas remes gigantes e com dentes grandes. Uns eram mais bonitinhos do que outros, mas eram todos remes. Um dos presidentes ao lado dele perguntou: O que são remes? Heylel pensou alto e respondeu: Ahh... Na sua linguagem é... É... Ah! Sim. Réptil. Eram répteis. Todos eles. Ou pelo menos a grande maioria. Aquelas respostas estavam sendo as respostas que sempre procuramos. De onde viemos, como aconteceu, o que aconteceu, tudo! Tudo estava sendo finalmente explicado. E Heylel comentou: Não... Eu nem sei como esse planeta conseguiu evoluir para um sistema tão complexo assim. Bom... Como esse processo durou bilhões de anos, nós não percebemos seu planeta mudando. Fomos perceber somente quando os primeiros da sua raça estavam surgindo. Foi uma descoberta e tanto... O planeta que antes era só destruição tinha se transformado em algo verde e azul. E quando nós vimos os primeiros espécimes, pensamos: “Há vida em outros planetas, afinal!”... Vocês fizeram um alvoroço e tanto no meu planeta. Desde então nós temos lhes observado e acompanhamos toda sua evolução. “(2ª Tessalonicenses 2:9) Cuja vinda é segundo a energizada operação de Satanás – em todo o poder, sinais e prodígios de mentira – e em todo o engano da injustiça naqueles que estão se fazendo perecer. Porque não receberam o amor da Verdade para eles serem salvos” Continua...1 ponto -
HJ estava pensando e Bom vo recomeça com meu projeto sprites proprias! Aki minha makina do cp! essa sprite ae n é a original a original é mais clara opa tava fasendo umas coisinha aki vo posta 2 balcao de markt que eu fiz esse balcao é centra! e esse balcao sao os do lado sao os balcasinho de vidro como vo pegar duro nois trampo to meio parado mais n vo mais para de spritea bom fiz um armario para markt fiz uma rmk de gengar eu n curto rmk fiz pq me pedirao! FALA GALERA COMO ANDO TRABALHANDO MUINTO NO CERVE BOM EU FIZ UMA PAREDE BOM AXO Q N VO USAR QM QUISER PODE LEVAR fala galera tava mechendo no meu serve derrepente no skyp venhao me pedir uma ajuda com sprite de naruto pois nunca fiz nenhuma ae fiz minha primeira sprite! foi sasuke e um susano!1 ponto
-
Treiner Ot 8.6
Vinicius Osorio reagiu a DuuhCarvalho por uma questão
1 ponto -
como arrumar essa spell < monster usa ela
homersapiens reagiu a zipter98 por uma questão
Tópico movido para a seção de dúvidas e pedidos resolvidos.1 ponto -
[Encerrado] [duvida] Servidor + Source
homersapiens reagiu a zipter98 por um tópico no fórum
Tópico movido para a seção de dúvidas e pedidos resolvidos.1 ponto -
Fairy Tail Online [FTO]
Frenvius reagiu a Felipe Ishida por um tópico no fórum
Eu, como admin de um projeto também baseado em um tema específico, procuro proporcionar ao jogador (mapping, spell, sprites e estratégia de jogo) um feeling do tema apenas, até porque estamos usando uma plataforma (tibia) pra simular outra então somos vinculados aos princípios do Tibia. Não se preocupe com a fidelidade ao tema mas sim com a impressão de realmente estar no universo de Fairy Tail que o servidor vai passar. O anime em si não dá muita margem pra criação de hunts, portanto eu seguiria a dica acima de inovar a maneira de se evoluir sendo o PVP e missões a principal forma de adquirir experiência sendo os monstros (monstros mesmos, não humanóides) um artíficio paralelo ao principal objetivo. Invista em NPC's que viram monstros com uma certa inteligência artificial e enfoque (forçe) na dinâmica de convivência dos players, já que o anime se pauta em guildas! Já quanto às classes, separe por gênero de tipo de magia (supporter, atacador, blocador, elemental, etc). Conselho de futuro player! Abraço amigo.1 ponto -
1 ponto
-
Ae Cara o "servidor" e o "Client", Desculpa Não ter postado antes Foi pq tava sem tempo... Servidor: http://www.mediafire.com/download/ylqj3nyhv7d15i6/pokemon+online.rar Client: http://www.4shared.com/rar/w4t5rigdce/Cliente.html Desculpa Pois Para ir Mais Ligeiro Fiz Upload do "Client" em um Site e o "Servidor" Em outro..1 ponto
-
Galeria do Anyur
Alexclusive reagiu a Gabriel Couto por um tópico no fórum
Não sei se as duas primeiras tão legais :S1 ponto -
[Resultado] Sign Collage (Seguindo Tutorial do Anyur)
Gabriel Couto reagiu a Alexclusive por um tópico no fórum
Bom, a algum tempo atrás eu tinha prometido que iria fazer um sign se o Anyur (Gabriel Couto) fizesse um Tutorial. Não é de ver que o danado acabou fazendo?! Como pra mim, promessa é divida! Aqui está o resultado de seu tutorial: (só usei o que tinha na pack) Obs: eu nunca tinha feito esse tipo de sign, e achei tudo muito afeminado a pack disponível pra download viu? kkkkkk Eu tinha começado a fazer de uma personagem do mal, só que na pack não tinha nada que combinava.. O importante é aprender...agora que já sei, posso ir em busca de meus próprios recursos. Enfim...a pergunta que não quer calar? Passei ou não no TESTE do tutorial dele? Divida paga!1 ponto -
Como mudar o ip de 1 site do Xamp
Slyton reagiu a VictorWEBMaster por uma questão
Sim, um host vem com as portas todas liberadas. #EDIT Duvida sanada via Skype: Bastava ele liberar as portas no roteador e tentar entrar com o ip fixo =D Tópico movido para a seção de dúvidas e pedidos resolvidos.1 ponto -
O erro está aqui: "addEvent(doSendMagicEffect, position16, 197, parameters)" Deveria ser: "addEvent(doSendMagicEffect, 200, position16, 197)" // por exemplo. Coloca o tempo que você quiser alí. -- Explicando: A função addEvent é: addEvent(function, time, parameters[os parâmetros da "function". No caso, o "pos" e o "effect]) Quando você chamou o position16 alí, ele tentou chamar como tempo, sendo que está como x=?, y=? z=?. Ou seja, tentou colocar um valor numérico, sendo que o valor não é numérico.1 ponto
-
Vá em Data/Talkaction/Scripts copie e cole qualquer arquivo.lua e renomei para ranks.lua e cole isso dentro: Depois vá em talkaction.xml e cole a seguinte tag: Depois vá em action/script/other copie qualquer arquivo cole e renomei para highscores e cole isso dentro: Depois vá na pasta mods copie qualquer arquivo.xml cole renomei para highscorebook.xml e cole isso dentro: Se der algum erro posta que eu arrumo Boa Sorte!1 ponto
-
data/talkactions/scripts local msg = "Agora seu sistema PvP está %s." function onSay(cid, words, param) local _table = { ["on"] = {"ativado", 1}, ["off"] = {"desativado", 0}, } if _table[param:lower()] then local mode = _table[param:lower()] setPlayerStorageValue(cid, 91821, mode[2]) doPlayerSendTextMessage(cid, 27, msg:format(mode[1])) end return true end data/creaturescripts/scripts --[[ Tags: <event type="statschange" name="PvPStats" event="script" value="nome do arquivo.lua"/> <event type="target" name="PvPTarget" event="script" value="nome do arquivo.lua"/> <event type="login" name="PvPLogin" event="script" value="nome do arquivo.lua"/> ]]-- function onTarget(cid, target) if isPlayer(target) and isPlayer(cid) then if getPlayerStorageValue(cid, 91821) < 1 then doPlayerSendCancel(cid, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then if getPlayerStorageValue(attacker, 91821) < 1 then doPlayerSendCancel(attacker, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "PvPTarget") registerCreatureEvent(cid, "PvPStats") return true end1 ponto
-
"Cliente Tibia SEM IP CHANGER 10.10" [ Tibia Brasil OT] Player começa lvl 8[/size] são 8 vocação, Knight, Paladin, Sorcerer, Druid, Elite Knight, Royal Paladin, Master Sorcerer e Elder Druid.[/size] Ele é Open pvp[/size] Trainer Offlline estatuas, camas e Online* Quest RL do Global com missões Lotery system de sábado aos domingos até 00:00 War system Shop system Task system Vip system Market system[/size] Recompensa System a cada 45 lvls Oufits novos Novas montarias pra vip e free Itens de domar mounts players ganha 2 dias de vip pra experimentar as áreas vip players vip tem 10% a + de xp. Raids personalizadas em todas as cidades Mapa global 98% Cidades completa com a nova venore e a nova ab' dendriel cliente na versão 10.10 Cidades pra vip, Ankrahmun, Edron, Farmine, Darashia, Liberty Bay, Port Hope, Svargrond, Yalahar, Gray Beach. Cidades pra free, New Ab'Dendriel, Carlin, Kazordoon,Thais , New Venore entre outras. Site pra criar contas http://tbrot.redirectme.net/ Online 24 horas por dia e semi dedicado. entre outras coisas.[/size] Sistema, upo lvl e skills aparece efeitos S Cassino Para frente vou por sistema de pet com evoluções, news itens e outra coisas Garanta já seus 2 dia de p.a gratuito pra experimentar ás áreas p.a. Site: Ir Face: Ir Cliente 10.10: Ir grupo: Ir Fórum do jogo: Ir Baixou o Cliente é hora de jogar, "Cliente Tibia SEM IP CHANGER 10.10" bye bye...1 ponto
-
Kamui
Duuhzinhow reagiu a Wuv4 por uma questão
Testa esse local toPosition = {x = 1248, y = 728, z = 7} --Posicao para qual o player vai ser mandado local spellStorage = 49999 --Storage usado para saber se o player esta indo ou voltando com a magia local storage_x = 50000 --Storage que guarda a posicao x local storage_y = 50001 --Storage que guarda a posicao y local storage_z = 50002 --storage que guarda a posicao z function onCastSpell(cid, var) local toPos = toPosition local pos = getPlayerPosition(cid) local storageSpell = getPlayerStorageValue(cid,spellStorage) if storageSpell > 0 then toPos.x = getPlayerStorageValue(cid, storage_x) toPos.y = getPlayerStorageValue(cid, storage_y) toPos.z = getPlayerStorageValue(cid, storage_z) setPlayerStorageValue(cid, spellStorage, 0) else setPlayerStorageValue(cid, storage_x, pos.x) setPlayerStorageValue(cid, storage_y, pos.y) setPlayerStorageValue(cid, storage_z, pos.z) setPlayerStorageValue(cid, spellStorage, 1) end doTeleportThing(cid, toPos, false) doSendMagicEffect(pos, 21) return true end1 ponto -
[PEDIDO]WebSite Poketibia!
VictorWEBMaster reagiu a Piabeta Kun por uma questão
meu caro se nao for resolver pelo topico nem precisa mante-lo aberto, ja que nao vai ajudar mais niguem! priorize resoluçoes no topico, pois a duvida de um pode ser a de muitos e esse é o intuito do forum!1 ponto -
[Talkactions] Sistema Online Diferente
AdilsonHacker reagiu a Wuv4 por uma questão
Substitua a talkaction online.lua por essa: local config = { showGamemasters = getBooleanFromString(getConfigValue('displayGamemastersWithOnlineCommand')) } function onSay(cid, words, param, channel) local players = getPlayersOnline() local strings = {""} local vocationCount = { [1] = 0, [2] = 0, [3] = 0, [4] = 0, } local i, position = 1, 1 local added = false for _, pid in ipairs(players) do if(added) then if(i > (position * 7)) then strings[position] = strings[position] .. "," position = position + 1 strings[position] = "" else strings[position] = i == 1 and "" or strings[position] .. ", " end end local voc = getPlayerVocation(pid) if voc > 4 then voc = voc-4 end vocationCount[voc] = vocationCount[voc] + 1 if((config.showGamemasters or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES) or not getPlayerCustomFlagValue(pid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) and (not isPlayerGhost(pid) or getPlayerGhostAccess(cid) >= getPlayerGhostAccess(pid))) then strings[position] = strings[position] .. getCreatureName(pid) .. " [" .. getPlayerLevel(pid) .. "]" i = i + 1 added = true else added = false end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, (i - 1) .. " jogadores online:") for i, str in ipairs(strings) do if(str:sub(str:len()) ~= ",") then str = str .. "." end str = str .. " \n"..vocationCount[1].." sorcerers, "..vocationCount[2].." druids, "..vocationCount[3].." paladins, "..vocationCount[4].." knights jogando agora." doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) end return true end1 ponto -
1 ponto