Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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)
Link para o post
Compartilhar em outros sites

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.

Link para o post
Compartilhar em outros sites

@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!
 

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.

  • Conteúdo Similar

    • Por Lion
      O sistema de medalhas do TibiaKing foi reativado.
      As medalhas serão entregues automaticamente, muitos de vocês podem já ter recebido.
      Aproximadamente 12.000 contas do Tk já foram notificadas.
       
      Medalhas Raras
      2 novas medalhas raros criados (Guardião da Aurora, Poder Áureo) Quanto mais participar do fórum mais chances tem de desbloquear os medalhas raras.  
      https://tibiaking.com/medalhas/
       
      Show Off:
      tkmedalhas.mp4
       
      Créditos:
      BrooMop (BW) Medalhões-base doados ao Tibia King.
      Tibia (Cipsoft) Molduras-base e itens copiados do Tibia Wiki.
      @Cat Criação de novos medalhões e animações.
       
       
    • Por Rafaelk36
      Quero um script que ao clicar no item exemplo:
      um book clico e ele da um doCreatureSay(cid, "", TALKTYPE_ORANGE_1) aleatorio (configuravel ava)
      eu sei que é simples mas não sei usar math.random
       
    • Por Ovini
      Eae, preciso de uma ajuda, tenho um script de uma quest que ganha a reward dando use no bau. Gostaria que alguém mudasse para ganhar a reward se o player passar por cima de tal tile. Eu tentei mudar, mas não consegui. Se alguém puder me ajudar, eu agradeço.
       
      local config = { storageQuest = 70001, timeWait = 1, -- tempo em dias. } function onUse(cid, item, frompos, item2, topos) if (getPlayerStorageValue(cid, config.storageQuest) < os.time()) then setPlayerStorageValue(cid, config.storageQuest, os.time() + (config.timeWait * 600)) doSendMagicEffect(getThingPos(cid), 73) doPlayerAddItem(cid,25860,1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de completar a quest diaria.") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Espere 20 horas pra poder pegar sua reward novamente.") end return true end  
    • Por Gustavo Mello
      Olá, eu tentei, procurei, mas não achei nem consegui fazer, infelizmente meu conhecimento de script é limitado, então vim fazer um pedido, se alguém conseguir é bom que toda a comunidade pode fazer proveito disso  
       
      Queria um script assim:
       
      [Player clicou no báu]
      Dai aparece a mensagem encima do báu ou do player mesmo: "Procurando algo..."
      Depois de alguns segundos aparece: "Você achou uma Faca!"
       
      Os itens tem que ser aleatório, e editaveis. Tem que ter porcentagem de falha.
       
      [Player clicou no báu]
      Depois de alguns segundos aparece: "Você não achou nada."
       
       
      O tal Player que clicou no báu só poderá clicar no mesmo báu depois de 60 MINUTOS, ou seja 1 HORA.
       
      Obrigado!
    • Por compp
      Ae galera do TK preciso muito mais muito da ajuda de vocês!

      Queria instalar o Systema Reward Chest no meu otserv já procurei topicos mais não encontrei
      Meu ot é 8.60 TFS 0.4 tem como me ajudar?

      Irei retribuir dando REP+

      Obrigado a todos desde já!! 
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo