Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] NPC que da itens aleátorio diariamente.


Ir para solução Resolvido por Snowsz,

Posts Recomendados

Olá, eu preciso de um NPC TFS 0.4 que se o player falar hi-present-yes ele entregue o item id: 11401. O Player pode pedir o item novamente a cada 24 horas e precisa ter lv 200+ .
Quando o player der use nesse item ele tem chance de ganhar aleatoriamente outros itens (configuravel e se possivel com quantidade ilimitada).
Caso seja muito difícil de fazer como eu quero, pode ser apenas o NPC entregando os items aleatoriamente a cada 24 horas e precisar ter lv 200+.



Desde já agradeço.

Editado por Boush (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
 
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 itens = {11401, 11401, 11401, 11401, 11401, 11401}
local days = 1 * 24 * 60 * 60
local storage = 9934
local effect = 10
 
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
 
if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then
    if getPlayerStorageValue(cid, storage) ~= 1 then
      doPlayerAddItem(cid, math.random(itens)
      doSendMagicEffect(getThingPos(cid), effect)
      selfSay('Pronto, aqui esta seu premio!', cid)
      setPlayerStorageValue(player, storage, os.time() + days)
    else
    selfSay('Aguarde 24 horas para pegar seu premio denovo.', cid)
    end
end
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

npc .xml:

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Nome" script="data/npc/scripts/nome.lua" walkinterval="1500" speed="0" walkradius="2" floorchange="0">
<health max="100" now="100"/>
<look type="300" head="0" body="0" legs="0" feet="0" addons="0" mount="0"/>
<parameters>
<parameter key="message_greet" value="Ola, |PLAYERNAME| gostaria de pegar seu premio diario ?"/>
<parameter key="message_farewell" value="Ate mais."/>
</parameters>
</npc>
Editado por Vinicius Xxgamexx (veja o histórico de edições)

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

[7/5/2015 0:18:46] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/Legolas.lua 
[7/5/2015 0:18:46] data/npc/scripts/Legolas.lua:12: '}' expected (to close '{' at line 10) near 'st' 
ta dando isso

Link para o post
Compartilhar em outros sites
  • Solução

npc .xml:

Mexi no seu script... Tinha muita coisa faltando e sem sentido.

 

Script lua:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
 
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 itens = {
  --{iddoitem, quantidade},
    {2160, 15},
    {2158, 10},
    {2157, 2},
    }
local hours = 24
local level = 200
local storage = 9934
local effect = 10
 
function creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return true
    end
 
    if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then
        if getPlayerLevel(cid) >= level then
            if getPlayerStorageValue(cid, storage) <= os.time() then
                local item = itens[math.random(1,#itens)]
                doPlayerAddItem(cid, item[1], item[2])
                doSendMagicEffect(getThingPos(cid), effect)
                selfSay('Pronto, aqui esta seu premio! Aguarde '..hours..' hora'..(hours > 1 and "s" or "")..' para pegar seu premio denovo.', cid)
                setPlayerStorageValue(cid, storage, os.time() + (hours * 60 * 60))
            else
                selfSay('Aguarde '..hours..' hora'..(hours > 1 and "s" or "")..' para pegar seu premio denovo.', cid)
            end
        else
            selfSay('Você precisa de level '..level..' para pegar seu prêmio', cid)
        end
    end
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

O XML, usa o dele mesmo.

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

Mexi no seu script... Tinha muita coisa faltando e sem sentido.

Só peguei um npc que encontrei aqui e modifiquei, e sem servidor para testar fica complicado  -.-.

Mesmo assim vlw Snowsz

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo