Ir para conteúdo

Danihcv

Conde
  • Total de itens

    926
  • Registro em

  • Última visita

  • Dias Ganhos

    18

Tudo que Danihcv postou

  1. My bad... 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 bossesMsg = "demon, rat, ferumbras" --isso aqui é a lista de itens que o npc irá falar local bosses = {"demon", "rat", "ferumbras"} --isso aqui são os itens que o npc irá aceitar local config = { --aqui vc vai configurar o item, o monstro e a posição ["demon"] = {monster="demon", pos={x=32374, y=32215,z=7}, itens={2160,2161}, itensMsg="1 crystal coin e 1 gold coin"}, ["rat"] = {monster='rat', pos={x=32374, y=32215,z=7}, itens={2160,2161}, itensMsg="1 crystal coin e 1 gold coin"}, ["ferumbras"] = {monster="ferumbras", pos={x=32374, y=32215,z=7}, itens={2160,2161}, itensMsg="1 crystal coin e 1 gold coin"}, } ----------------------------- --FIM DA PARTE CONFIGURAVEL-- ----------------------------- function greetCallback(cid) npcHandler:say('Bem vindo, '..getCreatureName(cid)..'. Eu posso sumonar alguns bosses em troca de items. Eu posso sumonar: {'..bossesMsg..'}. Então, qual será?', cid) npcHandler:addFocus(cid) return false end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end for k, v in pairs(bosses) do if msgcontains(msg, v) then npcHandler:say('Para sumonar o '..v..' é preciso '..config[v].itensMsg..'. Tem certeza disso?', cid) if msgcontains(msg, 'yes') then b = 1 for i = 1, #config[v].itens do if getPlayerItemCount(cid, getItemIdByName(config[v].itens[i])) > 0 then npcHandler:say('Muito bem. O boss foi sumonado.', cid) doPlayerRemoveItem(cid, getItemIdByName(config[v].itens[i]), 1) broadcastMessage('O jogador '..getCreatureName(cid)..' sumonou o boss '..v..'!') while b < 2 do doSummonCreature(config[v].monster, config[v].pos) b = 2 end else npcHandler:say('Você não possui o que é necessário.', cid) end end end end return false end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  2. Vê se pega: 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 bossesMsg = "demon, rat, ferumbras" --isso aqui é a lista de itens que o npc irá falar local bosses = {"demon", "rat", "ferumbras"} --isso aqui são os itens que o npc irá aceitar local config = { --aqui vc vai configurar o item, o monstro e a posição ["demon"] = {monster="demon", pos={x=32374, y=32215,z=7}, itens={2160,2161}, itensMsg="1 crystal coin e 1 gold coin"}, ["rat"] = {monster='rat', pos={x=32374, y=32215,z=7}, itens={2160,2161}, itensMsg="1 crystal coin e 1 gold coin"}, ["ferumbras"] = {monster="ferumbras", pos={x=32374, y=32215,z=7}, itens={2160,2161}, itensMsg="1 crystal coin e 1 gold coin"}, } ----------------------------- --FIM DA PARTE CONFIGURAVEL-- ----------------------------- function greetCallback(cid) npcHandler:say('Bem vindo, '..getCreatureName(cid)..'. Eu posso sumonar alguns bosses em troca de items. Eu posso sumonar: {'..bossesMsg..'}. Então, qual será?', cid) npcHandler:addFocus(cid) return false end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end for k, v in pairs(bosses) do if msgcontains(msg, v) then npcHandler:say('Para sumonar o '..bosses[v]..' é preciso '..config[v].itensMsg..'. Tem certeza disso?', cid) if msgcontains(msg, 'yes') then b = 1 for i = 1, #config[v].itens do if getPlayerItemCount(cid, getItemIdByName(config[v].itens[i])) > 0 then npcHandler:say('Muito bem. O boss foi sumonado.', cid) doPlayerRemoveItem(cid, getItemIdByName(config[v].itens[i]), 1) broadcastMessage('O jogador '..getCreatureName(cid)..' sumonou o boss '..bosses[v]..'!') while b < 2 do doSummonCreature(config[v].monster, config[v].pos) b = 2 end else npcHandler:say('Você não possui o que é necessário.', cid) end end end end return false end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  3. Tenta ae: 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 bossesMsg = "demon, rat, ferumbras" --isso aqui é a lista de itens que o npc irá falar local bosses = {"demon", "rat", "ferumbras"} --isso aqui são os itens que o npc irá aceitar local config = { --aqui vc vai configurar o item, o monstro e a posição ["demon"] = {monster="demon", pos={x=32374, y=32215,z=7}, itens={2160,2161}}, ["rat"] = {monster='rat', pos={x=32374, y=32215,z=7}}, ["ferumbras"] = {monster="ferumbras", pos={x=32374, y=32215,z=7}}, } ----------------------------- --FIM DA PARTE CONFIGURAVEL-- ----------------------------- function greetCallback(cid) npcHandler:say('Hello, '..getCreatureName(cid)..'. You brought something of my interest?', cid) npcHandler:addFocus(cid) return false end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end for k, v in pairs(bosses) do if(msgcontains(msg, "yes")) then npcHandler:say('So, who will you face? Remember: I can provide you a battle with {'..bossesMsg..'}.', cid) elseif msgcontains(msg, v) then for i = 1, #config[v].itens do if getPlayerItemCount(cid, getItemIdByName(config[v].itens[i])) > 0 then npcHandler:say('Get out of here! Go face your destiny!', cid) doPlayerRemoveItem(cid, getItemIdByName(config[v].itens[i]), 1) doSummonCreature(config[v].monster, config[v].pos) else npcHandler:say('YOU ARE A LIAR! You don\'t have SHIT!', cid) end end end return false end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  4. Hm... Que estranho... Essas functions são de tfs 0.3/.04... Fiz um ngc meio nas carrera... Mas ele faz exatamente o que vc descreveu até agr... O player chega pro npc, fala com ele e ele sumona um monstro ao custo de um item X pra o monstro X. script.lua: ATENÇÃO NESSA PARTE! Aqui vc deve deixar essas 3 areas em concordancia: script.xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="NpcTalk" script="data/npc/scripts/SCRIPT.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="130" head="0" body="64" legs="67" feet="114" addons="1" mount="0"/> </npc>
  5. Não manjo de derivados... Mas, aqui vai minha tentativa: gems.lua: local config = { minLevel = 200, -- Level mínimo para adquirir a gema. } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) >= config.minLevel then gem = gems.id[getPlayerVocation(cid)] if item.itemid == gem then plVoc = getPlayerVocation(cid) doUseGem(cid, item, plVoc) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você adquiriu uma gema espíritual.") if isPlayer(cid) then posi = getPlayerPosition(cid) doSendMagicEffect(posi, 65) else posie = getCreaturePosition(cid) doSendMagicEffect(posie, 65) end end else doPlayerSendCancel(cid, "Você precisa ser level "..config.minLevel.." para adquirir a gema espíritual.") end return true end
  6. De onde vc retirou essas functions? (minha intenção ao perguntar isso é saber se essas funções funcionam dessa forma aí no tfs 1.0) E também gostaria que vc mandasse o script.lua de qlqr npc funcional tfs 1.0
  7. @, sahusahua tranquilo. Mais tarde vejo o que posso fazer. ^^ o beijo pode ser agora msm Tópico movido para dúvidas / pedidos resolvidos.
  8. Como mandado via pm: Aqui está: function onSay(cid, words, param) local player = Player(cid) local hasAccess = player:getGroup():getAccess() local players = Game.getPlayers() local playerCount = Game.getPlayerCount() player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, playerCount .. " players online:") local i = 0 local msg = "" for k, tmpPlayer in ipairs(players) do function getPlayerResets(cid) local resultId = db.storeQuery('SELECT `resets` FROM `players` WHERE id='..tmpPlayer:getGuid()..'') if resultId ~= false then local resetes = result.getDataInt(resultId, "resets") result.free(resultId) return resetes end return false end if hasAccess or not tmpPlayer:isInGhostMode() then if i > 0 then msg = msg .. ", " end msg = msg .. tmpPlayer:getName() .. " (" .. tmpPlayer:getLevel() .. ") {" .. getPlayerResets(tmpPlayer) .. "}" i = i + 1 end if i == 10 then if k == playerCount then msg = msg .. "." else msg = msg .. "," end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, msg) msg = "" i = 0 end end if i > 0 then msg = msg .. "." player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, msg) end return false end Tópico movido para dúvidas / pedidos resolvidos.
  9. Essa desgraça de tfs 1.0... :v local t = { [12001] = {22001, 'entrepreneur', 471, 472}, [12002] = {22002, 'beastmaster', 636, 637}, [12003] = {22003, 'death herald', 666, 667}, [12004] = {22004, 'ranger', 683, 684}, [12005] = {22005, 'ceremonial garb', 694, 695}, [12006] = {22006, 'puppeteer', 696, 697}, [12007] = {22007, 'spirit caller', 698, 699} } function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local v = t[item.itemid] if v then if player:getStorageValue(v[1]) == -1 then if player:getSex() == 0 then player:addOutfitAddon(v[3], 3) else player:addOutfitAddon(v[4], 3) end if player:getItemCount(item.itemid) > 0 then player:removeItem(item.itemid, 1) else item:remove(1) end player:sendTextMessage(MESSAGE_INFO_DESCR, "You now have the " .. v[2] .. " outfit!") player:setStorageValue(v[1], 1) player:getPosition():sendMagicEffect(math.random(1, 67)) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You already have the " .. v[2] .. " outfit.") end end return true end
  10. Tópico movido para lixeira, qualquer dúvida entre em contato com qualquer membro da equipe.
  11. Tópico Movido Este tópico foi movido de "OFF-Topic → Linguagens de Programação → Programação Web" para "OFF-Topic → Linguagens de Programação → Suporte Linguagens".
  12. Tenta assim: local t = { [12001] = {22001, 'entrepreneur', 471, 472}, [12002] = {22002, 'beastmaster', 636, 637}, [12003] = {22003, 'death herald', 666, 667}, [12004] = {22004, 'ranger', 683, 684}, [12005] = {22005, 'ceremonial garb', 694, 695}, [12006] = {22006, 'puppeteer', 696, 697}, [12007] = {22007, 'spirit caller', 698, 699} } function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local v = t[item.itemid] if v then if player:getStorageValue(v[1]) == -1 then if player:getSex() == 0 then player:addOutfitAddon(v[3], 3) else player:addOutfitAddon(v[4], 3) end if getPlayerItemCount(cid, item.itemid) > 0 then doPlayerRemoveItem(cid, item.itemid, 1) else doRemoveItem(getThingFromPos(fromPosition).itemid, 1) end player:sendTextMessage(MESSAGE_INFO_DESCR, "You now have the " .. v[2] .. " outfit!") player:setStorageValue(v[1], 1) player:getPosition():sendMagicEffect(math.random(1, 67)) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You already have the " .. v[2] .. " outfit.") end end return true end
  13. Não dá pra ler... :s Tá mt baixa a resolução.
  14. Creio eu que assim funcionará: local t = { [12001] = {22001, 'entrepreneur', 471, 472}, [12002] = {22002, 'beastmaster', 636, 637}, [12003] = {22003, 'death herald', 666, 667}, [12004] = {22004, 'ranger', 683, 684}, [12005] = {22005, 'ceremonial garb', 694, 695}, [12006] = {22006, 'puppeteer', 696, 697}, [12007] = {22007, 'spirit caller', 698, 699} } function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local v = t[item.itemid] if v then if player:getStorageValue(v[1]) == -1 then if player:getSex() == 0 then player:addOutfitAddon(v[3], 3) else player:addOutfitAddon(v[4], 3) end player:doRemoveItem(item.itemid, 1) player:sendTextMessage(MESSAGE_INFO_DESCR, "You now have the " .. v[2] .. " outfit!") player:setStorageValue(v[1], 1) player:getPosition():sendMagicEffect(math.random(1, 67)) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You already have the " .. v[2] .. " outfit.") end end return true end *acredito que a função seja: #EDIT: Caso o script acima não funcione, tente assim:
  15. @@ricardoberg, sim... Se assim não funcionou, é configuração envolvendo o otc msm... O foda é que eu ñ manjo de otc...
  16. Se o que o Night Wolf falou não der certo, será necessário fazer outro script. E pra isso, precisa-se de mais detalhes... Exemplo: vc quer que qnd o player use o item, o item suma, custe dinheiro, etc.
  17. Cuidado com o rumo da conversa, galera. @@oVitorNM, amigo, só gostaria de ressaltar que ngm é obrigado a ajudar ninguem aqui, não vi nem um simples "agradeço pela atenção" vindo de sua parte... E já que seu pedido parece ser bem específico, realmente acho melhor vc começar a trabalhar pra alcançar o resultado que vc tanto quer... A ambas as partes: tentem não perder o respeito nunca. Agressão só gera agressão. Agradeço a compreensão e espero que esta discussão se encerre aqui. Abraços.
  18. Não entendi mt bem sua dúvida... Mas pode ser que essa simplérrima alteração sirva: local t = { [12001] = {22001, 'entrepreneur', 471, 472}, [12002] = {22002, 'beastmaster', 636, 637}, [12003] = {22003, 'death herald', 666, 667}, [12004] = {22004, 'ranger', 683, 684}, [12005] = {22005, 'ceremonial garb', 694, 695}, [12006] = {22006, 'puppeteer', 696, 697}, [12007] = {22007, 'spirit caller', 698, 699} } function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local v = t[item.id] if v then if player:getStorageValue(v[1]) == -1 then if player:getSex() == 0 then player:addOutfitAddon(v[3], 3) else player:addOutfitAddon(v[4], 3) end player:sendTextMessage(MESSAGE_INFO_DESCR, "You now have the " .. v[2] .. " outfit!") player:setStorageValue(v[1], 1) player:getPosition():sendMagicEffect(math.random(1, 67)) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You already have the " .. v[2] .. " outfit.") end end return true end *apenas apaguei o u essa linha:
  19. Excelente. Acho que a gnt pode fazer uma gambiarra. Vc vai ter que fazer cópias desse mod pra cada área... Ou seja, vc vai deixar o mod do ejito que ele funciona (o jeito original). Aí pra cada área a mais que vc queira que esse mod funcione, vc vai fazer uma copia do arquivo na pasta mods e acrescentar uma numeração a mais no final do nome do arquivo. Exemplo: Suponhamos que o nome do arquivo seja modSound.lua (esse é o arquivo do jeito funcional, arquivo original). Aí vc vai criar uma cópia dele e nomeá-la para modSound2.lua (aí vc entra nessa copia e põe a nova área). Aí se vc quiser uma 3° área, copia o arquivo dnv e nomeia pra modSound3.lua, etc, etc, etc. Acho que consegui explicar... Vê se funciona.
  20. Tópico movido para dúvidas / pedidos resolvidos.
  21. Saquei... To pensando numas mutreta aqui... Esse script fica em qual diretório? (pasta de destino)
  22. Não que eu esteja botando mt fé.... Mas vai que cola... :v Tenta assim: require('advsound') require('ex') SOUNDS_CONFIG = { folder = 'mods/Advanced Sound/Sounds/', loop=false, start_paused=false, checkInterval = 500, } local UPDATESOUND_OPCODE = 85 local PAUSESOUND_OPCODE = 81 SOUNDS = {--area sounds [1] = {fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}}, [2] = {fromPos = {x = 1045, y = 1091, z = 7}, toPos = {x = 1057, y = 1103, z = 7}, sound = {"Cerulean.mp3", "Cerulean2.mp3"}} } local toggleSoundEvent local e local audio = nil local window = nil local volume = 100 local str function init() connect(g_game, { onGameEnd = terminate }) window = modules.client_options.audioPanel str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) ProtocolGame.registerExtendedOpcode(UPDATESOUND_OPCODE, getSound) ProtocolGame.registerExtendedOpcode(PAUSESOUND_OPCODE, pauseSound) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval) end function iniciar() if (g_game.isOnline()) then removeEvent(e) toggleSoundEvent = addEvent(startAsound, SOUNDS_CONFIG.checkInterval) end end local m function startAsound() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() for i = 1, #SOUNDS do if(isInPos(pos, SOUNDS[i].fromPos, SOUNDS[i].toPos)) then if audio == nil then m = advsound.playMusic(SOUNDS_CONFIG.folder..SOUNDS[i].sound[math.random(#SOUNDS[i].sound)], true, SOUNDS_CONFIG.start_paused) str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) advsound.setVolume(m, volume/100) audio = true end else audio = nil advsound.setPaused(m, true) removeEvent(toggleSoundEvent) end end toggleSoundEvent = scheduleEvent(startAsound, SOUNDS_CONFIG.checkInterval) end local music function getSound(protocol, opcode, buffer) local cof = string.explode(buffer, "|") local conff = { ["true"] = true, ["false"] = false, } music = advsound.playMusic(SOUNDS_CONFIG.folder..cof[1], conff[cof[2]], SOUNDS_CONFIG.start_paused) str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) advsound.setVolume(music, volume/100) end function pauseSound(protocol, opcode, buffer) if opcode == 81 then advsound.pauseAll() end end function terminate() disconnect(g_game, { onGameEnd = terminate }) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval) audio = nil advsound.pauseAll() end function isInPos(pos, fromPos, toPos) return pos.x>=fromPos.x and pos.y>=fromPos.y and pos.z>=fromPos.z and pos.x<=toPos.x and pos.y<=toPos.y and pos.z<=toPos.z end
  23. Danihcv

    Plain

    Basicamente, o erro tá dizendo que vc não pode mudar a criptografia da "database" pra plain. E tá mandando vc usar a anterior. No seu config.lua em passwordType provavelmente está como plain. Mude o plain para sha1. (exemplificação abaixo) *Como está no seu config.lua: passwordType="plain" *Como vc tem que deixar: passwordType="sha1"
  24. sahusahusahu tranquilo. 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...