Ir para conteúdo

Featured Replies

Postado

Galera eu criei este Weapon

Mostrar conteúdo oculto

 

Porem quando eu ataco um Dragon eu hito 570 ou 575

e quando eu ataco um player, mesmo ele estando sem nenhum equipe.. eu bato 280 - 290

tem algum lugar que de pra configurar...ou o monstro apanha menos.. ou o player apanha mais pra nivelar os hits???

  • Respostas 11
  • Visualizações 524
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Normal, qualquer magia/arma bate menos em jogadores, mesmo sem itens. Em todos os servidores/distros... Provavelmente isso consta nas sources, mas não sei exatamente onde, posso procurar.

  • Testa algo assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYP

  • O problema do "um pouquinho menos" é porque nas versões mais velhas, essa função onStatsChange tem um problema: Você hita 200 do player, (descontando defesas) Essa função entra, pega o 200,

Posted Images

Postado
  Em 13/03/2017 em 17:05, robi123 disse:

Galera eu criei este Weapon

Mostrar conteúdo oculto

 

Porem quando eu ataco um Dragon eu hito 570 ou 575

e quando eu ataco um player, mesmo ele estando sem nenhum equipe.. eu bato 280 - 290

tem algum lugar que de pra configurar...ou o monstro apanha menos.. ou o player apanha mais pra nivelar os hits???

Normal, qualquer magia/arma bate menos em jogadores, mesmo sem itens. Em todos os servidores/distros...

Provavelmente isso consta nas sources, mas não sei exatamente onde, posso procurar.

asdukeeh.jpg

Postado
  • Autor
  Em 13/03/2017 em 19:42, DukeeH disse:

Normal, qualquer magia/arma bate menos em jogadores, mesmo sem itens. Em todos os servidores/distros...

Provavelmente isso consta nas sources, mas não sei exatamente onde, posso procurar.

 

 

Eae @DukeeH

Se vc achar me da um toque ai ;) o/

 

vlw

Postado
  Em 13/03/2017 em 19:45, robi123 disse:

 

 

Eae @DukeeH

Se vc achar me da um toque ai ;) o/

 

vlw

Testa algo assim:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

function onGetFormulaValues(cid, weapon, sword, level)
	min = -(((weapon*2.0) + (((sword/5)*16.0)) + (level*6.0)))
	max = -(((weapon*2.0) + (((sword/5)*16.0)) + (level*6.0)))
	local dobromin = min
	local dobromax = max
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
 
function onTargetCreature(cid, target)
  if(isPlayer(target)) then
      doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, dobromin, dobromax, CONST_ME_NONE)
  end
  return true
end 
 
function onUseWeapon(cid, var)
	return doCombat(cid, combat, var)
end

Ele vê se o alvo é player e dobra o dano, mas se quiser em todas as armas e tal, o melhor seria sources.

Vou procurar sobre.

 

Edit.

Outra idéia seria fazer um creaturescript pra cada dano que um jogador recebe, se for de outro jogador, multiplicar por 2.

Funcionaria para ataque e magia e não precisaria editar tudo.

 

creaturescripts/creaturescripts.xml

<event type="statschange" name="danoplayers" event="script" value="danoplayers.lua"/>

creaturescripts/scripts/danoplayers.lua

function onStatsChange(cid, attacker, type, combat, value)
	if isPlayer(attacker) and isPlayer(cid) and type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then
		doTargetCombatHealth(attacker, cid, combat, -value*2, -value*2, 255)
	end
	return true
end

creaturescripts/scripts/login.lua

registerCreatureEvent(cid, "danoplayers")

 

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

asdukeeh.jpg

Postado
  • Autor

@DukeeH Cara voce é fera, vou testar aqui ja te digo ;D

@DukeeH

eu deixei assim ó -- agora ta batendo um pouco menos que de dragon o/

se acha que se mudar na source poderia ficar melhor no sistema.. do server não ficar muito pesado calculando todas essas informações em scripts?

 

function onStatsChange(cid, attacker, type, combat, value)
	if isPlayer(attacker) and isPlayer(cid) and type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS then
		doTargetCombatHealth(attacker, cid, combat, -value*0.9, -value*0.9, 255)
	end
	return true
end

 

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