Ir para conteúdo

Danihcv

Conde
  • Total de itens

    926
  • Registro em

  • Última visita

  • Dias Ganhos

    18

Tudo que Danihcv postou

  1. Danihcv

    Porta vocation

    @@brendoonh, não to entendo o q ta dando errado... Aparece algum erro na distro? Tem certeza que a porta está (action id) está ligada a somente esse script?
  2. @, putz, vdd. tinha esquecido que vc queria isso... shauhusa Caso o do amigo acima ñ funcione, põe assim: 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 -------------------------- ----PARTE CONFIGURAVEL---- -------------------------- local msgs = { ["mysterious island"] = "É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.", ["second promotion"] = "Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.", } local voc = 3 ----------------------------- --FIM DA PARTE CONFIGURAVEL-- ----------------------------- function creatureSayCallback(cid, type, msg) if getPlayerVocation(cid) == voc then for k, v in pairs(msgs) do if msgcontains(msg, v) then npcHandler:say(msg[v], cid) end end else npcHandler:say('Eu não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  3. Ah, entendi. Deixa assim: login.lua: creaturescripts.xml: Tópico movido para dúvidas / pedidos resolvidos.
  4. Danihcv

    Porta vocation

    local voc = {3, 7} --vocações que podem acessar a porta function onUse(cid, item, frompos, item2, topos) posi = getCreaturePosition(cid) for k, v in pairs(voc) do if getPlayerVocation(cid) == v then doSendMagicEffect(getCreaturePosition(cid), 2) if frompos.x > topos.x then doTeleportThing(cid, {x=topos.x - 1, y=topos.y, z=topos.z}) elseif frompos.x < topos.x then doTeleportThing(cid, {x=topos.x + 1, y=topos.y, z=topos.z}) elseif frompos.y < topos.y then doTeleportThing(cid, {x=topos.x, y=topos.y + 1, z=topos.z}) elseif frompos.y > topos.y then doTeleportThing(cid, {x=topos.x, y=topos.y - 1, z=topos.z}) end else doPlayerSendCancel(cid, "Only the worthy may pass.") doTeleportThing(cid, posi) return true end end return true end ~~parte desse script foi escrito pelo NightWolf
  5. @@KeroLeleuh, e-mail de @Leleuh Mattos alterado para cfleleuh@gmail.com E e-mail de @@KeroLeleuh, alterado para affes_leo@@live.com
  6. Danihcv

    Porta vocation

    Caralho velho... Erro meu. Creio q agr vai: local voc = {3, 7} --vocações que podem acessar a porta function onUse(cid, item, frompos, item2, topos) posi = getCreaturePosition(cid) for k, v in pairs(voc) do if getPlayerVocation(cid) == v then doSendMagicEffect(getCreaturePosition(cid), 2) else doPlayerSendCancel(cid, "Only the worthy may pass.") doTeleportThing(cid, posi) return false end end return true end
  7. Vá em data\npc e crie um arquivo chamado npctalk.xml e coloque isso dentro: *é nesse script q vc coloca a mensagem de saudação: <?xml version="1.0"?> <npc name="NpcX" script="data/npc/scripts/npctalk.lua" walkinterval="0"> <health now="100" max="100"/> <look typeex="1448"/> <parameter key="message_greet" value="Olá, |PLAYER NAME|. Sobre o que você quer saber? Sobre a {mysterious island} ou sobre a {second promotion}?"/> </npc> Agora vá em data\npc\scripts e crie um arquivo chamado npctalk.lua e coloque isso dentro: 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 -------------------------- ----PARTE CONFIGURAVEL---- -------------------------- local msgs = { ["mysterious island"] = "É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.", ["second promotion"] = "Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.", } ----------------------------- --FIM DA PARTE CONFIGURAVEL-- ----------------------------- function creatureSayCallback(cid, type, msg) for k, v in pairs(msgs) do if msgcontains(msg, v) then npcHandler:say(msg[v], cid) end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) É nessa parte do script q vc configura o [gatilho] e a mensagem de resposta do npc:
  8. Danihcv

    Porta vocation

    Puta vida... local voc = {3, 7} --vocações que podem acessar a porta function onUse(cid, item, frompos, item2, topos) posi = getCreaturePosition(cid) for k, v in pairs(voc) do if getPlayerVocation(cid) == voc[v] then doSendMagicEffect(getCreaturePosition(cid), 2) else doPlayerSendCancel(cid, "Only the worthy may pass.") doTeleportThing(cid, posi) return false end end return true end
  9. Tópico movido para dúvidas / pedidos resolvidos.
  10. @, que nada. ^^ sauhsauhsa Tópico movido para dúvidas / pedidos resolvidos.
  11. Danihcv

    Porta vocation

    Tenta assim: local voc = {3, 7} --vocações que podem acessar a porta function onUse(cid, item, frompos, item2, topos) for k, v in pairs(voc) do if getPlayerVocation(cid) ~= voc[v] then doPlayerSendCancel(cid, "Only the worthy may pass.") doTeleportThing(cid,frompos) return true end doSendMagicEffect(getCreaturePosition(cid), 2) end return true end
  12. A parte para o npc dizer que não fala com determinada vocação eu entendi. Mas poderia explicar mais detalhadamente como ocorreria um diálogo do npc com um player com vocação aceitavel? Tipo, demonstre um diálogo com pelo menos mais de 2 respostas que o npc daria à 2 falas-gatilho do player, etc.
  13. Danihcv

    Porta vocation

    Tenta agr: local voc = {3, 7} --vocações que podem acessar a porta function onUse(cid, item, frompos, item2, topos) for k, v in pairs(voc) do if getPlayerVocation(cid) == voc[v] then doSendMagicEffect(getCreaturePosition(cid), 2) else doPlayerSendCancel(cid, "Only the worthy may pass.") doTeleportThing(cid,frompos,true) end end return true end
  14. Eu ainda não compreendi mt bem como funciona esse tfs 1.2... Mas recebi um auxilio, aqui. Testa agr: local pointObj = 2160 --id do item "points" function getAccountPoints(cid) local res = db.getResult('SELECT `premium_points` FROM `accounts` WHERE id='..player:getGuid(cid)..'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function onSay(cid, words, param) if param ~= "" then if tonumber(param) <= getAccountPoints(cid) then player:addItem(cid, pointObj, param) db.executeQuery('UPDATE `accounts` SET `premium_points`='..getAccountPoints(cid) - param..' WHERE id='.. player:getGuid(cid)..'') newPoints = getAccountPoints(cid) player:sendCancel(cid, 22, 'Você ainda possui '..newPoints..' premium points em sua conta.') else player:sendCancel(cid, "Você não tem tantos premium points assim.") end else player:sendCancel(cid, "Você precisa especificar um valor.") end return true end Caso não dê certo, tenta assim: local pointObj = 2160 --id do item "points" function getAccountPoints(cid) local res = db.getResult('SELECT `premium_points` FROM `accounts` WHERE id='..player:getGuid(cid)..'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function onSay(cid, words, param) if param ~= "" then if tonumber(param) <= player:getAccountPoints(cid) then player:addItem(cid, pointObj, param) db.executeQuery('UPDATE `accounts` SET `premium_points`='..player:getAccountPoints(cid) - param..' WHERE id='.. player:getGuid(cid)..'') newPoints = player:getAccountPoints(cid) player:sendCancel(cid, 22, 'Você ainda possui '..newPoints..' premium points em sua conta.') else player:sendCancel(cid, "Você não tem tantos premium points assim.") end else player:sendCancel(cid, "Você precisa especificar um valor.") end return true end
  15. Ok. Dei uma "tradução" pra versão 1.1. Não to com acesso às funções do 1.2 no momento... Mas vou dar uma pesquisada. Contudo, vê se assim já dá certo: local pointObj = 2160 --id do item "points" function getAccountPoints(cid) local res = db.getResult('SELECT `premium_points` FROM `accounts` WHERE id='..player:getAccountId(cid)..'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function onSay(cid, words, param) if param ~= "" then if tonumber(param) <= getAccountPoints(cid) then doPlayerAddItem(cid, pointObj, param) db.executeQuery('UPDATE `accounts` SET `premium_points`='..getAccountPoints(cid) - param..' WHERE id='.. player:getAccountId(cid)..'') newPoints = getAccountPoints(cid) doPlayerSendTextMessage(cid, 22, 'Você ainda possui '..newPoints..' premium points em sua conta.') else doPlayerSendCancel(cid, "Você não tem tantos premium points assim.") end else doPlayerSendCancel(cid, "Você precisa especificar um valor.") end return true end
  16. Danihcv

    Npc monster

    Tópico movido para dúvidas / pedidos resolvidos.
  17. Tópico Movido Este tópico foi movido de "OTServ → Mapping → Downloads Mapas → Mapas Derivados" para "OTServ → Downloads → Servidores OTServ → OTServ Derivados".
  18. @@Lucas CP, estou considerando fazer isso. Se eu arranjar tempo e coragem, eu faço.... sahusahusa
  19. @, provavelmente. Me diz, qual a versão da tua distro? (ex: tfs 0.4, tfs 0.3.6, tfs 1.1, etc)
  20. @@Night Wolf, só li verdades verdadeiras. Ainda to desenferrujando... Quase um ano sem mexer nessas desgraça.
  21. Tópico movido para dúvidas / pedidos resolvidos.
  22. Danihcv

    erro no script

    Tópico movido para dúvidas / pedidos resolvidos.
  23. Danihcv

    erro no script

    Tenta assim: local storage = 193879834 local tempo = 1*60 ----(1 minuto) local minutes = 5 function onAttack(cid, target) if isMonster(target) and getCreatureName(target):lower() == 'training monk' then strValue = getPlayerStorageValue(cid, storage) doPlayerSetStorageValue(cid, storage, strValue+1) if getPlayerStorageValue(cid, storage) >= tempo then doPlayerAddStamina(cid, minutes) doPlayerSetStorageValue(cid, storage, 0) end end return true end Caso não dê certo, tente assim: local storage = 193879834 local tempo = 1*60 ----(1 minuto) local minutes = 5 function onAttack(cid, target) if isMonster(target) and string.lower(getCreatureName(target)) == "training monk" then strValue = getPlayerStorageValue(cid, storage) doPlayerSetStorageValue(cid, storage, strValue+1) if getPlayerStorageValue(cid, storage) >= tempo then doPlayerAddStamina(cid, minutes) doPlayerSetStorageValue(cid, storage, 0) end end return true end
  24. Tópico movido para dúvidas / pedidos resolvidos.
  25. Tópico movido para dúvidas / pedidos resolvidos.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...