
Tudo que Wise postou
- Usar x item somente em determinada position
- [AJUDA] BatleField Event
-
Sistema De Transform [8.50] HELP
Disponha. Crie outro tópico, brother. Esse assunto não tem convicção com o tópico atual.
-
Problema com os "Teleportes Falantes"?
REMOVIDO! Ops..aqui não havia carregado a mensagem do membro acima e.e
-
Npc com multi-linguagem
É, por storage seria mais simples. Daí basta configurar uma função de verificação nos NPCs para que executem determinado script caso tenha determinado valor da storage usada para cada linguagem. Você pode configurar em seu site para que por exemplo, determinada opção de escolha de linguagem de um novo character adicione determinada storage à esse novo char..assim os NPC's irão checar o valor dela e executar tal script.
-
(Resolvido)Wand + condition
O script acima só dará ao player a condição de fogo, não dará as dos outros elementos. Mas ok.
-
Npc com multi-linguagem
Um sistema geral..não creio que seja possível com as funções padrão do tibia. Mas você pode optar por configurar o script do NPC para que reconheça uma string, e se o player confirmar, retornará positivamente, então dará continuidade a função de tal modo. Poste um exemplo de NPC que você quer que tenha múltiplas linguagens e me informe em quais idiomas você quer que ele possa responder.
- [AJUDA] BatleField Event
- Usar x item somente em determinada position
-
Sistema De Transform [8.50] HELP
Então você apenas quer que mude a outfit do player ao digitar transformar..certo. Dê uma olhada nessa talkaction de saga, você pode alterar as palavras de conjuração do script para como quiser.
-
Sistema De Transform [8.50] HELP
Certo..só uma coisa: Aumenta a "força" do player em que sentido? Qual skill? Pois os hitpoints variam de acordo com os skills e/ou valores atribuídos por itens/spells (detalhe óbvio). Seja o mais específico possível.
-
Missao, coisa simples preciso de ajuda!REP+++
Faltavam 3 ends, aqui está: 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 crystalid = 9971 local storage = 9971 local getstorage = getPlayerStorageValue(cid, storage) local sorrymessage = "Desculpe, voce nao tem todos os gold ingot para completar as missoes..." local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'gold ingot') then if getstorage == 6 then npcHandler:say("Voce ja completou a quest", cid) elseif getstorage < 6 then npcHandler:say("Voce tem todos os gold ingot necessarios?", cid) talkState[talkUser] = 1 end elseif msgcontains(msg, 'quest') then if getstorage < 1 then npcHandler:say("Voce precisa de 25 {gold ingot} para comecar. encontre-os em {infernalist}.", cid) elseif getstorage == 1 then npcHandler:say("Voce esta na segunda parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 2 then npcHandler:say("Voce esta na terceira parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 3 then npcHandler:say("Voce esta na quarta parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 4 then npcHandler:say("Voce esta na quinta parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 5 then npcHandler:say("Voce esta na sexta e ultima parte missao e precisa de mais 25 gold ingot para acabar.", cid) elseif getstorage == 6 then npcHandler:say("Voce completou todas as missoes.", cid) end elseif msgcontains(msg, 'yes') then if talkState[talkUser] == 1 then if getstorage < 0 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot . Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 1) doPlayerAddExp(cid, 1000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 1) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 1 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot . Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 2) doPlayerAddExp(cid, 2000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 5) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 2 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot. Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 3) doPlayerAddExp(cid, 3000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 7) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 3 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot. Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 4) doPlayerAddExp(cid, 4000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 10) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 4 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot. E por ultimo, irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 5) doPlayerAddExp(cid, 5000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 15) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 5 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Parabens ,para quer receber seus premios agora? Diga {yes}.", cid) setPlayerStorageValue(cid, storage, 6) doPlayerAddItem(cid, 12279, 1) doPlayerAddItem(cid, 2160, 50) doPlayerAddExp(cid, 15000) doPlayerAddItem(cid, 9933, 1) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 25) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
EU venho pedir ajuda valendo 2rep+
Poste o script do arquivo portrait.lua.
-
(Resolvido)[Pedido] Comando (URGENTE)
Editei, tente agora.
-
COMANDOS
Verifique se você possui a seguinte tag em talkactions.xml (data/talkactions): <talkaction log="yes" words="/addskill" access="5" event="function" value="addSkill"/> Se não tiver, adicione-a. Caso você tenha feito isso e ainda assim a talkaction não funciona, então vá até a pasta data/lib, procure e abra o arquivo 050-function.lua e adicione esse script à ele: function doPlayerAddSkill(cid, skill, amount, round) if(skill == SKILL__LEVEL) then return doPlayerAddLevel(cid, amount, round) elseif(skill == SKILL__MAGLEVEL) then return doPlayerAddMagLevel(cid, amount) end return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill')) end
- Usar x item somente em determinada position
-
(Resolvido)[Pedido] Comando (URGENTE)
portalevento.lua local appear = {x=123, y=456, z=7, stackpos=253} local destination = {x=123, y=456, z=7, stackpos=253} local gsto = 34567 function onSay(cid, words, param, channel) local e = getTileItemById(appear, 1387) if param == "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite !evento on - para criar um portal para o evento e !evento off - para deletar o portal do evento.") return 1 end if param == "on" and getGlobalStorageValue(gsto) < 1 then setGlobalStorageValue(gsto, 1) doCreateTeleport(1387, destination, appear) broadcastMessage("O portal para a Área de Eventos foi aberto!", MESSAGE_STATUS_WARNING) else doPlayerSendCancel(cid, "Já há um Evento em andamento, desative-o para poder iniciar outro.") end if param == "off" and getGlobalStorageValue(gsto) > 0 and e then setGlobalStorageValue(gsto, -1) doRemoveItem(e.uid, 1) broadcastMessage("O portal para a Área de Eventos foi fechado pelo Administrador!", MESSAGE_STATUS_WARNING) else doPlayerSendCancel(cid, "Não há nenhum Evento em andamento.") end return 1 end tag (talkactions.xml): <talkaction log="yes" words="!evento" access="4" event="script" value="portalevento.lua"/> Parâmetros !evento on !evento off Não testei local appear = onde o portal será criado local destination = para onde o portal leva
-
Script de "mutação"
Isso significa que você adicionou mais de uma tag com o mesmo ID. Verifique se não há outra tag utilizando os mesmos IDS das swords em seu actions.xml.
-
Usar x item somente em determinada position
Não testei threetimes.lua local tab = { pos = {x=123, y=456, z=7, stackpos=253}, sto = 11221 } function onUse(cid, item, fromPosition, item2, toPosition) if getCreaturePosition(cid) == tab.pos then local getst = getPlayerStorageValue(cid, tab.sto) if getst > 2 then doPlayerSendCancel(cid, "Você não pode mais usar este item.") elseif getst < 1 then ... setPlayerStorageValue(cid, tab.sto, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você só poderá usar este item mais duas vezes!") elseif getst == 1 then ... setPlayerStorageValue(cid, tab.sto, 2) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você só poderá usar este item mais uma vez!") elseif getst == 2 then ... setPlayerStorageValue(cid, tab.sto, 3) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não poderá mais usar este item, foi sua última vez!") end else doPlayerSendCancel(cid, "Você não está na posição correta para usar o item.") end return true end As reticências . . . representam a continuidade do script (onde você vai poder adicionar outras funções = o que acontece com o player ao dar use nesse item, já que você não disse nada sobre). Não se esqueça de modificar a posição em que o player deve estar para poder usar o item (x=123, y=456, z=7). tag (actions.xml): <action itemid="IDDOITEM" event="script" value="threetimes.lua"/>
-
(Resolvido)[Pedido 3x] NPC,Mapa,Distro
Paisagista.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Paisagista" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="121" head="0" body="0" legs="0" feet="0" addons="0"/> </npc> Informante.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Informante" script="data/npc/scripts/informante.lua" walkinterval="3000" floorchange="0"> <health now="100" max="100"/> <look type="292" head="0" body="0" legs="0" feet="0"/> <parameters> <parameter key="message_greet" value="Ola |PlayerName|! Bem vindo a loja de points, aqui voce podera comprar coisas com points. Diga {mais}! " /> <parameter key="message_decline" value="Goodbye!" /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="mais;premium;ofertas" /> <parameter key="keyword_reply1" value="Quer saber sobre, novas {ofertas} ou {premium} account?" /> <parameter key="keyword_reply2" value="Para comprar premium account diga !buypremium e pronto, lembre-se de que voce comprara premium com dinheiro e nao com points." /> <parameter key="keyword_reply3" value="Novas ofertas surgirao com o tempo." /> </parameters> </npc> informante.lua (data/npc/scripts): 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 npcHandler:addModule(FocusModule:new()) Sobre o baú móvel e pegável: Você vai precisar dos programas ObjectBuilder e Item Editor. Após ter feito o download deles e etc: Item Editor 1) Vá até a o diretório onde você instalou seu ItemEditor e crie uma pasta com a número da versão do seu tibia.spr/tibia.dat do seu client. Por exemplo, se for 8.54, crie uma pasta nomeada por: 854 e cole o .dat e .spr nela. 2) Abra o Item editor, aperte CTRL+O e selecione o items.otb do seu servidor (data/items). 3) Os dados serão carregados..em seguida, procure pelo ID/sprite do item que você deseja alterar os atributos (no lado esquerdo <) e selecione ele. 4) No lado direito > aparecerão todos os dados do item selecionado. Em Attributes, apenas deixe marcadas as opções Unpassable, Block Pathfinder e Has Elevation (dessa forma, eles não poderam pegar o item/movê-lo/passar sobre ele/etc, e o item terá uma elevação caso seja sobreposto em algum outro item). 5) Salve a edição (CTRL+S). Object Builder 1) Abra o programa, aperte CTRL+O, selecione pela pasta com os arquivos do seu client descompactados e clique em Load. 2) Depois que os dados carregarem, no lado < esquerdo procure onde está "Items", pela sprite/ID do item que você quer alterar as propriedades. 3) Após encontrar o item desejado, clique duas vezes sobre a imagem dele ou clique com o botão direito do mouse e em seguinda clique sobre Edit. 4) Clique na aba Properties e deixe marcadas apenas as opções Has Elevation, Container e Block Pathfinder. 5) Compile (CTRL+S). O erro é no mapa, você provavelmente não deve ter feito a "entrada" de algumas houses, como indicam os erros no distro. Após você ter posto todos os sqms do interior da house, você precisa clicar em Select Exit (na aba House Palette) e selecionar o sqm em frente a porta da house, que irá ficar como se um fluído tivesse caído ali. Criando essas "entradas" das houses que o distro acusou como não definidas, você conseguirá resolver os erros. Dá uma olhada nesse tutorial aqui, talvez ajude. Não testei nada, mas espero que ajude
-
Sistema De Transform [8.50] HELP
Okay, mas se nenhum do fórum foi do seu gosto, então explique-nos qual seria esse sistema de transformar do seu gosto. Como você deseja que ele funcione? Explique melhor, não dá pra fazer sem detalhes. O que altera no player ao transformar?
-
Summon scripts
É como o membro acima disse. Ative as funções (em seu config.lua) teleportAllSummons e teleportPlayerSummons, colocando o valor true nas mesmas, ficando assim: teleportAllSummons = true teleportPlayerSummons = true Agora enquanto a isso, dá pra fazer um creaturescript.
-
Sistema De Transform [8.50] HELP
Explique melhor.. O que é esse "transformar"? Como um player se transforma? Quais as mudanças no player ao transformar? Seja mais específico, facilita a nossa concepção.
-
Script de "mutação"
Tente esse: transformsword.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local firstid, secondid, str, time = 8931, 8932, 18930, 5 if exhaustion.check(cid, str) then doPlayerSendCancel(cid, "Você só pode transformar sua arma de ".. time .." em ".. time .." segundos.") return 1 end if item.itemid == firstid then exhaustion.set(cid, str, time) doRemoveItem(item.uid, 1) doPlayerAddItem(cid, secondid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você transformou um(a) ".. getItemName(firstid) .." em um(a) ".. getItemName(secondid) ..".") elseif item.itemid == secondid then exhaustion.set(cid, str, time) doRemoveItem(item.uid, 1) doPlayerAddItem(cid, firstid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você transformou um(a) ".. getItemName(secondid) .." em um(a) ".. getItemName(firstid) ..".") end return 1 end Tag em actions.xml: <action itemid="8931;8932" event="script" value="transformsword.lua"/>
- problema no Save