Ir para conteúdo

Featured Replies

Postado

Alguem pode me dizer porque não está dando certo?

 

Citar

 function onUse (cid,item, itemEx, toPosition, fromPosition)
 
item = {11832,12639,11829}    

doPlayerAddItem(item,100)
return true
end

 

Era para o player clicar em um determinado item e ganhar os itens da tabela mas não está indo.

Postado
doPlayerAddItem(item, 100)

A callback acima precisa do ID de um item ... mas olha a tabela que você fez , ela tem 3 Id's diferentes.

Sendo assim, a script não sabe o que você escolheu.

item = {11832,12639,11829}  

A script é sempre exata , se a callback pede UM item , então você deve dar apenas UM item.

Se quiser a script corrigida :

function onUse (cid,item, itemEx, toPosition, fromPosition)
 
local item1 = 11832    
local item2 = 12639
local item3 = 11829

doPlayerAddItem(item1, 100)
doPlayerAddItem(item2, 100)
doPlayerAddItem(item3, 100)

return true
end

 

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

giphy.gif

Postado

Introdução a Tabelas

Tabelas antes de mais nada são variáveis que podem armazenar vários valores,que também podem ser sub-tabelas,sejam elas indexes ou valores(strings ou números).
Logo,se elas são variáveis,para abrir uma tabela em um script como devemos começar? Como se declara um variável em um script?
Simples!declaramos a tabela assim:

 

local tabble = {}


Pergunta:
Mais poderia ser qualquer outra variável de vez de "tabble"?
Resposta:
Sim,poderia ser dado qualquer outro nome para sua variável exemplo:

local vodkart = {} ou local xtibia = {} ou local config = {} ou local x = {} ...

Não importa o nome da sua variável,apenas certifique-se que ela está lá.

-----------------------------------------------
Obs:
Lembre-se que tabelas sempre usam chaves, é como se fosse um "if" e um "end",abriu uma chave "{" você deve fecha-lá "}".
-----------------------------------------------


Manipulando e pegando valores dentro de Tabelas

já aprendemos como declarar uma tabela certo?,agora iremos colocar alguns valores dentro dela...Mas como fazer isso? OH MY GOD!
Vou escolher alguns números aleátorios e colocar dentro da nossa tabela:
 

local tabble = {150, 410, 25}


Pronto, nós já tem uma tabela! Viram como é easy?

Agora prestem atenção a explicação cambada de vagabundo!
Para pegar os valores de uma tabela é mais fácil ainda,conforme você vai adicionando o elemento dentro de uma tabela elas vão ganhando posições,por exemplo:


150 = 1° posição
410 = 2° posição
25 = 3° posição


Então como pegar esses valores na tabela?
Você deve primeiro usar o nome da sua tabela seguido de colhetes "[]",entre esses colchetes ficam o valor de posição do que você quer pegar,exemplo:

Vamos supor que queremos pegar o valor 150 em um script e a nossa tabela foi declarada assim:
 

local tabble = {150, 410, 25}


logo para pegar o valor 150 fariamos assim:

tabble[1]

Ou sejá:
tabble[1] retornaria 150
tabble[2] retornaria 410
tabble[3] retornaria 25

Tudo certo por aqui? espero que sim.


Criando tabelas avançadas:

Agora vamos estudar sub-tabelas e indexes,vou propor o seguinte problema:

 

Marco é um empregado que trabalha em um escritório de registros,e ele precisa fazer uma tabela com nome,idade e sexo das pessoas. Crie uma tabela para ajudar-lo,seguem as pessoas abaixo:

Bruno: idade 22, masculino
Thiago: idade 17, masculino
Marina: idade 16, feminino




Como prosseguir?

Primeiro de tudo vamos declarar nossa tabela:
 

local tabela = {}


Agora vamos criar os chamados indexes,quais os index que temos nesse problema?
nome,idade e sexo certo?

Então :
 

local tabela = {nome="", idade=, sexo=""}


Mais espera,como é uma tabela de múltiplas linhas devemos separar por vírgulas e abrir mais algumas chaves para surgir as sub-tabelas:
 

local tabela = { {nome="", idade=, sexo=""}, {nome="", idade=, sexo=""}, {nome="", idade=, sexo=""} }


-----------------------------------------------
Obs:
Porque Nome e sexo tem ""?
"" significa string,são usados para nome e palavras.
-----------------------------------------------


Peço que vocês preencham a tabela antes de abrir o spoiler para que vocês possam aprender,depois que vocês preencherem sua tabela abram o spoiler para ver se está tudo de acordo.



local tabela = { {nome="Bruno", idade=22, sexo="Masculino"}, {nome="Thiago", idade=17, sexo="Masculino"}, {nome="Marina", idade=16, sexo="Feminino"} }



Hmm e agora vamos para a parte complicadinha,vamos pegar os valores dentro da tabela,como fazer isso?
Nesse caso faríamos assim:

tabela[linha].index


-----------------------------------------------
Obs:
se a tabela tivesse só uma linha por exemplo:
 

local tabela = {idade=22, nome="Bruno", sexo="masculino"}


para pegar o nome você usaria tabela.index ou seja:

tabela.idade --> retornaria 22
tabela.nome --> retornaria "Bruno"
tabela.sexo -->  retornaria "masculino"
-----------------------------------------------


Agora quando a tabela tem várias linhas é preciso consultar os valores assim:

tabela[linha].index


Pegando o nosso exemplo

local tabela = { {nome="Bruno", idade=22, sexo="Masculino"}, {nome="Thiago", idade=17, sexo="Masculino"}, {nome="Marina", idade=16, sexo="Feminino"} }


Se quiséssemos retornar o nome da linha 2 como faríamos?

tabela[2].index

ou seja

tabela[2].nome retornaria "Thiago"
tabela[2].idade retornaria 17

tabela[1].idade retornaria 22
tabela[1].sexo retornaria "Masculino"

tabela[3].nome retornaria "Marina"

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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.8k

Informação Importante

Confirmação de Termo