Postado Junho 29, 2014 10 anos Galerinha bom Dia! seguinte vi em um servidor mt maneiro.. um comando pra players !status onde o player diz !status e aparece pra ele um Quadro com os status dele que pega todos os items attributes e soma-os e aparece +- assim: Player Health Max = (life total do player) Player Mana Max = (mana total do player) Player cap = (capacidade total do player) Protection Player = checa todos os protect "all" do player soma e retorna o valor por exemplo shield protect 7% armor protect 20 amulet protect 20% e retorna só a soma "47% Protection All" Magic Player = checa todos os "increase magic" do player.. e retorna apenas a soma : armor 30% inc magic, hat 25% amulet = 20% e retorna só a soma: "75% Increase Magic" Dodge = checa as % de dodge de cada item que o player ta usando e retorna a soma Magic Level = checa o ML do player skill fist = checa skill Fist do Player skill club = checa skill club do Player skill axe = checa skill axe do Player skill sword = checa skill sword do Player skill distance = checa skill distance do Player skill shield = checa skill shield do Player
Postado Junho 30, 2014 10 anos <talkaction log="yes" words="!status" event="script" value="status.lua"/> function onSay(cid, words, param) local level = getPlayerLevel(cid) local vocation = getPlayerVocationName(cid) local health, maxhealth = getCreatureHealth(cid), getCreatureMaxHealth(cid) local mana, maxmana = getCreatureMana(cid), getCreatureMaxMana(cid) local fist, club, sword, axe = getPlayerSkillLevel(cid, 0), getPlayerSkillLevel(cid, 1), getPlayerSkillLevel(cid, 2), getPlayerSkillLevel(cid, 3) local distance, shield, fishing, magic = getPlayerSkillLevel(cid, 4), getPlayerSkillLevel(cid, 5), getPlayerSkillLevel(cid, 6), getPlayerMagLevel(cid) function getCritical(cid) crit = getPlayerStorageValue(cid, 48913) if crit < 0 then crit = 0 end return crit * 0.3 end function getResets(cid) resets = getPlayerStorageValue(cid, 378378) if resets < 0 then resets = 0 end return resets end function getItemAbsorve(itemuid) return getItemAttribute(itemuid, "absorbPercentAll") end function getItemMagicIncrease(itemuid) return getItemAttribute(itemuid, "increaseMagic") end local max = 50 local dodgePercent = math.floor(0) local all, increasemagic = 0, 0 for i = 1, 9 do if getPlayerSlotItem(cid, i).uid > 1 then if getItemDodgePercent(getPlayerSlotItem(cid, i).uid) then dodgePercent = dodgePercent + getItemDodgePercent(getPlayerSlotItem(cid, i).uid) end if getItemAbsorve(getPlayerSlotItem(cid, i).uid) then all = all + getItemAbsorve(getPlayerSlotItem(cid, i).uid) end if getItemMagicIncrease(getPlayerSlotItem(cid, i).uid) then increasemagic = increasemagic + getItemMagicIncrease(getPlayerSlotItem(cid, i).uid) end end end if dodgePercent >= max then dodgePercent = max end dodgeTotal = math.floor(dodgePercent*10)/10 local cap = getPlayerFreeCap(cid) local text = "Vocation: "..vocation.."\nLevel: ".. level .."\nHP: ".. health .."/".. maxhealth .."\nMP: ".. mana .."/".. maxmana .."\nReset(s): "..getResets(cid).."\nCapacity: ".. cap .."\n\nDodge Percent: ".. (dodgeTotal) .."%\nCritical: ".. getCritical(cid) .."%\nProtection: ".. all .."%\nMagic Increase: ".. increasemagic .."%\nMagic Level: ".. magic .."\n\nFist: ".. fist .."\nClub: ".. club .."\nSword: ".. sword .."\nAxe: ".. axe .."\nDistance: ".. distance .."\nShield: ".. shield .."\nFishing: ".. fishing .."" doShowTextDialog(cid, 5808, text) return true end não ficou tão bom quanto eu queria (tentei adicionar algumas outras informações mas sem sucesso.. a absorvall e increaseMagic não pegam no meu servidor.. vc tem que pegar o nome delas certinho e adicionar aqui: function getItemAbsorve(itemuid) return getItemAttribute(itemuid, "absorbPercentAll") <<<< end function getItemMagicIncrease(itemuid) return getItemAttribute(itemuid, "increaseMagic") <<<<<< end Entretanto eu adicionei a opção de mostrar a porcentagem de critical (do meu sistema de critical), espero que vc goste e qualquer coisa é só remover essa parte aqui: \nCritical: ".. getCritical(cid) .."% lembrando que \n significa pular uma linha. print de como fica no server: Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Julho 2, 2014 10 anos Autor cara Muito bom o comando e talz só to com um probleminha : nao mostra protection, nem increase, nem critical nem dodge.. e faltou o "Regen" que é a quantidade de regem que o player tem dado de itens.. por exemplo : 20:14 You see a elven helmet (Arm:12). It can only be wielded properly by wyzards, clerics, rangers and slayers. It weighs 60.00 oz. An excelent job of Ialamar. [RegenLife 200/1] ai no status aparecer Regen Life = 200/1 e tbm regen Mana http://vvcap.net/db/QYZxk3ye59Ka5-YKze2U.htp <-- foto no caso meu player ta com 20% de Protection e 70 de inc magic e nao esta aparecendo, mas coloquei como vc disse o attributo igual uso no items.xml Editado Julho 2, 2014 10 anos por azzouks (veja o histórico de edições)
Postado Julho 3, 2014 10 anos o de critical e o de doge tem que pegar porque funcionou no meu.. as outras eu não sei oque é e não vou conseguir resolver pra ti Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Julho 3, 2014 10 anos Autor mais seu sistema de critical e diferente do meu mano, o meu é feito 1 script pra cada arma atk 45+, nao é 1 sistema pra tudo nao, ai varia de 5 a 35% de chance de dar um ataque critico, e de 2 a 5 um ataque critico "mais critico ainda" e o dodge, eu coloquei por quest pra fazer o teste, e deu.. agora nao sei como vou fazer com o critico, ja que e 1 script em weapon que eu faço Editado Julho 3, 2014 10 anos por azzouks (veja o histórico de edições)
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.