Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera, to com uns amigos em um projeto que apenas esta em idéias, e nada em pratica, porem como nosso servidor terá varias vocações, eu fico pensando, que terei que fazer aquele monte de bau em quests simples, que o cara escolheria 1 e nao poderia pegar os outros, igual anihilator, tornario o otserv muito feio, sei lá ...

porem, se tivesse como no lugar dos bau um npc, que tu falasse hi, reward, e ele desse o item ao player que seria de acordo com sua vocação, tornaria mais bonito e mais pratico ... nao sei se é dificil, se é facil, só sei que nao sei fazer porra nenhuma, por isso to aqui, quem puder me ajudar, agradecerei muito, e darei rep, u.u

Conheça agora os planos e preços da TKS Host.

Qualidade e Preço Justo!

 

www.tkshost.com

Link para o post
Compartilhar em outros sites
  • Respostas 18
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Aqui... vá em npcs/scripts e crie um arquivo chamado Delivery Itens.lua e coloque isso dentro 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() npcHa

Se não se importa, fiz minha própria versão do código: 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 creatureSa

Caso queria usar, já havia corrigido o debug e funciononou perfeitamente no 9.60

Aqui...

vá em npcs/scripts e crie um arquivo chamado Delivery Itens.lua e coloque isso dentro

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
     
    if msgcontains(msg, 'reward') or msgcontains(msg, 'REWARD') and getPlayerStorageValue(cid, 22123) == 0 then
    if getPlayerVocation(cid) == 1 and getPlayerStorageValue(cid, 22123) == 0 then
            doPlayerAddItem(cid, 2160, 100) --2160 é o ID do item nesse caso é crystal coins e 100 é a quantidade
            setPlayerStorageValue(cid, 22123, 1)
            doPlayerSendTextMessage(cid,22,"Você pegou os itens de Sorcerer.")
     elseif getPlayerVocation(cid) == 2 and getPlayerStorageValue(cid, 22123) == 0 then 
            doPlayerAddItem(cid, 2160, 100)  
            setPlayerStorageValue(cid, 22123, 1) 
            doPlayerSendTextMessage(cid,22,"Você pegou os itens de Druid.")
    elseif getPlayerVocation(cid) == 3 and getPlayerStorageValue(cid, 22123) == 0 then  
            doPlayerAddItem(cid, 2160, 100)
            setPlayerStorageValue(cid, 22123, 1)  
            doPlayerSendTextMessage(cid,22,"Você pegou os itens de Paladin.")
    elseif getPlayerVocation(cid) == 4 and getPlayerStorageValue(cid, 22123) == 0 then 
            doPlayerAddItem(cid, 2160, 100) 
            setPlayerStorageValue(cid, 22123, 1)
            doPlayerSendTextMessage(cid,22,"Você pegou os itens de Knight.")   
            return true
        end
    if msgcontains(msg, 'reward') or msgcontains(msg, 'REWARD') and getPlayerStorageValue(cid, 22123) == 1 then end
    npcHandler:say('Você já pegou os seus itens.', cid)
    end
    return true
end 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())  

e depois volte para pasta NPCs e crie um arquivo chamado Delivery Itens.xml e coloque isso dentro.

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Delivery Itens" script="data/npc/scripts/Delivery Itens.lua" walkinterval="0" floorchange="0">
	<health now="150" max="150"/>
  <look type="131" head="95" body="95" legs="95" feet="95" corpse="6080"/>
</npc>

Agora vá em creaturescript/script e abra o login.lua e coloque isso em algum lugar

if getPlayerStorageValue(cid, 22123) == -1 then
        setPlayerStorageValue(cid, 22123, 0)
    end

Depois disso é só adicionar no RME ou usar o comando /n Delivery Itens e fazer os testes.

Editado por joadson (veja o histórico de edições)

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

Se não se importa, fiz minha própria versão do código:

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 config = {
        storage = 9671,
        items = {
            --[vocation_id] = {itemid, count},
            [1] = {2160, 100},                     --Exemplo.
        },
    }
    if msgcontains(msg:lower(), "reward") then
        if getPlayerStorageValue(cid, config.storage) > -1 then
            selfSay("You already got your reward.", cid)
            return true
        elseif not config.items[getPlayerVocation(cid)] then
            selfSay("No rewards for your vocation.", cid)
            return true
        end
        local item, count = config.items[getPlayerVocation(cid)][1], config.items[getPlayerVocation(cid)][2]
        setPlayerStorageValue(cid, config.storage, 1)
        doPlayerAddItem(cid, item, count)
        selfSay("You received {"..count.."x} "..getItemNameById(item)..(count > 1 and "s" or "")..".", cid)
    end
    return true
end     
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())  

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

Amigão, a script ta perfeita, só de ver da gosto e ja te dei rep, mas eu fui com as 10 vocations, e falei hi, reward, e 10 vezes deu debug no client, será que é oque oO?

To olhando aqui o console aberto, e nao tem nenhum pau, apenas da debug '-'

Conheça agora os planos e preços da TKS Host.

Qualidade e Preço Justo!

 

www.tkshost.com

Link para o post
Compartilhar em outros sites

Amigão, a script ta perfeita, só de ver da gosto e ja te dei rep, mas eu fui com as 10 vocations, e falei hi, reward, e 10 vezes deu debug no client, será que é oque oO?

To olhando aqui o console aberto, e nao tem nenhum pau, apenas da debug '-'

Qual é a versao so seu tfs?

Porque testei aqui e funcionou normal.

Teste o que o @Zipter98 postou também

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96849
    Tópicos
    519612
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo