
Tudo que lordzetros postou
-
(Resolvido)ITEM UPGRADE
Deixei ele bem longo pela troca de ser fácil configurável, tá tudo comentado no script, espero que ajude-o. Testei na versão 8.6 TFS 0.4 e tá 100% Em data/actions/scripts, crie um arquivo chamado itemUpgrade.lua e coloque o código dentro: --[[ Script feito por Lordzetros para o fórum TibiaKing - pedido do usuario Sotten ]] local configItems = { idItem = 12661, -- Id do item que sera responsavel em clickar em cima do set para transforma-lo amountItem = 1, -- quantidade que sera removida apos ser usada no set para transformar message = "Item transformado com sucesso!" -- mensagem quando o item for transformado } local knight = { -- Itens do knight oldHelmet = 2474, -- Antigo helmet, antes de transformar oldArmor = 2503, -- Antiga armor, antes de transformar oldLegs = 2504, -- Antiga legs, antes de transformar oldBoots = 2641, -- Antiga boots, antes de transformar newHelmet = 9778, -- Novo helmet, apos transformar newArmor = 9776, -- Nova armor, apos transformar newLegs = 9777, -- Nova legs, apos transformar newBoots = 9931 -- Nova boots, apos transformar } local paladin = { -- Itens do paladin oldHelmet = 2474, -- Antigo helmet, antes de transformar oldArmor = 2503, -- Antiga armor, antes de transformar oldLegs = 2504, -- Antiga legs, antes de transformar oldBoots = 2641, -- Antiga boots, antes de transformar newHelmet = 9778, -- Novo helmet, apos transformar newArmor = 9776, -- Nova armor, apos transformar newLegs = 9777, -- Nova legs, apos transformar newBoots = 9931 -- Nova boots, apos transformar } local sorcerer = { -- Itens do sorcerer oldHelmet = 2474, -- Antigo helmet, antes de transformar oldArmor = 2503, -- Antiga armor, antes de transformar oldLegs = 2504, -- Antiga legs, antes de transformar oldBoots = 2641, -- Antiga boots, antes de transformar newHelmet = 9778, -- Novo helmet, apos transformar newArmor = 9776, -- Nova armor, apos transformar newLegs = 9777, -- Nova legs, apos transformar newBoots = 9931 -- Nova boots, apos transformar } local druid = { -- Itens do druid oldHelmet = 2474, -- Antigo helmet, antes de transformar oldArmor = 2503, -- Antiga armor, antes de transformar oldLegs = 2504, -- Antiga legs, antes de transformar oldBoots = 2641, -- Antiga boots, antes de transformar newHelmet = 9778, -- Novo helmet, apos transformar newArmor = 9776, -- Nova armor, apos transformar newLegs = 9777, -- Nova legs, apos transformar newBoots = 9931 -- Nova boots, apos transformar } function onUse(cid, item, fromPosition, item2, toPosition) pos = getCreaturePosition(cid) efeito = CONST_ME_MAGIC_RED if (item2.itemid == knight.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,knight.newHelmet) elseif (item2.itemid == knight.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,knight.newArmor) elseif (item2.itemid == knight.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,knight.newLegs) elseif (item2.itemid == knight.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,knight.newBoots) elseif (item2.itemid == paladin.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,paladin.newHelmet) elseif (item2.itemid == paladin.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,paladin.newArmor) elseif (item2.itemid == paladin.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,paladin.newLegs) elseif (item2.itemid == paladin.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,paladin.newBoots) elseif (item2.itemid == sorcerer.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,sorcerer.newHelmet) elseif (item2.itemid == sorcerer.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,sorcerer.newArmor) elseif (item2.itemid == sorcerer.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,sorcerer.newLegs) elseif (item2.itemid == sorcerer.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,sorcerer.newBoots) elseif (item2.itemid == druid.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,druid.newHelmet) elseif (item2.itemid == druid.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,druid.newArmor) elseif (item2.itemid == druid.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,druid.newLegs) elseif (item2.itemid == druid.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then doSendMagicEffect(pos, efeito) doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1) return doTransformItem(item2.uid,druid.newBoots) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Nao eh possivel fazer a transformacao neste item!") doSendMagicEffect(pos, CONST_ME_POFF) return true end return true end Após ter feito isso, vá em data/actions/ e abra o arquivo actions.lua, coloque esse trecho de código em baixo de algum outro do mesmo: <action itemid="12661" script="itemUpgrade.lua"/> Em itemid="12661" será o ID do item que você vai tá utilizando para fazer o upgrade, no meu caso, eu utilizei o 12661, que também está no script, configure nos dois arquivos. Abraço.
-
EXHAUTED
Esses problemas já estão resolvidos no fórum, dê uma pesquisada na próxima, abraço.
-
[8.6] Task System 4.0! (Task system + Daily Task System)
Muito bom, cara, darei uma estudada no seu script e tentarei contribuir também. REP +
-
Remover item de um player
Bom, como o título já informa, o script faz com que você remova um item do inventário de algum player online. Versão: 8.6 - TFS 0.4 Em data\talkactions\scripts crie um arquivo chamado removerItem (lembrando que deve ser .lua, caso não saiba criar um, copie algum já existente e cole, após isso, mude o nome do arquivo e cole o código dentro) --[[ Script feito por Lordzetros para o fórum Tibia King ]] function onSay(cid, words, param) pos = getPlayerPosition(cid) if (param == '') then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O comando necessita de parametros (nomePlayer,idItem,quantidade). Ex.: /remover Bugador,2160,100") if (not isPlayerGhost(cid)) then doSendMagicEffect(pos, CONST_ME_POFF) end return true end local aux = string.explode(param, ",") local pid = getPlayerByNameWildcard(aux[1]) if (not pid) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player " .. aux[1] .. " nao encontrado.") elseif (getPlayerAccess(pid) > getPlayerAccess(cid)) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao pode remover itens de um superior seu.") doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "O membro da staff " ..getCreatureName(cid).. " tentou remover um item de voce!") return true end aux[1] = aux[1]:lower() local qntd = 1 if(aux[3]) then if (tonumber(aux[3]) <= 0) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Nao eh permitido valores nulos/negativos! Caso queira remover apenas 1x, use /remover Player,idItem") else qntd = aux[3] end end if (doPlayerRemoveItem(pid, tonumber(aux[2]), qntd) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Removido " ..qntd.. "x " ..getItemNameById(aux[2]).. " do player "..aux[1]) posPlayer = getCreaturePosition(pid) doSendMagicEffect(posPlayer, CONST_ME_PLANTATTACK) doCreatureSay(pid,"O membro da staff " ..getCreatureName(cid).. " removeu " ..qntd.. "x " ..getItemNameById(aux[2]).." de seu inventario!", TALKTYPE_ORANGE_1) return true else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O Player " ..aux[1].. " nao tem o item ou a quantidade do item informada em seu inventario.") end return true end Salve o arquivo no qual colocou o código, após isso navegue até data\talkactions\ e abra o arquivo talkactions.lua, e coloque este trecho de código onde quiser: <talkaction log="yes" access="3" words="/remover" event="script" value="removerItem.lua"/> Feito isso, salve o mesmo e já pode testar no seu servidor. Obs1.: Repare que o acesso está definido como 3, ou seja, GM para cima. (mude se quiser) Comando na prática: /remover nomePlayer,idItem,qntd Imagens: 1 2 3 4 Enfim, é isso pessoal, script simples, porém, pode servir para algum tibiano interessado.
-
[Ajuda] Script Bugado
local config = { storage = 489061564, tempo = 6000, -- tempo, em segundos que o efeito demorará para sair. } local eggo = { ["Holy Pet"] = {id = 6541, mon = "Holy Pet", cor = TEXTCOLOR_YELLOW, efeito = 21}, ["Fire Pet"] = {id = 6542, mon = "Fire Pet", cor = TEXTCOLOR_RED, efeito = 6}, ["Ice Pet"] = {id = 6543, mon = "Ice Pet", cor = TEXTCOLOR_TEAL, efeito = 43}, ["Terra Pet"] = {id = 6544, mon = "Terra Pet", cor = TEXTCOLOR_LIGHTGREEN, efeito = 45}, ["Phoenix Pet"] = {id = 2695, mon = "Phoenix Pet", cor = TEXTCOLOR_GREY, efeito = 17}, ["Draug Pet"] = {id = 6544, mon = "Draug Pet", cor = TEXTCOLOR_BROWN, efeito = 37}, ["Many Pet"] = {id = 2695, mon = "Many Pet", cor = TEXTCOLOR_TEAL, efeito = 37}, ["Energy Pet"] = {id = 6545, mon = "Energy Pet", cor = TEXTCOLOR_PURPLE, efeito = 22}, ["Jester Pet"] = {id = 9693, mon = "Jester Pet", cor = TEXTCOLOR_DARKPURPLE, efeito = 31}, ["Ferumbras Pet"] = {id = 11715, mon = "Ferumbras Pet", cor = TEXTCOLOR_DARKRED, efeito = 29} } function onThink(cid, interval) local function Macabro(cid) for k, v in pairs(eggo) do if isCreature(cid) and getCreatureName(cid) == k then if getPlayerStorageValue(cid,config.storage) < 0 then -- aqui ele vai verificar se o level do pokemon representado pelo storage vai ta -1, caso sim, seta como 0 setPlayerStorageValue(cid, config.storage, 0) end doSendMagicEffect(getThingPos(cid), v.efeito) doSendAnimatedText(getThingPos(cid), "Level: " ..(getPlayerStorageValue(cid,config.storage)).. "", v.cor) addEvent(function() Macabro(cid) end, 6000) end end end if (getPlayerStorageValue(cid, 70079)) <= 0 then -- storage que guarda o tempo do efeito. Macabro(cid) setPlayerStorageValue(cid, 70079, config.tempo + os.time()) else return true end return TRUE end Teste com essa verificação aí, o colega de cima deu ideia, acredito que isso já resolva o problema, pois como você já falou, quando fez o teste no book, aparentemente estava correto.
-
[Ajuda] Script Bugado
É porque acontece o seguinte: Todos storages, quando declarados, recebem o valor de -1, e de alguma maneira, em outro script que seta o level do seu pokemon, ao invés de definir como 0, o mesmo permanece como padrão, pois não foi setado como outro valor. Repare nesta parte do código: doSendAnimatedText(getThingPos(cid), "Level: " ..(getPlayerStorageValue(cid,489061564)).. "", v.cor) o storage 489061564 provavelmente é o que guarda o valor do level do pokemon, certo? E por padrão, quando ele foi declarado, recebeu -1, ou seja, se não houver modificação no level do pokemon, ele vai tá sempre com -1 por não ter sido declarado com valor nulo. É por isso que falei que o código que você está postando, aparentemente, está tudo ok (tirando algumas coisas de configurável ao usuário).
-
[Ajuda] Script Bugado
Essa primeira storage, serve para o quê? O código comenta algumas coisas, mas esqueceu de falar sobre ela. Edit 1: Certamente é pra pegar o level, mas onde ela é trabalhada em outro script? Preciso dá uma olhada, porque aparentemente tá tudo ok no código.
-
Alavanca que troca itens
@louco3626 por nada! Claro que tem, aqui o código: -- Script por Lordzetros para o forum Tibia King. local config = { itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca telePosicao = {x=155, y=54, z=7}, -- Local que o player ira se teleportar ao usar a alavanca } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getPlayerPosition(cid) if item.itemid == 1945 then -- id da alavanca doPlayerAddItem(cid, config.itemNovo,config.qtNova) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de ganhar "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doTeleportThing(cid,config.telePosicao) doSendMagicEffect(pos, CONST_ME_HOLYAREA) end end Onde tem telePosicao, você irá colocar as coordenadas de onde o player irá se teletransportar.
-
Alavanca que troca itens
-- Script por Lordzetros para o forum Tibia King. local config = { itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getPlayerPosition(cid) if item.itemid == 1945 then -- id da alavanca doPlayerAddItem(cid, config.itemNovo,config.qtNova) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de ganhar "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_HOLYAREA) end end @louco3626 acredito que isso resolva o que deseja, :D.
-
(Resolvido)!saga
Cara, tem coisa estranha nesse código, além de tá horrível para interpretar... Mas ok, tentarei te ajudar, me informe o que mostra no jogo se o cara digita 1.x (que você quer remover).
-
Alavanca que troca itens
Estou de volta, colega, e aí, resolveu?
-
(Resolvido)Erro ao criar magia
Aqui também diminuiu, :D. Eu não sei te responder ao certo, colega, pode ser alguma configuração em sua 'distro' ou algo do tipo... Sempre bom ver essa parte, ^~^. Utilizo OTX também e fiz o teste com o do meu servidor: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 6, 12) local area = createCombatArea(AREA_CIRCLE2X2) setCombatArea(combat, area) function onCastSpell(cid, var) if isMonster(cid) then doCreatureSay(cid, "exevo gran mas frigo", TALKTYPE_MONSTER) end return doCombat(cid, combat, var) end
-
[Error] Player morre mas não perde bless
Estranho... O script pra mim tá 100%. Tentarei dá uma pesquisa melhor e darei outra resposta. (editando essa). Qual é a versão do seu servidor?
-
(Resolvido)Erro ao criar magia
(AREA_CROSS2X2) não existe, é como se fosse algo pré-definido, e essa definição de (AREA_CROSS2X2) não está na lista, entendeu? Como o colega falou em cima ali, você mudando para AREA_CIRCLE2X2 poderá ter o que deseja, :).
-
Tibia 860
Recomendo baixar o Tibia Loader, lá você terá praticamente todas as versões do Tibia disponível pra baixar e jogar em servidores, da 7.1 até 10.99
-
Ajuda gesior
Poste aqui o código que tem no arquivo latestnews.php (fica em htdocs/pages/ )
-
[Error] Player morre mas não perde bless
Poste sua config.lua e bless.lua (fica em data/talkactions/scripts/)
-
[Script não funciona] Skill's Points
Posso tentar analisar o script e testar no meu servidor teste, com isso, vou fazendo alguns ajustes e procurando solucionar, pode ser? Só por conta do tempo, demorarei um pouco, já que tá sendo muito corrido pra mim esses dias.
-
[Script não funciona] Skill's Points
Algum erro registrado na distro? Seja na hora de abrir ou quando chega no level configurado?
-
Itens novos
Sim, sim, essa parte é ok. O problema é que o NPC ele não reconhece a diferença do ID dos itens, saca? Tipo, levando em consideração apenas o CID, que como é duplicado, é o mesmo. Acredito eu que seja isso, a não ser que a pessoa tenha um client próprio e todo configurado com esses itens, aí pode não causar esse conflito, mas no meu caso, antigamente, foi sem client próprio, portanto, o conflito podia tá atrapalhando na hora da entrega do item.
-
Itens novos
Estranho, ^^. Sinceramente, não sei dizer ao certo, faz tanto tempo, mas foi o mesmo problema comigo.
-
Itens novos
Colega, já tive esse problema antigamente, eu não consegui resolver, mas é por conta que você tá utilizando itens diferentes (ids), porém com a mesma sprite e config na sua .otb. Só não te digo como solucionar 100%, porque isso foi lá em 2014, e era justamente com NPC que vendia itens. A minha solução foi fazer um sistema de compras por alavanca, ou seja, peguei o ID que não ia (no caso o que editou) e coloquei para vender separadamente, já que no NPC não estava chegando ele, mas sim o raiz do servidor.
-
Imagens não aparecem na Store
Em coinImagesURL não é pra colocar o IP do seu servidor, e sim o endereço que o servidor irá buscar as imagens, por exemplo: http://ipdoservidor/images/store/ Apenas isso.
-
(Resolvido)Ajuda com script alavanca e bau pra quest
Aê, :). Bom, de qualquer forma, espero que eu tenha ajudado. Qualquer coisa, estamos aí. Edit1: Marque uma resposta como melhor resposta para que assim o tópico passe a ser resolvido e ajudar outras pessoas futuramente.
-
(Resolvido)Ajuda com script alavanca e bau pra quest
Você tem que criar, colega, ^^. Abra um bloco de notas qualquer, depois cole o código que está no tópico dentro dele, em seguida vai em Arquivo>Salvar como... e digite o nome do arquivo com a extensão .lua, no caso ficaria assim: summonMonster.lua e no tipo de arquivo (coloque todos tipos de arquivos). obs.: Dê f5 na página, pois alterei algumas coisas no código. Qualquer coisa, baixe o que criei aqui: summonMonster.lua