Ir para conteúdo

[Encerrado] [duvida] Script Npc de Troca


narutibianspd

Posts Recomendados

Boa Noite, Gostaria de um NPC que vende-se Bless, Troca de Sexo, Vende 1 Outfit por moedas vip.

 

Exemplo, Id da moeda vip 2180.

 

Vende bless por 2 moedas vip

troca de sexo por 10 moedas vip

Vende outfit por 15 moedas vip

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Boa noite.

 

Fiz este script pra você, porém você precisará ser mais específico com o que deseja em questão de outfits.

Ficou faltando configurar só ele, mas creio que com ajuda do tópico que o usuário acima recomendou, consiga fazer.

 

 

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
npcHandler:setRadius(1)
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 moedas = 2180

--------------------MESSAGES------------------------------------------------------------------------------
        if (msgcontains(msg, 'sexo') or msgcontains(msg, 'sex'))  then
                selfSay('Deseja mudar de sexo por 10 {Moedas Vip}?', cid)
                talkState[talkUser] = 1
                
        elseif (msgcontains(msg, 'bless') or msgcontains(msg, 'blessing')) then
                selfSay('Deseja receber as blessings por 2 {Moedas Vip}?', cid)
                talkState[talkUser] = 3
                
        elseif (msgcontains(msg, 'outfit') or msgcontains(msg, 'outfits')) then
                selfSay('Deseja comprar novas Outfits por 15 {Moedas Vip}?', cid)
                talkState[talkUser] = 5

        elseif (msgcontains(msg, 'help') or msgcontains(msg, 'ajuda')) then
                selfSay(' Digite {sexo} ou {sex} para mudar o sexo do seu personagem.', cid)
                selfSay(' Digite {bless} ou {blessing} para comprar bencaos.', cid)
                selfSay(' Digite {outfit} para comprar novas outfits.', cid)
                talkState[talkUser] = 15


---------------------- CHANGE SEX --------------------------------------
              
        elseif talkState[talkUser] == 1 then
                if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
                if getPlayerItemCount(cid, moedas) <= 9 then
        return selfSay('Voce nao tem moedas vip o suficiente.', cid)
    else
    if getPlayerSex(cid) == 0 then
        doPlayerRemoveItem(cid, moedas, 10)
        doPlayerSetSex(cid, 1)
        selfSay('Uiii sapata.', cid)
    else
        doPlayerRemoveItem(cid, moedas, 10)
        doPlayerSetSex(cid, 0)
        selfSay('Uiii boiola.', cid)
  end
 end
talkState[talkUser] = 0
    elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
    selfSay('Tudo bem entao.', cid)
end
                

---------------------- BLESSINGS ---------------------------------------------

    elseif talkState[talkUser] == 3 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
        if getPlayerItemCount(cid, moedas) >= 2 then
            doPlayerRemoveItem(cid, moedas, 2)
            doPlayerAddBlessing(cid, 1)
            doPlayerAddBlessing(cid, 2)
            doPlayerAddBlessing(cid, 3)
            doPlayerAddBlessing(cid, 4)
            doPlayerAddBlessing(cid, 5)
            doPlayerAddBlessing(cid, 6)
            selfSay('Voce recebeu suas bencaos.', cid)
    talkState[talkUser] = 0
        else
            selfSay('Voce precisa de 2 {Moedas Vip} para comprar as Blessings.', cid)
    talkState[talkUser] = 0
 end
        else
            selfSay('Ok, cancelado.', cid)
    talkState[talkUser] = 0
 end
                
--------------------- OUTFITS ----------------------------------------------------------              
          
        elseif talkState[talkUser] == 5 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
        if getPlayerItemCount(cid, moedas) >= 15 then
            doPlayerRemoveItem(cid, moedas, 15)
            doPlayerAddOutfit(cid, 336, 1)
            selfSay('Parabens, voce comprou um outfit.', cid)
    talkState[talkUser] = 0
        else
            selfSay('Dinheiro insuficiente.', cid)
    talkState[talkUser] = 0
end
        else
            selfSay('Ok, cancelado.', cid)
    talkState[talkUser] = 0
end
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

 

 

Qualquer coisa, poste aqui.

Boa sorte.

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

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