Ir para conteúdo

Featured Replies

Postado

Preciso de ajuda para arrumar o hit das minhas wands, elas não estão seguindo as ordem que eu configurei, segue os scripts abaixo. Elas estão hitando menos do que o normal.

 

Inicial Staff

Spoiler

weapons.xml   

 <wand id="7424" level="8" mana="20" min="550" max="600" type="holy" event="script" value="vip2.lua"> <!-- vip2 -->
        <vocation id="1"/>
        <vocation id="2"/>
        <vocation id="5" showInDescription="0"/>
        <vocation id="6" showInDescription="0"/>
    </wand>


weapons/scripts/vip2.lua
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 51)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_CAKE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -450, 0, -500)

function onUseWeapon(cid, var)
return doCombat(cid, combat, var)
end

 

items.xml

    <item id="7424" article="a" name="Inicial Staff">        
        <attribute key="weight" value="2300" />
        <attribute key="weaponType" value="wand" />
        <attribute key="shootType" value="holy" />
        <attribute key="range" value="6" />
    </item>

Wand Of Baiak

Spoiler

weapons.xml

    <wand id="2184" level="180" mana="15" min="600" max="620" type="holy" event="function" value="default"> <!-- Wand of Baiak -->
        <vocation id="1"/>
        <vocation id="5" showInDescription="0"/>
                <vocation id="2"/>
        <vocation id="6" showInDescription="0"/>
    </wand>

 

items.xml

    <item id="2184" article="a" name="wand of baiak">
        <attribute key="weight" value="2300" />
        <attribute key="weaponType" value="wand" />
        <attribute key="shootType" value="death" />
        <attribute key="range" value="6" />
    </item>

Assault Staff

Spoiler

weapons.xml

    <wand id="12655" range="8" lvl="8" mana="10" enabled="1" exhaustion="0" script="donatestaff.lua">
        <vocation id="1"/>
        <vocation id="2"/>
        <vocation id="5" showInDescription="0"/>
        <vocation id="6" showInDescription="0"/>
    </wand>

 

weapons/scripts/donatestaff.lua

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 30)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -650, 0, -700)

function onUseWeapon(cid, var)
return doCombat(cid, combat, var)
end

 

items.xml

    <item id="12655" article="a" name="assault staff">
         <attribute key="weight" value="2300" />
        <attribute key="weaponType" value="wand" />
        <attribute key="range" value="6" />
    </item>

Donate Mage Staff

Spoiler

weapons.xml

    <wand id="12661" level="8" mana="20" event="script" value="elemental_wand.lua"> <!-- Super New Staff -->
        <vocation id="1"/>
        <vocation id="2"/>
        <vocation id="5" showInDescription="0"/>
        <vocation id="6" showInDescription="0"/>
    </wand>

 

weapons/scripts/elemental_wand.lua

local combat_types = {
    [1] = {cond = CONDITION_FREEZING, effect = CONST_ME_ICEATTACK, anim = CONST_ANI_ICE, damage = COMBAT_ICEDAMAGE},
    [2] = {cond = CONDITION_FIRE, effect = CONST_ME_FIREATTACK, anim = CONST_ANI_FIRE, damage = COMBAT_FIREDAMAGE},
    [3] = {cond = CONDITION_POISON, effect = CONST_ME_SMALLPLANTS, anim = CONST_ANI_EARTH, damage = COMBAT_EARTHDAMAGE},
    [4] = {cond = CONDITION_ENERGY, effect = CONST_ME_ENERGYHIT, anim = CONST_ANI_ENERGY, damage = COMBAT_ENERGYDAMAGE},
    [5] = {effect = CONST_ME_HOLYDAMAGE, anim = CONST_ANI_HOLY, damage = COMBAT_HOLYDAMAGE},
    [6] = {cond = CONDITION_CURSED, effect = CONST_ME_MORTAREA, anim = CONST_ANI_SUDDENDEATH, damage = COMBAT_DEATHDAMAGE},

    default = {damage = COMBAT_PHYSICALDAMAGE},
}

local config = {
    storage = 101010,
    block_armor = true,
    condition_rounds = 0,
    condition_value = 0,
    condition_time = 2000,
}

for key, combat in pairs(combat_types) do
    combat.object = createCombatObject()

    setCombatParam(combat.object, COMBAT_PARAM_TYPE, combat.damage or COMBAT_PHYSICALDAMAGE)
    setCombatParam(combat.object, COMBAT_PARAM_EFFECT, combat.effect or CONST_ME_NONE)
    setCombatParam(combat.object, COMBAT_PARAM_DISTANCEEFFECT, combat.anim or CONST_ANI_NONE)
    setCombatParam(combat.object, COMBAT_PARAM_BLOCKARMOR, config.block_armor and 1 or 0)

    setCombatFormula(combat.object, COMBAT_FORMULA_LEVELMAGIC, 0, -750, 0, -850)

    if combat.cond then
        local condition = createConditionObject(combat.cond)
        setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
        addDamageCondition(condition, config.condition_rounds, config.condition_time, config.condition_value)
        setCombatCondition(combat.object, condition)
    end
end

local function find_combat(id)
    return combat_types[id] or false
end

function onUseWeapon(cid, var)
    local combat = find_combat(getCreatureStorage(cid, config.storage))

    if not combat then
        if getDistanceBetween(getThingPosition(cid), getThingPosition(var.number)) > 1 then
            return false
        end

        combat = combat_types.default
    end

    return doCombat(cid, combat.object, var)
end

 

items.xml

    <item id="12661" article="a" name="donate mage staff">
        <attribute key="weight" value="2300" />
        <attribute key="description" value="Use o comando !wand help para mais informacoes." />
        <attribute key="weaponType" value="wand"/>
        <attribute key="range" value="8" />
    </item>

 

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Postado

@Phineasz Aqui o Daniel tem uma explicação muito boa para essa questão de formula com base no ML e que pode te auxiliar: 

Mas, eu particularmente, gostaria de deixar uma sugestão para você que é de usar em wand o hit minimo e maximo, principalmente na donate. Colocar algo com base no ml pode causar "mal-estar" entre os compradores pelo fato de eles terem pago o mesmo valor no item e obter a desvantagem de baterem menos por conta de ml/lvl, sem contar que facilita sua vida também em alguma ocasião em que você queira alterar.

 

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

Postado
  • Autor
6 horas atrás, victor4312 disse:

em player vai sempre hitar menos

 

sim, eu sei, mais praticamente todas elas estão batendo o mesmo nos jogadores, agora nos bichos elas batem normalmente, seguindo as configurações.

@DdJs Obrigado pelo tópico, vou dar uma olhadinha pra ver se eu consigo arrumar.

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.8k

Informação Importante

Confirmação de Termo