Tudo que anderkrox postou
-
Eternera Tibia Server - RPG
Estamos elaborando um sistema de profissões totalmente único. A primeira profissão que já está em andamento é a profissão de criar pães, bolos, e afins. Cada profissão terá cinco níveis diferentes, e em cada nível o personagem vai tendo mais sabedoria para exercer sua profissão. Por exemplo: O personagem que cria pães, no nível 2, poderá criar pães com ingredientes diferentes, trazendo um sabor excepcional em suas receitas. Podendo então vender seus pães por um valor maior. O sistema está sendo elaborado, e prevemos que até dia 10/11/2017 já tenhamos algum funcionamento! #eternera #tibia #server #otserv #hardcore #profissões #profissão #rpg Saiba clicando aqui!
-
Eternera Tibia Server - RPG
As aranhas vivem em florestas e masmorras. Elas geralmente caçam animais pequenos, mas não se amedrontam diante de outros animais maiores do que elas. Quando as aranhas aparecem em bando, podem até se tornar um perigo para aventureiros mal equipados. Imagem de uma montanha localizada na ilha inicial. Acompanhe nosso desenvolvimento no facebook também. Prévia para um closed beta em Fevereiro de 2018! #eternera #tibia #server #rpg #hardcore #oldschool #nostalgia
-
[Promotion] NPC Não reconhece vocação
Estranho, testei aqui e funcionou. Qual servidor está usando?
-
[Promotion] NPC Não reconhece vocação
Fiz esse script para promotion de arqueiro. Teste: local msgHi = "Quer uma {promotion}?" local msgBye = "Ja vai?!" local msgDis = "Tchau!" local vocation = 3 -- ID da vocação local custo1 = 20000 -- Custo da primeira Promotion local vocation2 = 7 -- Primeira Promotion local custo2 = 40000 -- Custo da segunda Promotion local vocation3 = 9 -- Segunda Promotion local focuses = {} local function isFocused(cid) for i, v in pairs(focuses) do if(v == cid) then return true end end return false end local function addFocus(cid) if(not isFocused(cid)) then table.insert(focuses, cid) end end local function removeFocus(cid) for i, v in pairs(focuses) do if(v == cid) then table.remove(focuses, i) break end end end local function lookAtFocus() for i, v in pairs(focuses) do if(isPlayer(v)) then doNpcSetCreatureFocus(v) return end end doNpcSetCreatureFocus(0) end function onCreatureAppear(cid) end function onCreatureDisappear(cid) if(isFocused(cid)) then selfSay("Tchau ".. getPlayerName(cid) ..".") removeFocus(cid) if(isPlayer(cid)) then closeShopWindow(cid) end end end function onCreatureSay(cid, type, msg) if msg == "hi" or msg == "hello" and not isFocused(cid) then selfSay(msgHi, cid) addFocus(cid) elseif isFocused(cid) and msg == "promotion" or msg == "promote" then selfSay("Quer ser promovido? Ira te custar ".. custo1 .." moedas de ouro.", cid) promo = 1 elseif isFocused(cid) and msg == "yes" and promo == 1 then promo = 0 if getPlayerVocation(cid) == vocation then if getPlayerMoney(cid) >= custo1 then doPlayerRemoveMoney(cid, custo1) doPlayerSetVocation(cid, vocation2) selfSay("Parabens! Voce ainda pode receber {mais uma promotion}.", cid) else selfSay("Voce nao tem ".. custo1 ..".", cid) end else selfSay("Apenas arqueiros.", cid) end elseif isFocused(cid) and msg == "no" and promo == 1 then promo = 0 selfSay("Ok!", cid) elseif isFocused(cid) and msg == "mais uma promotion" then selfSay("Quer ser promovido novamente? Ira te custar ".. custo2 .." moedas de ouro.", cid) promo = 2 elseif isFocused(cid) and msg == "yes" and promo == 2 then promo = 0 if getPlayerVocation(cid) == vocation2 then if getPlayerMoney(cid) >= custo2 then doPlayerRemoveMoney(cid, custo2) doPlayerSetVocation(cid, vocation3) selfSay("Parabens!", cid) else selfSay("Voce nao tem ".. custo1 ..".", cid) end else selfSay("Apenas arqueiros.", cid) end elseif isFocused(cid) and msg == "no" and promo == 2 then promo = 0 selfSay("Ok!", cid) elseif((isFocused(cid)) and (msg == "bye" or msg == "tchau" or msg == "xau")) then selfSay(msgBye) closeShopWindow(cid) removeFocus(cid) end end function onPlayerCloseChannel(cid) if(isFocused(cid)) then selfSay("Humm.") closeShopWindow(cid) removeFocus(cid) end end function onThink() for i, focus in pairs(focuses) do if(not isCreature(focus)) then removeFocus(focus) else local distance = getDistanceTo(focus) or -1 if((distance > 4) or (distance == -1)) then doCreatureSay(getNpcCid(), msgDis, TALKTYPE_YELL) closeShopWindow(focus) removeFocus(focus) end end end lookAtFocus() end
-
(DÚVIDA) Alguém me poderia me ajudar
Posso ver as tags no movements.xml? E também gostaria de ver como está no items.xml.
-
Eternera Tibia Server - RPG
Etji Furgora, filha de Oroch Furgora. É a arqueira da vila Trekolt mais conhecida por saber de incontáveis lendas, aos 13 anos de idade já criava flechas com os melhores gravetos da floresta. Ela é responsável por criar e vender flechas, mas também tem um papel muito importante de prender ladrões atrás das grades de Trekolt, e claro, ela sempre partilha missões com os aventureiros. O sistema de comércio é único, sendo que os NPCs possuem quantidade limitada de itens para vender e também quantidade limitada de ouro para poder comprar itens dos jogadores. Cada NPC possui uma quantidade distinta de dinheiro, uns mais ricos, outros mais pobres... A cada server save, os NPCs voltam a ter equipamentos e dinheiro. Clique aqui e acompanhe o desenvolvimento do servidor!
- PUO - OPEN BETA COMEÇOU!
-
Eternera Tibia Server - RPG
Em desenvolvimento... Closed Beta previsto para Fevereiro. Eternera Tibia Server - RPG O servidor que 84,20% dos Tibianos estão esperando há muito tempo, segundo nossas pesquisas! O Eternera Tibia Server é um servidor de Tibia que dá ao jogador a oportunidade de aventurar-se nas maravilhosas terras do nosso misterioso mundo de fantasia, cheio de magia, beleza e muito enredo. O jogador começa em uma ilha inicial com vários propósitos ditados pelos NPCs. Durante sua jornada ele deve trabalhar para conseguir dinheiro, comida, e equipamentos para sobreviver. Alguns jogadores preferem trabalhar como pescadores, outros como fazendeiros, há aqueles que preferem seguir o lado sombrio do jogo, assaltando NPCs, matando outros jogadores, e criando armadilhas. Todos tem a opção de sair da ilha inicial após certa experiência dentro do jogo, podendo então escolher uma classe, seja ela druida, feiticeiro, arqueiro, ou, por fim, guerreiro. Cada classe tem suas habilidades distintas, e para adquirí-las deverá estudar com NPCs especialistas em habilidades, pagando uma quantia em moedas de ouro. A beleza do Eternera Tibia Server é porque ele está sendo desenvolvido por pessoas que vivenciaram o RPG da versão antiga de Tibia, fazendo os jogadores interagirem com as aventuras, se esforçarem para conseguir dinheiro, equipamentos, pontos de experiência, e desvendar incontáveis mistérios. Algumas informações úteis do Eternera Tibia Server
-
Saudades do RPG
Eu e meu irmão começamos com o projeto. Espero que dê certo... E para maior equilíbrio do gostos, as pessoas terão duas opções. Uma delas é upar a partir de missões, e a outra opção é upar a partir de caça aos monstros. O servidor será difícil, mas não tão demorado para as pessoas que não tem tempo. A versão escolhida para o projeto foi a 8.6
-
Saudades do RPG
Bom dia!... ou boa tarde, ou boa noite..Como comecei a jogar Tibia na época em que a versão era de 7.4 e parei depois da versão 9.x. Venho por meio dessa comunidade fazer uma pergunta para você, que possivelmente tem a mesma idade que eu tenho..A pergunta é sobre o RPG do Tibia, mais especificamente sobre um possível Open Tibia Server com muito enredo..Sei que assim como eu, a maioria dos jogadores de Tibia não tem tempo para ficar jogando, pois trabalham, estudam, namoram, etc..Mas, imagina só, um servidor com muito RPG, cuja dificuldade não seja em pegar level, claro, não seria tão simples, mas o principal objetivo seria o enredo do servidor. Assim, mesmo quem não tem tempo para ficar upando o personagem, poderá desfrutar do jogo. Evoluindo o personagem fazendo missões, exercendo profissões, participando de dungeons, abrindo baús, entre outras possibilidades..Se você é como eu, que sente saudades da época em que Tibia tinha RPG, então pode me fazer um favor? É para minha pesquisa..Eu criei um questionário com 2 simples perguntas, se puder responder eu ficarei extremamente grato por isso!Segue o link: https://pt.surveymonkey.com/r/63F7BQV
-
Procuro Membros Para Equipe
RPG; 24 anos; Tudo, exceto C++; Estou disponível de 1 a 2 horas por dia para não ficar exaustivo e o projeto render; Estou enviando essa mensagem porque minha ideia seria começar um projeto extremamente focado ao RPG, porém prefiro me juntar com outras pessoas à criar um projeto do início. Obs.: Tenho um servidor dedicado.
-
Ajuda nessa linha do script? apenas 1 linha
O problema não é o conhecimento, o problema é que trata-se de script de Pokemon, e isso ai não é o único script para solucionar teu problema. Tem funções que estão em bibliotecas, por exemplo esse ballCatch.
-
Ajuda nessa linha do script? apenas 1 linha
function mandar2Efeitos() ballcatch[item.itemid].on ballcatch[item.itemid].on2 end local ballcatch = { --id normal, id da ball shiy [2394] = {cr = 2, on = 193, off = 192, ball = {11826, 11737}, send = 47, typeee = "normal", boost = "0"}, --alterado v1.9 \/ [2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great", boost = "0"}, [2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super", boost = "0"}, [2392] = {cr = 15, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra", boost = "0"}, [12617] = {cr = 6, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari", boost = "0"}, [12832] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "dark", boost = "50"}, [15129] = {cr = 100000, on = 23, on2 = 10, off = 24, ball = {12826, 12829}, send = 181, typeee = "flash", boost = "50"}, } function onUse(cid, item, frompos, item3, topos) local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") end local name = string.lower(getItemNameById(item2.itemid)) name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") name = doCorrectPokemonName(name) local x = pokecatches[name] if not x then return true end local shinys = {"Shiny Mr. mime", "Shiny Altaria", "Shiny Swampert", "Shiny Weezing", "Shiny Flygon", "Shiny Rhyperior", "Shiny Blaziken", "Shiny Tangela", "Shiny Wailord", "Shiny Aggron", "Shiny Absol", "Shiny Lucario", "Shiny Metagross", "Shiny Yanmega", "Shiny Wobbuffet", "Shiny Scizor", "Shiny Slowking", "Shiny Alakazam", "Shiny Scyther", "Shiny Electivire", "Shiny Magmortar", "Shiny Salamence", "Shiny Magmar", "Shiny Mantine", "Shiny Gyarados", "Shiny Snorlax", "Shiny Onix", "Shiny Electabuzz", "Shiny Pidgeot", "Aerodactyl", "Ditto", "Shiny Gengar"} if item.itemid == 12832 and isInArray(shinys, name) then doPlayerSendCancel(cid, "Você não pode catar esse pokemon com a master ball!") return true end local storage = newpokedex[name].stoCatch if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then --alterado v1.9 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, dark = 0;, dark = 0;, flash = 0;") --alterado v1.9 end local owner = getItemAttribute(item2.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.") return true end local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9 local typeee = ballcatch[item.itemid].typeee local boost = ballcatch[item.itemid].boost local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = mandar2Efeitos() catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) local d = getDistanceBetween(getThingPos(cid), topos) if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v1.9 setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...") end addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end
-
Ajuda nessa linha do script? apenas 1 linha
local segundoEfeito = 500 -- Tempo que irá aparecer o segundo efeito. [500 = meio segundo] local ballcatch = { --id normal, id da ball shiy [2394] = {cr = 2, on = 193, off = 192, ball = {11826, 11737}, send = 47, typeee = "normal", boost = "0"}, --alterado v1.9 \/ [2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great", boost = "0"}, [2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super", boost = "0"}, [2392] = {cr = 15, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra", boost = "0"}, [12617] = {cr = 6, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari", boost = "0"}, [12832] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "dark", boost = "50"}, [15129] = {cr = 100000, on = 23, on2 = 10, off = 24, ball = {12826, 12829}, send = 181, typeee = "flash", boost = "50"}, } function onUse(cid, item, frompos, item3, topos) local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") end local name = string.lower(getItemNameById(item2.itemid)) name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") name = doCorrectPokemonName(name) local x = pokecatches[name] if not x then return true end local shinys = {"Shiny Mr. mime", "Shiny Altaria", "Shiny Swampert", "Shiny Weezing", "Shiny Flygon", "Shiny Rhyperior", "Shiny Blaziken", "Shiny Tangela", "Shiny Wailord", "Shiny Aggron", "Shiny Absol", "Shiny Lucario", "Shiny Metagross", "Shiny Yanmega", "Shiny Wobbuffet", "Shiny Scizor", "Shiny Slowking", "Shiny Alakazam", "Shiny Scyther", "Shiny Electivire", "Shiny Magmortar", "Shiny Salamence", "Shiny Magmar", "Shiny Mantine", "Shiny Gyarados", "Shiny Snorlax", "Shiny Onix", "Shiny Electabuzz", "Shiny Pidgeot", "Aerodactyl", "Ditto", "Shiny Gengar"} if item.itemid == 12832 and isInArray(shinys, name) then doPlayerSendCancel(cid, "Você não pode catar esse pokemon com a master ball!") return true end local storage = newpokedex[name].stoCatch if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then --alterado v1.9 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, dark = 0;, dark = 0;, flash = 0;") --alterado v1.9 end local owner = getItemAttribute(item2.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.") return true end local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9 local typeee = ballcatch[item.itemid].typeee local boost = ballcatch[item.itemid].boost local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = function mandar2Efeitos(func) ballcatch[item.itemid].on return addEvent(ballcatch[item.itemid].on2, segundoEfeito) end catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) local d = getDistanceBetween(getThingPos(cid), topos) if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v1.9 setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...") end addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end
-
Ajuda nessa linha do script? apenas 1 linha
local segundoEfeito = 500 -- Tempo que irá aparecer o segundo efeito. [500 = meio segundo] local ballcatch = { --id normal, id da ball shiy [2394] = {cr = 2, on = 193, off = 192, ball = {11826, 11737}, send = 47, typeee = "normal", boost = "0"}, --alterado v1.9 \/ [2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great", boost = "0"}, [2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super", boost = "0"}, [2392] = {cr = 15, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra", boost = "0"}, [12617] = {cr = 6, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari", boost = "0"}, [12832] = {cr = 100000, on = 23, off = 24, ball = {12826, 12829}, send = 181, typeee = "dark", boost = "50"}, [15129] = {cr = 100000, on = 23, on2 = 10, off = 24, ball = {12826, 12829}, send = 181, typeee = "flash", boost = "50"}, } function onUse(cid, item, frompos, item3, topos) local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") end local name = string.lower(getItemNameById(item2.itemid)) name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") name = doCorrectPokemonName(name) local x = pokecatches[name] if not x then return true end local shinys = {"Shiny Mr. mime", "Shiny Altaria", "Shiny Swampert", "Shiny Weezing", "Shiny Flygon", "Shiny Rhyperior", "Shiny Blaziken", "Shiny Tangela", "Shiny Wailord", "Shiny Aggron", "Shiny Absol", "Shiny Lucario", "Shiny Metagross", "Shiny Yanmega", "Shiny Wobbuffet", "Shiny Scizor", "Shiny Slowking", "Shiny Alakazam", "Shiny Scyther", "Shiny Electivire", "Shiny Magmortar", "Shiny Salamence", "Shiny Magmar", "Shiny Mantine", "Shiny Gyarados", "Shiny Snorlax", "Shiny Onix", "Shiny Electabuzz", "Shiny Pidgeot", "Aerodactyl", "Ditto", "Shiny Gengar"} if item.itemid == 12832 and isInArray(shinys, name) then doPlayerSendCancel(cid, "Você não pode catar esse pokemon com a master ball!") return true end local storage = newpokedex[name].stoCatch if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then --alterado v1.9 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, dark = 0;, dark = 0;, flash = 0;") --alterado v1.9 end local owner = getItemAttribute(item2.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.") return true end local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v1.9 local typeee = ballcatch[item.itemid].typeee local boost = ballcatch[item.itemid].boost local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = function mandar2Efeitos() ballcatch[item.itemid].on return addEvent(ballcatch[item.itemid].on2, segundoEfeito) end catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) local d = getDistanceBetween(getThingPos(cid), topos) if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v1.9 setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You spend all your saffari balls, good luck in the next time...") end addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end
-
Pagamento do anuncio concretizado
Obrigado pela devolução, pelo menos isso. Pode fechar esse tópico.
-
Como mudar a moeda de compra do npc?
Fiz um exemplo de NPC em .lua: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 config = { id_vipCoin = 11192, id_plateArmor = 2463, valor_plateArmor = 5, } local function plateArmor(cid) if getPlayerItemCount(cid, config.id_vipCoin) >= config.valor_plateArmor then doPlayerRemoveItem(cid, config.id_vipCoin, config.valor_plateArmor) selfSay("Comprou uma plate armor por ".. config.valor_plateArmor .." vip coins.", cid) doPlayerAddItem(cid, config.id_plateArmor, 1) else selfSay("Precisa de ".. config.valor_plateArmor .." vip coins.", cid) end return true end local node1 = keywordHandler:addKeyword({'plate armor'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Quer comprar uma plate armor? Isto vai te custar '.. config.valor_plateArmor ..' vip coins.'}) node1:addChildKeyword({'sim'}, plateArmor, {npcHandler = npcHandler}) node1:addChildKeyword({'nao'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = '...'}) npcHandler:addModule(FocusModule:new())
-
Problema Sistema De Task
Cade o script? Não posso ajudar sem vê-lo.
-
[Erro] Script
local tempo = 5 -- quanto tempo a magia vai durar local timer = 5 -- quantos segundos em segundo vai pode usa a magia -- obs:so vai começa a conta quando a magia tiver terminado local effect = 28 -- efeito da magia local storage = 1231234343 local storagemag = 54654644 -- não mecha local function termina(cid) if isPlayer(cid) == true then setPlayerStorageValue(cid, storagemag, -1) doSendMagicEffect(getThingPos(cid), 29) end return true end function onCastSpell(cid, var) if getPlayerStorageValue(cid, storagemag) == -1 then if getPlayerStorageValue(cid, storage) < os.time () then setPlayerStorageValue(cid, storagemag, 1) doSendMagicEffect(getThingPos(cid), 28) setPlayerStorageValue(cid, storage, os.time () + tempo + timer) addEvent(termina, tempo*1000, cid) else doPlayerSendCancel(cid, "Voce so pode usar esse magia daqui a "..getPlayerStorageValue(cid, storage) - os.time ().." segundos.") end else doPlayerSendCancel(cid, "Voce ja ta usando a magia.") end return true end
-
Player come muuuuito food
Usa este: local FOODS, MAX_FOOD = { [2328] = {84, "Gulp."}, [2362] = {48, "Yum."}, [2666] = {180, "Munch."}, [2667] = {144, "Munch."}, [2668] = {120, "Mmmm."}, [2669] = {204, "Munch."}, [2670] = {48, "Gulp."}, [2671] = {360, "Chomp."}, [2672] = {720, "Chomp."}, [2673] = {60, "Yum."}, [2674] = {72, "Yum."}, [2675] = {156, "Yum."}, [2676] = {96, "Yum."}, [2677] = {12, "Yum."}, [2678] = {216, "Slurp."}, [2679] = {12, "Yum."}, [2680] = {24, "Yum."}, [2681] = {108, "Yum."}, [2682] = {240, "Yum."}, [2683] = {204, "Munch."}, [2684] = {60, "Crunch."}, [2685] = {72, "Munch."}, [2686] = {108, "Crunch."}, [2687] = {24, "Crunch."}, [2688] = {24, "Mmmm."}, [2689] = {120, "Crunch."}, [2690] = {72, "Crunch."}, [2691] = {96, "Crunch."}, [2695] = {72, "Gulp."}, [2696] = {108, "Smack."}, [8112] = {108, "Urgh."}, [2769] = {60, "Crunch."}, [2787] = {108, "Crunch."}, [2788] = {48, "Munch."}, [2789] = {264, "Munch."}, [2790] = {360, "Crunch."}, [2791] = {108, "Crunch."}, [2792] = {72, "Crunch."}, [2793] = {144, "Crunch."}, [2794] = {36, "Crunch."}, [2795] = {432, "Crunch."}, [2796] = {300, "Crunch."}, [5097] = {48, "Yum."}, [5678] = {96, "Gulp."}, [6125] = {96, "Mmmm."}, [6278] = {120, "Mmmm."}, [6279] = {180, "Mmmm."}, [6393] = {144, "Mmmm."}, [6394] = {180, "Mmmm."}, [6501] = {240, "Mmmm."}, [6541] = {72, "Gulp."}, [6542] = {72, "Gulp."}, [6543] = {72, "Gulp."}, [6544] = {72, "Gulp."}, [6545] = {72, "Gulp."}, [6569] = {12, "Mmmm."}, [6574] = {60, "Mmmm."}, [7158] = {300, "Munch."}, [7159] = {180, "Munch."}, [7372] = {0, "Yummy."}, [7373] = {0, "Yummy."}, [7374] = {0, "Yummy."}, [7375] = {0, "Yummy."}, [7376] = {0, "Yummy."}, [7377] = {0, "Yummy."}, [7963] = {720, "Munch."}, [8838] = {120, "Gulp."}, [8839] = {60, "Yum."}, [8840] = {12, "Yum."}, [8841] = {12, "Urgh."}, [8842] = {84, "Munch."}, [8843] = {60, "Crunch."}, [8844] = {12, "Gulp."}, [8845] = {60, "Munch."}, [8847] = {132, "Yum."}, [9114] = {60, "Crunch."}, [9005] = {88, "Slurp."}, [7245] = {84, "Munch."}, [9996] = {0, "Slurp."}, [10454] = {0, "Your head begins to feel better."} }, 1200 function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == 6280) then if(fromPosition.x == CONTAINER_POSITION) then fromPosition = getThingPosition(cid) end doCreatureSay(cid, getPlayerName(cid) .. " blew out the candle.", TALKTYPE_MONSTER) doTransformItem(item.uid, item.itemid - 1) doSendMagicEffect(fromPosition, CONST_ME_POFF) return true end local food = FOODS[item.itemid] if(food == nil) then return false end local size = food[1] if(getPlayerFood(cid) + size > MAX_FOOD) then doPlayerSendCancel(cid, "Esta satisfeito.") return true end doPlayerFeed(cid, size) doRemoveItem(item.uid, 1) doCreatureSay(cid, food[2], TALKTYPE_MONSTER) return true end
-
[PEDIDO]Como mudar poziçoes onde o player loga depois que cria a conta no manager
Adiciona isto em login.lua: local confiig = { pos = {x=2483, y=2452, z=7}, -- Local onde irá nascer id = 3, -- Id do templo storage = 123654 } if getPlayerStorageValue(cid, confiig.storage) <= 0 then setPlayerStorageValue(cid, confiig.storage, 1) doTeleportThing(cid, confiig.pos) doPlayerSetTown(cid, confiig.id) end
-
Pagamento do anuncio concretizado
Não sou teu 'mano', e por que esperar uma semana se o Matheus Sesso deu um prazo? Já passou alguns dias do prazo. Querem ter um fórum? Cumpram as promessas, não sejam promissores, também tenho vida social, tenho uma empresa de Arquitetura, mas cumpro com o prazo que estipulo para meus clientes.
-
Pagamento do anuncio concretizado
Segunda feira fiz pagamento via boleto para o TibiaKing colocar o anuncio do meu servidor, porém o mesmo não aconteceu até agora. O combinado foi um banner e um anúncio. O seu pagamento realizado no dia 03/05/2016 no valor de R$ 91,00 foi aprovado!
-
[Pedido] Scroll que teleporta
Bom dia. Comecei a fazer o script e a primeira parte deu certo, porém a segunda parte eu consigo fazer o portal aparecer, exceto sumir. Para fazer ele sumir, tem como fazer por database, ou por globalStorage, mas ultimamente estou com a cabeça fraca para isso, então estou postando o que eu fiz: em actions, cria o arquivo scroll teleport.lua local function v_msg1(cid) if isPlayer(cid) == true then if getPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna1) >= 1 then return '['.. getItemNameById(SCROLLTELEPORT_.idDaRuna_1) ..'] - Ok' else return '[Slot vazio]' end end end local function v_msg2(cid) if isPlayer(cid) == true then if getPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna2) >= 1 then return '['.. getItemNameById(SCROLLTELEPORT_.idDaRuna_2) ..'] - Ok' else return '[Slot vazio]' end end end local function v_msg3(cid) if isPlayer(cid) == true then if getPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna3) >= 1 then return '['.. getItemNameById(SCROLLTELEPORT_.idDaRuna_3) ..'] - Ok' else return '[Slot vazio]' end end end function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == SCROLLTELEPORT_.idDaRuna_1 then setPlayerStorageValue(cid, SCROLLTELEPORT_memoria1.valorX, SCROLLTELEPORT_obter.x) setPlayerStorageValue(cid, SCROLLTELEPORT_memoria1.valorY, SCROLLTELEPORT_obter.y) setPlayerStorageValue(cid, SCROLLTELEPORT_memoria1.valorZ, SCROLLTELEPORT_obter.z) setPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna1, 1) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Marcou as coordenadas: ".. SCROLLTELEPORT_obter.x ..", ".. SCROLLTELEPORT_obter.y ..", ".. SCROLLTELEPORT_obter.z .." na runa: ".. getItemNameById(SCROLLTELEPORT_.idDaRuna_1) ..".") end if item.itemid == SCROLLTELEPORT_.idDaRuna_2 then setPlayerStorageValue(cid, SCROLLTELEPORT_memoria2.valorX, SCROLLTELEPORT_obter.x) setPlayerStorageValue(cid, SCROLLTELEPORT_memoria2.valorY, SCROLLTELEPORT_obter.y) setPlayerStorageValue(cid, SCROLLTELEPORT_memoria2.valorZ, SCROLLTELEPORT_obter.z) setPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna2, 1) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Marcou as coordenadas: ".. SCROLLTELEPORT_obter.x ..", ".. SCROLLTELEPORT_obter.y ..", ".. SCROLLTELEPORT_obter.z .." na runa: ".. getItemNameById(SCROLLTELEPORT_.idDaRuna_2) ..".") end if item.itemid == SCROLLTELEPORT_.idDaRuna_3 then setPlayerStorageValue(cid, SCROLLTELEPORT_memoria3.valorX, SCROLLTELEPORT_obter.x) setPlayerStorageValue(cid, SCROLLTELEPORT_memoria3.valorY, SCROLLTELEPORT_obter.y) setPlayerStorageValue(cid, SCROLLTELEPORT_memoria3.valorZ, SCROLLTELEPORT_obter.z) setPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna3, 1) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Marcou as coordenadas: ".. SCROLLTELEPORT_obter.x ..", ".. SCROLLTELEPORT_obter.y ..", ".. SCROLLTELEPORT_obter.z .." na runa: ".. getItemNameById(SCROLLTELEPORT_.idDaRuna_3) ..".") end if item.itemid == SCROLLTELEPORT_.idDoLivro then if ((getPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna1) <= 0) and (getPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna2) <= 0) and (getPlayerStorageValue(cid, SCROLLTELEPORT_.storageRuna3) <= 0)) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sem coordenadas marcadas.") else doShowTextDialog(cid, SCROLLTELEPORT_.idDoLivro, 'Para criar um portal no destino que voce salvou usando a runa.\nBasta usar o comando: !nomeDaRuna\nExemplo: !runaVermelha\n\n'.. v_msg1(cid) ..'.\n'.. v_msg2(cid) ..'.\n'.. v_msg3(cid) ..'') end end if ((getCreatureCondition(cid, CONDITION_INFIGHT) == true) or (isPlayerPzLocked(cid) == true)) then doPlayerSendCancel(cid, "Nao pode usar em batalha.") return false end if getTilePzInfo(getThingPos(cid)) == true then doPlayerSendCancel(cid, "Nao pode usar em area protegida.") return false end return true end Em actions.xml <action itemid="2276" event="script" value="scroll teleport.lua"/><!-- runaAzul --> <action itemid="2306" event="script" value="scroll teleport.lua"/><!-- runaVermelha --> <action itemid="2299" event="script" value="scroll teleport.lua"/><!-- runaAmarela --> <action itemid="6124" event="script" value="scroll teleport.lua"/><!-- livro --> Em items.xml <item id="2276" article="uma" name="runaAzul"> <attribute key="weight" value="50" /> </item> <item id="2306" article="uma" name="runaVermelha"> <attribute key="weight" value="50" /> </item> <item id="2299" article="uma" name="runaAmarela"> <attribute key="weight" value="50" /> </item> Em uma lib qualquer SCROLLTELEPORT_ = { idDaRuna_1 = 2276, storageRuna1 = 971701, idDaRuna_2 = 2306, storageRuna2 = 971702, idDaRuna_3 = 2299, storageRuna3 = 971703, idDoLivro = 6124, } SCROLLTELEPORT_memoria1 = {valorX = 97170101, valorY = 97170102, valorZ = 97170103} SCROLLTELEPORT_memoria2 = {valorX = 97170201, valorY = 97170202, valorZ = 97170203} SCROLLTELEPORT_memoria3 = {valorX = 97170301, valorY = 97170302, valorZ = 97170303} SCROLLTELEPORT_obter = {x = getCreaturePosition(cid).x, y = getCreaturePosition(cid).y, z = getCreaturePosition(cid).z} Para criar um teleport, por exemplo, por talkactions, deve-se usar: -- Runa 1 doCreateTeleport(1387, {x=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria1.valorX), y=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria1.valorY)}, z=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria1.valorZ)}, getCreaturePosition(cid)) -- Runa 2 doCreateTeleport(1387, {x=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria2.valorX), y=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria2.valorY)}, z=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria2.valorZ)}, getCreaturePosition(cid)) -- Runa 3 doCreateTeleport(1387, {x=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria3.valorX), y=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria3.valorY)}, z=getPlayerStorageValue(cid, SCROLLTELEPORT_memoria3.valorZ)}, getCreaturePosition(cid))
-
Vírus no site
Baixei o Gesior AAC no link apontado pelo TibiaKing: https://github.com/gesior/Gesior2012/tree/TFS-0.4_rev_3703+ Coloquei ele online, porém algumas pessoas, os usuários de Avast! Antivirus para ser mais preciso, reclamam que não conseguem acessar meu site, pois o antivirus acusa. O que pode ser? Alguém com Avast! Antivirus pode dar uma verificada? www.anfabera.com.br