Jump to content

[Encerrado] [duvida] Script Npc de Troca


narutibianspd

Recommended Posts

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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...