Ir para conteúdo
  • 0

Duvida Em Relação A Variaveis E Funções


sabrina9292

Pergunta

Bom pessoal...

Eu comecei a criar meu proprio script de mineraçao...

E neste sistema será possivel avançar skills...

Só que para poder avançar skill eu criei um "formulinha" que esta me dando dor de cabeça, pois não sei qual e o metodo certo de lidar com este problema...

 

Por enquanto, o script eh este:

 

a = 10
b = 0
c = 10
function onUse(cid, item, fromPosition, itemEx, toPosition)
local function skillTry(cid)
  if getPlayerStorageValue(cid,102) < 0 then
  return 0
  else
  return getPlayerStorageValue(cid,102)
  end
end
local function skillLevel(cid)
  if getPlayerStorageValue(cid,202) < 0 then
  return 0
  else
  return getPlayerStorageValue(cid,202)
  end
end
if itemEx.actionid == 1515 then
  setPlayerStorageValue(cid, 102, skillTry(cid)+1)
  print(getPlayerStorageValue(cid,102)..', '.. c)
  if skillTry(cid) == c then
	 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'Você avançou sua habilidade em mineração para o nível '.. skillLevel(cid)+1 .. '.')
	 setPlayerStorageValue(cid, 202, skillLevel(cid)+1)
	 setPlayerStorageValue(cid, 102, 0)
	 a = a + b
	 b = b + 10
	 c = c + a
  else
	 doSendAnimatedText(toPosition, 'Tick', 210)
	 doSendMagicEffect(toPosition, CONST_ME_POFF)
  end
  end
  return true																														  
end

 

E a minha dúvida é em relação as variavéis globais...

Até onde eu sei, não é aconselhavél usa-las, pois se houver duas variaveis com o mesmo nome em scripts diferentes, uma irá interferir na outra, mas em certos casos, você e obrigado a usa-las...

E minha duvida e justamente está... Existe algum modo mais sensato para fazer o que quero fazer?Sei-la, eu não entendo muito bem de funções, na verdade não entendo boa parte de lua ¬¬, mas talvez com funções seja melhor...

 

Bom é isso ai...

Acredito que neste script existam partes que possam ser substituidas por metodos mais "avançados" que complicam menos o script...

 

Desde já...

Muito obrigada

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

Posts Recomendados

  • 0

Nem percebi que eram os mesmos itens.

 

Mas já que são, seguindo o exemplo do Byerne:

 

 

http://pastebin.com/8aem9Jcn

 

Na variável start vc coloca quantos itens tem de opção no primeiro.

 

O script considera que vc adiciona 1 item a mais em cada level (a cada level não, a cada nova tabela, como estava antes).

 

Por isso, também, tive que trocar de pairs pra ipairs.

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

  • 0

Nem percebi que eram os mesmos itens.

 

Mas já que são, seguindo o exemplo do Byerne:

 

 

http://pastebin.com/8aem9Jcn

 

Na variável start vc coloca quantos itens tem de opção no primeiro.

 

O script considera que vc adiciona 1 item a mais em cada level (a cada level não, a cada nova tabela, como estava antes).

 

Por isso, também, tive que trocar de pairs pra ipairs.

 

Muito obrigada... Levou meu REP+

 

@Byerne

 

Amanha te dou um REP+... Muito obrigada

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

×
×
  • Criar Novo...