
Hazardx
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
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"/>
-
Hazardx deu reputação a Bodak Reborn em Desabilitar PVPNp. =)
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
-
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
-
Hazardx deu reputação a xWhiteWolf em Taunt + ChannellingFala 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:
-
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: