Os resets são guardados na base de dados ou numa storage?
Em relação a placa tas-te a referir tu enquanto god puderes modificar o texto da placa através da caixa de texto ou qualquer player o pode fazer?
Os resets são guardados na base de dados ou numa storage?
Em relação a placa tas-te a referir tu enquanto god puderes modificar o texto da placa através da caixa de texto ou qualquer player o pode fazer?
Cara to usando o reset por comando TALKACTON
ja a placa tipo quando o player clica pra ve oq ta escrito em vez de aparece o exto em verde VAI ABRI UMA JANELA IGUAL A DA !SPELLS mais com texto que eu edita
Aproveitando topico tambem queria ajuda em outra coisa..
Fiz uma nva area para trainers no ot faço tud certinho mais qdo coloco ot on e vo na area q fiz os trainers nao estão la!
so aparece 1 ou 2
eu coloquei eles com RME e coloquei aquele area para eles aparece tudo erto mais da esse bug! ALGUEM SABE RESOLVE??
info
Grupo: Campones
Registrado: 19/07/12
Posts: 37
Reputação: +1

Andrui
o que o esfomeado te perguntou foi se a talkaction salva que o player está sendo resetado. Caso não salve alguma informação não tem como o servidor diferenciar quem já foi resetado de quem ainda não foi, ficando impossível liberar magia só pra alguns resets.
Abraços
Niohundranittionio
Editado Julho 20 por niohundranittionio
Acho que sim!
Quando usa o !reset no look aparece [ RESETS: 1]
Cara se der tambem tipo pra aumenta o full level!
Vi um ot que tinha nego lvl 1000000 +
Pow ninguem sabe me ajudar?!
info
Grupo: Campones
Registrado: 19/07/12
Posts: 37
Reputação: +1

Você sabe exatamente onde salva os resets que o player possui?
Caso negativo - se vc quiser - poste a talkaction do reset que eu analiso e vejo onde salva.
Aí sim dá pra fazer alguma coisa a respeito.
Abraços
Niohundranittionio
--[[ SCRIPTING> MarcelloMkez <scriptING ]]--[[ [Advanced Reset System]
Autor: MarcelloMkez
Versão: 1.0
TFS: 0.3.6
Testado em: 8.50
Fórum: www.xtibia.com/forum/topic/138026-talk-action-advanced-reset-system/
[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 = true, -- Precisa estar em Protection Zone? [true / false]
battle = true, -- 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 = true, -- Teleportar para o Templo após o reset? [true / false]
look = true, -- Mostrar Resets no Look do Player? [true / false]
addLimite = true, -- 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 = 712000 , -- Level Necessário para Resetar. [valor]
lvlreset = 100, -- Level que retornará após o Reset. [valor]
limite = 501, -- Máximo de resets que um player pode chegar. [valor]
newClasse = 1, -- Id da Nova Vocação após o Reset. [valor]
tempo= 3 -- 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 ="You need "..config.resetStatus.lvl-getPlayerLevel(cid).." level's to reset."
local msg ="~[Reset: "..getResets(cid).."]~ 'Reset to Success! You will be logged out in "..config.resetStatus.tempo.." Seconds."
--[Condiçoes]__
if(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid,22,"You Need Protection Zone to be Reset.")
return TRUE
elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then
doPlayerSendTextMessage(cid, 22, "Congratulations, you reached the limit of Resets.")
return TRUE
elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then
doPlayerSendTextMessage(cid,22,"You PK White, so I Can not reset.")
return TRUE
elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then
doPlayerSendTextMessage(cid,22,"You PK Red, so I Can not reset.")
return TRUE
elseif(config.needPa == true) and not isPremium(cid) then
doPlayerSendTextMessage(cid,22,"You need to be Premium Account Reset.")
return TRUE
elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid,22,"You need to be out of Battle Reset.")
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 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, needLvl) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return TRUE
end
if doPlayerPopupFYI(cid, msg) then
end
return TRUE
end
--[by: MarcelloMkez]__
info
Grupo: Campones
Registrado: 19/07/12
Posts: 37
Reputação: +1

A quantidade de resets fica no "storage = 2310" do player. Logo basta você precisa verificar tal valor no script da spell e comparar com os resets necessários.
http://www.xtibia.co...orage-em-spell/
Aqui um exemplo que, embora não esteja feito, pode te ajudar.
Quanto à quest de mudar a vocação basta você utilizar a função doPlayerSetVocation no .lua da quest, ao invés de entregar a recompensa. Entretanto, ambas dúvidas são de scripting, que acredito eu não fazerem parte desta seção.
Espero ter ajudado
Abraços
Niohundranittionio
Editado Julho 21 por niohundranittionio
info
Grupo: Campones
Registrado: 12/08/11
Posts: 41
Reputação: +1
Char no Tibia: Gryn San
Ae galera queria sabe como faço para colocar MAGIAS para players com resets no meu OT !
TIPO::
Exevo mas san ( Só pode usa quem tem 2 resets )
Tambem queria saber se da para fazer quest para mudar vocação
TIPO::
Quest para vocação SUPER MAGO ( Queria coloca para apenas quem tem 2 resets pode passar para fazer a quest )
Queria sabe também como coloco uma placa no OT para que quando o player clica nela vaia bri uma janela como a da !spells mais com TEXTO que eu edita.
Quem tive um tutorial completo para me passar eu agradeço muito!
Editado Julho 19 por Andrui