Ir para conteúdo
Entre para seguir isso  
Mdgabrielzim

Npc Resetador

Recommended Posts

Mdgabrielzim    2
Mdgabrielzim

Funcional em:

TFS 8.6 DEV 0.4 (REV3884)

Esse npc não foi criando somente por mim eu apenas aperfeiçoei e coloquei novas funções tirando também

diversos bugs que atrapalhavamseu funcionamento.

Em data/npc coloque:

<?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 .lua em data\npc\scripts e coloque


-- 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())

Creditos pelo npc base:@nubinho

Qualquer duvida postem ai abaixo!

Editado por Mdgabrielzim
Topico Refeito!

Compartilhar este post


Link para o post
vHp    6
vHp

Muito bom, continue assim!

Compartilhar este post


Link para o post
Mdgabrielzim    2
Mdgabrielzim

Tem algumas coisas nele que ainda prescisa arrumar mais esta funcionando 100% : >

Compartilhar este post


Link para o post
vuzanitj    1
vuzanitj

q erro seria este?

[12/02/2012 05:48:23] [Error - LuaScriptInterface::loadFile] data/npc/scripts/reseter.lua:1: unexpected symbol near 'ï'

[12/02/2012 05:48:23] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/reseter.lua

[12/02/2012 05:48:23] data/npc/scripts/reseter.lua:1: unexpected symbol near 'ï'

 

versao do ot 8.6 global server

Compartilhar este post


Link para o post
Biozard    0
Biozard
q erro seria este?

[12/02/2012 05:48:23] [Error - LuaScriptInterface::loadFile] data/npc/scripts/reseter.lua:1: unexpected symbol near 'ï'

[12/02/2012 05:48:23] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/reseter.lua

[12/02/2012 05:48:23] data/npc/scripts/reseter.lua:1: unexpected symbol near 'ï'

 

versao do ot 8.6 global server

 

 

Voce deve ter coloca um letra a mais no script...

Compartilhar este post


Link para o post
vuzanitj    1
vuzanitj
Voce deve ter coloca um letra a mais no script...

que tipo de letra seria esta?

Compartilhar este post


Link para o post
MAPPER JO4AO    0
MAPPER JO4AO
q erro seria este?

[12/02/2012 05:48:23] [Error - LuaScriptInterface::loadFile] data/npc/scripts/reseter.lua:1: unexpected symbol near 'ï'

[12/02/2012 05:48:23] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/reseter.lua

[12/02/2012 05:48:23] data/npc/scripts/reseter.lua:1: unexpected symbol near 'ï'

 

Acho q seria esse "i".

Compartilhar este post


Link para o post
Mdgabrielzim    2
Mdgabrielzim

Refiz o topico testem agora!

Compartilhar este post


Link para o post
Mdgabrielzim    2
Mdgabrielzim

Refiz o topico testem agora!

Compartilhar este post


Link para o post
IotimCampos    0
IotimCampos

ÉEh ta bacana.

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×