Ir para conteúdo
Entre para seguir isso  
Pessoaman

Concha submarina que dá perola

Recommended Posts

Pessoaman    1
Pessoaman

Quando você clica na concha, ela te da:

- 2% de chance de ganhar uma perola,

- 1% de chance de ganhar duas perolas,

- 0,5% de chance de ganhar uma perola negra e

- 96,5% de não ganhar nada.

 

Primeiro, no items.xml você altera a concha aberta para que com o tempo ela se feche novamente, eu coloquei para demorar 100, que é bastante tempo ;D

 

Sua concha no items.xml deve estar assim, ou parecido:

<item id="7553" name="large seashell" article="a">
	<attribute key="description" value="It is empty." />
</item>

 

Adicione as nodes em negrito

<item id="7553" name="large seashell" article="a">
	<attribute key="description" value="It is empty." />
[b]		<attribute key="decayTo" value="7552" />
	<attribute key="duration" value="100" />[/b]
</item>

 

No actions.xml você coloca o node que chama o lua pro server

<action itemid="7552" script="other/seashell.lua" />

 

Você cria um arquivo "seashell.lua" dentro da pasta actions/script/other

function onUse(cid, item, frompos, item2, topos)

		rand = math.random(1000)
		if (rand < 20) then -- 2% de chance
			doPlayerAddItem(cid, 2143, 1) 
			doPlayerSendTextMessage(cid, [b]MESSAGE_INFO_DESCR[/b], 'You have found a white pearl!')
		elseif (rand < 30) then -- 1% de chance
			doPlayerAddItem(cid, 2143, 2)
			doPlayerSendTextMessage(cid, [b]MESSAGE_INFO_DESCR[/b], 'You have found two white pearls!')
		elseif (rand < 35) then -- 0,5% de chance
			doPlayerAddItem(cid, 2144, 1)
			doPlayerSendTextMessage(cid, [b]MESSAGE_INFO_DESCR[/b], 'You have found a black pearl!')
		else
			doPlayerSendTextMessage(cid, [b]MESSAGE_INFO_DESCR[/b], 'It is empty.')
		end

		doSendMagicEffect(frompos, 25)
           doTransformItem(item.uid, 7553)
           doDecayItem(item.uid)
     return 1 
end

 

OBS¹: MESSAGE_INFO_DESCR é uma variavel GLOBAL usada no The Forgotten Server, dependendo do servidor que você usa essa variavel pode ser outra (veja as variaveis globais em global.lua)

 

OBS²: No meu OT eu tinha colocado para haver a chance de chamar outros monstros pequenos sub aquaticos presos dentro da concha, mas como são monstros que só o meu OT tem (monstros subaquaticos de pequeno porte) eu não postei aqui também essa parte, mas fica a ideia para quem quiser ;D

 

EDIT: Só para entender melhor o script

OBS³: Se você quiser alterar/adicionar as chances/os itens/monstros, precisa sempre somar a chance anterior com a atual, por exemplo:

IF rand < 20, porque 1000/20 = 2% (2 em 100)

ELSEIF rand < 30, porque 1000/(30-20) = 1% (1 em 100) (isso é necessario por que todas as chances de 0 a 19 pertence ao primeiro IF)

ELSEIF rand < 35, porque 1000/(35-30) = 0,5% (1/2 em 100) (isso é necessario por que todas as chances menores que 30 pertencem ao primeiro IF e o primeiro ELSEIF)

ELSE (todas as chances que sobraram vem para ca, ou seja 1000-35 = 965 ou 96,5%)

Editado por Pessoaman

Compartilhar este post


Link para o post
Miltonhit    4
Miltonhit

Deu uma utilidade para concha, rsrs, você poderia ter usado tabelas ao invez de varios "ifs e elses" mais enfim, formatação boa e code funcionando.

 

Nota: C

Remuneração total: 15 v$

 

Obrigado pela contribuição, até mais.

Compartilhar este post


Link para o post
Pessoaman    1
Pessoaman

Na verdade não acho que sou um programador LUA tão bom, já que eu não faço ideia do que sejam tabelas D':

 

Oche, ganha dinheiro qdo faz script? Eu nem sabia D:

Vlw ae MilthonHit!!

 

Como converte V$ pra reais? ;D

Compartilhar este post


Link para o post
(-)TrAjAnO(-)    0
(-)TrAjAnO(-)

Muito bom o script...

Compartilhar este post


Link para o post
Merfolk    0
Merfolk
Deu uma utilidade para concha, rsrs, você poderia ter usado tabelas ao invez de varios "ifs e elses" mais enfim, formatação boa e code funcionando.

não consigo imaginar esse código sem if e else

 

@Pessoaman

uma tabela é uma variável que suporta vários dados dentro dela, inclusive outras variáveis.

por exemplo:

tabela = {"a","b","c"}

tabela[1] é o primeiro elemento, ou seja, "a"

tabela[2] é o segundo elemento, ou seja, "b"

tabela[3] é o segundo elemento, ou seja, "c"

 

uma tabela contendo variáveis dentro dela:

tabela1 = {tabela2={1,2,3}, tabela3={"a","b","c"}}

tabela1.tabela2 acessa a tabela2 contendo 1,2 e 3

tabela1.tabela3 acessa a tabela3 contendo "a", "b" e "c"

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×