Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/26/14 em todas áreas
-
Loan Shark Boa tarde, Estava eu trabalhando quando tive a ideia de programar um script qualquer, aí desenvolvi esse script. Bom, é um NPC simples, ele empresta uma quantia de dinheiro ao jogador, e cobra 50% de juros por dia, com um limite de 2 dias, ou seja um agiota. Se o jogador não pagar o dinheiro devido, ao entrar no servidor, com auxílio de um creaturescript, seu HP é reduzido para 1 e ele ganha uma red skull, simulando que o Agiota mandou caçar-lo. Bom, é isso aí. npc/scripts/loan shark.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local storage = { [1] = 12345, [2] = 12346, [3] = 12347, } function onCreatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower() or "" local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local loan = getPlayerLevel(cid) * 2000 if getCreatureStorage(cid, storage[1]) == -1 then if not talkState[talkUser] or talkState[talkUser] == 0 then if msgcontains(msg, "money") then selfSay("Well, well. I can loan some money to you, but I'm not stupid, don't try to be a smartass with me, agreed?", cid) talkState[talkUser] = 1 end elseif talkState[talkUser] == 1 then if msgcontains(msg, "yes") then selfSay("Okay, are you really desperate, heh? Well, I can loan to you, a maximum amount of ".. loan .." gold.", cid) selfSay("So, how much money, do you need?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "no") then selfSay("Okay.") talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif talkState[talkUser] == 2 then if not tonumber(msg) then selfSay("Say a number amount, stupid.") else if tonumber(msg) > loan then selfSay("Hey, smartass, I can loan to you a maximum amount of ".. loan .." gold.", cid) else doCreatureSetStorage(cid, storage[2], tonumber(msg)) selfSay("You will need ".. tonumber(msg) .." gold? Okay, my interest is 50% by day, agreed?", cid) talkState[talkUser] = 3 end end elseif talkState[talkUser] == 3 then if msgcontains(msg, "yes") then selfSay("Good choice, kid. Here is your money, but don't forget to pay me in 2 days, or my boys will beat up you pretty bad, after that I will forgive the debt.", cid) doPlayerAddMoney(cid, getCreatureStorage(cid, storage[2])) doCreatureSetStorage(cid, storage[1], 1) doCreatureSetStorage(cid, storage[3], os.time()) npcHandler:releaseFocus(cid) elseif msgcontains(msg, "no") then selfSay("Do you give up? Ooh, I forgot you are a milksop.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end end else local days = math.floor((os.time() - getCreatureStorage(cid, storage[3])) / 86400) local value = (days > 0 and (getCreatureStorage(cid, storage[2]) * (1.5 ^ days)) or getCreatureStorage(cid, storage[2])) if not talkState[talkUser] or talkState[talkUser] == 0 then selfSay("Well, well... ".. getCreatureName(cid) ..", do you remember you borrowed ".. getCreatureStorage(cid, storage[2]) .." gold from me, right?", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, "yes") then selfSay("Good, because you need to pay me for ".. (days == 0 and "no" or days) .." days using my money.", cid) selfSay("The value you owe me is ".. value .." gold. Do you have it?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "no") then selfSay("Okay, then...", cid) selfSay("Just kidding, bitch! You need to pay me ".. value .." gold for ".. (days == 0 and "no" or days) .." days using my money. Do you have it, right?", cid) talkState[talkUser] = 2 end elseif talkState[talkUser] == 2 then if msgcontains(msg, "yes") then if getPlayerMoney(cid) >= value then doPlayerRemoveMoney(cid, value) selfSay("Very good, daug! If you need my money again, you can ask me, heheh...", cid) doCreatureSetStorage(cid, storage[1], -1) doCreatureSetStorage(cid, storage[2], -1) doCreatureSetStorage(cid, storage[3], -1) else selfSay("You don't have my money, no problem, you have ".. (days > 1 and "no more days" or "one day") .." before my boys hunt you, heh.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif msgcontains(msg, "no") then selfSay("So, it is good to get my money, because you have ".. (days > 1 and "no more days" or "one day") .." before my boys hunt you.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback) npcHandler:addModule(FocusModule:new()) creaturescripts/scripts/loan shark.lua local storage = { [1] = 12345, [2] = 12346, [3] = 12347, } function onLogin(cid) local days = math.floor((os.time() - getCreatureStorage(cid, storage[3])) / 86400) if getCreatureStorage(cid, storage[1]) == 1 and days > 2 then doCreatureSetStorage(cid, storage[1], -1) doCreatureSetStorage(cid, storage[2], -1) doCreatureSetStorage(cid, storage[3], -1) doCreatureAddHealth(cid, (1 - getCreatureMaxHealth(cid))) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The Loan Shark's boys beat up you pretty hard because you didn't paid the your debt in 2 days.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_BLOCKHIT) doCreatureSetSkullType(cid, SKULL_RED) end return true end creaturescripts/creaturescripts.xml <event type="login" name="LoanShark" event="script" value="loan shark.lua"/> O arquivo XML do NPC deixo por conta de vocês. Att, Garou5 pontos
-
Spread Loot Este é um pedido feito no tópico A Fábrica Boa noite, galera. Este é o primeiro pedido atendido no meu tópico A Fábrica, foi um pedido feito pelo usuário OriGM. Consiste em um sistema de "espalhar" o loot do monstro em uma área delimitada de 1 sqm, torna o jogo bem real, afinal muitos MMORPGs, como Mu Online, Ragnarok, entre outros, "espalham" seu loot. Não tive como fazer diferentes testes, mas acho que funciona muito bem e não tem bugs severos, como criar itens em tiles bloqueados. A instalação é fácil como qualquer creaturescript. spreadloot.lua local function doSpreadLoot(fromPosition, toPosition, container) for slot = (getContainerSize(container.uid) - 1), 0, -1 do local item = getContainerItem(container.uid, slot) if not isContainer(item.uid) then local position = { x = math.random(fromPosition.x, toPosition.x), y = math.random(fromPosition.y, toPosition.y), z = fromPosition.z, } local itemEx = doCreateItemEx(item.itemid, item.type) if doTileAddItemEx(position, itemEx) then doRemoveItem(item.uid) end else doSpreadLoot(fromPosition, toPosition, item) doRemoveItem(item.uid) end end return true end function onKill(cid, target) if isMonster(target) then local position = getCreaturePosition(target) local name = getCreatureName(target) local fromPosition = {x = position.x - 1, y = position.y - 1, z = position.z} local toPosition = {x = position.x + 1, y = position.y + 1, z = position.z} addEvent(function() local container = getTileItemById(position, getMonsterInfo(name).lookCorpse) if container.uid > 0 then doSpreadLoot(fromPosition, toPosition, container) end end, 100) end return true end login.lua registerCreatureEvent(cid, "SpreadLoot") creaturescripts.xml <event type="kill" name="SpreadLoot" event="script" value="lootsystem.lua"/> Bom, isso é tudo, minha galera. Att, Oneshot Garou3 pontos
-
2 pontos
-
Não dá para fazer isso e desconfio que nem modificando todas as sources. É legal, porque alimenta a discórdia no servidor, quem nunca dropou uma Jewel of Bless no MU e foi roubado? haha2 pontos
-
[Pokemon] Kpdo Full Edited Gablei
Daniel S reagiu a Gabrieltxu por um tópico no fórum
Olá Galerinha do Xtibia Hj vou Postar um Map Full KPDO editado por min 1° Num sei se é essa área correta 2° Varios Lugares do map foi eu q editei Por Min fiko Muito Massa mais Num sei Por vcs! 3° Não Sei o Site para Por Scan Mais eu garanto que num tem virus Bom Agora Vou Mostrar Algumas Fotos de Algums Lugares que eu editei! espero que gostem comesei a Ser map esses dias Agora Por Ultimo e Mais necesario o Map <--- AvÀ Link para Download: http://www.mediafire...c6apnvoiwfoq2g1 Com o Map vem as SPR e DAT que eu usei para editar Mais uma vez eu digo se gostou da REP++ Porfavor num vai cair a mão1 ponto -
1 ponto
-
Olá, galera, venho pedir desculpas por meus desligamentos ao mundo DarkXPoke e ao mesmo tempo venho anunciar a Retomada do DarkXPoke. Novidades: Limite de efeitos aumentado para 65, 565 mil efeitos. Limite de Sprites também aumentado para 2,147,483,647. Novas Re-makes: Golduck, Venomoth, Vaporeon e em breve muito mais. Mapa feito do 0, acho que está em 25% pronto. Imagem: Por favor, peço a todos que colaborem dando ideias de sistemas. Obrigado!!! Quer participar? Entre neste tópico. Atenção, DarkXPoke voltou... Você não conhece o DxP? Entre aqui;1 ponto
-
Resolvi postar o server que eu estava criando nesse meio tempo que passei sem internet, × Map 100% by me, × Set vip para kina e mage, × Mais de 40 teleports free, e 13 vip ( Teleports vip, tem MUITOS monstros lurados, ótimo para matar em grupão ), × Sistema anti-run quest ( não da pra passar correndo nas quests ), × Updade Seller também compra items, × Mad vip adicionado na area vip ( Paga 10% a mais em todos os items ), × Npc Trader ( Troca 30 bad soul por vizalain itens, caso você perca algum, ou ainda não tenha ), × Mini Games ( Cassino, mini-maze { labirinto } ), × Mapa sem bugs ( Se achar algum, me avise ), × Novos Bosses ( Frost morgaroth, Death apocalypse e lava bomination ), × Alguns comandos adicionados, /adddepot, /name, /makesay, × Demon Oak refeita por mim, vizalain set quests. Algumas Prints --------------------------------------------------------------------------------------------------------------------- Download: http://www.4shared.c...ain_Server.html Scan: Aqui1 ponto
-
Slayer Art Online [SAO]
JonataCordova reagiu a craigmabbit por um tópico no fórum
Sword Art Online (anime) - Sinopse No ano de 2022, a Realidade Virtual Massive Multiplayer RPG Online (VRMMORPG) é desenvolvida e seu primeiro jogo, Sword Art Online (SAO), é lançado. Com o equipamento Nerve Gear, um capacete de realidade virtual que estimula no usuário os cinco sentidos através de seu cérebro, os jogadores podem experimentar e controlar seus personagens no jogo com suas mentes. Em 6 de novembro de 2022, todos os jogadores ao entrarem pela primeira vez no jogo, descobrem que eles são incapazes de sair. Eles são então informados por Kayaba Akihiko, o criador do SAO, que se eles desejam ser livres, eles devem chegar ao 100º andar da torre do jogo e derrotar o chefe final. No entanto, se os seus avatares morrerem no jogo, seus corpos também morrerão no mundo real. Fonte: Wikipedia, texto adaptado. Slayer Art Online - Propostas Nós da equipe Okami Games iremos proporcionar á todos os jogadores uma ótima experiência que retratará o anime Sword Art Online o mais fielmente possível. Os jogadores poderão fazer várias coisas que são vistas no anime, como caçar solo ou em grupo, realizar várias quests, utilizar cristais (como o de teleport), forjar suas próprias armas e equipamentos, preparar alimentos melhores, participar de guildas, comprar sua própria casa, duelar com outros jogadores entre outras coisas... O jogo não contará com o sistema de "profissões", logo, todos irão fazer uso de espadas, machados, clavas e lanças. Entretanto, cada jogador poderá se especializar em alguma área específica á partir do sistema de distribuição de pontos. Os pontos poderão ser distribuídos livremente entre as seguintes habilidades: STR - Strength (força) DEX - Dexterity (destreza) AGI - Agility (agilidade) DEF - Defense (defesa) VIT - Vitality (vitalidade) O servidor também não contará com a presença de magia (fogo, terra etc), porém, habilidades com as armas (skills) existirão. Cada habilidade será executada de forma diferente, havendo várias opções de golpes e combos para se realizar, além de habilidades passivas como a habilidade "Rage". Sistema de SWITCH acompanhem o projeto em na page do facebook: https://www.facebook.com/slayerartonlinex1 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
-
Tutorial Nature
Goomba 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/1 ponto -
Sprites do Bruno0, Né Isso? Eles me mostrou quando estava fazendo o Vaporeon '.', Ta lindao1 ponto
-
Item aleatorio
GuuhMaster reagiu a zipter98 por uma questão
Como você não especificou a quantidade dos items aleatórios, coloquei 1 mesmo. Bem, suponho que você saiba fazer o XML. Qualquer erro, só avisar. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local trophy = { ["golden"] = {3, 7369}, --{Quantidade de items aleatórios, ID do troféu}, ["silver"] = {2, 7370}, ["bronze"] = {1, 7371}, } local items = {2158, 2156, 2154} if msgcontains(msg, "trophy") or msgcontains(msg, "trofeu") then selfSay("Oh, vejo que você quer trocar algum troféu por recompensas. Qual troféu seria este: {golden}, {silver} ou {bronze}?", cid) talkState[talkUser] = 1 return true elseif talkState[talkUser] == 1 then if trophy[msg:lower()] then local trofeu = trophy[msg:lower()] local id = trofeu[2] if getPlayerItemCount(cid, id) > 0 then for i = 1, trofeu[1] do doPlayerAddItem(cid, items[math.random(#items)], 1) end doPlayerRemoveItem(cid, id, 1) selfSay("Obrigado, aqui estão seus items!", cid) talkState[talkUser] = 0 return true else selfSay("Desculpe, mas você não tem este troféu.", cid) talkState[talkUser] = 0 return true end else selfSay("Desculpe, este troféu não existe.", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())1 ponto -
Yalahar Quest
Helflin reagiu a RastaLegion por uma questão
oque está errado é local checking = {x = starting.x, y = starting.y, z = starting.z, stackpos = starting.stackpos} parece que não tem ground na position...1 ponto -
Efeito Matrix.
interpolbr reagiu a wreymar por um tópico no fórum
Eae Xtibianos Tudo Bem com Çês..? Hoje tou Trazendo aqui Para o Xtibia Um Tutorial De Photoshop (Claro né, ta na área de Tutorias Photoshop) Obs: Não Fiz Esse Tutorial,Porém Não tenho Creditos, Só tou Trazendo Para o xtibia. Creditos: http://www.tutoriaisphotoshop.net/ Descrição: Neste tutorial veremos um efeito baseado no filme Matrix onde utilizaremos filtros, modos de blend e diversas ferramentas. 01. Pressione Ctrl+O e abra uma foto qualquer, em seguida pressione Ctrl+L para abrir a caixa de Levels e defina os valores abaixo. 02. Sua imagem deverá ficar como a da foto abaixo. 03. Pressione Ctrl+U para abrir a caixa de Hue/Saturation e defina os valores abaixo. 04. Agora vá em Filter> Sharpen> Sharpen, sua imagem deverá ficar como a da foto abaixo. 05. Pressione Ctrl+J para duplicar a layer, vá em Filter> Blur> Gaussian Blur e defina os valores abaixo. 06. Mude o modo de blend da layer para Overlay, clique na layer que estiver abaixo e pressione Ctrl+Shift+U para retirar a saturação da imagem, vá em Filter> Filter Gallery> Brush Strokes> Dark Strokes e defina os valores abaixo. 07. Sua imagem deverá ficar como a da foto abaixo. 08. Pressione a letra T do teclado para selecionar a Vertical Type Tool e escreva uma linha de texto ou símbolos como na foto abaixo. 09. Pressione Ctrl+J para duplicar a layer, vá em Filter> Blur> Gaussian Blur e aplique os mesmos valores usados anteriormente, pressione Ctrl+E para mesclar as duas layers. 10. Diminua levemente a opacidade da layer, pressione Ctrl+J para duplicar a layer, pressione a letra V do teclado para selecionar a Move Tool, posicione a cópia da layer ao lado da original, repita o procedimento até que sua imagem fique como a da foto abaixo. Fonte >> Tutorias Photoshop1 ponto -
Itens iniciais ot 8.6
Vinicius Osorio reagiu a Nil Value por uma questão
Veja no Seu Creaturescripts/Firstitem.lua se não tiver Se não tiver aki http://www.xtibia.com/forum/topic/181586-tutorial-criando-um-firstitemslua-e-explicando/1 ponto -
Gênesis “Inspirado pelos sonhos, mergulhado em suas idéias e regido pela esperança de um novo amanhã, o tempo constrói.” Escritor deste pergaminho. Prólogo O vazio torna-se algo eloquente, quando se está sozinho. Não há como ver, pois naquele espaço só há escuridão, só há trevas, somente a cor negra envolve aquele nada, fazendo com que apenas uma, das três entidades sagradas reine soberana. Tal entidade amante da solidão, apreciadora do vazio, um ser vivente em espírito, cuja origem se faz desconhecida. Sabe se apenas que essa aura negativa se chama Avilack, e tudo o que é impuro lhe convém. Em contradição ao seu irmão, eis o senhor da justiça e virilidade: Anëron. Nascido da vontade e da audácia do tempo, crescido em meio ao vazio, tornou-se completo apenas sentindo a presença de seus irmãos, pois sua visão se esbarrava nas cortinas de escuridão que pairam neste espaço sem cor, sem vida, monótono. Com o sentimento de amargura aflorando sobre a sua essência e com seus pensamentos em decadência, tais regidos pela vontade de mudança, e impedidos pelo medo do novo, eis o tempo, que há muito vive dentre este espaço vazio; tal entidade chama-se chama Aluriel, qual origem nunca foi especulada, devido a sua antiguidade, Aluriel se revela o irmão mais velho; senhor do destino, arauto da soberania, provedor da paz e da misericórdia, considerada entidade suprema, pois todos sucumbem perante o tempo. Conheçam agora, palavras escritas pela mão de um desconhecido. Tal ser viveu para narrar este mito envolvente, imaginando um dia que este pergaminho fosse conhecido por todos os habitantes deste mundo, que merecem conhecer a sua origem, e a origem de sua casa. Das palavras deste pergaminho, aflora uma história de renovação, cuja determinação de uma entidade há muito amargurada, deu vida a este pedaço de criatividade, banhado pela sua inspiração proveniente de sonhos desconhecidos. Eis Elënor, o fruto da criação do tempo, em sua mais estável condição mental. Capitulo I A primeira inspiração A solidão, a monotonia e o vazio do nada, levaram Aluriel a deixar que sua imaginação assumisse o controle. Ao acordar do seu terceiro descanso, ainda assustado, o tempo se perguntava o que havia acontecido naquele breve período, cada descanso do tempo era proveniente de uma sensação de amargura que se originava devido a sua situação monótona. O que ocorreu dentro da mente do tempo? Eu não me atrevo a dizer. Mas, gosto de pensar que naquele período, o senhor do tempo teve o seu primeiro sonho, ou melhor, a sua primeira inspiração... Inspiração proveniente da agonia da escuridão e da medonha solidão, que agora, após uma longa existência das entidades, se fez presente entre os irmãos, até mesmo no emissário da escuridão, agora cansado de celebrar sozinho o seu reinado. Voltando para si aos poucos, Aluriel pôs-se a criar. Confesso que não imaginava que aqueles sonhos fizessem do tempo, a entidade criadora. Eu apenas tentei confortá-lo, abraçando a sua causa e acolhendo para mim, aquele sentimento de solidão, que aos poucos ia definhando aquela criatura. Mas, a minha surpresa não é o foco deste capítulo, e sim, o mais belo acontecimento desde que a escuridão existe. Aluriel criou sete linhas ambas com tons diferentes, inspiradas na cor negra daquele espaço, porém com uma admirável diferença; aqueles tons se faziam mais vívidos, mais exuberantes, alguns mais fortes, outros mais fracos. E as linhas se formaram como um arco, um arco com tonalidades tão belas, tão vivas... O arco de tons, assim o tempo o batizou. E com este, Aluriel fez nascer a sua arte primogênita, com essas linhas ele preencheu aquele espaço vazio com uma das novas tonalidades, ele pintou naquele quadro negro uma fonte de luz, totalmente oposta daquela imensidão negra. Não consigo expressar o quão pasma foi à reação do tempo, ao ver que tais sonhos, estavam sendo colocados em prática, modificando e expulsando aquele vazio e levando com ele o sentimento de monotonia e solidão, pois agora, pela primeira vez; Aluriel pode enxergar a essência de seus irmãos. As entidades não possuíam forma física, eles eram apenas essência, feita de energia, mesclada com flagelos de sabedoria concedida pelos inúmeros períodos de existência. Eis então, um momento que me deu arrepios: O primeiro encontro dos irmãos. Logo Avilack pôs se a frente dos dois irmãos formando aquele trígono, para que ambos pudessem enxergar a essência de cada um. Lembro-me da luz de Anëron, que ao entrar em contato com a nova tonalidade daquele espaço, brilhou e iluminou as proximidades até o limite do horizonte, aonde não se podia mais enxergar. Já a luz do tempo, brilhou menos vívida porem mais consistente, uma tonalidade um pouco mais escura do que aquela que preenchia o espaço, algo belo e imponente que logo se destacava dentre os irmãos. Vi também a essência de Avilack, e esta me assustou. A sua aura foi à única que permaneceu imersa nas sombras, com fagulhas de energia negra se soltando e o rodeando, como se a escuridão envolvesse a sua essência, mesmo com toda aquela luz que a aura de seus irmãos fazia questão de emitir. Após sua primeira inspiração, o tempo colocaria em pratica a criação de sua segunda obra, e foi ai que eu vi a audácia de Aluriel, ao meio daquela aura de tom anil, proveniente de sua primeira criação, a essência do tempo brilhou mais forte, liberando ao seu redor, um feixe de luz, uma luz que representava a coloração do segundo tom dos sete existentes. E aquele tom outrora preso dentre as linhas do arco, foi liberto, despedaçando-se em mil fios, e cada fio continha luminosidades diferentes, alguns mais escuros, outros mais vívidos. O feixe de luz alongava-se mais e mais, chegando e até ultrapassando os limites do alcance da minha visão. Os mil fios luminosos formaram um circulo de tamanho exorbitante, tal circulo prendia para ela a primeira inspiração, trazendo novamente aquela escuridão total para fora de seus limites, preenchendo apenas a si mesma, com o primeiro tom, e fazendo de sua linha externa uma forma de proteção, para que a escuridão não a penetre. Para isso foi construído o segundo tom, o tom dos mil fios, que guardariam aquela nova criação, a criação que hoje chamamos de: Elënor, o mundo; ou melhor: Nosso lar. Capítulo II Percepções Deprimido, isolado, afastado fisicamente de seus irmãos, eu podia sentir, ou melhor, eu podia ver na expressão daquela essência luminosa que construiu o mundo, resquícios de insatisfação; naquele momento eu pude ver que faltara algo mais para o tempo, ele precisara de companhia, ele precisara de conselhos, precisara de seus irmãos... Um brilho incessante, raios luminosos atravessavam-me como se não houvesse nada em que trombar; luzes disparadas, uma esfera de luz rodeia o espaço no qual o tempo gerou tal fenômeno. E refletidas pela própria esfera, aos poucos as luzes se dispersam, levando consigo aquele brilho divino, e deixando no local, o terceiro membro daquele arco composto; o terceiro tom. Rubra, era a sua cor, seus fios se moviam em formato melancólico, como se estivessem presos em uma superfície alteada, soprados suavemente pelo vento, beijados sutilmente por uma leve brisa; eis a terceira luz do arco de tons, a luz inspiradora, aquela que fez com que o tempo ouvisse pela primeira vez os conselhos de seus irmãos, graças ao terceiro tom, eu conheci o único significado do sentimento; emoção... Daqueles fios rubros, implodiram-se vários outros com o mesmo contraste, e aqueles traços, belos e límpidos abraçaram as entidades, unindo-as; e um clarão repentino da mesma cor, espalhou-se por aquele espaço. E de repente; solta pelo espaço, liberta do silêncio, ouve-se uma voz: - Eu preciso de vocês meus irmãos... – Era Aluriel, imerso em sua depressão, envolvido pelos rubros fios, almejando aquela ajuda consanguínea que agora, poderia ser prestada. Doce, quase melódica; só consegui encontrar essas duas conclusões sobre a voz do tempo... O resto ficou preso em minha mente, ou melhor, eu não fazia questão de encontrá-las, afinal, aquele momento era único, e me deixou marcada para sempre... Fora revelado o terceiro tom; o som. Vi a euforia, a movimentação, e me atrevo a dizer; a ensaiada dança das entidades. Pelo menos, era o que parecia. E ao contrário do que eu esperava de Avilack - aquela frieza absoluta, me surpreendi com sua reação, ao comemorar junto com o tempo e com o equilíbrio; Anëron – aquela nova tonalidade. Percepções presentes, podendo enxergar e agora ouvir, as essências se comunicam incessantemente. Ví Anëron expor suas opiniões sobre a inspiração dada pelo até então desconhecido ao mestre do tempo; Aluriel. Ví também o emissário de escuridão mostrando-se empolgado com aquela nova situação, assim como Aluriel, agora mais calmo e sentindo-se acolhido, abraçado por aqueles seres que há muito só demonstravam a sua presença ocupando aquele espaço vazio, sem percepções, sem inspirações, sem rumo. O terceiro tom, foi uma das criações mais importantes reveladas daquele arco. Porém, a quarta liberação do arco de tons, será de suma importância naquele espaço, dando ao mesmo, um aspecto vívido e o mais importante: Um aspecto preenchido... Capítulo III Traços primordiais Silêncio... Eis o ultimo som escutado por mim, após um brado incessante do emissário da escuridão. O tempo se afasta deixando aos poucos um curto espaço dentre ele e seu irmão sombrio; seguido por Anëron que também não parecia concordar com o rumo daquela conversa... Após a liberação do terceiro tom aquelas criaturas pareciam se entenderem, e após um período, um breve período de conversação o silêncio paira novamente dentre as três essências. Vi naquele momento uma discórdia entre os seres, mas a graça do som não foi perceptível para mim, apenas vi e senti aquelas essências se afastarem; a escuridão foi para um lado e o equilíbrio para o outro, deixando o tempo parado, pensante, com raiva... Naquele momento foi liberto o quarto tom; eis a tonalidade mais bela e mais vívida, foi por ela que derramei pela primeira vez as minhas lágrimas, foi por ela que acreditei na obra do tempo, foi daquela cor neutra quase invisível que saíra do arco de tons que os selos se desprenderam. Vi o primeiro - dos cinco selos - ser liberto daquele tom, qual se rumou para o sul, abaixo da essência do tempo, fixando-se na extremidade daquele círculo. E deste selo implodiu-se o primeiro elemento; e espalhou-se pela superfície do círculo uma manta da cor do tom liberto, tão transparente quanto o mesmo; emergindo ondulações, e com seu estado líquido preenchendo o espaço vazio do círculo, cobrindo aquela interminável superfície. E este selo foi chamado água, aquela que preencheria os vazios do espaço, quando esses se mostrassem, escorrendo por cada brecha deixada no interior do círculo; no interior do nosso mundo. Vi o segundo selo ser liberto, e este ficou parado abaixo dos pés do tempo, o rodeando em formato circular e dele implodiu-se o segundo elemento; uma superfície sólida que se deitou sutilmente em partes da água; sua cor era sépia e essa ocupara breves espaços do primeiro selo – a água -. Tendo suas formas diferenciadas, ora depressivas, ora alteadas com camadas em farelos; outras mais solidificadas, sendo chamado este selo por terra, aquela que cobriria as águas e alcançaria o espaço alteado, aproximando com seus picos, a criação do criador. Vi daqueles cinco, o terceiro selo ser liberto, este foi o selo fracionado, aquele que por pedaços foi mesclado ao segundo selo, nos picos alteados este selo foi posto para que por ele o criador visse o desenvolvimento de suas criações. Grená, era a cor soberana deste elemento o qual foi chamado por fogo; e dele expeliria uma quente camada que aqueceria o plano superior – a casa das essências, aonde os irmãos residem – para que estes não se esquecessem de seus traços primordiais, traços forjados pela inspiração do tempo, que jamais poderiam ser abandonados pela tríade divina. Ví o quarto selo ser liberto; cujo selo, meu preferido. Este liberou uma forma gasosa que rodeava a essência de Aluriel, e sua cor trazia em seus traços a mesma do tom que o prendia; sua leveza e suavidade, alisando e pairando sobre a aura do tempo, eram admiráveis. A forma liberta expandiu-se, como correntes elas seguiam aquele espaço no circulo, pairavam sobre toda a superfície, acima do segundo selo; este foi o quarto elemento, o elemento chamado por ar - cuja responsabilidade era levar consigo os sons que planavam nosso mundo ao ouvir das entidades para que elas não se esquecessem do segundo tom: O som -, que outrora trouxe uma momentânea alegria e familiaridade para os três senhores. Ao admirar de longe estava Avilack, preso em suas concepções, o emissário da morte estava parecendo não gostar do resultado dos quatro primeiro selos; juro que só deu tempo de ouvir a pronuncia de Aluriel e a expressão momentânea de ódio do senhor das sombras, um arrepio me subiu, e uma dor interna se instalou em mim quando ouvi as palavras do tempo, rígidas e frias: - Carregador da discórdia, semeador da escuridão, emissário das desavenças, tu criastes o quinto selo, o ultimo dos cinco. És a pestilência da minha criação, a praga concedida pelo desconhecido, em prol da solidão. Vá criatura vil, cuja aura sombria nos infecta, eu conjuro o quinto selo criado para ti; o selo do exílio! Exilado... Este foi o destino de Avilack, era inimaginável que após aquela primeira conversa das entidades, a conversa que o brado do senhor da escuridão rasgou as barreiras do som esticando se ao desconhecido, tivesse esse destino. Qual o motivo do exílio? Eu não o vi, não ouvi, mas por um momento senti o descontentamento de Avilack com aquela situação, mas um exílio? Foi demais para minha compreensão... Por vezes incontáveis eu presenciei o irmão sombrio olhando as obras do tempo de fora do círculo, talvez almejando uma nova discórdia, ou sabe-se lá o que passava no interior daquela criatura; então, decidi não interferir. Avilack: Aquele conjunto admirável de energia sólida que emanava de sua aura, aqueles simples fios negros que o envolviam, comparados a uma pintura abstrata, feita pelas mãos de um cego pintor, o qual não conseguiria enxergar os próximos passos de seu pincel. Aquela entidade era simplesmente um conjunto do nada mesclado com uma pitada de personalidade, cuja forma parecia oblíqua, qual vivia de desvios, criando ângulos certas vezes incompreensíveis, sempre se adequando a novas realidades; nunca preso a uma reta, que sempre leva ao mesmo caminho. Seria esta o inicio da decadência deste ser, que vi aos poucos desaparecer imerso na escuridão ao redor daquele circulo, exilado pelo próprio tempo, e condenado a vagar eternamente dentre os vácuos do nada... Próximos capítulos serão atualizados em breve.1 ponto
-
Vlw, Lucas e Artic vocês estão me dando ótimas dicas mas eu tenho um pouco de déficit de aprendizagem, euheuehueh ta ai mais 2 @UPDATE1 ponto
-
Eu tinha registrado diferente aqui no meu computador, obrigado pela observação. De fato, esqueci do onMove, com ele dá para fazer o que a galera quer, mas não estou afim, já me agrada como está. Sinta-se livre para fazer isso, xotservx.1 ponto
-
Tente seguir o rascunho abaixo. function onUse(cid, item, fromPosition, itemEx, toPosition) if not isCreature(itemEx.uid) and itemEx.itemid == 2472 then doTransformItem(itemEx.uid, 2494) end return true end Só registrar o ID 2422 do Iron Hammer no actions.xml1 ponto
-
Isso não vai funcionar. Cara, isso já foi pedido tantas vezes, tenta fazer uma pesquisa no fórum, antes de criar mais um tópico, né? Enfim, você tem que procurar nas sources, essa função static uint64_t getExpForLevel(uint32_t lv) Aí dentro da função, procura pela fórmula: uint64_t exp = ((50ULL * lv * lv * lv) - (150ULL * lv * lv) + (400ULL * lv)) / 3ULL; Troca a fórmula por essa: uint64_t exp = ((5ULL * lv * lv * lv) - (15ULL * lv * lv) + (40ULL * lv)) / 30ULL; Isso vai aumentar o level máximo, exponencialmente, não sei pra quanto, compila e testa. Att, Garou.1 ponto
-
Tutorial Nature
osni12 reagiu a RastaLegion por um tópico no fórum
As dicas ,o credito da maioria é do vital, vou dar uma organizada... @edit, organizado1 ponto -
1 ponto
-
Olha.. eu não testei para ver se funciona. mas você pode tentar alterar isso aqui: if (currLevelExp >= nextLevelExp) { //player has reached max level levelPercent = 0; sendStats(); return; } por isso if (currLevelExp >= (nextLevelExp * 1000)) { //player has reached max level levelPercent = 0; sendStats(); return; } // para não ter limite mesmo, tire tudo isso.1 ponto
-
[SHOW-OFF] Myth~~
felipinkoak reagiu a RastaLegion por um tópico no fórum
você postou o video como se fosse você que fez ,coloca os créditos do Wh@t'Up.1 ponto -
local config = { soundName = "sounds/Centralplains.wav", tileId = 103, storage = 55000, musicTime = 118, --em segundos musicTimeStorage = 91821 } function onStepIn(cid, item, frompos, item2, topos) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, config.storage) < 1 then if getPlayerStorageValue(cid, config.musicTimeStorage) > os.time() then return setPlayerStorageValue(cid,config.storage,1) else doPlayerSendTextMessage(cid, 26, config.soundName) setPlayerStorageValue(cid, config.storage, 1) setPlayerStorageValue(cid, config.musicTimeStorage, os.time() + config.musicTime) end end end function onStepOut(cid, item, frompos, item2, topos) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, config.storage) == 1 and item2.itemId ~= config.tileId then setPlayerStorageValue(cid, config.storage, -1) end end1 ponto
-
Claro que passou, ficou até melhor que as dele ótimo! Nice job bro Falando nisso, o pack ta a cara do Anyur AEHUHAUE <31 ponto
-
Pedido
homersapiens reagiu a Codeur por uma questão
não po esperei novos detalhes eu tinha colocado o meu e voce não avalio..1 ponto -
Valeu ;d -Remake de um antigo mapa meu + entrada para DHq ... http://2.imgland.net/L-Gr8-.png1 ponto
-
[Encerrado] [Pedido] script shiny stone
interpolbr reagiu a wreymar por um tópico no fórum
Tem esse Ae Cara pois usei uma vez http://www.xtibia.com/forum/topic/224682-shiny-stone-mais-simples/?p=15870751 ponto -
[Gesior AAC] Iniciando, reiniciando, e fechando servidor pelo site...
VictorWEBMaster reagiu a tyuahoi por um tópico no fórum
Olá xtibianos, vim trazer um script que acredito eu seja um pouco útil e facilite a vida de algumas pessoas... Bom o script é simples você tem total controle sobre seu servidor pelo site, exemplo: você pode fechar ele, abrir, reiniciar tudo através do site do servidor. bom vamos ao que interessa na pasta htdocs do seu site faça um arquivo .php chamado restarter e cole isso: <?PHP $path = $config['site']['server_path']; $exename = "NOME DO EXECUTAVEL.exe"; if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) { if($action == "") { $main_content .= '<table style=\'clear:both\' border=0 cellpadding=0 cellspacing=0 width=\'100%\'> <tr bgcolor='.$config['site']['darkborder'].'><td width="150"><font color="red"><b>Option</b></font></td><td><font color="red"><b>Description</b></font></td></tr> <tr bgcolor='.$config['site']['lightborder'].'><td width="150"><b><a href="?subtopic=restarter&action=restart">Reiniciar</a></b></td><td><b>Fechar o servidor e abri-lo novamente</b></td></tr> <tr bgcolor='.$config['site']['darkborder'].'><td width="150"><b><a href="?subtopic=restarter&action=kill">Fechar Servidor</a></b></td><td><b>Fechar todos os processos do servidor imediatamente</b></td></tr> <tr bgcolor='.$config['site']['lightborder'].'><td width="150"><b><a href="?subtopic=restarter&action=start">Iniciar Servidor</a></b></td><td><b>iniciar servidor</b></td></tr> <tr bgcolor='.$config['site']['darkborder'].'><td width="150"><b><a href="?subtopic=restarter&action=shutdown">Fechar o servidor</a></b></td><td><b>Fecha o servidor após 5 minutos</b></td></tr> <tr bgcolor='.$config['site']['lightborder'].'><td width="150"><b><a href="?subtopic=restarter&action=shutdownlong">avisar os players do fechamento do servidor</a></b></td><td><b>Performs safe shutdown after broadcast warning and 5 minutes delay.</b></td></tr> <tr bgcolor='.$config['site']['darkborder'].'><td width="150"><b><a href="?subtopic=adminpanel">Back to admin panel</a></b></td><td><b>Go back to admin panel.</b></td></tr> </table>'; } getcwd(); chdir($path); if($action == "restart") { exec('TASKKILL /F /IM "'.$exename.'"'); $command = 'START/HIGH '.$exename; $tmpnam = "temp.bat"; $fp = fopen ($tmpnam, "w"); fwrite($fp, $command); fclose ($fp); $foo = @popen($tmpnam, 'r'); $main_content .='<center>Server restarted.<br><b><a href="?subtopic=restarter">Back</a></center>'; } if($action == "kill"){exec('TASKKILL /F /IM "'.$exename.'"'); $main_content .='<center>Server closed.<br><b><a href="?subtopic=restarter">Back</a></center>';} if($action == "start") { $command = 'START/HIGH '.$exename; $tmpnam = "temp.bat"; $fp = fopen ($tmpnam, "w"); fwrite($fp, $command); fclose ($fp); $foo = @popen($tmpnam, 'r'); $main_content .='<center>Server started. <br><b><a href="?subtopic=restarter">Back</a></center>'; } if($action == "shutdown") { $SQL->query('UPDATE '.$SQL->tableName('z_shut').' SET `shutdown`="1", `long`="0" WHERE id = "1";'); $main_content .='<center>Server will shut down soon. <br><b><a href="?subtopic=restarter">Back</a></center>'; } if($action == "shutdownlong") { $SQL->query('UPDATE '.$SQL->tableName('z_shut').' SET `shutdown`="1", `long`="1" WHERE `id` = "1";'); $main_content .='<center>Server will shut down soon. <br><b><a href="?subtopic=restarter">Back</a></center>'; } } else { $title = $GLOBALS['config']['server']["serverName"]." - OTS"; $main_content .= 'Invalid subtopic. Can\'t load page.'; } ?> Não esqueçam de colocar o nome do executável do servidor na 3º linha! agora vá em index.php e adicione: case "restarter": $topic = "Restarter"; $subtopic = "restarter"; include("restarter.php"); break; Antes de: case "latestnews": $topic = "Latest News"; $subtopic = "latestnews"; include("latestnews.php"); break; Agora em adminpanel.php adicione: <tr bgcolor='.$config['site']['lightborder'].'><td width="150"><b><a href="?subtopic=restarter">Restarter</a></b></td><td><b>Here you start, stop and restart server!</b></td></tr> Antes de </table> Agora na sua database execute isso: CREATE TABLE IF NOT EXISTS `z_shut` ( `id` int(11) NOT NULL AUTO_INCREMENT, `shutdown` int(11) NOT NULL DEFAULT '1', `long` int(11) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; INSERT INTO `z_shut` (`id`, `shutdown`, `long`) VALUES (1, 0, 1); agora na pasta do seu servidor vá em data\globalevents\scripts faça um novo arquivo .lua com o nome de restarter e cole isso: local message = { "Server will shut down in 5 minutes. Dont ask me why, I'm only script", "Server will shutdown in 2 minutes, please log off", "Server is going down..." } local class = 21 function shutDown() doBroadcastMessage(message[3], class) doSetGameState(GAMESTATE_SHUTDOWN) return TRUE end function broadcast() doBroadcastMessage(message[2], class) return TRUE end function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_shut WHERE `id` = 1;") if(result_plr:getID() ~= -1) then while(true) do if(tonumber(result_plr:getDataInt("shutdown"))==1) then db.executeQuery("UPDATE z_shut SET shutdown = '0' WHERE id = '1';") if(tonumber(result_plr:getDataInt("long"))==0) then doBroadcastMessage(message[3], class) doSetGameState(GAMESTATE_SHUTDOWN) else doBroadcastMessage(message[1], class) addEvent(broadcast, 3*60*1000, {}) addEvent(shutDown, 5*60*1000, {}) end end if not(result_plr:next()) then break end end end result_plr:free() return TRUE end e por fim em globalevents.xml adicione: <globalevent name="safe_shutdown" interval="5" event="script" value="restarter.lua"/> Sinceramente espero que seja útil para vocês isso, duvidas podem postar que estarei ajudando...1 ponto -
[SHOW-OFF] Myth~~
JustinnoTibianno reagiu a xXMythuszXx por um tópico no fórum
http://www.youtube.com/watch?v=UWksjw5y2z81 ponto -
Naruto Atarashi Online É pessoal depois de quase dois anos, está ai o Nrtao V.2. Agora terá updates frequentes então esse é o começo.... Menu: ├ Informações; ├ Ajustes; ├ Erros; ├ Senha; ├ Prints; ├ Download; ├ Scan; └ Créditos. Informações Nome Do Servidor: Naruto Atarashi Online Max Usuários Online: Quanto seu computador e net aguentarem. Recomendado até 100 (Mapa muito pequeno). Ele Contém:"Mapa Próprio" ; "Jutsus Próprio" / ( Diga "!jutsus" para saber Seu Jutsu) "Transformações" "Quest Própria". Ajustes 0.1 - Modificado Dat e Spr novamente 0.2 - Arrumado Outifts Dos Personagens E Monstros 0.3 - Adicionado mapa novo (Ainda sendo feito) 0.4 - Novos Montros 0.5 - Novos Trainers 0.6 - Novas Houses 0.7 - Criada Uma Arena PvP 0.8 - Arrumado Sistema Ver Jutsus 0.9 - Adicionado 19 vocações todas com transformações 1.0 - Arrumado Jutsus Que Não Funcionavam / Alguns novos Erros 0.1 - Pode Se Levar Debug Em Alguns Montros / (Ainda Um Pouco) 0.2 - Pode se levar debug com o GOD quando dizer "!Justus" 0.3 - Mapa pequeno ainda sendo feito. Obs - Se Achar Mais, Basta Entrar Em Contato Com: teamatrs@gmail.com Senha Senha Para Entrar No Server / (Do GOD): god / god Prints Download's NrtAo V.2 Scan NrtAo V.2 Créditos 97% Eu (Avuenja) - Motivo: "Edição Final / Ajustes Finais / Implementação De Sistemas / E Outros". 3% (Stigal) - Motivo: "Por ainda conter alguns dos seus ajustes".1 ponto
-
RADBR FULL - NAUGHT ORIGINAL [mundo]Novas Quest[/mundo] Huskar - 50kk Experiencia Demon Legs Anihi King Boots King legs Lagarto Escolhido - Falta Por Bau. Todas Quest de Nighthaven Funcionando. Entre Outas. Prints Do Mapa e Alguns monstro - BOSS Link de Download Abaixo http://www.4shared.com/zip/61Sm41iO/Naught_v860.html1 ponto
-
data/movements/scrips cria tiledamorte.lua e coloca function onStepIn(cid, position, fromposition) doCreatureAddHealth(cid, -getCreatureMaxHealth(cid)) doSendMagicEffect(position, CONST_ME_MORTAREA)end movements.xml <movement type="StepIn" actionid="3212" event="Script" value="tiledamorte.lua"/> coloca actionid 3212 no tile1 ponto
-
Elven Kingdom Hydras Few images are unfinished, I know this.1 ponto
-
1 ponto