Ir para conteúdo
  • Cadastre-se

[Pedido] Como editar essa simple task system


Posts Recomendados

olá galera como o título já diz eu gostaria de editar essa simple task system tipo os player's só podem fazer uma vez gostaria de editar para fazer algumas diariamentes por exemplo a snake .... tipo gostaria de 1 configurada para eu saber como configurar as outras gostaria que fica-se diaria .... todas as task mais se tiver 1 como exemplo o resto eu sei fazer por exemplo ta tudo pronto mais oque eu quero mudar e o fato do player fazer 1 vez e nao poder fazer mais  para apenas fazer 1 vez no dia ai no outro dia a task é liberada denovo para ser feita ... 

 

mod: \/

 




tasktabble = {
["snake"] = {monster_race={"snake"}, storage_start = 200201, storage = 91001,count = 300,exp = 200,money = 250},
["sound shinobi"] = {monster_race={"sound shinobi","shinobi sound"}, storage_start = 200210, storage = 91010,count= 2000},
["fire shinobi"] = {monster_race={"fire shinobi"}, storage_start = 200211, storage = 91011,count= 500, exp = 2500},
["yoth"] = {monster_race={"yoth"}, storage_start = 200212, storage = 91012,count= 400, exp = 2000},
["bandit sword"] = {monster_race={"bandit sword"}, storage_start = 200213, storage = 91013,count= 1500, exp = 12000},
["hard snakes"] = {monster_race={"severium snake","great snake","dark snake"}, storage_start = 200214, storage = 91014,count= 1000, exp = 50000},
["great snake"] = {monster_race={"great snake"}, storage_start = 200215, storage = 91015,count = 210, exp = 25000, money = 10000},
["gamaguren"] = {monster_race={"gamaguren"}, storage_start = 200215, storage = 91016,count = 500, exp = 50000, money = 15000},
["nukenin"] = {monster_race={"nukenin"}, storage_start = 200217, storage = 91017,count = 2500, exp = 2000, money = 55000, reward = {{7455,1},{2451,1},{2525,1},{2397,1}}},
["renegade"] = {monster_race={"renegade"}, storage_start = 200218, storage = 91018,count = 1500, exp = 70000, money = 30000},
["shinobi skys"] = {monster_race={"shinobi skys"}, storage_start = 200219, storage = 91019,count = 1000, exp = 50000, money = 30000, reward = {{2495,1},{2421,1}}},
["insecnoide"] = {monster_race={"insecnoide"}, storage_start = 200220, storage = 91020,count = 1800, exp = 70000, money = 30000},
["giant fear"] = {monster_race={"giant fear"}, storage_start = 200221, storage = 91021,count = 1111, exp = 70000, money = 200000, reward = {{2516,1},{8865,1},{7457,1},{7862,1}}},
["dark snake"] = {monster_race={"dark snake"}, storage_start = 200222, storage = 91022,count = 6666, exp = 40000, money = 300000},
["giant ice yoth"] = {monster_race={"giant ice yoth"}, storage_start = 200223, storage = 91023,count = 300, exp = 50000, money = 60000},
["Shukaku"] = {monster_race={"Shukaku"}, storage_start = 200223, storage = 91023,count = 500, exp = 900000, money = 5000000},
["Shinju"] = {monster_race={"Shinju"}, storage_start = 200224, storage = 91024,count = 500, exp = 900000, money = 5000000},
["Kurama"] = {monster_race={"Kurama"}, storage_start = 200225, storage = 91025,count = 500, exp = 900000, money = 5000000},
["Choumei"] = {monster_race={"Choumei"}, storage_start = 200226, storage = 91026,count = 500, exp = 900000, money = 5000000},
["Son Goku"] = {monster_race={"Son Goku"}, storage_start = 200227, storage = 91027,count = 500, exp = 900000, money = 5000000},
["Saiken"] = {monster_race={"Saiken"}, storage_start = 200228, storage = 91028,count = 500, exp = 900000, money = 5000000},
["Kokuou"] = {monster_race={"Kokuou"}, storage_start = 200229, storage = 91029,count = 500, exp = 900000, money = 5000000},
["Gyuuki"] = {monster_race={"Gyuuki"}, storage_start = 200230, storage = 91030,count = 500, exp = 900000, money = 5000000},
["Matatabi"] = {monster_race={"Matatabi"}, storage_start = 200231, storage = 91031,count = 500, exp = 900000, money = 5000000}
}


