Ir para conteúdo
  • Cadastre-se

Cáculos com Porcentagem


Posts Recomendados

Cálculos

Baseados em Porcentagem

Autor: Guiminhah

Nível: Fácil

--------------------------------------------------------------

Olá galera, tudo bom? Vim aqui compartilhar uma ideia que não vi por enquanto aqui no fórum, e acho que é legal usar de vez em quando no servidor. Cálculos com porcentagem são úteis para balancear, já que utilizam valores relativos, e não absolutos.

Para começar o tutorial, fiz um script para exemplificar.

•Explicação: Quero criar uma action que quando o player (maior que level 50) clicar em um Life Crystal gaste 20% da sua mana total para adicionar +2 no HP total.


----------Life Crystal Increasing Players' Max Health ~ By Guiminhah, OTNET

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

-- Configurando o script, só mexa aqui

  local lvlneeded = 50 -- Level para usar o Life Crystal

  local percentage = 0.2 -- Porcentagem que remove de mana (1=100%, 0.5=50%, 0.2=20%, 0.1=10%)

  local hpgiven = 2 -- A cada Life Crystal que usar, receberá quanto de HP

  local text = "HP, huh?" -- Texto que o Player mandará ao receber 2HP.


-- Altamente recomendável não alterar o script a partir daqui

  local maxh = getCreatureMaxHealth(cid)

  local maxm = getCreatureMaxMana(cid)

  local pos = getCreaturePosition(cid)  

  if getPlayerLevel(cid) >= lvlneeded then

	 if (getCreatureMana(cid)/maxm) >= percentage then

	 doCreatureAddMana(cid,-(maxm*percentage))

	 setCreatureMaxHealth(cid, maxh+hpgiven)

	 doPlayerSendTextMessage(cid,27,"You have extracted "..hpgiven.."HP of this Life Crystal.")

	 doRemoveItem(item.uid,1)

	 doSendMagicEffect(pos,35)

	 doSendAnimatedText(pos, text, TEXTCOLOR_RED)

	 else

	 doPlayerSendCancel(cid,"Sorry, extracting HP from a Life Crystal takes 20% of your entire mana.")

	 end

  else

  doPlayerSendCancel(cid,"You must be level "..lvlneeded.." or higher to use this Life Crystal.")  

  end			   

end

Para descobrir a porcentagem de mana que o player possui no momento em que clicou no Life Crystal (só para verificar se o script seria executado), foi necessário apenas dividir a a mana atual pela total. Isso é uma simples regra de três, todo mundo aprende na 7ª série. Se você não chegou lá, terá sérios problemas no tópico :s Para remover os 20% mana do player, só precisei multiplicar a mana total do player pelo equivalente em decimais de 20% do mesmo, que é 0.2. coolface.png 500 de mana ------- 100% 400 de mana ------- x 500.x = 100.400 x = 100.400/500 = 80% •IMPORTANTE: Toda porcentagem tem sua equivalência em números reais. Como em scripts fica mais fácil trabalhar com decimais, vamos utilizá-los smile509.gif


P: Aah Gui, mas como eu descubro esse equivalente em decimais?

R: Simplesmente divida a por-cem-tagem por 100

Fazendo isso, você descobrirá, por exemplo, que o equivalente em decimais de 80% é 0.8! NÃO UTILIZE VÍRGULA PARA INDICAR O DECIMAL, PELO AMOR DE DEUS. É PONTO!

--------------------------------------------------------------

Bom, é isso! smile509.gif Não é nada muito complexo, mas que pode tornar o RPG de seu servidor bem mais interessante caso você tenha criatividade smile509.gif

E para completar...

--------------------------------------------------------------
•Suposição: Um player tem 500 de mana. Se ele está com 400 de mana, quanto é seu equivalente em porcentagem? --Aquela velha regra de três da sua professora velha e de raíz branca de cabelo branca, da matemática da 7ª série, ou do seu professor de química japonês do 2º ano do médio.

Contato;

6yonKDJ.png god.marinii

TaxNfhb.png

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo