Acho que já tem um npc de reset por aqui.
Mesmo assim, obrigado pelo conteudo!
Abraços.
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Acho que já tem um npc de reset por aqui.
Mesmo assim, obrigado pelo conteudo!
Abraços.
if resets < 0 then
o que significa <?
info
Grupo: Conde
Registrado: 30/10/11
Posts: 625
Reputação: +101
Gênero: Masculino

if resets < 0 then
o que significa <?
e os >,=,< que buga de ves enquando no xtibia.
já tem um porrada de npc de reset aki,use a ferramenta de pesquisa antes de postar.
info
Grupo: Campones
Registrado: 15/09/12
Posts: 5
Reputação: 0
Char no Tibia: [EQUIPE] WarZin

Esse NPC funcionou! Obrigado
REP+ Para você!! ![]()
info
Grupo: Barão
Registrado: 06/02/12
Posts: 207
Reputação: +1
Char no Tibia: Não lembro :(

me ajuda o meu nao quer funfa
info
Grupo: Banidos
Registrado: 03/02/13
Posts: 62
Reputação: 0
Char no Tibia: Anikilator

Baixa um baiak e Poe on.
info
Grupo: Campones
Registrado: 21/02/08
Posts: 57
Reputação: 0
Char no Tibia: The Rev

pego 100% mais queria que quando o npc reseta-se o player vinhe-se com 10% do hp e 5% da mana tem como ?
+rep
Editado Agosto 3 por jonathasbizerril
info
Grupo: Herói
Registrado: 25/10/12
Posts: 2.4k
Reputação: +687
Gênero: Masculino
Char no Tibia: Nuncative
Funcional em:
TFS 8.6 DEV 0.4 (REV3884)
Creditos: Mdgabrielzim
Em data/npc crie um arquivo resetador.xml e coloque dentro:
Código:
<?xml version="1.0"?><npc name="Resetador" script="data/npc/scripts/reseter.lua" walkinterval="0" floorchange="0">
<health now="100" max="100"/>
<look type="133" head="10" body="122" legs="19" feet="10"/>
<parameters>
<parameter key="message_greet" value="Ola, |PLAYERNAME|. Eu posso {resetar} seu level. "/>
</parameters>
</npc>
Crie um arquivo chamado resetador.lua em data\npc\scripts e coloque dentro:
Código:
-- config
local minlevel = 50 -- level inical para resetar
local price = 1000 -- preço inicial para resetar
local newlevel = 8 -- level após reset
local newexp = 4200 -- nova experiencia após reset
local lvlByReset = 50 -- level acrescentado por reset
local priceByReset = 100 -- preço acrescentado por reset
local maxResets = 100 -- máximo de resets
-- end config
function addReset(cid)
resets = getResets(cid)
setPlayerStorageValue(cid,1020,resets+1)
return true
end
function getResets(cid)
resets = getPlayerStorageValue(cid,1020)
if resets <= 0 then
resets = 0
end
return resets
end
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local needlvl = minlevel + (getResets(cid) * lvlByReset)
local newPrice = price + (getResets(cid) * priceByReset)
if msgcontains(msg, 'resetar') then
if getResets(cid) <= maxResets then
selfSay('Voce deseja reset seu char? Isto custará '..newPrice..' gp\'s!', cid)
talkState[talkUser] = 1
else
selfSay('Você ja alcançou seu limite de resets!', cid)
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) <= newPrice then
selfSay('É Necessario ter '..newPrice..' gp\'s para resetar!', cid)
elseif getPlayerLevel(cid) <= needlvl then
selfSay('O level minimo para reset é '..needlvl..'!', cid)
else
doPlayerRemoveMoney(cid,newPrice)
if isInArray(vocs, getPlayerVocation(cid)) then
doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
end
addReset(cid)
playerid = getPlayerGUID(cid)
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."")
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('Ok.', cid)
elseif msgcontains(msg, 'quant') then
selfSay('Voce tem um total de '..getResets(cid)..' reset(s).', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editado Abril 5 por Alexclusive