Mesmo Alterando Não Consegui voçe nao poderia Posta a sua aqui completa com todos seus monstro?
- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Killua Task System [Atualizado 16/04/2014]
Killua Task System [Atualizado 16/04/2014]
Por Killua, 02 de jan. de 2014 em Mods, funções e outros
info
Grupo: Campones
Registrado: 24/01/14
Posts: 5
Reputação: 0
Gênero: Masculino

info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Seu erro está nas chaves ({, }). Use assim, seguindo sempre esse modelo.
amoebaTask = {
{nome = "Jabuti", creatures = {"Jabuti","Jabuti Hatchling"}, storage = 2312112, storagecount = 890120, count = 300, exp = 0, money = 0, premios = {{6527, 10},{10133, 1}}},
{nome = "Thenebreus", creatures = {"Thenebreus"}, storage = 2312113, storagecount = 890121, count = 250, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}},
{nome = "Demon", creatures = {"Demon"}, storage = 2312114, storagecount = 890122, count = 5, exp = 0, money = 0, premios = {{6527, 4},{10134, 1}}}
}
PS: poste tbm o erro q aparece.
info
Grupo: Campones
Registrado: 24/01/14
Posts: 5
Reputação: 0
Gênero: Masculino

info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Manda o erro que aparece no seu console
@FelipeGuilherme
Substitua essa sua tabela por esta:
amoebaTask = {
{nome = "Dragon", creatures = {"Dragon","Dragon Hatchling"}, storage = 2312112, storagecount = 890120, count = 300, exp = 0, money = 0, premios = {{2160, 10},{2195, 1}}},
{nome = "Hydra", creatures = {"Hydra"}, storage = 2312113, storagecount = 890121, count = 250, exp = 0, money = 0, premios = {{2160, 50},{10134, 1}}},
{nome = "Demon", creatures = {"Demon"}, storage = 2312114, storagecount = 890122, count = 200, exp = 0, money = 0, premios = {{2160, 80},{10134, 1}}},
{nome = "Warlock", creatures = {"Warlock"}, storage = 2312115, storagecount = 890123, count = 200, exp = 0, money = 0, premios = {{2160, 50},{10134, 1}}},
}
info
Grupo: Campones
Registrado: 24/01/14
Posts: 5
Reputação: 0
Gênero: Masculino

Depois que eu adicinei Quando eu falo !task n funciona ai eu tiro a tag que eu adicinei funciona
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Cara posta o erro que tá aparecendo... Ou senão desinstala o sistema inteiro e instala dnv. Ele tá sem erros
info
Grupo: Campones
Registrado: 24/01/14
Posts: 5
Reputação: 0
Gênero: Masculino

não da erro , so que quando adiciono um monstro e do reload !task n funciona ai quando apago um mostro que adicionei volta a funcionar e como ta acima mudei td certim e procede quando adiciono !task para de funcionar
info
Grupo: Campones
Registrado: 24/04/13
Posts: 13
Reputação: 0
Char no Tibia: Lord Pincel

pode coloca ela pra fazer mais de uma vez ?
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

pode coloca ela pra fazer mais de uma vez ?
Posso sim, mas estou viajando... Volto depois de amanhã e já faço.
Abraço
@Edit
Colocando para poder repetir as tasks:
Aqui está, substitua o arquivo data/npc/script/amoebaTask.lua (NPC) por este:
-- Script por Killua, antigo Amoeba13 --
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
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
for varm, tasks in pairs(amoebaTask) do
local msg = string.lower(msg)
if isInArray(tasks.nome, msg) then
if getPlayerStorageValue(cid, tasks.storagecount) == tasks.count then
local esperiencia = tasks.exp > 0 and "" ..tasks.exp.. " exp e " or ""
local dineiro = tasks.money > 0 and "" .. tasks.money .. " gold coins e " or ""
selfSay("Voce conseguiu completar a task de ".. tasks.nome .. ", parabens! Eu vou te dar " .. esperiencia .. "" .. dineiro .."alguns itens como recompensa.", cid)
doPlayerAddExperience(cid, tasks.exp)
doPlayerAddMoney(cid, tasks.money)
doPlayerSetStorageValue(cid, tasks.storagecount, 0)
for juba, prize in pairs(tasks.premios) do
doPlayerAddItem(cid, prize[1], prize[2])
end
else
selfSay("Desculpe, mas voce ainda nao matou todos os " .. tasks.nome .. "s. Voce so matou " .. taskKills(cid, tasks.storagecount) .. " de " .. tasks.count .. " " .. tasks.nome .. "s.", cid)
break
end
end
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Se quiser também pode remover todos os "storage" da tabela amoebaTask, deixando só o storagecount.
Editado Janeiro 29 por Killua
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Teria como colocar pra mostrar a qtd em vez de ser no !task ser no local chat?
Ex: Demon [1/200].
@Edit
Consegui faze o acima/\
Teria como colocar pra alguma task pegar somente no NPC?
Editado Janeiro 29 por Fawz
info
Grupo: Visconde
Registrado: 19/12/12
Posts: 465
Reputação: +111

esta dando debug quando digito !task nao sei pq o npc ele fala a quantidade de monstros que eu matei so que eu digito !task da debug no meu client como posso arrumar isso?
Npc fala certinho:
14:39 Mega Task: Desculpe, mas voce ainda nao matou todos os Aguas. Voce so matou 2 de 2000 Aguas.
*Mais quando Digito o Comando !task da debug
ta ae o script
-- Script por Killua, antigo amoeba13 --
function onSay(cid, words, param, channel)
local stt = ""
for pika, tasks in pairs(amoebaTask) do
for i = 1, (#amoebaTask) do
nomes = amoebaTask.nome
storages = amoebaTask.storagecount
counts = amoebaTask.count
stt = stt .. nomes .. " [" .. taskKills(cid, storages) .. "/" .. counts .. "]\n"
end
doShowTextDialog(cid, 11231, "Tasks disponiveis em nosso servidor: \n" .. stt .. "")
break
end
return true
end
Editado Fevereiro 1 por Nextbr
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Teria como colocar pra mostrar a qtd em vez de ser no !task ser no local chat?
Ex: Demon [1/200].
@Edit
Consegui faze o acima/\
Teria como colocar pra alguma task pegar somente no NPC?
Fawz, essa não é a idéia do meu sistema... O direfencial dele é não ter que pegar. Se vc quiser um Task System que precise pegar no NPC, sugiro que use o do Omega.
esta dando debug quando digito !task nao sei pq o npc ele fala a quantidade de monstros que eu matei so que eu digito !task da debug no meu client como posso arrumar isso?
Npc fala certinho:
14:39 Mega Task: Desculpe, mas voce ainda nao matou todos os Aguas. Voce so matou 2 de 2000 Aguas.
*Mais quando Digito o Comando !task da debug
ta ae o script
-- Script por Killua, antigo amoeba13 --
function onSay(cid, words, param, channel)
local stt = ""
for pika, tasks in pairs(amoebaTask) do
for i = 1, (#amoebaTask) do
nomes = amoebaTask.nome
storages = amoebaTask.storagecount
counts = amoebaTask.count
stt = stt .. nomes .. " [" .. taskKills(cid, storages) .. "/" .. counts .. "]\n"
end
doShowTextDialog(cid, 11231, "Tasks disponiveis em nosso servidor: \n" .. stt .. "")
break
end
return true
end
Aparece erro no seu console quando debuga?






info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem
O storage tb n pode ser repetido e você repetiu pondo o mesmo no dragon e no demon