configbosses_task = {
{race = "orochimaru",Playerpos = {x = 189, y = 57, z = 7}, FromPosToPos = {{x = 186, y = 54, z = 7},{x = 193, y = 60, z = 7}},time = 5},
{race = "tobi",Playerpos = {x = 196, y = 39, z = 7}, FromPosToPos = {{x = 195, y = 37, z = 7},{x = 198, y = 41, z = 7}}, time = 5},
{race = "sasuke",Playerpos = {x = 208, y = 59, z = 7}, FromPosToPos = {{x = 206, y = 56, z = 7},{x = 209, y = 65, z = 7}}, time = 5}
}


function isSummon(uid)
return uid ~= getCreatureMaster(uid) or false
end
function CheckTask(cid)
for k, v in pairs(tasktabble) do
if getPlayerStorageValue(cid,v.storage_start) >= 1 then return true end
end
return false
end
function finisheAllTask(cid)
local config = {
exp = {true,100000000},
money = {true,20000000},
items ={false,{{2124,2},{2173,1}}},
premium ={false,5}
}
local x = true
for k, v in pairs(tasktabble) do
if tonumber(getPlayerStorageValue(cid,v.storage)) then
x = false
end
end
if x == true then
setPlayerStorageValue(cid, 521456, 0)
local b = getGlobalStorageValue(63005) if b == -1 then b = 1 end
if b < 11 then
setGlobalStorageValue(63005,b+1)
doBroadcastMessage('[Task Mission Complete] '..getCreatureName(cid)..' was the '..b..' to finish the task!.')
doPlayerAddPremiumDays(cid, config.premium[1] == true and config.premium[2] or 0)
doPlayerAddExp(cid, config.exp[1] == true and config.exp[2] or 0)
doPlayerAddMoney(cid, config.money[1] == true and config.money[2] or 0)
if config.items[1] == true then doAddItemsFromList(cid,config.items[2]) end
doItemSetAttribute(doPlayerAddItem(cid, 7369), "name", "trophy "..getCreatureName(cid).." completed all the task.")
end
end
end
function HavePlayerPosition(cid, from, to)
return isInRange(getPlayerPosition(cid), from, to) and true or false
end
function getRankStorage(cid, value, max, RankName) -- by vodka
local str =""
str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\n"
local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;")
if (query:getID() ~= -1) then k = 1 repeat if k > max then break end
str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next() end return doShowTextDialog(cid, 2529, str)
end
function getItemsInContainerById(container, itemid) -- Function By Kydrai
local items = {}
if isContainer(container) and getContainerSize(container) > 0 then
for slot=0, (getContainerSize(container)-1) do
local item = getContainerItem(container, slot)
if isContainer(item.uid) then
local itemsbag = getItemsInContainerById(item.uid, itemid)
for i=0, #itemsbag do
table.insert(items, itemsbag)
end
else
if itemid == item.itemid then
table.insert(items, item.uid)
end
end
end
end
return items
end
function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo
local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid)
local piles = 0
if #item > 0 then
for i,x in pairs(item) do
if getThing(x).type < 100 then
local it = getThing(x)
doTransformItem(it.uid, itemid, it.type+quant)
if it.type+quant > 100 then
doPlayerAddItem(cid, itemid, it.type+quant-100)
end
else
piles = piles+1
end
end
else
return doPlayerAddItem(cid, itemid, quant)
end
if piles == #item then
doPlayerAddItem(cid, itemid, quant)
end
end
function getItemsFromList(items) -- by vodka
local str = ''
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
str = str .. items[2] .. ' ' .. getItemNameById(items[1])
if i ~= table.maxn(items) then str = str .. ', ' end end end
return str
end
function doAddItemsFromList(cid,items) -- by vodka
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
local count = items[2]
while count > 0 do
if isItemStackable(items[1]) then
doPlayerAddItemStacking(cid, items[1], 1)
else
doPlayerAddItem(cid, items[1],1)
end
count = count - 1
end
end
end
end
function pairsByKeys(t, f)
local a = {}
for n in pairs(t) do table.insert(a, n) end
table.sort(a, f)
local i = 0
local iter = function ()
i = i + 1
if a == nil then return nil
else return a, t[a]
end
end
return iter
end
]]>
function onLogin(cid)
registerCreatureEvent(cid, "KillTask")
return true
end]]>
domodlib('task_func')
local param = string.lower(param)
if param == "rank" then
getRankStorage(cid, 521456, 20, "Task Rank Finalizadas") return true
end
local str = ""
str = str .. "Task Completed :\n\n"
for k, v in pairsByKeys(tasktabble) do
local contagem = getPlayerStorageValue(cid, v.storage)
if (contagem == -1) then contagem = 1 end
str = str..k.." = ".. (not tonumber(contagem) and "["..contagem.."]" or "["..((contagem)-1).."/"..v.count.."]") .."\n"
end
str = str .. ""
return doShowTextDialog(cid, 8983, str)
]]>
domodlib('task_func')
function onKill(cid, target, lastHit)
if isMonster(target) and not isSummon(target) then
local n = string.lower(getCreatureName(target))
for race, mob in pairs(tasktabble) do
if getPlayerStorageValue(cid,mob .storage_start) >= 1 then
for i = 1,#mob.monster_race do
if n == mob.monster_race then
local contagem = getPlayerStorageValue(cid, mob.storage)
if (contagem == -1) then contagem = 1 end
if not tonumber(contagem) then return true end
if contagem > mob.count then return true end
if contagem > mob.count then return true end
setPlayerStorageValue(cid, mob.storage, contagem+1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == mob.count and "Congratulations! You finished the task of "..race.."." or "defeated. Total [" .. contagem .. "/" .. mob.count .. "] " .. race .. ".").."")
end
end
end
end
end
return true
end]]>

