Ir para conteúdo

Killua Task System [Atualizado 16/04/2014]


Killua

Posts Recomendados

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.

Link para o comentário
Compartilhar em outros sites

-- Script feito por Killua, antigo amoeba13 --


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}}}

}


ARRUmei td certim mesmo asim nao foi Quando escrevo !task n aparece nada ai se apagar a linha do warlock Vai ? Pode me falar qual e o erro agradeço vlw

Link para o comentário
Compartilhar em outros sites

@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}}},
}
Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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 por Killua
Link para o comentário
Compartilhar em outros sites

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 por Fawz
Link para o comentário
Compartilhar em outros sites

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 por Nextbr
Link para o comentário
Compartilhar em outros sites

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?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...