Ir para conteúdo
  • 0

Bau que da Varios Items,


jhonatanp

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Você quer random?

 

eu fiz pra da tudo de uma vez

 

obs: não testei

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local item = {xx, xx, xx, xx, xx, xx, xx, xx, xx, xx}
local level = xx
 
    if getPlayerStorageValue(cid, 10) and getPlayerLevel(cid) >= level then
       doPlayerAddItem(cid, item)
       doPlayerSendTextMessage(cid, 21, "Parabéns!")
    else
       doPlayerSendCancel(cid, "Vazio")
       setPlayerStorageValue(cid, 10, 1)
    return true
  end
end            
Editado por Kluivert
Link para o comentário
Compartilhar em outros sites

  • 0

 

Você quer random?

 

eu fiz pra da tudo de uma vez

 

obs: não testei

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local item = {xx, xx, xx, xx, xx, xx, xx, xx, xx, xx}
local level = xx
 
    if getPlayerStorageValue(cid, 10) and getPlayerLevel(cid) >= level then
       doPlayerAddItem(cid, item)
       doPlayerSendTextMessage(cid, 21, "Parabéns!")
    else
       doPlayerSendCancel(cid, "Vazio")
       setPlayerStorageValue(cid, 10, 1)
    return true
  end
end            

 

Kluivert..

na função getPlayerStorageValue você fez certo só que esqueceu de colocar pra verificar se a storage do player é menor que 1 . usando "Operadores Relacionais"(<=, >=, <, >, ==, ~=) . ex: getPlayerStorageValue(cid, STORAGE) ~= 0 . é só um exemplo não é o correto do script.

 

você também colocou pra verificar o level do player coisa que não é necessária no caso do pedido !

 

usou um return true fora de hora , não vai ocorrer um erro, mais nesse caso o correto seria usar depois do 'end' da verificação

 

ex:

function duuhCarvalho(blablabla)

if ... then
...
else
...
end

return true
end

Fora isso Parabéns você está evoluindo ! mdr.gif

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

Você quer random?

 

eu fiz pra da tudo de uma vez

 

obs: não testei

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local item = {xx, xx, xx, xx, xx, xx, xx, xx, xx, xx}
local level = xx
 
    if getPlayerStorageValue(cid, 10) and getPlayerLevel(cid) >= level then
       doPlayerAddItem(cid, item)
       doPlayerSendTextMessage(cid, 21, "Parabéns!")
    else
       doPlayerSendCancel(cid, "Vazio")
       setPlayerStorageValue(cid, 10, 1)
    return true
  end
end            

 

Kluivert..

na função getPlayerStorageValue você fez certo só que esqueceu de colocar pra verificar se a storage do player é menor que 1 . usando "Operadores Relacionais"(<=, >=, <, >, ==, ~=) . ex: getPlayerStorageValue(cid, STORAGE) ~= 0 . é só um exemplo não é o correto do script.

 

você também colocou pra verificar o level do player coisa que não é necessária no caso do pedido !

 

usou um return true fora de hora , não vai ocorrer um erro, mais nesse caso o correto seria usar depois do 'end' da verificação

 

ex:

function duuhCarvalho(blablabla)

if ... then
...
else
...
end

return true
end

Fora isso Parabéns você está evoluindo ! mdr.gif

 

 

Erros bestas meu :D mas vlw ae, vai ajudar eu a evoluir mais !

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local item = {xx, xx, xx, xx, xx, xx, xx, xx, xx, xx}
local level = xx
 
    if getPlayerStorageValue(cid, 10) == 0 and getPlayerLevel(cid) >= level then
       doPlayerAddItem(cid, item)
       doPlayerSendTextMessage(cid, 21, "Parabéns!")
    else
       doPlayerSendCancel(cid, "Vazio")
       setPlayerStorageValue(cid, 10, 1)
    end
  return true
end          
Link para o comentário
Compartilhar em outros sites

  • 0

recomendaria colocar ' <= 0 ' já que a storage fica -1 no player .

assim se for menor ou igua a 0 ele ganha se não , não ganha .

 

Resolvi abri o ot e testa, ai não tava conseguindo usar a tabela :D

fiz sem a tabela porem esta fucionando normalmente!

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
    if getPlayerStorageValue(cid, 101) == -1 then
       doPlayerSendTextMessage(cid, 21, "Parabéns!")
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       setPlayerStorageValue(cid, 101, 1)
    else
       doPlayerSendCancel(cid, "Vazio")
    end
  return true
end          
Link para o comentário
Compartilhar em outros sites

  • 0

Ainda sobre o código do Kluivert, recomendaria alterar a parte do doPlayerAddItem para o seguinte método:

1º- Alterar a tabela, adicionando dentro da "principal" "minitabelas", onde o primeiro índice destas indicaria o ID do item, e o segundo índice, a quantidade.

Ex.:

local table = {{ID do item, quantia}, {ID do item, quantia}, {ID do item, quantia}, ...}

2º- Com a tabela alterada da maneira que indiquei, você adicionaria os items ao jogador com um looping.

Ex.:

for i = 1, #table do
    local item = table[i]
    doPlayerAddItem(cid, item[1], item[2])
end

PS1: Quando digo "Ainda sobre o código do Kluivert...", me refiro ao primeiro código.

PS2: Esta maneira que indiquei não altera a funcionalidade (em relação ao seu código acima), porém, além de deixá-lo mais simples (e menor), digamos que deixa-o "mais belo", rs.

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

 

recomendaria colocar ' <= 0 ' já que a storage fica -1 no player .

assim se for menor ou igua a 0 ele ganha se não , não ganha .

 

Resolvi abri o ot e testa, ai não tava conseguindo usar a tabela :D

fiz sem a tabela porem esta fucionando normalmente!

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
    if getPlayerStorageValue(cid, 101) == -1 then
       doPlayerSendTextMessage(cid, 21, "Parabéns!")
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       doPlayerAddItem(cid, xx, 1) -- id do item e a quantidade!
       setPlayerStorageValue(cid, 101, 1)
    else
       doPlayerSendCancel(cid, "Vazio")
    end
  return true
end          

 

Parabéns foi uma boa ideia, funcionará perfeitamente!

Mais como o zipter recomendou é mais acessível em looping .

o script fica menor e mais bonito !

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...