Postado Março 13, 2017 8 anos Galera eu criei este Weapon Mostrar conteúdo oculto 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))) return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) local ret = doCombat(cid, combat, var) if(ret == LUA_ERROR) then return LUA_ERROR end return true end 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???
Postado Março 13, 2017 8 anos Em 13/03/2017 em 17:05, robi123 disse: Galera eu criei este Weapon Mostrar conteúdo oculto Mostrar conteúdo oculto 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))) return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) local ret = doCombat(cid, combat, var) if(ret == LUA_ERROR) then return LUA_ERROR end return true end 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.
Postado Março 13, 2017 8 anos 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 Março 13, 2017 8 anos 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 Março 13, 2017 8 anos por DukeeH (veja o histórico de edições)
Postado Março 13, 2017 8 anos Autor @DukeeH Cara voce é fera, vou testar aqui ja te digo @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.