CL

[Resolvido] npc troca item por pokemon

Por clebao666, 13 de out. de 2015 em Resolvidos

npc
resolvido
21
5.7k
clebao666C
16 de outubro de 2015 às 13:15
local trade_pokes, options = {
    ["Shiny Charizard"] = {itemid = ID_do_item, count = quantidade},
    ["Shiny Blastoise"] = {itemid = ID_do_item, count = quantidade},
}, {}
   
for poke_name, trade_info in pairs(trade_pokes) do
    table.insert(options, poke_name.." - "..trade_info.count.."x "..getItemNameById(trade_info.itemid))
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:lower(), "help") or msgcontains(msg:lower(), "trade") then
        selfSay("I can trade the following pokemons for the subsequent items. Which one do you wanna buy?", cid)
        doPlayerPopupFYI(cid, "*** TRADEABLE POKEMONS ***\n\n"..table.concat(options, "\n"))
        talkState[talkUser] = 1
    elseif talkState[talkUser] == 1 then
        local poke = trade_pokes[msg]
        
        if poke then
            if doPlayerRemoveItem(cid, poke.itemid, poke.count) then
                selfSay("It was a pleasure to make bussiness with you! Make a good use of your new "..msg..".", cid)
                addPokeToPlayer(cid, msg, 0, nil, "normal")
                talkState[talkUser] = 0
            else
                selfSay("You do not have enough itens to buy this pokemon, sorry.", cid)
            end
        else
            selfSay("Sorry, you probably wrote this pokemon's name wrong or I don't sell it. Make sure you're typing it in case-sensitive.")
        end
    end
    return true
end
                    
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

eaw zipter blz man.

 

tipo nao entendi a script sua porq onde fica pra por o id dos itens que o npc pede e onde fica o id da box que o npc vai dar em troca do item.

 

seria um npc so que trocaria itens por shiny box especificas uma pra cada shiny exemplo.

 

se me der 50 pot of fire te dou uma shiny box de charizard

se me der 50 ice clow te dou uma box de jynx

 

tendeu se essa scrript que tu posto ae estiver assim ja peço desculpas pela minha falta de exp em script.

senao ajuda eu ae man por favor vlw. s2 como sempre reputado por ajudar.

 

zipter98Z
16 de outubro de 2015 às 13:57

Pensei que o NPC trocasse os itens por um pokémon, não por um item (como foi dito no tópico). Enfim, a configuração é feita na tabela trade_pokes.

Modelo:

 

["nome_do_pokémon"] = {itemid = ID_do_item_pedido_pelo_NPC, count = quantidade_do_item},
clebao666C
16 de outubro de 2015 às 15:18

 

Pensei que o NPC trocasse os itens por um pokémon, não por um item (como foi dito no tópico). Enfim, a configuração é feita na tabela trade_pokes.

Modelo:

["nome_do_pokémon"] = {itemid = ID_do_item_pedido_pelo_NPC, count = quantidade_do_item},

 

esquece man se troca os itens pelo poke direto ta otimo dmaissssss como sempre tu se supera manja dmaissss. se puder da uma olhada nas magias que pensei em fazer la se puder me ajudar agradeço vc dmaisss e tu mesmo que ajuda o povo do forum na minha opiniao se devia ser dono do forum e ganha donates de geral . fica dica ae de criar talves o seu proprio vlw reputado sempre. vo testa aq a script ve se nao da erro.

 

 

Pensei que o NPC trocasse os itens por um pokémon, não por um item (como foi dito no tópico). Enfim, a configuração é feita na tabela trade_pokes.

Modelo:

["nome_do_pokémon"] = {itemid = ID_do_item_pedido_pelo_NPC, count = quantidade_do_item},

 

resolvido como sempre tu ajudando , meu amigo a script ta perfeita como eu queria e tenho certeza que variossssss vao usala so espero que todos deem rep+ pra vc zipter obrigado a todos que tentaram ajudar ae. brigado mesmo.

3 meses depois...
DanihcvD
15 de janeiro de 2016 às 01:13

Tópico movido para dúvidas / pedidos resolvidos.

2 meses depois...
LoouisL
01 de março de 2016 às 20:25

 

local trade_pokes, options = {
    ["Shiny Charizard"] = {itemid = ID_do_item, count = quantidade},
    ["Shiny Blastoise"] = {itemid = ID_do_item, count = quantidade},
}, {}
   
for poke_name, trade_info in pairs(trade_pokes) do
    table.insert(options, poke_name.." - "..trade_info.count.."x "..getItemNameById(trade_info.itemid))
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:lower(), "help") or msgcontains(msg:lower(), "trade") then
        selfSay("I can trade the following pokemons for the subsequent items. Which one do you wanna buy?", cid)
        doPlayerPopupFYI(cid, "*** TRADEABLE POKEMONS ***\n\n"..table.concat(options, "\n"))
        talkState[talkUser] = 1
    elseif talkState[talkUser] == 1 then
        local poke = trade_pokes[msg]
        
        if poke then
            if doPlayerRemoveItem(cid, poke.itemid, poke.count) then
                selfSay("It was a pleasure to make bussiness with you! Make a good use of your new "..msg..".", cid)
                addPokeToPlayer(cid, msg, 0, nil, "normal")
                talkState[talkUser] = 0
            else
                selfSay("You do not have enough itens to buy this pokemon, sorry.", cid)
            end
        else
            selfSay("Sorry, you probably wrote this pokemon's name wrong or I don't sell it. Make sure you're typing it in case-sensitive.")
        end
    end
    return true
end
                    
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Aonde eu adiciono esse script?

1 ano depois...
FrenviusF
29 de novembro de 2017 às 14:16
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.