Ir para conteúdo

Featured Replies

Postado

Esse script do npc, nao ta fazendo a contagem aleatoria, ta dando sempre o mesmo item no reward, alguem explica por que?

as vezes ele da sempre o item1 umas 100 vezes, depois de reiniciar o servidor sempre o item2 e assim por diante...

 

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
 
-------------------------------------- CONFIG ---------------------------------------------
local rand = math.random(1,10)
local item1, quantidade1 = 2150, 1 -- item1 e quantidade
local item2, quantidade2 = 2146, 1 -- item2 e quantidade
local item3, quantidade3 = 2147, 1 -- item3 e quantidade
local item4, quantidade4 = 2149, 1 -- item4 e quantidade
local reward1, quantidade5 = 2544, 1 -- recompensa 1 e quantidade.
local reward2, quantidade6 = 2545, 1 -- recompensa 2 e quantidade.
local reward3, quantidade7 = 2546, 1 -- recompensa 1 e quantidade.
local reward4, quantidade8 = 7364, 1 -- recompensa 2 e quantidade.
--------------------------------------------------------------------------------------------
 
function teste1(cid, message, keywords, parameters, node)
    if(not npcHandler:isFocused(cid)) then return false end
      
if getPlayerItemCount(cid, item1) >= quantidade1 and getPlayerItemCount(cid, item2) >= quantidade2 and getPlayerItemCount(cid, item3) >= quantidade3 and  getPlayerItemCount(cid, item4) >= quantidade4 then
if doPlayerRemoveItem(cid, item1, quantidade1) and doPlayerRemoveItem(cid, item2, quantidade2) and doPlayerRemoveItem(cid, item3, quantidade3) and  doPlayerRemoveItem(cid, item4, quantidade4) then
if rand <= 4 then
npcHandler:say('Você ganhou a recompensa 1!', cid)
doPlayerAddItem(cid, reward1, quantidade5)
elseif rand >= 5 and rand <= 7 then
npcHandler:say('Você ganhou a recompensa 2!', cid)
doPlayerAddItem(cid, reward2, quantidade6)
elseif rand >= 8 and rand <= 9 then
npcHandler:say('Você ganhou a recompensa 3!', cid)
doPlayerAddItem(cid, reward3, quantidade7)
elseif rand == 10 then
npcHandler:say('Você ganhou a recompensa 4!', cid)
doPlayerAddItem(cid, reward4, quantidade8)
else
return false
end
        end
else
npcHandler:say('You don\'t have these items!', cid)
    end
end
 
keywordHandler:addKeyword({'item'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Somente guerreiros persistentes vao ganhar meus brindes, voce eh um? {guerreiro}"})
 
local node1 = keywordHandler:addKeyword({'guerreiro'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para tentar forjar a arma X você precisa ter os items Y, W, Z e V, você tem eles???'})
    node1:addChildKeyword({'sim'}, teste1, {npcHandler = npcHandler, onlyFocus = true, reset = true})
    node1:addChildKeyword({'nao'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Volte Sempre.', reset = true})
 
npcHandler:addModule(FocusModule:new())

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

  • Respostas 5
  • Visualizações 303
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • luanluciano93
    luanluciano93

    @roach95, me desculpe pela demora, eu sou o autor do script, te ajudei, mas fiz com erro, agora já sei o que é ...   Coloque a parte da configuração:  -------------------------------------- CONFIG

Postado

O título do tópico for alterado de : "Npc script" para "NPC não faz contagem aleatória".
Leia as regras do fórum :
www.tibiaking.com/forum/forum/23-regras-do-forum/

 

 

2.3 - Use títulos e ícones adequados:
Ao criar um novo tópico no fórum, dê a ele um título que esteja relacionado ao
conteúdo do tópico. Títulos como "Ajudaaa!" ou "Entrem aqui!" só pioram as
coisas: ninguém vai saber do que se trata, e menos pessoas irão entrar para olhar
o que você postou.

Postado

@roach95, me desculpe pela demora, eu sou o autor do script, te ajudei, mas fiz com erro, agora já sei o que é ...  

Coloque a parte da configuração: 

-------------------------------------- CONFIG ---------------------------------------------
local rand = math.random(1,10)
local item1, quantidade1 = 2150, 1 -- item1 e quantidade
local item2, quantidade2 = 2146, 1 -- item2 e quantidade
local item3, quantidade3 = 2147, 1 -- item3 e quantidade
local item4, quantidade4 = 2149, 1 -- item4 e quantidade
local reward1, quantidade5 = 2544, 1 -- recompensa 1 e quantidade.
local reward2, quantidade6 = 2545, 1 -- recompensa 2 e quantidade.
local reward3, quantidade7 = 2546, 1 -- recompensa 1 e quantidade.
local reward4, quantidade8 = 7364, 1 -- recompensa 2 e quantidade.
--------------------------------------------------------------------------------------------

Dentro da função, ou seja, abaixo dessa linha:

function teste1(cid, message, keywords, parameters, node)

Desculpe pela demora!
 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo