Postado Julho 19, 2014 10 anos 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 Julho 19, 2014 10 anos por brunds (veja o histórico de edições) Projeto ATS (Naruto)Informações AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique Aqui
Postado Julho 19, 2014 10 anos 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. 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. lu.lukinha [email protected]
Postado Julho 19, 2014 10 anos Autor 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 Julho 19, 2014 10 anos por brunds (veja o histórico de edições) Projeto ATS (Naruto)Informações AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique Aqui
Postado Julho 19, 2014 10 anos 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. 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. lu.lukinha [email protected]
Postado Julho 19, 2014 10 anos Autor blz não tenha preça obrigado pela atenção Projeto ATS (Naruto)Informações AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique Aqui
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.