
Wizav w0w
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
Wizav w0w deu reputação a LeoTK em [Spell] Dano Por SkillTestado : ✔️
OTX - 0.3.6 / 8.54
Salve galera, bom depois de algum tempo e com ajuda de alguns amigos, consegui trazer para vocês essa função, eu sei que já tem alguns tópicos referente ao assunto, porém sempre com problemas ou nunca explicado de uma forma simples e objetiva.
Para começar vamos ao código
Função
function onGetFormulaValues(cid, level, skill, attack, factor) local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB) local lvl_skill2 = getPlayerSkillLevel(cid, SKILL_FIST) local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 return -min, -max end setCombatCallback(combat1, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") Bom essa função vai calcular o level, skill para dar o dano da spell.
Mas vamos a algumas observações e informações sobre ela.
Primeiramente você pode configurar ela para calcular mais de uma skill no caso da função acima esta calculando a club e fist
Para adicionar ou remover skills a ser calculada você vai remover ou adicionar essa linha
local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB) Depois de adicionar ou remover você vai editar essa linha
local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 Então esta calculando o level a skill club e a skill fist mas tanto pode remover a skill fist ou adicionar outra skill ficando assim
Removido
local min = (level * 3 + lvl_skill * 5) * 3 local max = (level * 3 + lvl_skill * 5) * 3 Adicionado para calcular e somar mais de uma skill para dar o dano ou seja
local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3 local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3 Assim vai calcular e somar as skills então se tiver 50 de club vai dar um dano se tiver 50 de fist vai somar com a club e o dano vai ser maior e por ai vai com isso da para criar diversos quesitos de rpg por exemplo mestre das armas o jogador treina todas as skills de tipos de armas e a spell vai dar mais dano por conta disso
!! ATENÇÃO !!
Para o script poder fazer todo esse calculo o jogador precisa estar usando uma arma que upe skill ou seja se ele estiver usando club ele vai calcular a skill do jogador se ele não estiver usando nada nas mãos vai calcular o fist dependendo disso vai afetar no dano que a skill pode dar
Bom é isso espero que vocês gostem, Não esqueça de deixar o feedback se gostou, se foi útil etc...
Créditos:
@Dwarfer
@lordzetros
-
Wizav w0w deu reputação a LeoTK em (Resolvido)Spell vocação ! REP+@Wizav w0w coloca em creaturescript ai usa o onlogin para setar a storage assim vai funcionar como passiva
-
Wizav w0w deu reputação a trancx123 em Itens de Mage Como Knight e etc, ajuda!@massinha então amigo, essa restrição se encontra em seu movements.xml vou postar um exemplo aqui para vc ver
<movevent type="DeEquip" itemid="12645" slot="head" event="function" value="onDeEquipItem"/> <movevent type="Equip" itemid="12645" slot="head" event="function" value="onEquipItem"> <vocation id="3"/> <vocation id="7" showInDescription="0"/> <vocation id="11" showInDescription="0"/> </movevent> olhe bem, a vocation id é relativa a vocação, q no meu caso é paladino, royal paladino e paladino vip (3,7,11), se quiser mudar a voc do item só botar a vocação do seu item ai, lembrando que no movements o item é por id, vale a pena vc trocar item por item no seu servidor se n forem mts os items errados, mas se forem muitos sugiro q troque seu movements por um compativel
-
Wizav w0w deu reputação a D i M i T r E s C u em Tp Ao Clicar em tal lugarCrie um arquivo em actions/script com o nome desejado:
function onUse(cid, item, fromPosition, item2, toPosition) local teleport = {x=986, y=926, z=7} -- Coordenadas para onde o player irá ser teleportado. local item_id = 1953 -- ID do item que o player precisa para ser teleportado. local efeito = 10 if getPlayerItemCount(cid, item_id) then doTeleportThing(cid, teleport) doSendMagicEffect(getPlayerPosition(cid), efeito) doPlayerSendTextMessage(cid, 22, "Você foi teleportado ao clicar no(a), "..getItemNameById(item_id).." para fazer esta quest!") else doPlayerSendTextMessage(cid, 23, "Desculpe, você precisa de um"..getItemNameById(item_id).." Para entrar.") end return true end <action itemid="id no item" event="script" value="nome do arquivo.lua"/>
-
Wizav w0w deu reputação a KotZletY em Tp Ao Clicar em tal lugarEle quer um action, ele quer que quando um player click no chão, na parede, ou em algum lugar que ele quer, o player seja teleportado!
data/actions/scripts e crie um arquivo com a extensão Lua. Exemplo: teleporte.lua dentro desse arquivo adicione a Script:
data/actions e abra o actions.xml e adicione essa tag:
<action actionid="50000" event="script" value="nome do arquivo.lua"/> Abra o RME e abra seu mapa, vai no lugar que que você deseja, e click no item que você quer que o player Click para ser teleportado, e adicione esse action id nesse lugar.
Lembrando o action ID não pode existir no Servidor, se já existe um action com o ID 50000 então nesse Script use outro, tal como 50001
Bom uso e boa sorte! xD