Ir para conteúdo
  • Cadastre-se

[Pedido] comando !status


Posts Recomendados

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

 

 

 

post-105454-0-32183500-1404051507_thumb.

post-105454-0-31490100-1404051508_thumb.

post-105454-0-08318900-1404051509_thumb.

Link para o post
Compartilhar em outros sites
<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:


10454205_1452096598375153_47386617425230

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

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

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
 
 
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 por azzouks (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

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 por azzouks (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Se você que tem o sistema não sabe imagina eu haha, tenta me explicar melhor como funciona esse sistema ou posta o script dele aqui que eu tento dar uma olhada e ver se acho alguma forma de te ajudar

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

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*3)+level)
max = -((skill*5)+level)
return min, max
end

setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*12)+level)
max = -((skill*15)+level)
return min, max
end

setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
skill = getPlayerSkill(cid,3)
min = -((skill*15)+level)
max = -((skill*18)+level)
return min, max
end

setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onUseWeapon(cid, var)
Critical = math.random(1,100)
if Critical > 80 then
local regenhp = (getPlayerMaxHealth(cid) / 100) * 10
doCreatureAddHealth(cid, regenhp)
doSendAnimatedText(getPlayerPosition(cid), "Critical!", TEXTCOLOR_LIGHTGREY)
doCombat(cid, combat2, var)
end

Critical = math.random(1,100)
if Critical < 2 then
local regenhp = (getPlayerMaxHealth(cid) / 100) * 10
doCreatureAddHealth(cid, regenhp)
doSendAnimatedText(getPlayerPosition(cid), "Critical!", TEXTCOLOR_LIGHTGREY)
doCombat(cid, combat3, var)
else
doCombat(cid, combat1, var)
end
end

Código do Script de Critical do Stonecutter AXE!

 

ve pra mim a questao do "regen mana" e "regen life" 

Link para o post
Compartilhar em outros sites

com esse sistema de critical não dá pra fazer... a do regen mana e regen life é o mesmo problema da getItemAttribute... a função não tá retornando oque deveria.. Vai no items.xml e procura seus items que dão mana regen e life regen e posta oque tá escrito aqui.

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

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

<attribute key="healthGain" value="1500"/>

<attribute key="healthTicks" value="1000"/>

 

<attribute key="manaGain" value="1500"/>

<attribute key="manaTicks" value="1000"/>

 

tentei fazer o de Regen, consegui mas faz igual o protect e o increase, e nao mostra..

 

ta ai o comando de pegar as attributes nas minhas sources:

 

	//getItemAttribute(uid, key)
	lua_register(m_luaState, "getItemAttribute", LuaScriptInterface::luaGetItemAttribute);

	//doItemSetAttribute(uid, key, value)
	lua_register(m_luaState, "doItemSetAttribute", LuaScriptInterface::luaDoItemSetAttribute);

	//doItemEraseAttribute(uid, key)
	lua_register(m_luaState, "doItemEraseAttribute", LuaScriptInterface::luaDoItemEraseAttribute);
Link para o post
Compartilhar em outros sites

entao, eu fiz isso de tentar pegar o attributo de managain e healthgain mas não mostra :[]

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

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

tfs 0.3.4/8.54 < pode ocorrer algum bug?

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

uai cara, só nao esta funcionando o retorno do ABS.all, do inc. magic e dos regen, mais o  resto ta funcionando beleza :)

estou aguardando alguem me ajudar com isso :/

Link para o post
Compartilhar em outros sites
  • 1 year later...

teria como alguém modificar so pra mostrar so ...

 


HP: 185/185
MP: 35/35

Capacity: 10000

 

Dodge Percent: 0%

 

Magic Level: 0

Fist: 10
Club: 10
Sword: 10
Axe: 10
Distance: 10
Shield: 10
Fishing: 10

Editado por mkmmkm (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo