Ir para conteúdo

lagoa

Membro
  • Registro em

  • Última visita

  1. VodKart, primeiramente já conheço parte do seu potencial como scripter, parabéns. Esse seu sistema editei e adicionei aos npc's Palomino (Thais) e Appaloosa (Venore) do global onde alugam o rented horse. Mas para ficar perfeito, gostaria que cada npc levasse o player ao outro npc quando solicitado (travel). Por exemplo: Player: Hi / Palomino: Hello Player. You want to rent a mount? Do you go on horse to Appaloosa? Pode adicionar ao seu script esta função de travel? Abraços.
  2. lagoa reagiu a uma resposta no tópico: [NPC] Montarias de Aluguel
  3. Na interface, deu a seguinte mensagem de erro: [8/5/2014 21:49:5] [Error - Action Interface] [8/5/2014 21:49:5] data/actions/scripts/kazordoon/kazordoonOreWagons.lua:onUse [8/5/2014 21:49:5] Description: [8/5/2014 21:49:5] ...ata/actions/scripts/kazordoon/kazordoonOreWagons.lua:12: bad argument #3 to 'max' (number expected, got nil) [8/5/2014 21:49:5] stack traceback: [8/5/2014 21:49:5] [C]: in function 'max' [8/5/2014 21:49:5] ...ata/actions/scripts/kazordoon/kazordoonOreWagons.lua:12: in function <...ata/actions/scripts/kazordoon/kazordoonOreWagons.lua:9>
  4. Ui... muito bom!!! O NPC parece que já foi... jaja testo aqui. Mas falta o script para viajar pelos vagões de Kazordoon!
  5. Estava verificando os possíveis bugs do meu servidor, quando fui passear por kazordoon e observei que meu NPC não vende os tickets para andar por kazordoon pelos vagões e os vagões também não estão funcionando! Uma boa alma poderia disponibilizar o script do sistema de vagões por favor!? E também preciso do script do npc Lokur (me ajudem com o serviço completo hein ahsuahsuahsaushasuahsa).
  6. lagoa reagiu a uma resposta no tópico: Darkness Pact Quest
  7. Bom, colocando exatamente com o script que vc editou, dá essa mensagem na interface: [4/5/2014 16:32:23] [Error - Test Interface] [4/5/2014 16:32:23] data/actions/scripts/tools/rust removers.lua [4/5/2014 16:32:23] Description: [4/5/2014 16:32:23] data/actions/scripts/tools/rust removers.lua:52: attempt to index global 'item2' (a nil value) [4/5/2014 16:32:23] [Error - Event::checkScript] Cannot load script (data/actions/scripts/tools/rust removers.lua) A linha se refere a esta parte do script: local const = item2.itemid
  8. luanluciano93 tentei seu script aqui, mas deu o seguinte erro no servidor: [4/5/2014 11:3:35] [Error - Test Interface] [4/5/2014 11:3:35] data/actions/scripts/tools/rust remover.lua [4/5/2014 11:3:35] Description: [4/5/2014 11:3:35] data/actions/scripts/tools/rust remover.lua:131: attempt to index global 'item2' (a nil value) [4/5/2014 11:3:36] [Error - Event::checkScript] Cannot load script (data/actions/scripts/tools/rust remover.lua) Dei uma melhorada no script, mas ainda não continua removendo o item do chão. Dá uma olhada: function onUse(cid, item, frompos, item2, topos) local effect_broke = 3 local effect_renew = 28 local developed = 0 local const = item2.itemid local pos = getCreaturePosition(cid) local item = { [9808] = { [1] = {id = 2464, name = "Chain Armor", opportunity = 33}, [2] = {id = 2483, name = "Scale Armor", opportunity = 25}, [3] = {id = 2465, name = "Brass Armor", opportunity = 10}, [4] = {id = 2463, name = "Plate Armor", opportunity = 2} }, [9809] = { [1] = {id = 2464, name = "Chain Armor", opportunity = 16}, [2] = {id = 2465, name = "Brass Armor", opportunity = 14}, [3] = {id = 2483, name = "Scale Armor", opportunity = 13}, [4] = {id = 2463, name = "Plate Armor", opportunity = 10}, [5] = {id = 2476, name = "Knight Armor", opportunity = 6}, [6] = {id = 8891, name = "Paladin Armor", opportunity = 3}, [7] = {id = 2487, name = "Crown Armor", opportunity = 1} }, [9810] = { [1] = {id = 2464, name = "Chain Armor", opportunity = 20}, [2] = {id = 2465, name = "Brass Armor", opportunity = 17}, [3] = {id = 2483, name = "Scale Armor", opportunity = 15}, [4] = {id = 2463, name = "Plate Armor", opportunity = 12}, [5] = {id = 2476, name = "Knight Armor", opportunity = 10}, [6] = {id = 8891, name = "Paladin Armor", opportunity = 5}, [7] = {id = 2487, name = "Crown Armor", opportunity = 4}, [8] = {id = 2466, name = "Golden Armor", opportunity = 2}, [9] = {id = 2472, name = "Magic Plate Armor", opportunity = 1} }, [9811] = { [1] = {id = 2468, name = "Studded Legs", opportunity = 33}, [2] = {id = 2648, name = "Chain Legs", opportunity = 25}, [3] = {id = 2478, name = "Brass Legs", opportunity = 10}, [4] = {id = 2647, name = "Plate Legs", opportunity = 2} }, [9812] = { [1] = {id = 2468, name = "Studded Legs", opportunity = 16}, [2] = {id = 2648, name = "Chain Legs", opportunity = 14}, [3] = {id = 2478, name = "Brass Legs", opportunity = 13}, [4] = {id = 2647, name = "Plate Legs", opportunity = 10}, [5] = {id = 2477, name = "Knight Legs", opportunity = 6}, [7] = {id = 2488, name = "Crown Legs", opportunity = 1} }, [9813] = { [2] = {id = 2478, name = "Brass Legs", opportunity = 17}, [4] = {id = 2647, name = "Plate Legs", opportunity = 12}, [5] = {id = 2477, name = "Knight Legs", opportunity = 10}, [7] = {id = 2488, name = "Crown Legs", opportunity = 4}, [8] = {id = 2470, name = "Golden Legs", opportunity = 2} }, [9814] = { [10] = {id = 2511, name = "Brass Shield", opportunity = 16}, [11] = {id = 2510, name = "Plate Shield", opportunity = 14}, [12] = {id = 2530, name = "Cooper Shield", opportunity = 13}, [13] = {id = 2509, name = "Steel Shield", opportunity = 10}, [14] = {id = 2513, name = "Battle Shield", opportunity = 6}, [15] = {id = 2515, name = "Guardian Shield", opportunity = 1} }, [9815] = { [10] = {id = 2511, name = "Brass Shield", opportunity = 20}, [11] = {id = 2510, name = "Plate Shield", opportunity = 17}, [12] = {id = 2530, name = "Cooper Shield", opportunity = 15}, [13] = {id = 2509, name = "Steel Shield", opportunity = 12}, [14] = {id = 2513, name = "Battle Shield", opportunity = 10}, [15] = {id = 2515, name = "Guardian Shield", opportunity = 5}, [16] = {id = 2516, name = "Dragon Shield", opportunity = 2}, [17] = {id = 2519, name = "Crown Shield", opportunity = 1} }, [9816] = { [10] = {id = 2511, name = "Brass Shield", opportunity = 20}, [11] = {id = 2510, name = "Plate Shield", opportunity = 17}, [12] = {id = 2530, name = "Cooper Shield", opportunity = 15}, [13] = {id = 2509, name = "Steel Shield", opportunity = 13}, [14] = {id = 2513, name = "Battle Shield", opportunity = 11}, [15] = {id = 2515, name = "Guardian Shield", opportunity = 8}, [16] = {id = 2516, name = "Dragon Shield", opportunity = 6}, [17] = {id = 2519, name = "Crown Shield", opportunity = 4}, [18] = {id = 2520, name = "Demon Shield", opportunity = 2}, [19] = {id = 2514, name = "Mastermind Shield", opportunity = 1} }, [9817] = { [20] = {id = 2643, name = "Leather Boots", opportunity = 33}, [21] = {id = 3982, name = "Crocodile Boots", opportunity = 25}, [22] = {id = 5462, name = "Pirate Boots", opportunity = 10}, [23] = {id = 7457, name = "Fur Boots", opportunity = 2} }, [9818] = { [20] = {id = 2643, name = "Leather Boots", opportunity = 17}, [21] = {id = 3982, name = "Crocodile Boots", opportunity = 12}, [22] = {id = 5462, name = "Pirate Boots", opportunity = 10}, [23] = {id = 7457, name = "Fur Boots", opportunity = 4}, [24] = {id = 2195, name = "Boots of Haste", opportunity = 2} }, [9819] = { [20] = {id = 2643, name = "Leather Boots", opportunity = 16}, [21] = {id = 3982, name = "Crocodile Boots", opportunity = 14}, [22] = {id = 5462, name = "Pirate Boots", opportunity = 13}, [23] = {id = 7457, name = "Fur Boots", opportunity = 10}, [24] = {id = 2195, name = "Boots of Haste", opportunity = 6}, [25] = {id = 2645, name = "Steel Boots", opportunity = 1} }, [9820] = { [26] = {id = 2458, name = "Chain Helmet", opportunity = 16}, [27] = {id = 2460, name = "Brass Helmet", opportunity = 14}, [28] = {id = 2480, name = "Legion Helmet", opportunity = 13}, [29] = {id = 2481, name = "Soldier Helmet", opportunity = 10}, [30] = {id = 2457, name = "Steel Helmet", opportunity = 6}, [31] = {id = 2491, name = "Crown Helmet", opportunity = 1} }, [9821] = { [26] = {id = 2458, name = "Chain Helmet", opportunity = 16}, [27] = {id = 2460, name = "Brass Helmet", opportunity = 14}, [28] = {id = 2480, name = "Legion Helmet", opportunity = 13}, [29] = {id = 2481, name = "Soldier Helmet", opportunity = 10}, [30] = {id = 2457, name = "Steel Helmet", opportunity = 6}, [31] = {id = 2491, name = "Crown Helmet", opportunity = 2}, [32] = {id = 2497, name = "Crusader Helmet", opportunity = 1} }, [9822] = { [26] = {id = 2458, name = "Chain Helmet", opportunity = 20}, [27] = {id = 2460, name = "Brass Helmet", opportunity = 15}, [28] = {id = 2480, name = "Legion Helmet", opportunity = 13}, [29] = {id = 2481, name = "Soldier Helmet", opportunity = 11}, [30] = {id = 2457, name = "Steel Helmet", opportunity = 8}, [31] = {id = 2491, name = "Crown Helmet", opportunity = 6}, [32] = {id = 2497, name = "Crusader Helmet", opportunity = 4}, [33] = {id = 2475, name = "Warrior Helmet", opportunity = 2}, [34] = {id = 2498, name = "Royal Helmet", opportunity = 1} } } if item[const] then local random_item = math.random(1, 100) for i = 1, #item[const] do if random_item <= item[const].opportunity then developed = i end end if developed > 0 then doSendMagicEffect(topos, effect_renew) doTransformItem(item2.uid, item[const][developed].id) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have renewed the ".. item[const][developed].name .." !") doPlayerRemoveItem(cid, 9930, 1) else doSendMagicEffect(topos, effect_broke) doRemoveItem(item2.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your Rusty Remover has broken.") doPlayerRemoveItem(cid, 9930, 1) return false end doRemoveItem(cid, 9930, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Use it on Rusty Items (Common, Semi-Rare or Rare: Armors, Legs, helmets, boots or shields).") return false end return true end E Wreymar, não acha que já tentei isso parceiro... é algo mais complexo e chato de resolver. Modificando doPlayerRemoveItem por doRemoveItem o item 9930 (rust remover) ainda fica infinito no chão e não é removido, além de dar erro no servidor (LuaInterface::luaDoRemoveItem) Item not found. *Lembro que meu actions.xml está assim: <action itemid="9930" event="script" value="tools/rust remover.lua"/> *Não teríamos que colocar o item 9930 dentro do sctipt?
  9. Bom, use o poder de ataque do tibia global, e vá ajustando até chegar na quantidade que você deseja. (Este está em torno de 600~700 de dano em monstros, com o player em média de 120 de magic level) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -10, 4, 4, 3, 5)
  10. Estou meio sem paciência tentando arrumar esse script "facinho" do rust remover, mas já ta chato! O erro é o seguinte: quando coloco o item do rust remover (id 9930) no chão e dou use nele e no rust armor/legs o rust remover não desaparece! Fica infinito no chão. Lembro que quando o rust remover está na Bp, o item desaparece normalmente. Segue o script: function onUse(cid, item, frompos, item2, topos) local effect_broke = 3 local effect_renew = 28 local developed = 0 local const = item2.itemid local pos = getCreaturePosition(cid) local item = { [9808] = { [1] = {id = 2464, name = "Chain Armor", opportunity = 33}, [2] = {id = 2483, name = "Scale Armor", opportunity = 25}, [3] = {id = 2465, name = "Brass Armor", opportunity = 10}, [4] = {id = 2463, name = "Plate Armor", opportunity = 2} }, [9809] = { [1] = {id = 2464, name = "Chain Armor", opportunity = 16}, [2] = {id = 2465, name = "Brass Armor", opportunity = 14}, [3] = {id = 2483, name = "Scale Armor", opportunity = 13}, [4] = {id = 2463, name = "Plate Armor", opportunity = 10}, [5] = {id = 2476, name = "Knight Armor", opportunity = 6}, [6] = {id = 8891, name = "Paladin Armor", opportunity = 3}, [7] = {id = 2487, name = "Crown Armor", opportunity = 1} }, [9810] = { [1] = {id = 2464, name = "Chain Armor", opportunity = 20}, [2] = {id = 2465, name = "Brass Armor", opportunity = 17}, [3] = {id = 2483, name = "Scale Armor", opportunity = 15}, [4] = {id = 2463, name = "Plate Armor", opportunity = 12}, [5] = {id = 2476, name = "Knight Armor", opportunity = 10}, [6] = {id = 8891, name = "Paladin Armor", opportunity = 5}, [7] = {id = 2487, name = "Crown Armor", opportunity = 4}, [8] = {id = 2466, name = "Golden Armor", opportunity = 2}, [9] = {id = 2472, name = "Magic Plate Armor", opportunity = 1} }, [9811] = { [1] = {id = 2468, name = "Studded Legs", opportunity = 33}, [2] = {id = 2648, name = "Chain Legs", opportunity = 25}, [3] = {id = 2478, name = "Brass Legs", opportunity = 10}, [4] = {id = 2647, name = "Plate Legs", opportunity = 2} }, [9812] = { [1] = {id = 2468, name = "Studded Legs", opportunity = 16}, [2] = {id = 2648, name = "Chain Legs", opportunity = 14}, [3] = {id = 2478, name = "Brass Legs", opportunity = 13}, [4] = {id = 2647, name = "Plate Legs", opportunity = 10}, [5] = {id = 2477, name = "Knight Legs", opportunity = 6}, [7] = {id = 2488, name = "Crown Legs", opportunity = 1} }, [9813] = { [2] = {id = 2478, name = "Brass Legs", opportunity = 17}, [4] = {id = 2647, name = "Plate Legs", opportunity = 12}, [5] = {id = 2477, name = "Knight Legs", opportunity = 10}, [7] = {id = 2488, name = "Crown Legs", opportunity = 4}, [8] = {id = 2470, name = "Golden Legs", opportunity = 2} } } if item[const] then local random_item = math.random(1, 100) for i = 1, #item[const] do if random_item <= item[const].opportunity then developed = i end end if developed > 0 then doSendMagicEffect(topos, effect_renew) doTransformItem(item2.uid, item[const][developed].id) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have renewed the ".. item[const][developed].name .." !") doPlayerRemoveItem(cid, 9930, 1) else doSendMagicEffect(topos, effect_broke) doRemoveItem(item2.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your Rusty Remover has broken.") doPlayerRemoveItem(cid, 9930, 1) return false end doRemoveItem(getTileItem(id, 9930).uid) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Use it on Rusty Items (Common, Semi-Rare or Rare: Armors, Legs, helmets, boots or shields).") return false end return false end
  11. Galera, tive uma ótima resposta do xWhiteWolf, mas no entanto mesmo depois de já ter aberta o ostra uma vez, quando tento abrir novamente aparece a mensagem dizendo que somente poderei abrir a ostra após 20hs, e quando se passam as 20 horas, a mensagem continua a mesma (e não dá pra abrir)... já tentei consertar mas tá difícil. Segue o último script: --[[script made 100% by Night Wolf for lagoa at tibiaking ~~~ enjoy it]] function onUse(cid, item, frompos, item2, topos) local config = { idconcha = 7552, -- id da concha que vai abrir storaged = 46798, -- storage que será utilizado idperola = 7633, -- id da perola que ganha tempo = 20*60*60, --definido para 20 horas (20 HORAS * 60 MINUTOS * 60 SEGUNDOS) pos = getPlayerPosition (cid), --não mexa chance = 5 -- quanto % tem de chance de abrir a ostra e ganhar pérola } local timenow = os.time() + config.tempo if item.itemid == config.idconcha then if os.time() - getPlayerStorageValue(cid, config.storaged) > config.tempo then setPlayerStorageValue(cid, config.storaged, timenow) doTransformItem(item.uid,7553) if config.chance > math.random(1,100) then doPlayerAddItem(cid, config.idperola) doSendMagicEffect(config.pos,math.random(28,30)) --aqui é a parte do efeito, coloquei um random entre o efeito 28~30 que são os fogos de artificio doPlayerSendTextMessage(cid, 19, "You are real lucky, a "..getItemNameById(config.idperola).."!") else doPlayerSendTextMessage(cid, 19, "The oyster was empty. Better luck next time!") end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You must wait "..config.tempo/3600 .." hours to open another oyster. Next available will be at: " ..os.date("%c", getPlayerStorageValue(cid, config.storaged)).. " (Mes/Dia/Ano e horario).") end end return true end
  12. lagoa reagiu a uma resposta no tópico: (Resolvido)[AJUDA] Player não usar !fly.
  13. lagoa reagiu a uma resposta no tópico: (Resolvido)[AJUDA] Player não usar !fly.
  14. Agora foi 100%! REP + aos dois pela excelente ajuda. Podem fechar o tópico e mover para dúvida sanada.
  15. Agora foi!!! Está 100% perfeito, e claro, mais que merecidamente leve outro REP+ Podem fechar o tópico para dúvida sanada.
  16. Poxa, agora que percebi, no seu primeiro script, ao clicar na concha ela desaparece "doRemoveItem(item.uid, 1)" e na verdade o que quero, é que ela se transforme no item 7553 (concha aberta). Tentei doTransformeItem (cid, 7553) mas não funcionou. Tem alguma idéia de como fazer o item 7552 (idconcha) se transformar no item 7553 depois de dar use? Segue seu script: --[[Script made 100% by Night Wolf for lagoa at tibiaking ~~~ enjoy it]] function onUse(cid, item, frompos, item2, topos) local config = { idconcha = XXXX, -- id da concha que vai abrir storaged = 45798, -- storage que será utilizado idperola = 2143, -- id da perola que ganha tempo = 20*60*60, --definido para 20 horas (20 HORAS * 60 MINUTOS * 60 SEGUNDOS) pos = getPlayerPosition (cid), --não mexa chance = 20 -- quanto % tem de chance de abrir a ostra e ganhar pérola } time = os.time() + config.tempo if item.itemid == config.idconcha then if os.time() - getCreatureStorage(cid, config.storaged) >= config.tempo then setPlayerStorageValue(cid, config.storaged, time) doRemoveItem(item.uid, 1) if config.chance > math.random(1,100) then doPlayerAddItem(cid, config.idperola) doSendMagicEffect(config.pos,math.random(28,30)) --aqui é a parte do efeito, coloquei um random entre o efeito 28~30 que são os fogos de artificio doPlayerSendTextMessage(cid, 19, "You are real lucky, a "..getItemNameById(config.idperola).."!") else doPlayerSendTextMessage(cid, 19, "The oyster was empty. Better luck next time!") end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You must wait "..config.tempo/3600 .." hours to open another oyster. Next available will be at: " .. os.date("%c", getPlayerStorageValue(cid, config.storaged)).. " (Mes/Dia/Ano e horario).") end end return true end
  17. Puxa vida, fiquei muito empolgado, mas infelizmente não funcionou. No lugar de local floor = {4820, 4822, 4823, 4825} não deveria ser algo como doPlayerSendCancel ?
  18. Bom dia Tibiakings! Hoje trago uma dúvida. Tenho o sistema de !fly funcionante em meu OT Server, mas gostaria que os players não pudessem usar o comando "!fly" em determinados pisos, como exemplo os pisos (4820, 4822, 4823 e 4825). Para explicar melhor, estes pisos são da água e os players ficam com o addon de nadar e ao usarem a talkaction !fly, são teleportados para o templo com o outfit de nadar e não quero que isto aconteça. Segue minha talkaction do sistema !fly: local towns = { ["edron"] = {x= 33217, y= 31814, z= 8}, ["ankrahmun"] = {x= 33194, y= 32853, z= 8}, ["thais"] = {x= 32369, y= 32241, z= 7}, ["carlin"] = {x= 32360, y= 31782, z= 7}, ["venore"] = {x= 32957, y= 32076, z= 7}, ["ab'dendriel"] = {x= 32732, y= 31634, z= 7}, ["kazordoon"] = {x= 32649, y= 31925, z= 11}, ["darashia"] = {x= 33213, y= 32454, z= 1}, ["liberty bay"] = {x= 32317, y= 32826, z= 7}, ["port hope"] = {x= 32595, y= 32744, z= 6}, ["svargrond"] = {x= 32209, y= 31134, z= 7}, ["yalahar"] = {x= 32787, y= 31276, z= 7}, ["farmine"] = {x= 33005, y= 31491, z= 11}, ["gray island"] = {x= 33447, y= 31320, z= 9}, ["gengia"] = {x = 32886, y = 30729, z = 5}, ["ghala"] = {x = 31899, y = 32204, z = 6}, ["ghenov"] = {x = 31680, y = 32788, z = 6}, ["vikia"] = {x = 32234, y = 30703, z = 7}, ["pyre"] = {x = 33637, y = 31826, z = 6}, } function onSay(cid, words, param, channel) if not isPremium(cid) then doPlayerSendCancel(cid, "Only premium members are allowed to fly or ride.") return false end if getTilePzInfo(getPlayerPosition(cid)) then if towns[param:lower()] ~= nil then doTeleportThing(cid, towns[param:lower()]) doSendMagicEffect(towns[param:lower()], 10) else local l = "" for x,i in pairs(towns) do l = l .. "\n • "..string.sub(x,0,1):upper()..string.sub(x,2):lower() end doPlayerSendTextMessage(cid,4,"Destino inválido. Possíveis destinos:"..l) end else doPlayerSendTextMessage(cid,4,"Comando para premium e so pode ser usado em area PZ.") end return true end Obs: Não me lembro que quem era este sistema de !fly, se alguém souber, coloco os devidos créditos (mesmo não sendo a intenção de divulgar este script, mas funciona perfeitamente).

Informação Importante

Confirmação de Termo