Ir para conteúdo

[Encerrado] [Ajuda Script] Pedido Para Analisar O Script


narutochuuu

Posts Recomendados

Pessoal eu fiz um script em que a ideia é, você clicará numa determinada árvore e você ganhará um item e só pegará este item de um determinado tempo, mas não funcionou na hora de abrir o server, podem analisar e ver o que tem de errado?

 

local cfg = {
time = 5 *60    --- tempo para poder usar o item na pedra novamente [Ali está 5 minutos]
}


function onUse(cid, item, fromPosition, itemEx, toPosition, fromPosition)
if getPlayerLevel(cid) > 10
  doPlayerAddItem(cid, 139, 1)
else
  doPlayerSendCancel(cid, "Voce precisa de level 10 para pegar o apricorn.")
  return true
end

return true
end

 

Valeu pela atenção se der para dar uma melhorada agradeço, é meu primeiro script ...

Link para o comentário
Compartilhar em outros sites

Mano, não sou expert em scripts, mas vou tentar ajudar UHAUSHAUSHAUSHUA

Tenta tirar o último:

 

return true
end

 

Me parece que está "sobrando"..

 

Tentei ver algo de errado no script e nao vi nada demais, só isso mesmo, se não for esse o erro, fala que eu tento descobrir dinovo xD

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

Tenta ae:

 


local config = {
time = 5 *60    --- tempo para poder usar o item na pedra novamente [Ali está 5 minutos]
}


function onUse(cid, item, fromPosition, itemEx, toPosition, fromPosition)
if getPlayerLevel(cid) > 10
  doPlayerAddItem(cid,139,1)
else
  doPlayerSendCancel(cid, "Voce precisa de level 10 para pegar o apricorn.")
  return true
end

return true
end

Link para o comentário
Compartilhar em outros sites

vish escrevi mo coisa errada aq então vamos lá

 

   doPlayerAddItem(cid, 139, 1)

 

aqui vai ser o id do item , acho que 139 não seria o certo.

Porque nunca vi um ot com o id 139.

 

Vou explicar cada função do script pra vêr se você consegue encontrar seu erro.

 

function onUse(cid, itemprimario, DaPosicao, Itemsecundario, ParaPosicao)

 

   doPlayerAddItem(cid, 139, 1)

 

CretureId - Id do item - Quantidade.

 

Se sua duvida persistir poste abaixo.

 

Abraços

Atenciosamente Felipe

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

Você adicionou qual tag em Actions.xml maninho???

<action actionid="2768" event="script" value="Apricorn1.lua"/>

 

O

actionid="2768"

 

é o ID a árvore e o

 

  doPlayerAddItem(cid, 139, 1)

 

o 139 é o ID do item que o player receberá.

Link para o comentário
Compartilhar em outros sites

troca

if getPlayerLevel(cid)>10

por

if getPlayerLevel(cid) > 10 then

 

É, pode ser isso ai, não tinha notado também..

tbm tem um return true a+ ai

era so

end
return true
end

OBS: so vai funcionar com player level 11 pra cima se for pra level 10 troca > por >=

 

local cfg = {
time = 5 *60    --- tempo para poder usar o item na pedra novamente [Ali está 5 minutos]
}

function onUse(cid, item, fromPosition, itemEx, toPosition, fromPosition)
if getPlayerLevel(cid) > 10 then
  doPlayerAddItem(cid, 139, 1)
else
  doPlayerSendCancel(cid, "Voce precisa de level 10 para pegar o apricorn.")
end
return true
end

Link para o comentário
Compartilhar em outros sites

local _SCRIPT_CONFIG = {
interval = 5, -- intervalo em minutos para usar denovo
itemWin = 139, -- item que vai ganhar
itemCount = 1, -- quantidade que vai ganhar
needLevel = 10 -- level necessário para usar
}

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid, 38273) - os.time() > 0 then
doPlayerSendTextMessage(cid, 27, "Sorry, you need wait [ ".. getPlayerStorageValue(cid, 38273) - os.time() .. "].") return true
end

if getPlayerLevel(cid) < _SCRIPT_CONFIG.needLevel then
doPlayerSendTextMessage(cid, 27, "Only players of level " .. _SCRIPT_CONFIG.needLevel .. " can pass here.") return true
end

