Ir para conteúdo

Featured Replies

Postado

Por favor me digam exatamente passo a passo oque esse codigo abaixo faz, tente ser bem explicativo, não sou leigo no assunto mas quero aprender mais.


Bom, antes quero deixar oque eu tenho conhecimento se eu estiver errado conserte-me.

config é uma array, porém nao entendi muito bem como foi retirado informações dela

for é um looping porém não sei como monta-lo e nao entendi o "level", "info" "in pairs"
skill está vindo da função?
sat, me faça entender isso
 

Citar

 

function onAdvance(cid, skill, oldLevel, newLevel)

local config = {
[100] = {item = 2160, count = 10},
[120] = {item = 2160, count = 30},
[150] = {item = 9693, count = 1},
}

if skill == 8 then
for level, info in pairs(config) do
if newLevel >= level and (getPlayerStorageValue(cid, 30700) == -1 or not (string.find(getPlayerStorageValue(cid, 30700), "'" .. level .. "'"))) then
doPlayerAddItem(cid, info.item, info.count)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Parabéns, você atingiu o level "..newLevel.." e ganhou "..info.count.." "..getItemNameById(info.item)..".")
local sat = getPlayerStorageValue(cid, 30700) == -1 and "Values: '" .. level .. "'" or getPlayerStorageValue(cid, 30700) .. ",'" .. level .. "'" 
setPlayerStorageValue(cid, 30700, sat)
end
end
end

return TRUE
end

 

 

ELFBOT: Dúvidas sobre hotkeys, cavebot, shortkeys e icons?? Estou com uma página para ajudar a todos com essa maravilhosa ferramenta, capaz de fazer qualquer coisa que você imaginar. Basta curtir e pedir!

facebook.com/ciroscript

 

 

Att

Vilden~

  • Respostas 8
  • Visualizações 449
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • A primeira parte é o index a segunda o seu valor   t = {1, 2, 3} é igual t = { [1] = 1, [2] = 2, [3] = 3 }  

  • local config = { [100] = {item = 2160, count = 10}, [120] = {item = 2160, count = 30}, [150] = {item = 9693, count = 1} } function onAdvance(cid, skill, oldLevel, newLevel) if (skill == SKILL__LEVEL)

Postado

Essa script é bem obvia ; ao avançar de level o Player irá receber um item respectivo da tabela Config , O player também receberá uma mensagem e uma storage( que impossibilita que ele se mate e upe novamente para pegar o item ) .

A estrutura do for é o seguinte ; 

 

for variavel = valor inicial, valor final[, incremento] do

bloco

end

Não, as variáveis do for não precisam ser declaradas. 

in pairs() é usado na tabela Config ; ele percorre tudo ( até index que são strings)  e retorna os valores ; porém sem garantia de ordem . 

Exemplo ; 

 

local t {1, 2, 3, pedro = 4}

o pairs() retornará assim ( sem garantia de ordem ) ;

-- index, valor 

1, 1
2, 2
3, 3
pedro, 4


Sim , a skill vem da função ; 

Sinceramente , a variável sat eu não entendi , parece que foi uma gambiarra que o autor da script fez para não deixar o player ganhar o mesmo premio no mesmo level 
 

Postado
  • Autor

Não entendi a do inpairs 

1, 1?       

 

1 seria do valor colocado la e o outro 1?

@Storm

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

ELFBOT: Dúvidas sobre hotkeys, cavebot, shortkeys e icons?? Estou com uma página para ajudar a todos com essa maravilhosa ferramenta, capaz de fazer qualquer coisa que você imaginar. Basta curtir e pedir!

facebook.com/ciroscript

 

 

Att

Vilden~

Postado
  • Autor

No caso quando você quer dizer que ele nao tem garantia de ordem que dizer q ele pode:

 

2, 2

1, 1

pedro, 4

3, 3

isso?

@Storm

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

ELFBOT: Dúvidas sobre hotkeys, cavebot, shortkeys e icons?? Estou com uma página para ajudar a todos com essa maravilhosa ferramenta, capaz de fazer qualquer coisa que você imaginar. Basta curtir e pedir!

facebook.com/ciroscript

 

 

Att

Vilden~

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo