Ir para conteúdo

[npc] [pedido] Adicionais Pro Npc Reseter


joelsongsp

Posts Recomendados

Ola, eu fiz um ot, e botei entre os NPCs o Reseter, ele esta funcionando direitinho mas...

Eu gostaria de que tentassem botar uma modificação nele, quando o char desse seu primeiro reset, ele ganhasse uma arma que so personagem que tenha reset ganhasse...

Tem como postarem o script por favor?

 

Script do NPC Reseter ( Rester.xml )[/b]

 

<?xml version="1.0"?>

<npc name="Reseter" 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="Hello, |PLAYERNAME|. I can 'reset' your level. If you want to see how many resets you have, say 'quant'."/>

</parameters>

</npc>

 

Script do Reseter.lua

 

-- config

minlevel = 4000 -- level para resetar

price = 1000000

newlevel = 10 -- level após reset

newexp = 0 -- nova experiencia após reset

-- 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('Voce quer resetar seu personagem? Seu personagem ficara offpara confirma. Voce tem que pagar '..price..' gold coins para resetar.', 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('You must be at least level '.. minlevel ..' to reset.', cid)

else

doPlayerRemoveMoney(cid,price)

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('You have '..getResets(cid)..' reset(s).', cid)

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

VLW AEW ! :D

 

-- EDITADO \/ --

Foi mal botei na area errada, alguem move por favor?

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...