Ir para conteúdo

Porta por Reset


DarkGuii

Posts Recomendados

Bem, esse script funcionará apenas com scripts de reset por storage. Se o seu não for, utilize esse aqui:

 

--[[ SCRIPTING> MarcelloMkez <scriptING ]]

--[[ [Advanced Reset System]

Autor: MarcelloMkez

Versão: 1.0

TFS: 0.3.6

Testado em: 8.50

Fórum: Somente usuários registrados poderão ver os links.

[Características]

~ Versão 1.0 ~

- Resets no Look;

- Premium Account ou não;

- Mudar Vocação;

- Limite de Resets;

- Opções para Abilitar e Desabilitar Condições;

[Em Construção]

- Stages Free e Premium;

- 'Talvez' um novo sistema de mudar Vocação;

sem data para postagem. ]]

function onSay(cid, words, param)

--[Configurações de Condição]__

config = { --[[verdadeiro / Falso]]

needPa = false, -- Precisa de Premium Account? [true / false]

needPz = false, -- Precisa estar em Protection Zone? [true / false]

battle = false, -- Precisa estar sem Batlle para Resetar? [true / false]

withe = false, -- Players PK Withe pode Resetar? [true / false]

red = false, -- Players PK Red pode Resetar? [true / false]

tp = false, -- Teleportar para o Templo após o reset? [true / false]

look = true, -- Mostrar Resets no Look do Player? [true / false]

addLimite = false, -- Abilitar Limite de Resets? [true / false]

setClasse = false, -- Mudar Vocação do player quando resetar? [true / false]

storage = 2310, -- Storage [valor]

 

--[Configurações do Reset]__

resetStatus = {

player = getPlayerGUID(cid), -- Não Mude.

lvl = 350 , -- Level Necessário para Resetar. [valor]

lvlreset = 50, -- Level que retornará após o Reset. [valor]

limite = 400, -- Máximo de resets que um player pode chegar. [valor]

newClasse = 1, -- Id da Nova Vocação após o Reset. [valor]

tempo= 2 -- Tempo para o Player deslogar para Resetar. Em segundos. [valor]

},

}

--[Funções]__

function Reseting(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

doPlayerSetVocation(cid, config.resetStatus.newClasse)

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

return TRUE

end

function noAll(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)

return TRUE

end

function noTeleporting(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doPlayerSetVocation(cid, config.resetStatus.newClasse)

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)

return TRUE

end

function noLook(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doPlayerSetVocation(cid, config.resetStatus.newClasse)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)

return TRUE

end

function noClasse(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

return TRUE

end

function setClasse(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doPlayerSetVocation(cid, config.resetStatus.newClasse)

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

return TRUE

end

function look(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

return TRUE

end

function teleporting(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,config.storage,resets+1)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)

db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)

return TRUE

end

function getResets(cid)

resets = getPlayerStorageValue(cid,config.storage)

if resets < 0 then

resets = 0

end

return resets

end

 

local resets = getResets(cid)

local needLvl ="Você precisa de "..config.resetStatus.lvl-getPlayerLevel(cid).." level's para resetar."

local msg ="~~[Reset: "..getResets(cid).."]~~ 'Sucesso ao Resetar! Você será deslogado em "..config.resetStatus.tempo.." Segundos."

 

--[Condiçoes]__

if(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then

doPlayerSendTextMessage(cid,22,"Você Precisa estar em Protection Zone Para Resetar.")

return TRUE

elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then

doPlayerSendTextMessage(cid, 22, "Você ja atingiu o Limite de Resets.")

return TRUE

elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then

doPlayerSendTextMessage(cid,22,"Você ta PK White, por isso não pode resetar.")

return TRUE

elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then

doPlayerSendTextMessage(cid,22,"Você ta PK Red, por isso não pode resetar.")

return TRUE

elseif(config.needPa == true) and not isPremium(cid) then

doPlayerSendTextMessage(cid,22,"Você Precisa ser Premium Account para Resetar.")

return TRUE

elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.")

return TRUE

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == true) then

addEvent(Reseting, config.resetStatus.tempo* 1000, cid)

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == false) then

addEvent(noAll, config.resetStatus.tempo* 1000, cid)

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == true) then

addEvent(noTeleporting, config.resetStatus.tempo* 1000, cid)

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == true) then

addEvent(noLook, config.resetStatus.tempo* 1000, cid)

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == false) then

addEvent(noClasse, config.resetStatus.tempo* 1000, cid)

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == true) then

addEvent(setClasse, config.resetStatus.tempo* 1000, cid)

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == false) then

addEvent(look, config.resetStatus.tempo* 1000, cid)

elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == false) then

addEvent(teleporting, config.resetStatus.tempo* 1000, cid)

elseif doPlayerSendCancel(cid, needLvl) then

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return TRUE

end

if doPlayerPopupFYI(cid, msg) then

end

return TRUE

end

--[by: MarcelloMkez]__

 

 

 

Bom, vamos começar!

Primeiro passo, vá em data/actions/scripts e crie um arquivo chamado portareset.lua, depois, coloque esse conteúdo dentro:

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local resets = getPlayerStorageValue(cid,2310)
	local resetsForOpen = 10
	if resets >= resetsForOpen then
			doTransformItem(item.uid, item.itemid + 1)
			doTeleportThing(cid, toPosition)
	else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa ter "..resetsForOpen.." resets para passar.")
	end
	return true
end

 

Primeiro, antes de tudo, verifique seu reset.lua (data/talkactions/scripts) e veja o storage, quando ver, coloque lá no lugar de 2310.

Explicando o resto:

local resetsForOpen = Quantidade necessária de rests para passar. Exemplo: local resetsForOpen = 5, ou seja, precisará de 5 resets para passar!

Ali ta mostrando assim: Você precisa ter "..resetsForOpen.." resets para passar

Você pode modificar essa parte da mensagem, mas não retire o "..restsForOpen..", senão vai dar bug!

 

E depois, volte uma pasta e abra o actions.xml, feito isso, coloque esse código:

<action actionid="31219" script="resetdoor.lua"/>

E depois abra o seu MapEditor e coloque na sua porta o action id 31219!

 

 

0787789_a1.jpgo meu script, espero que tenham gostado!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...