
Tudo que peterson18 postou
-
(Resolvido)Duplicar Script TASK
Será? Eu não entendo muito de Script. Mas o que eu quero é duplicar a script, ou seja sera um outro NPC que vai dar a task... Ele ate da a quest storage, mas quando mata os monstros não conta... Provavelmente é alguma coisa no Creature.... Obs: Já tentei editar a estrutura da script, mas sem sucesso...
-
(Resolvido)Duplicar Script TASK
Sim manow, já tentei de toda as formas. E no mesmo lugar que peguei tinha alguém com a mesma dúvida, pois dps que você pega uma task desse npc não consegue pegar a outra, não da erro nem nada, mas também não conta os monstros. Tentativas: Tentei mudar todos os numeros de Storage, reward e quests. Registrei no login a nova script, registrei no monstro a script. Tentei mudar as sequencias do NPC. Se possível teste, o primeiro funciona 100%, mas o segundo meio que "Buga" mas não da erro na distro.
-
(Resolvido)Mensagens "setCallback" do NPC
Sim, entendi. Esses negocio de Script é novo para mim. Não sabia que CAPSLOOCK fazia diferença '-' Grato aos dois pela atenção!
-
(Resolvido)Mensagens "setCallback" do NPC
@edit
-
(Resolvido)Duplicar Script TASK
E ae galera BLZ? Gostaria que alguém me explicasse o pq que não da para duplicar esse NPC de task: E se possível cria um similar ou igual que de para modificar os monstros que é necessário matar e as storage . OBS: NÃO POSTEM COISAS DESNECESSÁRIAS COMO: - "É SO MUDAR OS NÚMEROS DAS STORAGE QUE FUNCIONA." Npc: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local quest = 76669 local reward = 70000 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) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false elseif msgcontains(msg, "ajudar") and talkState[talkUser] == 1 then npcHandler:say("Agradeco, por se empenhar em ajudar a vila, tenha cuidado {ok} ?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "ok") and talkState[talkUser] == 2 then npcHandler:say("Tenha cuidado nao se esforce muito!", cid) setPlayerStorageValue(cid, quest, 2) talkState[talkUser] = 0 elseif msgcontains(msg, "favor") then local str = getPlayerStorageValue(cid, quest) if(str < 2) then npcHandler:say("msg.", cid) talkState[talkUser] = 1 return true elseif(str == 2) then npcHandler:say("msg!", cid) elseif(str == 3) then npcHandler:say("msg.", cid) doPlayerAddItem(cid, 2148, 75) doPlayerAddExp(cid, 1300) doPlayerSendTextMessage(cid, 22, 'exp.') setPlayerStorageValue(cid, quest, 4) elseif(str == 4) then npcHandler:say("msg.", cid) end talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Creature: local monsters = { --name = storage ["Monstro"] = 55004, } function onKill(cid, target) local monster = monsters[getCreatureName(target):lower()] if(isPlayer(target) == FALSE and monster and getPlayerStorageValue(cid, 76669) == 2) then if getPlayerStorageValue(cid, monster) < 50 then local killedMonsters = getPlayerStorageValue(cid, monster) if(killedMonsters == -1) then killedMonsters = 1 end setPlayerStorageValue(cid, monster, killedMonsters + 1) doPlayerSendTextMessage(cid,1, "msg.") else doPlayerSendTextMessage(cid,22, "msg.") setPlayerStorageValue(cid, 76669, 3) end end return TRUE end Creature.xml: <event type="kill" name="nome" script="script.lua"/> Desde já Grato!!
-
(Resolvido)Mensagens "setCallback" do NPC
Bom acho que você não entendeu minha pergunta.... As mensagens pre-determinadas de quando você diz bye ou quando você sai de perto do NPC, eu sei configurar, mas eu queria que X NPC e apenas X NPC disse Y mensagens, quando eu disser bye ou quando eu sair de perto dele. Testei: No XML do NPC mas ele não usa a mensagem que colo aqui...
-
(Resolvido)Npc que dê outfitte por Quest
Funcionando! Muito Obrigado!
-
(Resolvido)Mensagens "setCallback" do NPC
E ae Galera blz? Então, gostaria de saber se tem como configurar essas duas ultimas linhas dos NPC: Pois essas ele buscam respostas automáticas, eu gostaria de poder colocar alguma mensagem de "ate logo" sem ser as que já existem no lib/npcsystem... Explicando: Gostaria de saber se teria como configurar manualmente a mensagem que o NPC diz depois que você fala "Bye" ou que você saia de perto dele. Desde já Grato!
-
(Resolvido)Npc que venda Livro com Texto
Funcionando!!
-
(Resolvido)Npc que dê outfitte por Quest
Eu copiei exatamente igual o teu e quando coloquei para rodar deu erro... Só fiz alguns ajuste pois a outfith seria a ID:10, e nela esta assim: Ae deixei assim, deu erro... E também tentei assim, e também deu erro...
-
(Resolvido)Npc que dê outfitte por Quest
Desta forma não inicia o server da falha ao carregar o outfht.xml Da outra forma, não da erro na distro mas também não adiciona a outhft, Pergunta: Não tem um comando, doPlayerAddOuthft que posso colocar nas recompensas... Não me expressei bem, digo não tem como adicionar a outhft com um comando que já reconheça o sexo, exemplo só colocando os ID do outfht.XML, Exemplo: "1, 2, 3, ...."
-
(Resolvido)Npc que venda Livro com Texto
Continua não respondendo...
-
(Resolvido)Npc que dê outfitte por Quest
Mas, essas são as outfit normal do servidor não tem outfith editada, logo não entendo o motivo do erro/crash... @Sttorm Entendi o erro... No XML que você passou você colocou o Loocktype no NPC 167, um Type que não existe no server ou seja, não é a script e sim o NPC que esta crashando.... Irei mudar e testar....
-
(Resolvido)Npc que venda Livro com Texto
-
(Resolvido)Npc que dê outfitte por Quest
@Sttorm Aqui Não esta funcionando, esta crashando o tibia e fechando Obs: Já tentei mudar de toda as formas na parte E a Parte: Tentei colocar os ID que esta na pasta do XML Outfit, entre outras tentativas e todas resultaram no crash Segue o Erro:
-
(Resolvido)erro In a timer event called from
Para add a tag RESOLVIDO basta eleger a melhor resposta, clicando no "certinho" no canto esquerdo <<< Segue Imagem:
-
(Resolvido)Npc que venda Livro com Texto
Não, ele pode comprar quantas vezes quiser @Sttorm Não esta funcionando falo "Hi" e ele não responde
-
(Resolvido)Npc que dê outfitte por Quest
E ae galera blz? Gostaria de saber se é possível criar um npc que dê uma Queste depois que completar ela, ganhar exp e um outfitte. Explicando: Você fala com o NPC e ele pede para você matar X quantia de monstros e quando você matar ele te dê como recompensa um outfitte (Configurável) e uma quantia em EXP. Segue um como Modelo que tenho aqui: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local quest = 76669 local reward = 70000 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) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false elseif msgcontains(msg, "") and talkState[talkUser] == 1 then npcHandler:say("", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "") and talkState[talkUser] == 2 then npcHandler:say("!", cid) setPlayerStorageValue(cid, quest, 2) talkState[talkUser] = 0 elseif msgcontains(msg, ".") then local str = getPlayerStorageValue(cid, quest) if(str < 2) then npcHandler:say(".", cid) talkState[talkUser] = 1 return true elseif(str == 2) then npcHandler:say("!", cid) elseif(str == 3) then npcHandler:say(".", cid) doPlayerAddItem(cid, x, x) doPlayerAddExp(cid, x) doPlayerSendTextMessage(cid, 22, '.') setPlayerStorageValue(cid, quest, 4) elseif(str == 4) then npcHandler:say(".", cid) end talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Desde já grato
-
(Resolvido)Npc que venda Livro com Texto
Esta com um bug, depois que falo "Hi" ele começa a criar o item 7122, para qualquer coisa que eu fale ele cria o item....
-
(Resolvido)Npc que venda Livro com Texto
-
(Resolvido)Npc que venda Livro com Texto
E ae Galera blz? Gostaria de saber se é possível criar uma script onde o npc venda um item (Livro) com um texto configurado. Explicando: O Npc, vende o item normal por X gold, e quando o player clicar com o direito no livro para ler, ter um texto configurado pela script. Desde já Grato!
-
Exori hur que volta pro player
Bom tem uma aqui que eu não me lembro onde peguei mas acho que é o que você esta pedindo... Como funciona: A skil vai em uma quantidade de sqm configurável e volta até o player. local config = { distance = 6, --Distância do "bumerangue". distEffect = 25, --Distance effect. minDamage = 1, --Dano mínimo. maxDamage = 150, --Dano máximo. interval = 350 --Tempo para o bumerangue voltar, em milésimos de segundo. } function getPosisBetween(fromPos, toPos) local posis = {} for i = 1, getDistanceBetween(fromPos, toPos) do local choices = {fromPos.x, fromPos.x + 1, fromPos.x - 1} if fromPos.x ~= toPos.x then table.sort(choices, function(a, b) if fromPos.x - toPos.x < 0 then return a > b else return a < b end end) fromPos.x = choices[1] end if fromPos.y ~= toPos.y then choices = {fromPos.y, fromPos.y + 1, fromPos.y - 1} table.sort(choices, function(a, b) if fromPos.y - toPos.y < 0 then return a > b else return a < b end end) fromPos.y = choices[1] end table.insert(posis, {x = fromPos.x, y = fromPos.y, z = fromPos.z}) end return posis end function onCastSpell(cid) local playerPos = getThingPos(cid) local toPos = { [0] = {x = playerPos.x, y = playerPos.y - config.distance, z = playerPos.z}, [1] = {x = playerPos.x + config.distance, y = playerPos.y, z = playerPos.z}, [2] = {x = playerPos.x, y = playerPos.y + config.distance, z = playerPos.z}, [3] = {x = playerPos.x - config.distance, y = playerPos.y, z = playerPos.z} } local spellToPos = toPos[getCreatureLookDirection(cid)] local posis = getPosisBetween(getThingPos(cid), spellToPos) doSendDistanceShoot(getThingPos(cid), spellToPos, config.distEffect) for i = 1, #posis do if not getTileInfo(posis[i]).protection then local pid = getTopCreature(posis[i]).uid if isMonster(pid) or isPlayer(pid) then doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -config.minDamage, -config.maxDamage, -1) end end end addEvent(function() if not isPlayer(cid) then return true end doSendDistanceShoot(spellToPos, getThingPos(cid), config.distEffect) posis = getPosisBetween(spellToPos, getThingPos(cid)) for i = 1, #posis do if not getTileInfo(posis[i]).protection then local pid = getTopCreature(posis[i]).uid if isMonster(pid) or isPlayer(pid) then doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -config.minDamage, -config.maxDamage, -1) end end end end, config.interval) return true end Obs: Não sou script logo talvez não conseguirei lhe dar suporte para dúvidas.
-
Spell para Kinight
Ola galera, Gostaria de saber se é possível criar uma spell onde é necessário ter X item, e criar outro item que dure X tempo, e essa magia so é possível ser usada se o player estiver sem itens na mão (Equipado), pois ira criar uma sword/axe/club, o item não poderia ser criado na bag pois o item não poderá ser movido (Editado pelo item editor). Explicando: Eu tenho o item necessário para usar a spell ID:2234 (Esse item estará na bag), e quando usar a magia irá criar uma sword (ID:2376) que irá aparecer na mão do player, e ele poderá usar por 60s, depois dos 60s o item era sumir. Dúvidas sobre a spell: Se o player morrer pode buga a spell? ( O item não sumir) Se ele deslogra o que acontece? ( O item continuará na mão, quando ele logar e não sumira?) Se o server cair enquanto ele estiver com esse item temporário? ( O item não sumira?) Obs: Seria melhor criar um outro item no oteditor com um novo ID onde depois de X tempo some(Exemplo: Os corpos depois de X tempo eles "apodrecem" e somem)? ou não seria necessário? Poderia acontecer o mesmo das duvidas citadas? Desde já Grato!
-
(Resolvido)Spell de Palladin
Funcionando Perfeitamente Muito obrigado ! @Sttorm Eu editei a spell para ela dar dano físico e baseado na skill, mas tem um problema... Esta removendo 10 itens em vez de 5 Obs: Se eu tiver apenas 5 itens, esta usando a spell normalmente, so que se tiver 11 itens vai consumir 10 e ficar 1, se tiver menos que 5 vai falar que precisa de 5 itens.... local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 7) function onGetFormulaValues(cid, level, skill, attack, factor) return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5)) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) local itemid, count = 2399, 5 -- Itemid e sua count a serem removidos if not doPlayerRemoveItem(cid, itemid, count) then doPlayerSendTextMessage(cid, 27, "Voce precisa de ".. count .." ".. getItemNameById(itemid) ..".") return doSendMagicEffect(getCreaturePosition(cid), 2) end doPlayerRemoveItem(cid, itemid, count) doCombat(cid, combat, var) addEvent(doCombat, 500, cid, combat, var) addEvent(doCombat, 700, cid, combat, var) addEvent(doCombat, 900, cid, combat, var) addEvent(doCombat, 1100, cid, combat, var) addEvent(doCombat, 1300, cid, combat, var) addEvent(doCombat, 1500, cid, combat, var) return addEvent(doCombat, 1700, cid, combat, var) end Poderia dar um Help
-
(Resolvido)Spell de Palladin
E ae galera, Gostaria de saber se teria como fazer uma skil para paladins que consuma X quantidade de item, e que cause exemplo 5 ataques rápidos. Explicando: Eu uso a magia some 5 Throwing Star e causa 5 hit ( o dano deve ser calculado level + ditance level) Desde já Grato!