KutyKutyx3 1 #1 Postado 29 Março, 2009 (editado) ------------------------------- Nome: Rook System Versão: 8.4 Tipo do script: Creature Event Servidor Testado: The Forgotten Server 0.3.2 Autor: Trekes ------------------------------- Este script é muito simples, que quando o player fica com menos de 1500 de experiencia (level 5), ele volta para rook. O autor original do script é o Trekes, mas eu o modifiquei um pouco. Então vamos começar. Vá em data/creaturescripts/scripts e crie um arquivo chamado rook.lua, e nesse arquivo coloque isto: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if getPlayerLevel(cid) < 5 and getPlayerVocation(cid) ~= 0 then [color="Red"] local rookTownID = 1[/color] local rookedGUID = getPlayerGUID(cid) local deathPos = getCreaturePosition(cid) for i = 1, 10 do local slotItem = getPlayerSlotItem(cid, i) if slotItem.itemid > 0 then doRemoveItem(slotItem.uid) end end [color="Green"] doPlayerAddItem(cid, 2050, 1) doPlayerAddItem(cid, 2382, 1) doPlayerAddItem(cid, 1987, 1)[/color] local rookedCorpseFem = doCreateItemEx(3065) local rookedCorpseMale = doCreateItemEx(3058) if getPlayerSex(cid) == 0 then doPlayerAddItem(cid, 2651, 1) local pronoun = "She" doSetItemSpecialDescription(rookedCorpseFem, "You recognize " .. getCreatureName(cid) .. ". " .. pronoun .. " was killed by " .. getCreatureName(mostDamageKiller) .. ".") doTileAddItemEx(deathPos, rookedCorpseFem) doAddContainerItem(rookedCorpseFem.uid, slotItem.uid) else doPlayerAddItem(cid, 2650, 1) local pronoun = "He" doSetItemSpecialDescription(rookedCorpseMale, "You recognize " .. getCreatureName(cid) .. ". " .. pronoun .. " was killed by " .. getCreatureName(mostDamageKiller) .. ".") doTileAddItemEx(deathPos, rookedCorpseMale) doAddContainerItem(rookedCorpseMale.uid, slotItem.uid) end doPlayerSetVocation(cid, 0) doPlayerSetTown(cid, rookTownID) doTeleportThing(cid, getTownTemplePosition(rookTownID)) db.executeQuery("UPDATE `players` SET `level` = '1', `experience` = '0', `health` = '150', `healthmax` = '150', `mana` = '0', `manamax` = '0', `maglevel` = '0', `manaspent` = '0' WHERE `players`.`id` = '" .. rookedGUID .. "' LIMIT 1;") db.executeQuery("UPDATE `player_skills` SET `value` = '10', `count` = '0' WHERE `player_skills`.`player_id` = '" .. rookedGUID .. "' LIMIT 7;") for c = 1, 2097152 do doRemoveCondition(cid, c) end [color="Magenta"] doPlayerPopupFYI(cid, "Alas! Brave adventurer, you have met a sad fate.\nBut do not despair, for the gods will bring you back\ninto the world in exchange for a small sacrifice.\n\nSimply clock 'Ok' to resume your journeys in Tibia!\nYou has been Rooked")[/color] doRemoveCreature(cid) return FALSE else return TRUE end end Explicando: Vermelho: Aqui é o ID de rookgaard, onde você coloca o ID da sua. Verde: Aqui são os itens que serão adicionados ao player quando for rookado. Rosa: Aqui é a menssagem que apareçerá ao player quando for rookado. Continuando... Agora em data/creaturescripts abra o arquivo creturescripts.xml com o bloco de notas e adicione a seguinte linha antes de </creaturescripts>: <event type="preparedeath" name="Rook" script="rook.lua"/> Agora, em data/creturescripts/scripts abra o arquivo chamado login.lua com o bloco de notas e adicione a seguinte linha antes de return TRUE Adicione: registerCreatureEvent(cid, "Rook") Por exemplo, o meu login.lua está assim: function onLogin(cid) local loss = getConfigValue('deathLostPercent') if(loss ~= nil) then for i = PLAYERLOSS_EXPERIENCE, PLAYERLOSS_ITEMS do doPlayerSetLossPercent(cid, i, loss) end end registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "PlayerDeath") return TRUE end Então ficará assim: function onLogin(cid) local loss = getConfigValue('deathLostPercent') if(loss ~= nil) then for i = PLAYERLOSS_EXPERIENCE, PLAYERLOSS_ITEMS do doPlayerSetLossPercent(cid, i, loss) end end registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "PlayerDeath") [b][color="DarkGreen"] registerCreatureEvent(cid, "Rook")[/color][/b] return TRUE end É só isso, comentem e, se gostaram muito do script, doe OT$ :whistle: Até mais Editado 15 Junho, 2009 por mamiloXD Compartilhar este post Link para o post
Mock 32 #2 Postado 31 Março, 2009 Comentario: Só pra ocnstatr no global vocÊ nao ganha os itens você podeia fazeru m script tabem para inserir todos os itens que o player perder no corpo ai sim ficaria perfeito. mais em fim táo otimo o script. Aprovado & Movido Compartilhar este post Link para o post
Dragon45 0 #3 Postado 11 Abril, 2009 Legal esse sciprt vou usar no meu ot Compartilhar este post Link para o post
Mithz 0 #4 Postado 12 Maio, 2009 Aeeê até que em fim! Tava precisando muito desse script x.x' Vai ajudar muito em projetos de servers com rook c(= Obrigado por trazer à OTNet! No more... Compartilhar este post Link para o post
Jedi 7 #5 Postado 23 Maio, 2009 Legal, ^^ Vo decha guardadim aque D: Compartilhar este post Link para o post
Zeephiroth 42 #6 Postado 25 Maio, 2009 Parece maneiro, obrigado pela contribuição. Compartilhar este post Link para o post
aldoano 0 #7 Postado 2 Junho, 2009 Legal maravilhoso pena que aqui não funciona porque é 8.1 Alguem saberia como fazer um pra 8.1? Podem me ajudar aqui no forum mesmo ^^ http://forums.otserv.com.br/f13/rookando-novo-90101/ Compartilhar este post Link para o post
f@bio 0 #8 Postado 12 Junho, 2009 -- Você apenas copiou do kra e colou aki, mas tudo bem, vc deu os creditos e ainda tah ajudando a comunidade... parabens pela iniciativa... -- Consegue fazer ele funcionar no TFS 0.3.4 -pl2???? Nessa versao de ot, ele n reseta os skills e nem o level e ml.... Obrigado a quem puder ajudar... Compartilhar este post Link para o post
KutyKutyx3 1 #9 Postado 15 Junho, 2009 você podeia fazeru m script tabem para inserir todos os itens que o player perder no corpo ai sim ficaria perfeito. mais em fim táo otimo o script. Feito, mas não testei, não sei se funciona ^^ Compartilhar este post Link para o post
Zephiroth. 0 #10 Postado 20 Junho, 2009 Obrigado por contribuir, apesar de que, hoje em dia, não se ve mais rookgaard na maioria dos OTs. Compartilhar este post Link para o post
marcryzius 0 #11 Postado 27 Junho, 2009 nao vi modificaçao alguma esse script eu ja tenho a muito tempo... Compartilhar este post Link para o post
Reyk 0 #12 Postado 29 Junho, 2009 Até que enfim, parece ser o primeiro rook system né ? Parabéns pelo trabalho ! Continue assim e Ira Longe ^^ Compartilhar este post Link para o post
vione 0 #13 Postado 13 Julho, 2009 Script muito bom! Vou criar uma rook aqui e usá-lo! Obrigado Abraços!! Compartilhar este post Link para o post
Eroz 0 #14 Postado 16 Julho, 2009 Parabéns, tá otimo o script. Se a cada dia surgissem mais como esse os Ots seriam melhores que o tibia facil =P Compartilhar este post Link para o post
$ilent Hunter 0 #15 Postado 17 Julho, 2009 vixe não gosto de rook =( Compartilhar este post Link para o post
marcryzius 0 #16 Postado 21 Julho, 2009 so que no script o doremovecreature esta na posiçao errada ele esta removendo depois de seta a db. o que e errado porque ela atualiza as informaçoes mas quando o player e removido ele atualiza de novo o db so que como ele estava antes de ser removido com skill e level isso e que fica atualizado no momento que ele e removido. Compartilhar este post Link para o post
toninho_xd 0 #17 Postado 17 Outubro, 2009 Tudo que eu precisava Obrigado pela contribuição! Compartilhar este post Link para o post
KutyKutyx3 1 #18 Postado 14 Novembro, 2009 so que no script o doremovecreature esta na posiçao errada ele esta removendo depois de seta a db. o que e errado porque ela atualiza as informaçoes mas quando o player e removido ele atualiza de novo o db so que como ele estava antes de ser removido com skill e level isso e que fica atualizado no momento que ele e removido. Mais cara isso não tem nada a ver, porque a query só vai "setar" o level, a mana, a vida e etc, não a posição do personagem. Quando o player deslogar do jogo, a db se atualizará altomaticamente. Abraços. //KutyKutyx3 Compartilhar este post Link para o post
Yurki 0 #19 Postado 14 Novembro, 2009 Além de quase não ter mais rook nos ot de hj, tá legal o script ^^ Parabén a quem criou, eu irei usa ele O: Compartilhar este post Link para o post