Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
  • Autor
http://www.tibiaking.com/forum/topic/20589-vip-system-by-mock-100/

Então, foi dai mesmo que fiz meu sistema de VIP, mas não consigo adicionar NPC para esse sistema :/

  • Respostas 9
  • Visualizações 602
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Opa, tenta isso:


    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
    local node1 = keywordHandler:addKeyword({'vip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Se Você Quise Compra Vip So Fala { days } .'})
    function creatureSayCallback(cid, type, msg)
    p = 10000 -- Valor Da Vip account Em GP
    if(not npcHandler:isFocused(cid)) then
    return false
    end
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    ---------- MSGs ----------
    if msgcontains(msg, 'vip') or msgcontains(msg, 'vip') or msgcontains(msg, 'vip') or msgcontains(msg, 'Vip Accounts') or msgcontains(msg, 'days') then
    selfSay('Pois Bem , Cada dia de VIP custa '..p..' GPs, quantos dias você deseja comprar?', cid)
    talkState[talkUser] = 1
    ---== compra por GPs ==---
    elseif talkState[talkUser] == 1 then
    if getNumber(msg) < 350 then
    n = getNumber(msg)
    if n ~= 0 then
    if getPlayerMoney(cid) > p*n then
    selfSay('Dias de Vip: {'..n..'} por {'..n*(p)..'} GPs?', cid)
    talkState[talkUser] = 3
    else
    selfSay('Você nao tem Gold suficientes para comprar {'..n..'} dias de VIP.', cid)
    talkState[talkUser] = 0
    end
    else
    selfSay('Escolha Um Numero Acima De Zero.', cid)
    talkState[talkUser] = 0
    end
    else
    selfSay('Você Nao Pode Comprar Mais Que 350 Dias De Vip.', cid)
    talkState[talkUser] = 0
    end
    elseif talkState[talkUser] == 3 then ---== GPs ==---
    if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') or msgcontains(msg, 'SIM') or msgcontains(msg, 'YES') then
    if vip.getDays(days)+n <= 350 then
    if (doPlayerRemoveMoney(cid, p*n) ~= TRUE) then
    npcHandler:say('Voce Nao Tem Gold Suficientes!', cid)
    talkState[talkUser] = 0
    else
    doPlayerAddVipDays(cid, n)
    selfSay('Compra Efetuada Com Sucesso , Dias De Vip:{ '..n..' }.', cid)
    talkState[talkUser] = 0
    end
    else
    npcHandler:say('Voce Nao Pode Ter Mais Que 350 Dias De Vip!', cid)
    talkState[talkUser] = 0
    end
    end
    elseif msgcontains(msg, 'no') or msgcontains(msg, 'nao') or msgcontains(msg, 'não') or msgcontains(msg, 'NO') or msgcontains(msg, 'NAO') or msgcontains(msg, 'NÃO')then
    selfSay('Tudo Bem.', cid)
    talkState[talkUser] = 0
    end
    end
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
    -- function maded by Gesior--
    function getNumber(txt) --return number if its number and is > 0, else return 0
    x = string.gsub(txt,"%a","")
    x = tonumber(x)
    if x ~= nill and x > 0 then
    return x
    else
    return 0
    end
    end

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Postado
  • Autor
22:03 Vip: Pois Bem , Cada dia de VIP custa 10000 GPs, quantos dias você deseja comprar?
22:03 [ADM] [140]: 30
22:03 Vip: Dias de Vip: 30 por 300000 GPs?
22:03 [ADM] [140]: yes


Ai ele não responde '-'

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo