Ir para conteúdo

Featured Replies

Postado

Alguém da um help aqui. Poderia por gentileza mudar essa spell para ao invés de remover a quantidade exata de skills como está no script, remover por %. Por exemplo, ao invés de remover 70 de skills exatos, ela removeria 70% dos skills totais do player.

 

Ex: O player tem skills 500 - Com o script atual ele perderia 70 pontos de skills, ficando com 430.

Ex: O player tem skills 500 - Com o script por porcentagem, ele perderia 70% dos 500, ficando com 350.

 

Segue o script:

local combat = createCombatObject() 
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_YELLOW_RINGS)


local condition = createConditionObject(CONDITION_ATTRIBUTES) 
setConditionParam(condition, CONDITION_PARAM_TICKS, 8000)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, -70)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, -70)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, -70)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, -70)
setCombatCondition(combat, condition) 

arr = {
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(creature, var)
    return doCombat(creature, combat, var)
end

 

 

 

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

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Resolvido por Vodkart

Ir para solução
  • Respostas 16
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • tenta assim:   local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 8000) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST

  • So volto tarde
    So volto tarde

    caramba, nao tinha sacado que a gente taria fora do escopo da função, dá para gente tentar fazer de uma forma que não seja por condition, ou substituir a requisição que fazemos sobre a skilllevel do p

  • Obrigado, a segunda opção funcionou. ? 

Postado

tenta usar algumas dessas conditions:

 

CONDITION_PARAM_STAT_MAXHEALTHPERCENT = 31
CONDITION_PARAM_STAT_MAXMANAPERCENT = 32
CONDITION_PARAM_STAT_SOULPERCENT = 33
CONDITION_PARAM_STAT_MAGICLEVELPERCENT = 34
CONDITION_PARAM_SKILL_MELEEPERCENT = 35
CONDITION_PARAM_SKILL_FISTPERCENT = 36
CONDITION_PARAM_SKILL_CLUBPERCENT = 37
CONDITION_PARAM_SKILL_SWORDPERCENT = 38
CONDITION_PARAM_SKILL_AXEPERCENT = 39
CONDITION_PARAM_SKILL_DISTANCEPERCENT = 40
CONDITION_PARAM_SKILL_SHIELDPERCENT = 41
CONDITION_PARAM_SKILL_FISHINGPERCENT = 42

 

 

ficando assim:

 

 

local condition = createConditionObject(CONDITION_ATTRIBUTES) 
setConditionParam(condition, CONDITION_PARAM_TICKS, 8000)
setConditionParam(condition, CONDITION_PARAM_SKILL_FISTPERCENT, -170)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXEPERCENT, -170)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORDPERCENT, -170)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUBPERCENT, -170)
setCombatCondition(combat, condition) 

 

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Postado
  • Autor

Parece não surtir efeito algum, muito menos erro na distro. Ocorre como se a magia não afetasse o player de nenhuma forma. Vou deixar em spoiler o modo como deixei a spell.

Spoiler

local combat = createCombatObject() 
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_YELLOW_RINGS)


local condition = createConditionObject(CONDITION_ATTRIBUTES) 
setConditionParam(condition, CONDITION_PARAM_TICKS, 8000)
setConditionParam(condition, CONDITION_PARAM_SKILL_FISTPERCENT, -170)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXEPERCENT, -170)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORDPERCENT, -170)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUBPERCENT, -170)
setCombatCondition(combat, condition) 

arr = {
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(creature, var)
    return doCombat(creature, combat, var)
end

 

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Postado
local a = 900

print(a/100*70)

retorno: 910.0 (1300%x70 = 910)

 

local a = getPlayerSkillLevel(cid, 1)

local b = 100

local c = 70

print(a/b*c)

dá até para fazer uma função mais bonita e colocar na própria lib em outros casos como este, segue:

 

function mathPercent(number, percent)
	if (not number or not percent) then return; end
	local percentage = 100
	return number/percentage*percent
end

usando no script:

mathPercent(getplayerskill)

 

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

Informação Importante

Confirmação de Termo