Ir para conteúdo

Featured Replies

Postado
  • Autor

mas pelo que eu entendi isso ai vai armazenas a storage, não?

a ideia era que armazenasse o resultado dos math.random.

você poderia me explicar o que acontece na parte do "-----aqui-----" porque eu n entendi bem ( pra ser sincero entendi nada).

a ideia era bem mais simples que isso, era simplesmente armazenar o resultado dos 3 math.randoms que correspondem ao ataque, pra depois poder formar um numero com os 3.

tipo:

math.random 1 = 1

math.random 2 = 1

math.random 3 = 1

 

se eu conseguisse armazenar os math.random ( o resultado deles )

poderia retornar o numero "111" no script.

entende? é como se eu formasse uma sequencia de numeros com numeros previos retirados aleatoriamente.

pra mim parece q eu expliquei tão bem, mas só pra mim hahaha.

 

edit--

tenho grandes convicções para acreditar que eu expliquei mal e vc fez um script baseado na minha mal explicação.

ou eu não entendi mesmo

edit2--

colocar pra fazer oque vc quiser com o valor do storage, está salvo nessa variável.

eu preciso fazer exatamente isso, porem com o valor do math random. 

salvar o valor dos 3 math.random em 1 variavel, fazendo assim, eu poder retornar o valor a qualquer hora.

será mt complexo?

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

  • Respostas 30
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • vê se vc entende agora:   o storage inicialmente é -1 então ele cai no else ali e vai setar o valor como sendo o valor do dice (1~6). Aí no próximo ataque ele vai cair no elseif stor &g

  • não precisa abrir mão, dá pra vc fazer uma lógica que inclua isso. guardar os storages multiplicáveis? como assim? Dá pra configurar de forma precisa sim, uma vez que vc tem todos os valore

  • sim, toda vez que for executado o callback ele irá gerar um novo math.random mas cada vez que vc usar dice o valor será do primeiro math.random

Postado

vê se vc entende agora:
 

Spoiler

function onStatsChange(cid, attacker, type, combat, value)
	if math.random(1, 100) <= 10 then
		if isCreature(cid) and getCreatureName(cid) == 'Dicer' then
			if getPlayerStorageValue(attacker, 9000)  == 0  then
				doCreatureSay(cid, "Então você escolheu o combate, vamos ver o que a sorte tem para você", TALKTYPE_MONSTER_YELL)
				doSendMagicEffect(getCreaturePosition(cid), 26)
				setPlayerStorageValue(attacker, 9000, 1)
			elseif getPlayerStorageValue(attacker, 9000) == 1 then
				doCreatureSay(cid, "onde é que paramos?", TALKTYPE_MONSTER_YELL)
				doSendMagicEffect(getCreaturePosition(cid), 26)
			end
			local dice = math.random(1, 6)
			------------ aqui--------
			local stor = getPlayerStorageValue(cid, 9001)
			if stor > 100 then
				local dmg = stor --- abaixo disso aqui vc pode colocar pra fazer oque vc quiser com o valor do storage, está salvo nessa variável.
				setPlayerStorageValue(cid, 9001, 0)
			elseif stor > 10 then
				setPlayerStorageValue(cid, 9001, stor + 100* dice)
			elseif stor > 0 then
				setPlayerStorageValue(cid, 9001, stor + 10* dice)
			else 
				setPlayerStorageValue(cid, 9001, dice)
			end
			-----------------------

 



o storage inicialmente é -1 então ele cai no else ali e vai setar o valor como sendo o valor do dice (1~6).
Aí no próximo ataque ele vai cair no elseif stor > 0 e setar o valor que estava (1~6) + 10 * (1~6), ou seja vai ficar (10~60)+ (1~6).
No próximo ataque ele vai cair no elseif stor > 10 e  setar o valor que estava  (10~60)+ (1~6) + 100* (1~6) ou seja, vai ficar (100~600)+(10~60)+ (1~6).

No ultimo ataque ele vai cair no if stor > 100 e aí ele passa o valor pra variável dmg e zera o storage.
Nessa parte que ele faz isso, vc pode fazer oque vc quiser com a sequência de dices que caiu.. se cair 3 no primeiro, 4 no segundo e 1 no terceiro o numero salvo em dmg será 143. Entendeu agora?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
  • Autor

hmm, agora eu entendi a ideia perfeitamente.

mas deixe-me conferir se estou certo.

se eu fizer dessa forma teria de abrir mão dos 3 ataques inicias programados certo? ( que seria o jogo de dados do boss, cada numero do dado equivale a uma punição )

também teria de guardar todos os storages multiplicaveis ali para esse script, correto?

e por ultimo, eu não poderia configurar de forma precisa oque ele faria ao final do script certo? ( que seria as combinações dos numeros [ minha ideia era fazer com que a ordem dos numeros OU o seus valores significassem cada punição]) 

--

uma duvida, sempre que eu declarar "dice" no script ele vai fazer outro math.random?

Postado

não precisa abrir mão, dá pra vc fazer uma lógica que inclua isso.


guardar os storages multiplicáveis? como assim?

Dá pra configurar de forma precisa sim, uma vez que vc tem todos os valores salvos por ordem e por valor.

Se vc declarar dice ele vai pegar o valor salvo pelo primeiro math.random gerado, se vc quiser fazer outro use a função math.random(1,6) ao invés da variável.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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

Informação Importante

Confirmação de Termo