doPlayerAddItem(cid, _SCRIPT_CONFIG.itemWin, _SCRIPT_CONFIG.itemCount)
setPlayerStorageValue(cid, 38273, os.time() + _SCRIPT_CONFIG.interval * 1000 * 60)
doPlayerSendTextMessage(cid, 27, "You win " .. _SCRIPT_CONFIG.itemCount .."x " .. getItemNameById(_SCRIPT_CONFIG.itemWin) .. ".")
return true
end

Link para o comentário
Compartilhar em outros sites

troca

if getPlayerLevel(cid)>10

por

if getPlayerLevel(cid) > 10 then

 

É, pode ser isso ai, não tinha notado também..

tbm tem um return true a+ ai

era so

end
return true
end

OBS: so vai funcionar com player level 11 pra cima se for pra level 10 troca > por >=

 

local cfg = {
time = 5 *60	--- tempo para poder usar o item na pedra novamente [Ali está 5 minutos]
}

function onUse(cid, item, fromPosition, itemEx, toPosition, fromPosition)
if getPlayerLevel(cid) > 10 then
  doPlayerAddItem(cid, 139, 1)
else
  doPlayerSendCancel(cid, "Voce precisa de level 10 para pegar o apricorn.")
end
return true
end

 

Valeu, agora funcionou, mas achei estranho porque não funcionou corretamente...

eu cliquei na árvore que eu coloquei no actions.xml do script

 

50aa796d91a84d918a05a16.png

 

E abre ela e não tem nada '-'

Link para o comentário
Compartilhar em outros sites

Script corrigido e adicionado a função de tempo de espera. Funcionando 100%.


local cfg = {
time = 5 *60	--- tempo para poder usar o item na pedra novamente [Ali está 5 minutos]
}


function onUse(cid, item, fromPosition, itemEx, toPosition, fromPosition)

local storage = 6732
local now = os.time()
local wait = getPlayerStorageValue(cid, storage)-now

if wait > 0 then
doPlayerSendCancel(cid, "Espere "..wait.." segundos para pegar novamente.")
return true
end


if getPlayerLevel(cid) >= 10 then
  doPlayerAddItem(cid, 139, 1)
setPlayerStorageValue(cid, storage, now+cfg.time)
else
  doPlayerSendCancel(cid, "Voce precisa de level 10 para pegar o apricorn.")
end

return true
end

actions.xml

<action itemid="2768" event="script" value="Apricorn1.lua"/>
Editado por Eskylo
Link para o comentário
Compartilhar em outros sites

Script corrigido e adicionado a função de tempo de espera. Funcionando 100%.


local cfg = {
time = 5 *60	--- tempo para poder usar o item na pedra novamente [Ali está 5 minutos]
}


function onUse(cid, item, fromPosition, itemEx, toPosition, fromPosition)

local storage = 6732
local now = os.time()
local wait = getPlayerStorageValue(cid, storage)-now

if wait > 0 then
doPlayerSendCancel(cid, "Espere "..wait.." segundos para pegar novamente.")
return true
end


if getPlayerLevel(cid) >= 10 then
  doPlayerAddItem(cid, 139, 1)
setPlayerStorageValue(cid, storage, now+cfg.time)
else
  doPlayerSendCancel(cid, "Voce precisa de level 10 para pegar o apricorn.")
end

return true
end

actions.xml

<action itemid="2768" event="script" value="Apricorn1.lua"/>

 

Vou testar agora, já já darei o resultado

 

Edit: deu a mesma coisa dos 2 outros scripts... acho que o problema é com a árvore "/

Link para o comentário
Compartilhar em outros sites

cara, você deve dizer o que acontece exatamente, aparece algum erro? o player só não recebe o item?

 

as scripts estão ok, veja se o item 139 é realmente pickupable no item.otb, se não for, nã ovai dar pra adicionar o item ao player, é como se você tentasse adicionar uma parede no inventório do player

Link para o comentário
Compartilhar em outros sites

cara, você deve dizer o que acontece exatamente, aparece algum erro? o player só não recebe o item?

 

as scripts estão ok, veja se o item 139 é realmente pickupable no item.otb, se não for, nã ovai dar pra adicionar o item ao player, é como se você tentasse adicionar uma parede no inventório do player

 

Realmente, antes o script não funcionava, mas agora que me ajudaram o player não recebe o item e o ID 139 é:

 

 

<item id="139" article="a" name="Red Apricorn" plural="Red Apricorns">

</item>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...