Ir para conteúdo

[Npc] Reseter


blade06

Posts Recomendados

Ola , Este é meu primeiro post , Mais ja venho acompanhando o Xtibia a Muito tempo.

 

Bom , Este npc Da um item para o Personagem , Heala sua vida e Mana

 

Va em DiretorioDoSeuOT\Data\npc Copie qualquer arquivo XML e renomeie ela para "Reseter" sem aspas.

 

Apague tudo que esta dentro dele e cole isto!

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Npc De Resetar" script="data/npc/scripts/reseter.lua" walkinterval="2000" floorchange="0">

<health now="100" max="100"/>

<look type="9" head="114" body="114" legs="114" feet="114" addons="3"/>

<parameters>

<parameter key="message_greet" value="Diga {reset} para resetar seu personagem , Diga {total} Para verificar sua quantidade de resets."/>

</parameters>

</npc>

 

Agora vai em DiretorioDoSeuOT\Data\npc\script

 

Copie qualquer arquivo ".lua" Renomeie ele para "Reseter" sem aspas, abra ele com o bloco de notas Apague tudo e cole isso dentro.

 

-- SCRIPT FEITO POR YUNIE -- FUNÇÕES FEITA POR MisterChaos

-- config

minlevel = 200 -- level para resetar

price = 1000 -- Preço para resetar

newlevel = 8 -- level após reset

newexp = 4200 -- nova experiencia após reset

mana = 10000 -- Mana a ser healada ao resetar

vida = 10000 -- Vida a ser Healada ao resetar

-- end config

 

function addReset(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,36874,resets+1)

return true

end

 

function getResets(cid)

resets = getPlayerStorageValue(cid,36874)

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

 

if msgcontains(msg, 'reset') then

selfSay('Deseja resetar seu Personagem? Precisa ter '..price..' gp para executar o reset.', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if getPlayerMoney(cid) < price then

selfSay('You must pay '..price..' gold coins to reset.', cid)

elseif getPlayerLevel(cid) < minlevel then

selfSay('Voce temque ter level '.. minlevel ..' ou mais para Resetar', cid)

else

doPlayerRemoveMoney(cid,price)

doPlayerAddItem(cid, 2159,3)

doPlayerAddMana(cid,mana)

doCreatureAddHealth(cid,vida)

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, 'total') then

selfSay('Voce tem '..getResets(cid)..' reset(s).', cid)

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Agora é só configurar de acordo com a legenda de cores

 

LARANJA - Level

AMARELO - Dinheiro nescessario para resetar

CINZA - Experiencia do char apos o reset

ROZA - Level apos do reset

AZUL - Mana a ser Healada apos do reset

VERMELHO - Vida a ser Healada apos do reset

ROXO - Id do item a ser adicionado apos o reset.

VERDE - Quantidade de Items a ser adicionados

 

O SCRIPT FOI FEITO PELO YUNIE

FUNÇÕES ADICIONAIS FEITAS POR MIN "MisterChaos"

 

JÁ QUE E MEU PRIMEIRO POST AQUI NAO CUSTA NADA COMENTAR NÉ xD

Editado por MisterChaos
Link para o comentário
Compartilhar em outros sites

  • 1 year later...
  • 3 weeks later...
  • 1 year later...
×
×
  • Criar Novo...