Ir para conteúdo

Hazardx

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Hazardx deu reputação a Bodak Reborn em Desabilitar PVP   
    !pvp nome do player
     
    talkactions/scripts
    nome_arquivo.lua
    function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local pid = getPlayerByNameWildcard(param) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " not found.") return true end if getPlayerStorageValue(pid, 46549875) >= 1 then setPlayerStorageValue(pid, 46549875, -1) doPlayerSendTextMessage(cid, 27, 'Você habilitou o PVP para o player '..param..'.') else setPlayerStorageValue(pid, 46549875, 1) doPlayerSendTextMessage(cid, 27, 'Você desabilitou o PVP para o player '..param..'.') end function onCombat (cid, target) if getPlayerStoragevalue(pid, 46549875) == 1 then if isPlayer(target) then doPlayerSendCancel(cid, "Não permitido atacar outros players.") return false end else doPlayerSendCancel(cid, "Permitido atacar outros players.") end return true end return true end talkactions.xml
    <talkaction log="yes" words="!pvp" access="4" event="script" value="nome_arquivo.lua"/>  
  2. Gostei
    Hazardx deu reputação a Bodak Reborn em Desabilitar PVP   
    Np. =)
     
    function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if param == "on" then setPlayerStorageValue(cid, 46549875, -1) doPlayerSendTextMessage(cid, 27, 'Você habilitou seu PVP.') end if param == "off" then setPlayerStorageValue(cid, 46549875, 1) doPlayerSendTextMessage(cid, 27, 'Você desabilitou seu PVP.') end function onCombat (cid, target) if getPlayerStoragevalue(cid, 46549875) == 1 then if isPlayer(target) then doPlayerSendCancel(cid, "Não é permitido atacar outros jogadores.") return false end else doPlayerSendCancel(cid, "Permitido atacar outros jogadores.") end return true end return true end  
  3. Gostei
    Hazardx deu reputação a xWhiteWolf em (Resolvido)[Spell] Exori Element   
    <instant name="testeTK" words="exevoelemental" lvl="16" mana="500" soul="50" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/exevoelemental.lua"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local deathpowder = createConditionObject(CONDITION_CURSED) setConditionParam(deathpowder, CONDITION_PARAM_DELAYED, 1) addDamageCondition(deathpowder, 10, 1000, -200) setCombatCondition(combat3, deathpowder) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end function onCastSpell(cid, var) local parameters = {cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3} addEvent(onCastSpell1, 1000, parameters) addEvent(onCastSpell2, 1500, parameters) addEvent(onCastSpell3, 2000, parameters) return true end
  4. Gostei
    Hazardx deu reputação a xWhiteWolf em Taunt + Channelling   
    Fala galera, vou mostrar agora como usar o novo sistema de cast imbutido na New Lib, é bem simples:

    Pegarei como exemplo a spell Taunt, aqui está o código dela:




    1- Pra adicionar o sistema de channelling nessa spell eu preciso inicialmente passar todas as funções dela pra um addEvent, ficando assim:




    2- Agora pro segundo evento acontecer eu preciso de um time, que se encontra ali antes do return true e que em nenhum momento eu disse oque era. Agora que entra a função onCastChannel(uid, target, delay, effect, key) mas note que essa função requer um delay próprio, um efeito e uma id de storage então vou precisar alterar o config, ficando + ou - assim:



    3- Agora note que temos uma key onde ficará salvo se o channelling foi realizado com sucesso, mas como saber? Simples, o valor dessa storage ficará 11 caso ele tenha sido realizado completamente com sucesso, então o passo final é colocar um checador no addEvent para o valor do Storage antes de soltar a spell, afinal, a spell só deverá sair se o channelling foi feito com sucesso.




    4- A spell está perfeita e funcional agora, só q se vc for soltar vc vai perceber que o exhaust dela é bem menor que o tempo de channelling então o cara pode soltar ela diversas vezes só carregando e soltando. Pra controlar melhor isso já que se trata de uma spell praticamente mortal num x1 contra um knight nós usaremos um sistema de cooldown por storage, ficando assim:



    Espero que vocês tenham aprendido como usar o cast System, agora um pequeno gif do funcionamento dele:



  5. Gostei
    Hazardx deu reputação a xWhiteWolf em Voodoo   
    @leozincorsair vc só bota o mod, não mexe em mais nada. Ali que eu tava explicando como q muda a tag pra vc editar, não precisava recriar ela no spells.xml
    @Hazardx editei do jeito q vc pediu, qlqer erro me fala q tento arrumar:
     
     

Informação Importante

Confirmação de Termo