Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 02/08/14 em todas áreas
-
ARCANIA WAR 9.6 VIDEO PROMOCIONAL E NOVIDADES!
LaercioLCLB e um outro reagiu a mateusaires3 por um tópico no fórum
SERVIDOR AINDA SERÁ INAUGURADO ISSO E APENAS UMA PREVIA DO QUE VEM PORAI ! VÍDEO PROMOCIONAL: Venha jogar em breve ARCANIA-WAR , o maior e melhor servidor Global da atualidade! • Versão 9.6 • Cliente Próprio • Servidor Dedicado 24 HORAS. • Eventos PvP. • Sem Ping / Latência. • Experiência por Estagios [Começa em 400x e termina em 3x] • capacidade para 1000 JOGADORES . • Mapa Único! [ÚNICO GLOBAL FULL] • Items únicos e inovadores/ diversas quests Próprias do servido r! • Modelo de runas & magias moderno, completo e perfeito sem bugs ! • Vocações super equilibradas. • Server com recursos Únicos e Inéditos. • Website com recursos Únicos e Inéditos. • Equipe Experiente e Dedicada ! • Eventos promocionais a cade mês • Carlin TOTALMENTE COMPLETA ! • Thais TOTALMENTE COMPLETA ! • Kazordoon TOTALMENTE COMPLETA ! • Venore TOTALMENTE COMPLETA ! • e todas as outras cidades... #Zombie Event #Castle War #Training Offline + Training Rooms! #Cidades Exclusivas! # •TODAS AS CIDADES DO TIBIA OFICIAL SÃO PARA FREE ACCOUNTS! •TODAS AS MÁGIAS OFICIAIS DO TIBIA SÃO PARA FREE ACCOUNTS! •COMEÇA COM 10 DIAS DE VIP! e COM 3 PONTOS DE DONATE ! Estamos atrás de 2 Game Master com experiencia contato: Skype: Mateusaires32 pontos -
Eorzea Server - RL Map 9.81 FULL 100%
marcksdeus reagiu a Animal Pak por um tópico no fórum
Informações: Bug da vip removido; 150+ Quests; Novas áreas, algumas importadas de outros mapas; Todos os items 9.81 funcionando; Erro dos NPC's corrigidos; Respawn do mapa 100% Novas áreas de Carlin, Kazz, Port Hope, que possuem Coryms, Dragons e Lost Dwarves; 33 montarias agregadas + 70 novas obtidas com mountdoll; Respawns melhorados; Diversos bugs removidos entre outras coisas melhoradas; Servidor 100% estável livre de lag e erros; Imagens: Download Server: https://mega.co.nz/#...9XlGgGeXW0oza54 http://www.mediafire.com/?828xjbusvaplaem Scan Server: Não realizei porque o tamanho ultrapassa o limite do virustotal; Importante: Servidor compilado para rodar em Windows 64Bit; Créditos: tfs Team kalyst001 NvSo BT Outros.. SmoOkeR1 ponto -
Informações: Tasks adquiridas ou canceladas em NPC As tasks podem ser feitas repetidas vezes, mas somente uma vez por dia e apenas uma de cada vez (tempo configurável) Comando para acompanhar o andamento da task Atualização (31/08/13) > agora é possível ganhar itens a cada vez que a task é terminada Atualização (05/09/13) > VÁRIOS bugs corrigidos e algumas novas opções adicionadas Agora você pode escolher se quer que as tasks sejam feitas por level ou na ordem Recomendo a todos os que baixaram alguma versão anterior que atualizem Códigos: Tags: Em creaturescripts.xml, adicione: <event type="kill" name="Tasks" script="taskkill.lua"/> Em talkactions.xml, adicione: <talkaction words="!countkills" event="script" value="countkills.lua"/> No arquivo creaturescripts/scripts/login.lua, adicione: registerCreatureEvent(cid, "Tasks") Scripts: Crie um arquivo tasklib.lua em lib Crie um arquivo countkills.lua e adicione em talkactions/scripts Crie um arquivo taskkill.lua em creaturescripts/scripts Crie um arquivo NomedoNPC.xml em npcs Crie um arquivo tasks.lua em npcs/scripts Configuração: É feita toda no tasklib.lua: Configuração dos monstros: taskmonsters ={[1] = {'rotworm', killstotal = 100},[2] = {'cyclop','cyclops','cyclops smith','cyclops drone', killstotal = 100},[3] = {'dragon','dragon lord','frost dragon', killstotal = 100}} - O [número] deve seguir a ordem - A primeira parte deve ser o nome dos monstros da task no singular. Por isso existem 'cyclop' (singular) e 'cyclops' (nome do monstro) - Os nomes de todos os monstros de cada task devem aparecer. Por exemplo, na task de cyclops, qualquer tipo deles servirá para completar a task. - killstotal é a quantidade de monstros que você deve matar para terminar a task. Configuração das recompensas: taskreward = -- em gps{[1] = {money = 5000,xp = 20000, points = 3}, -- nenhum item será adicionado e 3 pontos de task serão adicionados[2] = {money = 10000,xp = 50000, item = 2458}, -- 1 item(2458) será adicionado e nenhum ponto de task[3] = {money = 20000,xp = 75000,item = 2458,amount = 2, points = 5} -- aqui serão adicionados 2 itens com id 2458 (se ele for amontoável - stackable) e 5 pontos de task} - O [número] deve ter a mesma ordem dos monstros - money é a quantidade de dinheiro que cada um ganha ao terminar a task correspondente - xp é a quantidade de experiência ganha ao terminar a task correspondente - item é o ID do item que ganha ao terminar a task correspondente - points significa quantos pontos de task o personagem irá ganhar quando terminar a task correspondente Adicionando novos monstros: - Vou explicar com um exemplo de como adicionar uma task de hydra/serpent spawn No taskmonsters: (REPARE NA VÍRGULA QUANDO ADICIONEI UMA NOVA LINHA!) taskmonsters ={[1] = {'rotworm', killstotal = 100},[2] = {'cyclop','cyclops','cyclops smith','cyclops drone', killstotal = 100},[3] = {'dragon','dragon lord','frost dragon', killstotal = 100},[4] = {'hydras e serpent spawn','hydra','serpent spawn',killstotal = 200}} No taskrewards: taskreward = -- em gps{[1] = {money = 5000,xp = 20000, points = 3}, -- nenhum item será adicionado e 3 pontos de task serão adicionados[2] = {money = 10000,xp = 50000, item = 2458}, -- 1 item(2458) será adicionado e nenhum ponto de task[3] = {money = 20000,xp = 75000,item = 2458,amount = 2, points = 5}, -- aqui serão adicionados 2 itens com id 2458 (se ele for amontoável - stackable) e 5 pontos de task[4] = {money = 30000, xp = 5000, item = 2450, amount = 1, points = 3}} Agora na função doStartTask(cid) - somente se quiser que as tasks sejam feitas por level - O que aconteceu: - Antes até o lvl 20 o jogador recebia a task dos rotworms, até o lvl 50, a task dos cyclops e daí pra frente, task dos dragons. - As tasks iniciais são as mesmas, mas até o lvl 80 é a task dos dragons e daí pra frente, o jogador receberá a task das hydras e serpent spawns. Considerações finais: O sistema de pontos apenas adiciona e checa a quantidade de pontos: você deve escolher se quer adicionar alguma coisa a partir deles. Testei profundamente e corrigi todos os erros que encontrei, postem se encontrarem mais algum, enviem o log do erro que farei o possível para consertar.1 ponto
-
[Pokemon] Servidor Skyfall - Completo
Josemir rosendo reagiu a Gabrieltxu por um tópico no fórum
Conteudo Retirado.1 ponto -
Phoenix OT
BrunooMaciell reagiu a champzika por um tópico no fórum
Phoenix OT (8.6) Mapa Proprio. V 1.0 Mais de 9 Cidades Hunts espalhadas pelo mapa TFS 4.0 Varias novas quest , Itens vip é muito mais. Para um Funcionamento perfeito é melhor usar o mysql ( incluso com todas as tabelas adicionadas ) com site gesior , na seção de download de website tem varios sites otimos. War System , WOE , ZUMBIE. Prints : DICA : Servidor configurado é feito para um LOW XP ! no maximo 100x , itens vips é quest configurados para low level . Download : Scan : Creditos :1 ponto -
Olá a todos; Há cinco meses vem sido desenvolvido a mais nova versão do antigo servidor "Tibia Farm", agora com mapa pronto, sistemas a balancear, ou seja o servidor encontra-se em estágio final de desenvolvimento; Novas classes foram criadas substituindo as originais do Tibia, trazendo uma nova experiência aos jogadores juntamente com o antigo sistema inovador de fazendas; A seguir algumas fotos tiradas do novo mapa, trazendo um pouco das novidades; Desenvolvido; Waterson;Scripter/Client Maker Phantom;Mapper/Rpg Maker Tópico Antigo: http://www.xtibia.com/forum/topic/201957-tibia-farm-server/ https://www.facebook.com/TibiaFarmOficial -- Pagina Recém Criada +PRINTS ABAIXO1 ponto
-
A equipe do Elënor está doando este layout para uso livre, façam bom uso. °Preview° °Download° °Scan° °+PSD+°1 ponto
-
Talvez funcione, não testei Obs: Edite aonde tem tipo Cidade1, Cidade2,Cidade 3 e coloque o Nome das cidades, local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local pos = {x=152,y=58,z=7} -------------- Pos para onde o player sera levado local itemid = 1954 ----------------- Id do item que vai ser removido do player 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 -- Don"t forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({"thais"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you seek a passage to Thais for " .. (getConfigInfo("freeTravel") and "free?" or "180 gold?")}) travelNode:addChildKeyword({"yes"}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 0, destination = {x=32310, y=32210, z=6} }) travelNode:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "We would like to serve you some time."}) local travelNode = keywordHandler:addKeyword({"cidade1"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you seek a passage to Carlin for " .. (getConfigInfo("freeTravel") and "free?" or "110 gold?")}) travelNode:addChildKeyword({"yes"}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 0, destination = {x=1010, y=1198, z=6} }) travelNode:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "We would like to serve you some time."}) local travelNode = keywordHandler:addKeyword({"cidade2"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you seek a passage to Cidade2 for " .. (getConfigInfo("freeTravel") and "free?" or "150 gold?")}) travelNode:addChildKeyword({"yes"}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 0, destination = {x=1383, y=525, z=6} }) travelNode:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "We would like to serve you some time."}) local travelNode = keywordHandler:addKeyword({"cidade3"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Do you seek a passage to Cidade3 for " .. (getConfigInfo("freeTravel") and "free?" or "150 gold?")}) travelNode:addChildKeyword({"yes"}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 0, destination = {x=398, y=989, z=6} }) travelNode:addChildKeyword({"no"}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = "We would like to serve you some time."}) function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, "offer") or msgcontains(msg, "help") then selfSay("Eu posso te levar a TAL lugar por um "..getItemNameById(itemid).." item, fale {travel} se quizer viajar.", cid) talkState[cid] = 0 elseif msgcontains(msg, 'travel') then if doPlayerRemoveItem(cid, itemid, 1) then selfSay("Boa viagem.", cid) doTeleportThing(cid, pos) else selfSay("Voce nao tem o item nescessario.", cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())1 ponto
-
1 ponto
-
hauehauaeh tinha uma render bem legal e vi que tu usava esse avatar .-. \o1 ponto
-
Tibia Farm Server -/- Está de Volta
Desnecessario reagiu a Waterson por um tópico no fórum
Acha msm, qualquer coisa eu troco, pf de mais sugestões palpites e etc, vou retirar o Lion aqui, obrigado pela dica1 ponto -
Efeitos
Duuhzinhow reagiu a tiago1234 por uma questão
o /z no maximo 65, e no /x no maximo 41... Complicadinho de entender heim.. kkkk . kkkkkkkkkkkkkkkk.... Bom eu fiz assim no meu eu fui em data\talkactions\scripts\magiceffect lá vai ta mais ou menos assim: function onSay(cid, words, param, channel) param = tonumber(param) if(not param or param < 0 or param > CONST_ME_LAST) then doPlayerSendCancel(cid, "Numeric param may not be lower than 0 and higher than " .. CONST_ME_LAST .. ".") return true end doSendMagicEffect(getCreaturePosition(cid), param) return true end No lugar que ta colorido vc deixa como o numero 300, ae vai fica assim: function onSay(cid, words, param, channel) param = tonumber(param) if(not param or param < 0 or param > 300) then doPlayerSendCancel(cid, "Numeric param may not be lower than 0 and higher than " .. 300 .. ".") return true end doSendMagicEffect(getCreaturePosition(cid), param) return true end Pronto!!! salve e feche e testa s effects ....1 ponto -
Golduck em ação... Curtam nossa página - Darkxpoke - Dxp1 ponto
-
Provavelmente e a sua CPU que não ta aguentando o programa ou ela ta lenta, tente Fazer Scan e Limpar Com um Anti-Virus1 ponto
-
Teleport Alavancha
Shoguns reagiu a MasterDino por uma questão
Ta meio gambiarra mas deve funcionar: function onUse(cid, item, frompos, item2, topos) local config = { [1] = {x=XX, y=XX, z=XX}, -- os lugares aletorios [2] = {x=XX, y=XX, z=XX} } local playerpos = {x=XX, y=XX, z=XX} -- lugar que o player prescisa estar local level = X -- level que o player ira necessitar if item.itemid == 1945 then if isPlayer(getTopCreature(playerpos).uid) then if getPlayerLevel(getTopCreature(playerpos).uid) >= level then if getTopCreature(config[1]).uid > 0 and getTopCreature(config[2]).uid > 0 then doPlayerSendCancel(cid,"O lugar de destino esta oculpado.") return true end while true do local random = config[math.random(#config)] if getTopCreature(random).uid < 1 then doTeleportThing(getTopCreature(playerpos).uid,random) doTransformItem(item.uid,1946) break end end else doPlayerSendCancel(cid,"Voce prescisa ser level "..level.." ou maior.") end return true end elseif item.itemid == 1946 then doTransformItem(item.uid,1945) end return true end1 ponto -
Não posso divulgar nomes, pois eles não querem, mas posso dizer que são 3.1 ponto
-
Tenta assim: Cria esse arquivo (.lua) no MOVEMENTS com o nome freeblock mesmo A tag do movements.xml é: <movevent type="StepIn" actionid="1200" event="script" value="freeblock.lua"/>1 ponto
-
[Pedido] Cliente Proprio.
jhonnywilem reagiu a homersapiens por um tópico no fórum
Bom, caso queira. AQUI ESTÁ O CLIENT1 ponto -
Tag.xml <talkaction words="!changesex;/changesex;/changender" script="arquivo.lua" /> Arquivo.lua function onSay(cid, words, param, channel) local config = {costPremiumDays = 2} if(getPlayerSex(cid) >= 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You cannot change your gender.") return TRUE end if(getPlayerPremiumDays(cid) < config.costPremiumDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, not enough premium time- changing gender costs " .. config.costPremiumDays .. " days.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end if(getPlayerPremiumDays(cid) < 65535) then doPlayerAddPremiumDays(cid, -config.costPremiumDays) end if(getPlayerSex(cid) == PLAYERSEX_FEMALE) then doPlayerSetSex(cid, PLAYERSEX_MALE) else doPlayerSetSex(cid, PLAYERSEX_FEMALE) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have changed your gender and lost " .. config.costPremiumDays .. " days of premium time.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) return TRUE end1 ponto
-
[Pedido] Cliente Proprio.
jhonnywilem reagiu a FlamesAdmin por um tópico no fórum
http://www.xtibia.com/forum/topic/221916-crio-clientes-de-otserv-do-80-ate-o-981-so-pedir/1 ponto -
[Encerrado] [ Pedido ] Comando !buy box4
jhonatanp reagiu a DuuhCarvalho por um tópico no fórum
function onSay(cid, words, param) local diamond = 2145 -- id do diamond local remove = 4 -- quanto de diamond precisa local box = 11641 -- id da box if (doPlayerRemoveItem(cid, diamond, remove) == TRUE) then doPlayerAddItem(cid, box, 1) doPlayerSendTextMessage(cid, 22, "Você comprou a box.") else doPlayerSendCancel(cid, "Você precisa ter "..remove.." Diamond para compra a box.") end return TRUE end1 ponto -
Duas alternativas... uma delas é alterar a formula de up-level... No player.h, procure por "static uint64_t getExpForLevel(uint32_t lv)" E altere isso: uint64_t exp = ((50ULL * lv * lv * lv) - (150ULL * lv * lv) + (400ULL * lv)) / 3ULL; por algo como isso: uint64_t exp = ((5ULL * lv * lv * lv) - (15ULL * lv * lv) + (40ULL * lv)) / 30ULL; Com isso o máximo será 3,3kk mais ou menos... Mas isso deixará 100 vezes mais fácil upar.. então recomendo diminuir a exp do ot.. A outra é deixar a exp/level com um valor maior de espaço... tipo colocar uint128_t e o do level uint62_t(não sei se é necessário) neles.. Mas não tenho certeza que vai funcionar.. Para esta maneira é melhor esperar alguem que saiba melhor que eu. PS: AMBAS AS FORMAS PRECISAM DAS SOURCES DO OT.1 ponto
-
Screen Of the Day + like do facebook
VictorWEBMaster reagiu a Piabeta Kun por uma questão
disponha, sempre que precisar so posatr aqui, so tenha um cado de paciencia....1 ponto -
ataques que ferem pokemons do mesmo elemento
homersapiens reagiu a zipter98 por um tópico no fórum
Bom, fiz bem rápido aqui (até porquê, não é algo que se demore para fazer). Um exemplo: um ataque do elemento fogo é utilizado em um Charizard. Então, por um de seus elementos serem fogo, o dano será anulado. O código é basicamente isso que vou passar. local elemental_table = { --[damage] = "elemento", [GROUNDDAMAGE] = "ground", [GHOSTDAMAGE] = "ghost", [FIREDAMAGE] = "fire", } if elemental_table[damageCombat] then local element = elemental_table[damageCombat] if pokes[getCreatureName(cid)] then if pokes[getCreatureName(cid)].type == element or pokes[getCreatureName(cid)].type2 == element then return false end end end1 ponto -
[Arquivado][POKETIBIA] Servidor do Bolz!
FlamesAdmin reagiu a SamueLGuedes por um tópico no fórum
Cara o assunto já acabou, então por favor não fique falando dos outros, chega de falar sobre o meu servidor, pode ver lá meu topico está fechado, então sem mais isso por favor. " e eu nao fico vendo porno '-', eu tenho namo entao se ele me ve eu fazendo isso eu apanho dela '-', ela e ruiva então e bem agressiva. mas eu amo ela kkkk". sem mais.1 ponto -
ataques que ferem pokemons do mesmo elemento
homersapiens reagiu a zipter98 por um tópico no fórum
Desculpe, mas não entendi muito bem. e.e Pensei que o quê você queria era quê spells do mesmo elemento do pokémon alvo seriam anuladas.1 ponto -
Talkaction simples...
Duuhzinhow reagiu a MasterDino por uma questão
local texto = [[ESCREVE AQUI! ]] function onSay(cid, words, param) doShowTextDialog(cid, 2175, texto) return TRUE end1 ponto -
1 ponto
-
Futuro lancher do DarkXPoke! Curtiram? DarkXPoke FÃ PAGE1 ponto
-
O server ta off desde sla que hrs nao vai voltar n ?1 ponto
-
[ Pokémon ] Lunus OT Completo
Affzesquecioresto reagiu a Benny por um tópico no fórum
Então, reputação é só clicar em "curtir" ali embaixo do post :3 Abraços, Flinkton1 ponto -
[Encerrado]Projeto Pokémon World
carlos2013 reagiu a felipemuniz2013 por um tópico no fórum
Projeto Pokémon World Bom galera, o servidor ira ser feito na base do erondino, por enquanto essa foto ai de cima foi tirada de um pda que eu usei para testar as sprites, já estou adicionando tudo no erondino, preciso de ajuda de scripters e programadores para desenvolver esses sistemas no erondino e tbm novos sistemas, como todos viram não é um servidor qualquer, tem como base as sprites do gba e sera um sucesso sem duvidas, bom, por enquanto estou trabalhando solo e esta muito complicado, preciso da ajuda de vcs! O servidor é sério preciso da ajuda de pessoas serias que queiram mesmo ajudar. Faz um mês que estou trabalhando nessas sprites tenho mais de 3 mil já feitas, em breve novas prints mostrando o mapa do jogo. Nome Completo: idade: Área onde atua com o tempo de experiencia: Email ou Facebook: Horário disponivel: _______________________________________________________________ Vagas Disponíveis por enquanto = Scripter [1] Programador [1]1 ponto -
[Pokemon] Servidor Skyfall - Completo
Affzesquecioresto reagiu a AnjoCelestial por um tópico no fórum
Gabriel o Serve ta com bug nos corpse e Lot mais vlw pelo o conteúdo e muito obrigado por compartilhar! ------------------------- ------------------------- Tenho uma duvida!Tem as sprter adc no serve so precisando criar as tag ? Ficaria grato se me dissese1 ponto -
Nto Akatsuki Novo Server Narutibia
ojabichavai reagiu a TobiSusanoo por um tópico no fórum
Finalizado1 ponto -
[Arquivado]Ideias Sobre A Seção De Websites!
VictorWEBMaster reagiu a Piabeta Kun por um tópico no fórum
Olá eu sou PiabetaMan01 colaborador desta seção e estarei criando esse topico para postagens de ideias sobre melhorias de nossa seção websites. O intuito desse topico e discutirmos sobre as possiveis mudanças e melhorias da seção,.então se você tem uma ideia e quer ser ouvido, basta postar sua ideia abaixo que veremos as ideias de todos e se for cabivel estarei passando para a coordenação e para a direção! Regras do topico: Não será permitido nada sobre outra seção! Não será permitido brigas e xingamentos podendo levar -Rep e até alerta! Todas as ideias serão lidas e discutidas por todos que quizerem cooperar, então tenha paciêcia pois todos seram repondidos e não repitam a mesma ideia já postada! Floods e double posts não seram permitidos! E atitudes destrutivas não seram toleradas! Aguardo a opinião de todos!1 ponto -
[9.46] The Forgotten Server V0.3.7-Preview (Crying Damson)
ratotooooo reagiu a vinioliveira por um tópico no fórum
npc eva.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Eva" script="data/npc/scripts/Eva.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="136" head="96" body="60" legs="95" feet="0" addons="0"/> <voices> <voice text="Better deposit your money in the bank where it's safe." interval2="100" margin="1" yell="no"/> </voices> <parameters> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="bank;" /> <parameter key="keyword_reply1" value="We can change money for you. You can also access your bank account." /> <parameter key="message_greet" value="Welcome |PLAYERNAME|! What business do you have in the Tibian bank today?"/> <parameter key="message_farewell" value="Good bye, |PLAYERNAME|."/> <parameter key="message_walkaway" value="Good bye, |PLAYERNAME|." /> </parameters> </npc> Script local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)[/u] [u]local thinkMsg = { "It's a wise idea to store your money in a bank account." }[/u] [u]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[/u] [u]npcHandler:addModule(FocusModule:new())local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)[/u] [u]local Topic, count, transferTo_name = {}, {}, {}[/u] [u]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[/u] [u]function thinkCallback(cid) local rand = math.random(100) if thinkMsg[rand] then npcHandler:say(thinkMsg[rand]) end return true end[/u] [u]local function getCount(string) local b, e = string:find('%d+') return b and e and tonumber(string:sub(b, e)) or -1 end[/u] [u]local function playerExists(name) local v, ret = db.getResult("SELECT `name` FROM `players` WHERE `name` = " .. db.escapeString(name) .. ";"), nil if v:getID() ~= -1 then ret = v:getDataString('name') end v:free() return ret end[/u] [u]function greetCallback(cid) Topic[cid], count[cid], transferTo_name[cid] = 0, 0,0 return true end[/u] [u]function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false elseif msgcontains(msg, 'balance') then npcHandler:say('Your account balance is ' .. getPlayerBalance(cid) .. ' gold.', cid) Topic[cid] = 0 elseif msgcontains(msg, 'deposit') and msgcontains(msg, 'all') then if getPlayerMoney(cid) > 0 then count[cid] = getPlayerMoney(cid) npcHandler:say('Would you really like to deposit ' .. count[cid] .. ' gold?', cid) Topic[cid] = 2 else npcHandler:say('Please tell me how much gold it is you would like to deposit.', cid) Topic[cid] = 1 end elseif msgcontains(msg, 'deposit') then if getCount(msg) == 0 then npcHandler:say('You are joking, aren\'t you??', cid) Topic[cid] = 0 elseif getCount(msg) ~= -1 then if getPlayerMoney(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Would you really like to deposit ' .. count[cid] .. ' gold?', cid) Topic[cid] = 2 else npcHandler:say('You do not have enough gold.', cid) Topic[cid] = 0 end else npcHandler:say('Please tell me how much gold it is you would like to deposit.', cid) Topic[cid] = 1 end elseif Topic[cid] == 1 then if getCount(msg) == -1 then npcHandler:say('Please tell me how much gold it is you would like to deposit.', cid) Topic[cid] = 1 else if getPlayerMoney(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Would you really like to deposit ' .. count[cid] .. ' gold?', cid) Topic[cid] = 2 else npcHandler:say('You do not have enough gold.', cid) Topic[cid] = 0 end end elseif msgcontains(msg, 'yes') and Topic[cid] == 2 then if doPlayerRemoveMoney(cid, count[cid]) then doPlayerSetBalance(cid, getPlayerBalance(cid) + count[cid]) npcHandler:say('Alright, we have added the amount of ' .. count[cid] .. ' gold to your balance. You can withdraw your money anytime you want to.', cid) else npcHandler:say('I am inconsolable, but it seems you have lost your gold. I hope you get it back.', cid) end Topic[cid] = 0 elseif msgcontains(msg, 'no') and Topic[cid] == 2 then npcHandler:say('As you wish. Is there something else I can do for you?', cid) Topic[cid] = 0 elseif msgcontains(msg, 'withdraw') then if getCount(msg) == 0 then npcHandler:say('Sure, you want nothing you get nothing!', cid) Topic[cid] = 0 elseif getCount(msg) ~= -1 then if getPlayerBalance(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Are you sure you wish to withdraw ' .. count[cid] .. ' gold from your bank account?', cid) Topic[cid] = 4 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = 0 end else npcHandler:say('Please tell me how much gold you would like to withdraw.', cid) Topic[cid] = 3 end elseif Topic[cid] == 3 then if getCount(msg) == -1 then npcHandler:say('Please tell me how much gold you would like to withdraw.', cid) Topic[cid] = 3 else if getPlayerBalance(cid) >= getCount(msg) then count[cid] = getCount(msg) npcHandler:say('Are you sure you wish to withdraw ' .. count[cid] .. ' gold from your bank account?', cid) Topic[cid] = 4 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = 0 end end elseif msgcontains(msg, 'yes') and Topic[cid] == 4 then if getPlayerBalance(cid) >= count[cid] then doPlayerAddMoney(cid, count[cid]) doPlayerSetBalance(cid, getPlayerBalance(cid) - count[cid]) npcHandler:say('Here you are, ' .. count[cid] .. ' gold. Please let me know if there is something else I can do for you.', cid) else npcHandler:say('There is not enough gold on your account.', cid) end Topic[cid] = 0 elseif msgcontains(msg, 'no') and Topic[cid] == 4 then npcHandler:say('The customer is king! Come back anytime you want to if you wish to withdraw your money.', cid) Topic[cid] = 0 elseif msgcontains(msg, 'transfer') then if getCount(msg) == 0 then npcHandler:say('Please think about it. Okay?', cid) Topic[cid] = 0 elseif getCount(msg) ~= -1 then count[cid] = getCount(msg) if getPlayerBalance(cid) >= count[cid] then npcHandler:say('Who would you like to transfer ' .. count[cid] .. ' gold to?', cid) Topic[cid] = 6 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = 0 end else npcHandler:say('Please tell me the amount of gold you would like to transfer.', cid) Topic[cid] = 5 end elseif Topic[cid] == 5 then if getCount(msg) == -1 then npcHandler:say('Please tell me the amount of gold you would like to transfer.', cid) Topic[cid] = 5 else count[cid] = getCount(msg) if getPlayerBalance(cid) >= count[cid] then npcHandler:say('Who would you like to transfer ' .. count[cid] .. ' gold to?', cid) Topic[cid] = 6 else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = 0 end end elseif Topic[cid] == 6 then local v = getPlayerByName(msg) if getPlayerBalance(cid) >= count[cid] then if v then transferTo_name[cid] = msg npcHandler:say('Would you really like to transfer ' .. count[cid] .. ' gold to ' .. getPlayerName(v) .. '?', cid) Topic[cid] = 7 elseif playerExists(msg):lower() == msg:lower() then transferTo_name[cid] = msg npcHandler:say('Would you really like to transfer ' .. count[cid] .. ' gold to ' .. playerExists(msg) .. '?', cid) Topic[cid] = 7 else npcHandler:say('This player does not exist.', cid) Topic[cid] = 0 end else npcHandler:say('There is not enough gold on your account.', cid) Topic[cid] = 0 end elseif Topic[cid] == 7 and msgcontains(msg, 'yes') then if getPlayerBalance(cid) >= count[cid] then local v = getPlayerByName(transferTo_name[cid]) if v then doPlayerSetBalance(cid, getPlayerBalance(cid) - count[cid]) doPlayerSetBalance(v, getPlayerBalance(v) + count[cid]) npcHandler:say('Very well. You have transferred ' .. count[cid] .. ' gold to ' .. getPlayerName(v) .. '.', cid) elseif playerExists(transferTo_name[cid]):lower() == transferTo_name[cid]:lower() then doPlayerSetBalance(cid, getPlayerBalance(cid) - count[cid]) db.executeQuery('UPDATE `players` SET `balance` = `balance` + ' .. count[cid] .. ' WHERE `name` = ' .. db.escapeString(transferTo_name[cid]) .. ' LIMIT 1;') npcHandler:say('Very well. You have transferred ' .. count[cid] .. ' gold to ' .. playerExists(transferTo_name[cid]) .. '.', cid) else npcHandler:say('This player does not exist.', cid) end else npcHandler:say('There is not enough gold on your account.', cid) end Topic[cid] = 0 elseif Topic[cid] == 7 and msgcontains(msg, 'no') then npcHandler:say('Alright, is there something else I can do for you?', cid) Topic[cid] = 0 elseif msgcontains(msg, 'change gold') then npcHandler:say('How many platinum coins would you like to get?', cid) Topic[cid] = 8 elseif Topic[cid] == 8 then if getCount(msg) < 1 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = 0 else count[cid] = getCount(msg) npcHandler:say('So you would like me to change ' .. count[cid] * 100 .. ' of your gold coins into ' .. count[cid] .. ' platinum coins?', cid) Topic[cid] = 9 end elseif Topic[cid] == 9 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2148, count[cid] * 100) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2152, count[cid]) else npcHandler:say('Sorry, you do not have enough gold coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = 0 elseif msgcontains(msg, 'change platinum') then npcHandler:say('Would you like to change your platinum coins into gold or crystal?', cid) Topic[cid] = 10 elseif Topic[cid] == 10 then if msgcontains(msg, 'gold') then npcHandler:say('How many platinum coins would you like to change into gold?', cid) Topic[cid] = 11 elseif msgcontains(msg, 'crystal') then npcHandler:say('How many crystal coins would you like to get?', cid) Topic[cid] = 13 else npcHandler:say('Well, can I help you with something else?', cid) Topic[cid] = 0 end elseif Topic[cid] == 11 then if getCount(msg) < 1 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = 0 else count[cid] = getCount(msg) npcHandler:say('So you would like me to change ' .. count[cid] .. ' of your platinum coins into ' .. count[cid] * 100 .. ' gold coins for you?', cid) Topic[cid] = 12 end elseif Topic[cid] == 12 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, count[cid]) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2148, count[cid] * 100) else npcHandler:say('Sorry, you do not have enough platinum coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = 0 elseif Topic[cid] == 13 then if getCount(msg) < 1 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = 0 else count[cid] = getCount(msg) npcHandler:say('So you would like me to change ' .. count[cid] * 100 .. ' of your platinum coins into ' .. count[cid] .. ' crystal coins for you?', cid) Topic[cid] = 14 end elseif Topic[cid] == 14 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, count[cid] * 100) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2160, count[cid]) else npcHandler:say('Sorry, you do not have enough platinum coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = 0 elseif msgcontains(msg, 'change crystal') then npcHandler:say('How many crystal coins would you like to change into platinum?', cid) Topic[cid] = 15 elseif Topic[cid] == 15 then if getCount(msg) == -1 or getCount(msg) == 0 then npcHandler:say('Hmm, can I help you with something else?', cid) Topic[cid] = 0 else count[cid] = getCount(msg) npcHandler:say('So you would like me to change ' .. count[cid] .. ' of your crystal coins into ' .. count[cid] * 100 .. ' platinum coins for you?', cid) Topic[cid] = 16 end elseif Topic[cid] == 16 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2160, count[cid]) then npcHandler:say('Here you are.', cid) doPlayerAddItem(cid, 2152, count[cid] * 100) else npcHandler:say('Sorry, you do not have enough crystal coins.', cid) end else npcHandler:say('Well, can I help you with something else?', cid) end Topic[cid] = 0 elseif msgcontains(msg, 'change') then npcHandler:say('There are three different coin types in Tibia: 100 gold coins equal 1 platinum coin, 100 platinum coins equal 1 crystal coin. So if you\'d like to change 100 gold into 1 platinum, simply say \'{change gold}\' and then \'1 platinum\'.', cid) Topic[cid] = 0 elseif msgcontains(msg, 'bank') then npcHandler:say('We can change money for you. You can also access your bank account.', cid) Topic[cid] = 0 end return TRUE end[/u] [u]npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) o erro n é na db, uma dica veja se vc esta se conectando no ot pelo o ip 127.0.0.1 se for troque o ip pelo host tipo (meuot.servegame.com) aquele q vc colocou no no-ip.org.1 ponto