Ir para conteúdo
  • 0

Ajuda a arruma esse npc


Derpino

Pergunta

Fala galera.

queria sabe se alguem poderia arruma esse script pra mim, ele reseta life e mana e nao ta resetando o level nem a cap.

Serve 8.6

TFS 0.4

 

Valeu.

 

 

 

-- config

local itemid= 2150 --item que vai precisar--

minlevel = 500 -- level para resetar

price = 500000 -- dinheiro para pagar ao resetar

newlevel = 8 -- level após reset

newexp = 4200 -- nova experiencia após reset

local health = 185 --Vida que ele vai ficar

local mana = 35 ---Mana que ele vai ficar

 

local voc = {

["5"] = {type = "9"},

["6"] = {type = "10"},

["7"] = {type = "11"},

["8"] = {type = "12"}

 

-------Modifica aki o que exemplo ["Vocaçao que ele"] = {type = "Vocaçao que ele transformara"} deixe a virgula no utlimo--------------

 

}

 

-- end config

function addReset(cid)

resets = getResets(cid)

setPlayerStorageValue(cid,36874,resets+1)

setPlayerStorageValue(cid, 29826, getPlayerStorageValue(cid, 29826) +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('Do you want to reset your character level? Your character will be logged off if you confirm. You must pay '..price..' gold coins to reset.', cid)

talkState[talkUser] = 1

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

if not doPlayerRemoveItem(cid, itemid, 1) then

selfSay('Desculpe,Voce não tem o item necessario', cid)

return true

end

if getPlayerMoney(cid) < price then

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

elseif getPlayerLevel(cid) < minlevel then

selfSay('You must be at least level '.. minlevel ..' to reset.', cid)

else

doPlayerRemoveMoney(cid,price)

addReset(cid)

setCreatureMaxHealth(cid, health)

setCreatureMaxMana(cid, mana)

doCreatureAddMana(cid, mana)

local vocacao = getPlayerVocation(cid)

doCreatureAddHealth(cid, health)

local name = getCreatureName(cid)

local transfvoc = voc[vocacao].type

doPlayerSetVocation(cid, transfvoc)

playerid = getPlayerGUID(cid)

local name = getCreatureName(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, 'resets') then

selfSay('You have '..getResets(cid)..' reset(s).', cid)

end

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

 

npcHandler:addModule(FocusModule:new())

 

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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

×
×
  • Criar Novo...