Editado por brunds (veja o histórico de edições)

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

Neste seu script ao completar a task o player ganha uma storage, essa storage que bloquea e faz com que o player não possa repeti-la.

Portante teria que fazer algo diário para zerar as storages configuradas, exemplo em um serversave.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

poderia disponibilizar esse "script" que zera as storages para poder sei feita denovo ....

 

obs: zere as storages que eu colocar ... no caso as da task mais no caso, seria bom pra nao zerar as storages start para os player nao perderem suas task .... faltando bixo a matar né


obs: como eu faço pra diminuir o tempo para verificar o task rank < por exemplo ta demorando de mais para atualizar quem fez as task ..... tipo tem player que ja fez a task mais não está aparecendo no task rank gostaria de diminuir o tempo para atualizar o rank .... se possivel claro ^^

Editado por brunds (veja o histórico de edições)

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

poderia disponibilizar esse "script" que zera as storages para poder sei feita denovo ....

 

obs: zere as storages que eu colocar ... no caso as da task mais no caso, seria bom pra nao zerar as storages start para os player nao perderem suas task .... faltando bixo a matar né

obs: como eu faço pra diminuir o tempo para verificar o task rank < por exemplo ta demorando de mais para atualizar quem fez as task ..... tipo tem player que ja fez a task mais não está aparecendo no task rank gostaria de diminuir o tempo para atualizar o rank .... se possivel claro ^^

 

 

 

1 - Vou tentar, não garanto, melhor pedir pro White.

2 - Isso é no serversave, quando da /save pode ver que atualiza.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

blz não tenha preça ^^ obrigado pela atenção ^^

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo