NO

[NPC] [release] Reseter Npc

Por noobinhu, 26 de mai. de 2009 em NPCs, monsters e raids

script
31
8.8k
SchiavinatoS
03 de junho de 2009 às 07:44

Para o npc trocar rezete por itens troke isso

 

-- SCRIPT FEITO POR YUNIE

-- config

minlevel = 10 -- level para resetar

price = 5000

newlevel = 1 -- 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('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 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) - coloke: doPlayerRemoveItem(cid,ID_DO_ITEM)

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

 

Topic~

 

Muito bom o npc, na seção de pedidos vi muita gente querendo sistema de resete

 

:]

 

Gtrz pra vc

 

=**

4 semanas depois...
TapetaoT
24 de junho de 2009 às 13:50

noobinhu, tem como faze, pros resets aparece no nome ? tipo: tapetao (2) -> numero de resets

 

tem como ?

 

valeu :smile_positivo:

satan666S
24 de junho de 2009 às 15:35
Para o npc trocar rezete por itens troke isso

 

 

 

Topic~

 

Muito bom o npc, na seção de pedidos vi muita gente querendo sistema de resete

 

:]

 

Gtrz pra vc

 

=**

 

 

nao e so isso nao cara

 

doPlayerRemoveMoney(cid,price) - coloke: doPlayerRemoveItem(cid,ID_DO_ITEM)

 

se for so isso o cara que tiver dinheiro reseta porque ele apenas retira o item e nao verifica se tem o item.

 

tem que modificar aqui tanbem.

 

if getPlayerMoney(cid) < price then

 

pra ele verificar se a pessoa tem o item.

juanbrandoJ
28 de junho de 2009 às 14:45

A ENTENDI MASSA ADICONADO NA OT

Editado Junho 29 por SuperTnT

EhooGuuh5E
01 de julho de 2009 às 11:07

NUSS VALEU TO USANDO

noobinhuN
05 de julho de 2009 às 10:43

galera para tirarem dúvidas utilizem a seção de dúvidas, eu geralmente não visito meus scripts em todos os fóruns que já postei.

2 semanas depois...
FrenviusF
13 de julho de 2009 às 00:50

mto bom, so q reseta skills tbm =/

3 semanas depois...
noobinhuN
29 de julho de 2009 às 10:49

não, não reseta as skills.

wilker007W
29 de julho de 2009 às 14:07

Muito bomm,fica melhor com esse npc

ajuda pois fica uma coisa misterioso quando

tiver war,n pode ter lvl mas tem hp e mana.

 

rox

 

PARABÉNS.

17586091
05 de agosto de 2009 às 13:50

vdd, tinha um ot q eu jogava q tinha resets, dae eu vi um noobizinhu lvl 100 la e fui mata... ele so deu uma sd em mim!! aushAUSHuashuhUAHSIH

mas fiko bem massa issu aew!

2 semanas depois...
\Mattheus ~*\
14 de agosto de 2009 às 14:44

Gostei mais prefiro o comando !reset

Mais pratico

3 semanas depois...
29 de agosto de 2009 às 11:31

EXCELENTE para players que querem sair dessa vida monótona de level 400+ e ficar só matando orsha :D

nota 10!

 

@noobinhu

não acha que seu avatar está inadequado?

Editado Agosto 29 por xDGabrielxDs

RulezKnightR
31 de agosto de 2009 às 19:21

ótimo npc, mas prefiro o por fala !reset ;)

 

@xDGabrielxDs

 

@noobinhu

não acha que seu avatar está inadequado?

 

eu acho o avatar dele legal :)

Editado Agosto 31 por RulezKnight

noobinhuN
07 de setembro de 2009 às 12:28

tranquilo, lancei esta versão só pra mostrar como era para outros programadores melhorarem, agora cada um usa do melhor modo... e sobre meu avatar, é um bebê, quem nunca viu um bebê? foi assim que você nasceu, não há porque esconder de ninguém, não tem nada explícito aí.

5 meses depois...
11 de fevereiro de 2010 às 15:20

Por que sempre q eu ponho script de reset ou NPC da erro no config lua???