fakewar 0 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Ea galera tenho um ot subwat com reset tudo mais agora so falta rank de reset sera que alquem poderia ajuda ae ? Aguardo Resposta. Link para o comentário Compartilhar em outros sites More sharing options...
ThiagoBji 146 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Se o teu sistema de reset for por storage, usa esse rank de reset aqui. data/talkactions/scripts/rankreset.lua: local storageRank = 59381 -- storage que salva resets function getPlayerNameByGUID2(n) local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";") if c:getID() == -1 then return "SQL_ERROR["..n.."]" end return c:getDataString("name") end function onSay(cid, words, param) if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você possui "..getPlayerStorageValue(cid, storageRank).." resets.") return true end if (param == "rank") then local max = 5 local letters_to_next = 50 local name_now local name = "Highscore for Reputação\n" local rkn = 0 local no_break = 0 name = name.."\n" name = name.."Rank. Reset | Nome do Jogador\n" local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = ".. storageRank .." ORDER BY cast(value as INTEGER) DESC;") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("player_id")..']' end name = name..kk..". "..v:getDataInt("value").." | "..name_now..space.." \n" until v:next() == false if name ~= "Highscore\n" then doPlayerPopupFYI(cid, name) end return true else doPlayerSendCancel(cid, "Command valid: !reset, !reset rank.") end return true end Agora, vá em data/talkactions/talkactions.xml, e adicione isso: <talkaction words="!reset" event="script" value="rankreset.lua"/> Link para o comentário Compartilhar em outros sites More sharing options...
fakewar 0 Postado Abril 17, 2013 Autor Share Postado Abril 17, 2013 em vez de !reset posso usar !rankreset ? Link para o comentário Compartilhar em outros sites More sharing options...
ThiagoBji 146 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Sim, pode! É só deixar o talkactions.xml assim: <talkaction words="!rankreset" event="script" value="rankreset.lua"/> Link para o comentário Compartilhar em outros sites More sharing options...
fakewar 0 Postado Abril 17, 2013 Autor Share Postado Abril 17, 2013 Nao funcionou. sO APARECEU EMBAIXO QUE TENHO -1 RESETS SENDO QUE TENHO 47 Sabe algum outro jeito sem querer tomar seu tempo ? Link para o comentário Compartilhar em outros sites More sharing options...
ThiagoBji 146 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Você alterou o storage do rankreset? pois precisa. Qual é a storage do seu sistema de reset? Link para o comentário Compartilhar em outros sites More sharing options...
fakewar 0 Postado Abril 17, 2013 Autor Share Postado Abril 17, 2013 oque storeage Link para o comentário Compartilhar em outros sites More sharing options...
ThiagoBji 146 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Posta aqui seu script de reset. Link para o comentário Compartilhar em outros sites More sharing options...
fakewar 0 Postado Abril 17, 2013 Autor Share Postado Abril 17, 2013 olha este e meu sistema de reset . -- CONFIGS -- prem = false -- Premium Account necessária para resetar? (true / false) pz = true -- É preciso estar em Protection Zone para resetar? (true / false) white = false -- Players com White Skull podem resetar? (true / false) red = false -- Players com Red Skull podem resetar? (true / false) black = false -- Players com Black Skull podem resetar? (true / false) battle = false -- Players com battle podem resetar? (true / false) teleport = true -- Teleportar o player para o templo após o reset? (true / false) look = true -- Aparecer resets no look? (true / false) level = 700000 -- Level necessário para resetar nlevel = 10000 -- Level que o player ficará após o reset time = 3 -- Tempo para o player deslogar ao resetar (segundos) limite = 1000 -- Limite de resets (Caso não queira limite, coloque false) system = "storage" -- Modo do sistema (database / storage) storage = 39650 -- Storage dos resets group = 5 -- ID do Group que tem permissão para adicionar resets (6 = god, 5 = cm, 4 = gm, 3 = senior tutor, 2 = tutor) exhastor = 17138 -- CONFIGS -- ------------------------------------------------------------------------------------------------------------------------------------ function getPlayerResets(tid) if system == "database" then local a = db.getResult("SELECT `resets` FROM `players` WHERE `id`= "..pid..";") b = a:getDataInt("resets", pid) return b elseif system == "storage" then return getPlayerStorageValue(tid, storage) < 0 and 0 or getPlayerStorageValue(tid, storage) else return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.") end end function doPlayerAddResets(tid, count) if system == "database" then return db.executeQuery("UPDATE `players` SET `resets` = '"..(getPlayerResets(tid)+(count == nil and 1 or count)).."' WHERE `id` = '"..pid.."';") elseif system == "storage" then return setPlayerStorageValue(tid, storage, getPlayerResets(tid)+(count == nil and 1 or count)) else return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.") end end function doPlayerReset(tid, count, mid) if teleport then doTeleportThing(tid, getTownTemplePosition(getPlayerTown(tid))) end local resets = getPlayerResets(tid) function setResetsInLook(tid) return db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..(resets+(count == nil and 1 or count)).."]' WHERE `id` = '"..(mid == nil and pid or mid).."';") end if system == "database" then doRemoveCreature(tid) doPlayerAddResets(tid, count == nil and 1 or count) elseif system == "storage" then doPlayerAddResets(tid, count == nil and 1 or count) doRemoveCreature(tid) else return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.") end db.executeQuery("UPDATE `players` SET `level` = '"..nlevel.."' WHERE `id` = '"..(mid == nil and pid or mid).."';") if look then setResetsInLook(tid) end end ------------------------------------------------------------------------------------------------------------------------------------ function onSay(cid, words, param) pid = getPlayerGUID(cid) if words == "!reset" or words == "!resetar" then if prem and not isPremium(cid) then doPlayerSendCancel(cid, "Você precisa ser Premium Account para resetar.") return true elseif pz and not getTilePzInfo(getCreaturePosition(cid)) then doPlayerSendCancel(cid, "Você precisa estar em Protection Zone para resetar.") return true elseif white and getCreatureSkullType(cid) == SKULL_WHITE then doPlayerSendCancel(cid, "Você precisa estar sem White Skull para resetar.") return true elseif red and getCreatureSkullType(cid) == SKULL_RED then doPlayerSendCancel(cid, "Você precisa estar sem Red Skull para resetar.") return true elseif black and getCreatureSkullType(cid) == SKULL_BLACK then doPlayerSendCancel(cid, "Você precisa estar sem Black Skull para resetar.") return true elseif battle and hasCondition(cid, CONDITION_INFIGHT) then doPlayerSendCancel(cid, "Você precisa estar sem battle para resetar.") return true elseif getPlayerLevel(cid) < level then doPlayerSendCancel(cid, "Você precisa ter level "..level.." para resetar.") return true elseif limite and getPlayerResets(cid) == limite then doPlayerSendCancel(cid, "Você já está no limite de resets ("..limite..").") return true elseif exhaustion.check(cid, exhastor) then doPlayerSendCancel(cid, "Espere "..exhaustion.get(cid, exhastor).." segundos para usar o comando novamente.") return true end addEvent(doPlayerReset, time*1000, cid) doPlayerPopupFYI(cid, "Você resetou com sucesso. Você agora tem "..(getPlayerResets(cid)+1).." resets. Você será deslogad"..(getPlayerSex(cid) >= 1 and "o" or "a").." em "..time.." segundos.") exhaustion.set(cid, exhastor, time) elseif words == "/addresets" then local t = string.explode(param, ",") if getPlayerGroupId(cid) < group then return false elseif not t then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parâmetros incorretos. Especifique o nome do player e opcionalmente a quantidade de resets.") return true elseif not getPlayerByName(t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Player "..t[1].." não encontrado.") return true elseif t[3] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Parâmetros incorretos. Especifique apenas o nome do player e opcionalmente a quantidade de resets.") return true end addEvent(doPlayerReset, time*1000, getPlayerByName(t[1]), t[2] == nil and "1" or t[2], getPlayerGUIDByName(t[1])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..(t[2] == nil and "1" or t[2]).." resets no player "..getCreatureName(getPlayerByName(t[1]))..". Agora el"..(getPlayerSex(getPlayerByName(t[1])) >= 1 and "e" or "a").." possui "..(getPlayerResets(getPlayerByName(t[1]))+(t[2] == nil and "1" or t[2])).." resets.") doPlayerPopupFYI(getPlayerByName(t[1]), ""..getCreatureName(cid).." adicionou "..(t[2] == nil and "1" or t[2]).." resets em seu character. Você agora tem "..(getPlayerResets(getPlayerByName(t[1]))+(t[2] == nil and "1" or t[2])).." resets. Você será deslogad"..(getPlayerSex(getPlayerByName(t[1])) >= 1 and "o" or "a").." em "..time.." segundos.") end return true end Link para o comentário Compartilhar em outros sites More sharing options...
ThiagoBji 146 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Usa esse rankreset.lua, aqui agora: local storageRank = 39650 -- storage que salva resets function getPlayerNameByGUID2(n) local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";") if c:getID() == -1 then return "SQL_ERROR["..n.."]" end return c:getDataString("name") end function onSay(cid, words, param) if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você possui "..getPlayerStorageValue(cid, storageRank).." resets.") return true end if (param == "rank") then local max = 5 local letters_to_next = 50 local name_now local name = "Highscore for Reputação\n" local rkn = 0 local no_break = 0 name = name.."\n" name = name.."Rank. Reset | Nome do Jogador\n" local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = ".. storageRank .." ORDER BY cast(value as INTEGER) DESC;") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("player_id")..']' end name = name..kk..". "..v:getDataInt("value").." | "..name_now..space.." \n" until v:next() == false if name ~= "Highscore\n" then doPlayerPopupFYI(cid, name) end return true else doPlayerSendCancel(cid, "Command valid: !reset, !reset rank.") end return true end Link para o comentário Compartilhar em outros sites More sharing options...
fakewar 0 Postado Abril 17, 2013 Autor Share Postado Abril 17, 2013 agora aparece la em baixo o reset certo. Mais Voce nao tem aquele rank que vc ve quem ta em primeiro com mais reset e 2,3 e tal ? Link para o comentário Compartilhar em outros sites More sharing options...
ThiagoBji 146 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Como é esse? Link para o comentário Compartilhar em outros sites More sharing options...
fakewar 0 Postado Abril 17, 2013 Autor Share Postado Abril 17, 2013 aparece em baixo quantos resets vc tem n aparece o das pessoas Link para o comentário Compartilhar em outros sites More sharing options...
ThiagoBji 146 Postado Abril 17, 2013 Share Postado Abril 17, 2013 Hum.. sei não cara! Dúvida Sanada? Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 21, 2018 Share Postado Abril 21, 2018 A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. + Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda. * Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados