Tudo que williamcgv postou
-
NPC que troca um item por um item aleatório
Sim, já tentei e não funcionou... se possível focar no problema 1º ajudaria muito é oque eu mais preciso!
-
NPC que troca um item por um item aleatório
Sim, tem alguns npc's perto.
-
NPC que troca um item por um item aleatório
-O NPC funciona realmente só que apresenta 2 problemas que preciso resolver, espero que entendam.. É um NPC que troca um item "A, B ou C" por um item aleatório "X, Y ou Z". PROBLEMA: 1º MENSAGEM DO NPC: Após falar o tipo de troféu (bronze/prata/ouro), o "NPC" não fala se deseja confirmar a troca do troféu pela gema, ou seja ele já faz a troca após escreve a opção de troféu. 2º FALA DO NPC: O "NPC" está repetindo algumas frases de outros NPC's, por exemplo tenho um npc chamado "Mary", e ela tem uma fala que é "Venda seus gold ingot aqui!" e esse "NPC" de troca, fala a mesma frase mesmo não sendo programado na script. _________________________________________________________________________________________________________________________ SOLUÇÃO: 1º MENSAGEM DO NPC: Quero que mande uma mensagem de confirmação após escolher a opção de troféu (bronze/prata/ouro) Exemplo: #Player: Hi #NPC: Ola |PLAYERNAME|. Seja Bem-Vindo a Sala de Trocas. Eu coleciono {trofeus} de ouro, prata e bronze. E para garantir que todos troquem comigo, eu retribuo dando gemas aleatorias. #Player: troféu #NPC: Acho que você pretende trocar algum troféu por gemas. Qual troféu você pretende trocar comigo: {ouro}, {prata} ou {bronze} _________________________________________________________________________________________________________________________ #Player: bronze #NPC: Você tem certeza que quer trocar 1 troféu de bronze por 1 gema aleatória? <<< A MENSAGEM DE CONFIRMAÇÃO #Player: sim #NPC: Obrigado, aqui estão suas gemas. ________________________________________________________________________________ #Player: prata #NPC: Você tem certeza que quer trocar 1 troféu de prata por 2 gema aleatória? <<< A MENSAGEM DE CONFIRMAÇÃO #Player: sim #NPC: Obrigado, aqui estão suas gemas. ________________________________________________________________________________ #Player: ouro #NPC: Você tem certeza que quer trocar 1 troféu de ouro por 3 gema aleatória? <<< A MENSAGEM DE CONFIRMAÇÃO #Player: sim #NPC: Obrigado, aqui estão suas gemas. _________________________________________________________________________________________________________________________ 2º FALA DO NPC: Quero que fale as frases que foi programado na script, ou seja não fale de outros NPC's. Exemplo: #Troque o seu troféu aqui. #Só entendo português, diga oi. #Oi! Troco gemas por troféus! _________________________________________________________________________________________________________________________ Data/npc: <npc name="Josue" script="data/npc/scripts/trofeu.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="133" head="79" body="0" legs="128" feet="128" addons="1"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Seja Bem-Vindo a Sala de Trocas. Eu coleciono {trofeus} de ouro, prata e bronze. E para garantir que todos troquem comigo, eu retribuo dando gemas aleatorias."/> </parameters> </npc> Data/npc/scripts: 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 function thinkCallback(cid) local rand = math.random(1,100) if rand == 10 then selfSay('Troque o seu troféu aqui.') -- msg que vai sair do npc end if rand == 11 then selfSay ('Só entendo português, diga oi.') end if rand == 12 then selfSay ('Oi! Troco gemas por trofeús!') end return true end function greetCallback(cid) return true end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local trophy = { ["ouro"] = {3, 5805}, --{Quantidade de items aleatórios, ID do troféu}, ["prata"] = {2, 5806}, ["bronze"] = {1, 5807}, } local items = {2154, 2156, 2158} if msgcontains(msg, "trophy") or msgcontains(msg, "trofeu") then selfSay("Acho que você pretende trocar algum troféu por gemas. Qual troféu você pretende trocar comigo: {ouro}, {prata} ou {bronze}?", cid) talkState[talkUser] = 1 return true elseif talkState[talkUser] == 1 then if trophy[msg:lower()] then local trofeu = trophy[msg:lower()] local id = trofeu[2] if getPlayerItemCount(cid, id) > 0 then for i = 1, trofeu[1] do doPlayerAddItem(cid, items[math.random(#items)], 1) end doPlayerRemoveItem(cid, id, 1) selfSay("Obrigado, aqui estão suas gemas.", cid) talkState[talkUser] = 0 return true else selfSay("Você não possui este troféu.", cid) talkState[talkUser] = 0 return true end else selfSay("Este troféu não existe.", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback) npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:addModule(FocusModule:new()) Espero que alguém me ajude necessito muito desse NPC, agradeço quem puder ajudar!
-
Npc de Troca
PROBLEMA: 1º MENSAGEM DO NPC: Após falar o tipo de troféu (bronze/prata/ouro), o "npc" não fala se deseja confirmar a troca do troféu pela gema, ou seja ele já faz a troca após escreve a opção de troféu. 2º FALA DO NPC: O "npc" está repetindo algumas frases de outros npc's, por exemplo tenho um npc chamado "Mary", e ela tem uma fala que é "Venda seus gold ingot aqui!" e o "npc" de troca no caso esse, fala a mesma frase mesmo não sendo programado na script. SOLUÇÃO: 1º MENSAGEM DO NPC: Quero que mande uma mensagem de confirmação após escolher o tipo de troféu (bronze/prata/ouro) Exemplo: #Player: Hi #NPC: Ola |PLAYERNAME|. Seja Bem-Vindo a Sala de Trocas. Eu coleciono {trofeus} de ouro, prata e bronze. E para garantir que todos troquem comigo, eu retribuo dando gemas aleatorias. #Player: troféu #NPC: Acho que você pretende trocar algum troféu por gemas. Qual troféu você pretende trocar comigo: {ouro}, {prata} ou {bronze} #Player: bronze #NPC: Você tem certeza que quer trocar 1 troféu de bronze por 1 gema aleatória? #Player: sim #NPC: Obrigado, aqui estão suas gemas. < AS MENSAGEM QUE EU DESEJO #Player: prata #NPC: Você tem certeza que quer trocar 1 troféu de prata por 2 gema aleatória? < QUE APAREÇA AO FALAR #Player: sim #NPC: Obrigado, aqui estão suas gemas. < O TIPO DE TROFÉU EM TROCA DE GEMAS! #Player: ouro #NPC: Você tem certeza que quer trocar 1 troféu de ouro por 3 gema aleatória? #Player: sim #NPC: Obrigado, aqui estão suas gemas. 2º FALA DO NPC: Quero que fale as frases que foi programado na script, ou seja não fale de outros npc's. Exemplo: #Troque o seu troféu aqui. #Só entendo português, diga oi. #Oi! Troco gemas por troféus! _________________________________________________________________________________________________________________________ Data/npc: <npc name="Josue" script="data/npc/scripts/trofeu.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="133" head="79" body="0" legs="128" feet="128" addons="1"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Seja Bem-Vindo a Sala de Trocas. Eu coleciono {trofeus} de ouro, prata e bronze. E para garantir que todos troquem comigo, eu retribuo dando gemas aleatorias."/> </parameters> </npc> Data/npc/scripts: 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 function thinkCallback(cid) local rand = math.random(1,100) if rand == 10 then selfSay('Troque o seu troféu aqui.') -- msg que vai sair do npc end if rand == 11 then selfSay ('Só entendo português, diga oi.') end if rand == 12 then selfSay ('Oi! Troco gemas por trofeús!') end return true end function greetCallback(cid) return true end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local trophy = { ["ouro"] = {3, 5805}, --{Quantidade de items aleatórios, ID do troféu}, ["prata"] = {2, 5806}, ["bronze"] = {1, 5807}, } local items = {2154, 2156, 2158} if msgcontains(msg, "trophy") or msgcontains(msg, "trofeu") then selfSay("Acho que você pretende trocar algum troféu por gemas. Qual troféu você pretende trocar comigo: {ouro}, {prata} ou {bronze}?", cid) talkState[talkUser] = 1 return true elseif talkState[talkUser] == 1 then if trophy[msg:lower()] then local trofeu = trophy[msg:lower()] local id = trofeu[2] if getPlayerItemCount(cid, id) > 0 then for i = 1, trofeu[1] do doPlayerAddItem(cid, items[math.random(#items)], 1) end doPlayerRemoveItem(cid, id, 1) selfSay("Obrigado, aqui estão suas gemas.", cid) talkState[talkUser] = 0 return true else selfSay("Você não possui este troféu.", cid) talkState[talkUser] = 0 return true end else selfSay("Este troféu não existe.", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback) npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:addModule(FocusModule:new()) Espero que entendam oque eu preciso, agradeço muito quem puder me ajudar!
-
Summon System
Bom não funcionou dinovo, tinha dito que o pet (summon) teleporta até no máximo uns 34~35 sqm de distancia entende? mais que isso eles desaparece... se local for muito longe o pet (summon) desaparece. Isso tem a haver com 'distância global do server' que ele vai, entendeu ? O pet (summon) entra no teleporte com uma distancia de 34~35 sqm o pet até teleporta para o dono, mais que isso ele desaparece. Me ajuda porfavor!!
-
Summon System
tentei fazer isso como disse está dando esse erro [28/12/2014 22:28:00] [Error - MoveEvents Interface] [28/12/2014 22:28:00] data/movements/scripts/tpdelvl.lua:onStepIn [28/12/2014 22:28:00] Description: [28/12/2014 22:28:00] (luaDoTeleportThing) Thing not found Data\movements: <movevent type="StepIn" actionid="5678" event="script" value="tpdelvl.lua"/> Data\movements\scripts: local posi = {x=1099, y=1135, z=7} -- Posicao pra onde vai o player local volta = {x=1095, y=1061, z=8} -- Posicao pra onde o player vai se teleportado caso nao tenha lvl ou seja maior function onStepIn(cid, item, position, lastPosition, fromPosition) if getPlayerLevel(cid) < 141 then doTeleportThing(cid, posi) doTeleportThing(getCreatureSummons(cid)[1], posi) doSendMagicEffect(getThingPos(cid), 10) doPlayerSendTextMessage(cid, 19, "Você entrou na zona 120~140!") else doPlayerSendTextMessage(cid, 19, "Você não pode entrar nessa zona! (Nível 120~140).") doTeleportThing(cid, volta) doSendMagicEffect(getThingPos(cid), 10) end end ajuda pf!
-
Spell de attack
bom áa consegui arrumar essa magia tem tempo. se puder ajudar em outro topico meu vai ajuda d+ http://www.tibiaking.com/forum/topic/48458-summon-system/ ve se consegue arrumar porfavor?
-
Summon System
bom funciona do mesmo jeito só que ainda persiste o erro que ainda desaparece ao entrar no teleporte e pula uns andares exemplo z:8 para z :5.. entende? Quero apenas que o pet fique infinito nunca sumir a não ser quando relogue o char deu para entender mais ou menos? preciso muito de ajudar !!!
-
Summon System
sim já mudei continua mesma coisa entra no teleporte dependendo da distancia pet desaparece..
-
Summon System
maxPlayerSummons = 1 teleportAllSummons = true teleportPlayerSummons = true acho que não é no config.lua que esteja o problema. porfavor me ajudem !
-
Summon System
Eu tenho um sistema de summon que invoca um pet (monstro) após usar um item 'X', PROBLEMA: Quando subo e desço andares por exemplo de z:5 para z:8 ou vice versa, o pet desaparece ou seja quando sobe ou desce mais de 2 andares rápido eles desaparecem, também quando entra em teleporte eles desaparece mas depende da distancia já testei e no máximo de 34~35 sqm e mais disso eles desaparecem após entrar no teleporte. SOLUÇÃO: Quero que os summon que foi invocado fica permanente no jogo seguindo o dono por onde for, entrando em teleporte de longa distancia e subindo e descendo andares rápidos ou seja o pet fique infinito é claro que só desaparece se relogar o char (personagem). entenderão? Data\globalevents: Data\globalevents\scripts: function onThink(interval, lastExecution, thinkInterval) local maxDistance = 8 for _, pid in pairs(getPlayersOnline()) do local summons = getCreatureSummons(pid) if #summons ~= 0 then for _, sid in pairs (summons) do if getThingPos(sid).z ~= getThingPos(pid).z or getDistanceBetween(getThingPos(sid), getThingPos(pid)) > maxDistance then doTeleportThing(sid, getThingPos(pid), false) doSendMagicEffect(getThingPos(sid), 10) end end end end return true end Espero que alguém me ajude! necessito muito disso REP+ agradeço!
-
(Resolvido)Annihilator Quest
...
-
(Resolvido)Annihilator Quest
...
-
(Resolvido)Annihilator Quest
....
-
Invasão de tempo automático
Bom quero uma script que de invasão de monstros no caso "Demon" em algumas posições alteráveis. Bom quero que o tempo da invasão seja automático ou seja abri o serve agora depois 10 minutos deu a invasão, depois 1 hora deu invasão dinovo depois uns 3 minutos deu invasão novamente entende? o tempo seja aleatório em horas para minutos tudo mesmo.
-
(Resolvido)Annihilator Quest
...
- Aleatório
-
annihilator
- Annihilator - Eu uso uma script de "annihilator". Bom ela funciona normalmente do jeito que eu quero só que na script eu coloquei que depois de 1 minuto o player seja teletransportado para uma área determinada no caso já editei certo, só que nesse 1 minuto era para os monstros sumirem também para ficar limpo a área da "annihilator". É só isso que eu peço para remover os monstros depois de 1 minuto como está na script. ou seja passou 1 minuto o player teletransporta para área e os monstros que estão na quest somem. Ai se alguem entrar.. apareçe os monstros novamente. Deu para entender + ou- ? SCRIPT: Espero que alguem me ajude! REP+ agradeço.
-
Aniih
- Annihilator - Eu uso uma script de "annihilator". Bom ela funciona normalmente do jeito que eu quero só que na script eu coloquei que depois de 1 minuto o player seja teletransportado para uma área determinada no caso já editei certo, só que nesse 1 minuto era para os monstros sumirem também para ficar limpo a área da "annihilator". É só isso que eu peço para remover os monstros depois de 1 minuto como está na script. ou seja passou 1 minuto o player teletransporta para área e os monstros que estão na quest somem. Ai se alguem entrar.. apareçe os monstros novamente. Deu para entender + ou- ? SCRIPT: Agradeço muito quem puder ta me ajudando! REP+
- Aleatório
-
Aleatório
era isso mesmo que eu queria só fatou a mensagem pra ficar perfeito. EXEMPLO: quantidade do item que vem > Você abriu a mochila surpresa azul e recebeu uma backpack com " .. quantidade .. " equipamentos. e está dando erro no distro [26/10/2014 00:55:10] [Error - Action Interface] [26/10/2014 00:55:10] data/actions/scripts/one/castle/mochila surpresa azul.lua:onUse [26/10/2014 00:55:10] Description: [26/10/2014 00:55:10] (luaDoRemoveItem) Item not found se puder ageitar esses 2 problemas ajudaria d+
-
Aleatório
Mesmo problema ainda gente vocês não estão entendo como eu quero que aconteça a script vou tentar explicar de um jeito melhor! Cliquei no item>ganhei 3 a 5 itens aleatórios>no caso veio 4 itens>desses 4 itens os ids foi 8920, 2181, 8912, 8921. Todos itens que ganhei foi aleatórios, deu pra entender mais ou menos como eu quero a script?? a que vocês mandaram vem 1 tipo de id e outra vem 20 itens com 5 de cada id, não é isso que eu pedir realmente. se puder me ajudar mais uma vez fiquei grato!
- Aleatório
- Aleatório
- Aleatório