AL

[Resolvido]Duvida Rapida!

Por aldroyd, 14 de nov. de 2009 em Archived

script
7
888
aldroydA
14 de novembro de 2009 às 01:36

-- SCRIPT FEITO POR YUNIE
-- config
minlevel = 100 -- level para resetar
price = 20
newlevel = 8 -- level após reset
newexp = 4200 -- 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..' bruthal 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..' bruthal coins to reset.', cid)
elseif getPlayerLevel(cid) < minlevel then
selfSay('You must be at least level '.. minlevel ..' to reset.', cid)
else
doPlayerRemoveItem(cid,6527)
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())

 

Era pra esse NPC retirar 20 do item 6527, mas ele nao retira =/

 

Alguem ajuda?

lucasjockeyL
14 de novembro de 2009 às 07:43

doPlayerRemoveItem(cid,6527,20)

aldroydA
14 de novembro de 2009 às 12:24

Fmz, vo tenta aki e ja posto! :)

 

--

 

Num da!

 

O npc fala:

 

12:30 Dunlop: You must pay 20 bruthal coins to reset.

 

=/

 

if getPlayerMoney(cid) < price then

 

Não tem que mudar aqui?

Editado Novembro 14 por aldroyd

rockstar96R
14 de novembro de 2009 às 13:51

if getPlayerMoney(cid) < price then

 

if doPlayerTakeItem(cid, ID, QUANTIDADE) == false then

aldroydA
14 de novembro de 2009 às 15:05

Vlw mano!

 

Consegui

 

Qm é foda é foda. xD

TonynhT
14 de novembro de 2009 às 15:18

Dúvida sanada.

Reportado à moderação para fecha-lo.

 

Abraços.

14 de novembro de 2009 às 15:36

Dúvida Sanada, tópico fechado.