Ir para conteúdo
  • 0

!rank Reset E !vida


Faaelzim

Pergunta

BOM , NO MEU OT AQUI 8.6 O RANK RESET TA COM O SEGUINTE PROBLEMA EU ESCREVO !RANK RESET O RANK APARECE POREM APARECE SO EU NO RANK DECE JEITO 1.1- ADM FERREIRA E N APARECE MAIS NGM SENDO QUE MEU CHAR O GOD TEM 1 RESET E NO OT TEM MLK COM 20 RESET E MSM ASSIM SO APARECE EU.

O OUTRO PROBLEMA É O COMANDO !VIDA EU PUS O DE MANA TUDO CERTIM E FUNCIONO MAIS O DE VIDA N QUER FUNCIONAR

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Tente substituir o seu por este aqui:

function onSay(cid, words, param, channel)

if(param == '') then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nVida atual: " .. getCreatureHealth(cid) .. "\nVida máxima: " .. getCreatureMaxHealth(cid) .. "")

return true

end

 

if isPremium(cid) == TRUE then

local pid = getPlayerByNameWildcard(param)

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O jogador com o nome " .. param .. " não esta online ou não existe.")

return true

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nVida de [ " .. getCreatureName(pid) .. " ] atual: " .. getCreatureHealth(pid) .. "\nVida de [ " .. getCreatureName(pid) .. " ] máxima: " .. getCreatureMaxHealth(pid) .. "")

return true

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Apenas jogadores VIP podem utilizar este comando para visualizar informações de outros jogadores.")

return true

end

end

 

Se tiver ajudado não custa nada dar Rep++ :D

Editado por KUNGLOW
Link para o comentário
Compartilhar em outros sites

  • 0

infelismente não funciono por exemplo o comando !vida nao funcinou e o comando ex: !vida rafael se o player tive os fala que ta of se tiver on n aparece nada

Link para o comentário
Compartilhar em outros sites

  • 0

Comando !vida:

function onSay(cid, words, param)
if not param then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have ".. getCreatureHealth(cid) .."/".. getCreatureMaxHealth(cid) .." health points. (".. (getCreatureHealth(cid) / getCreatureMaxHealth(cid)) * 100 .."%).")
else
local pid = getPlayerByName(param)
if isPlayer(pid) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, param .." have ".. getCreatureHealth(pid) .."/".. getCreatureMaxHealth(pid) .." health points. (".. (getCreatureHealth(pid) / getCreatureMaxHealth(pid)) * 100 .."%).")
else
doPlayerSendCancel(cid, "Player with name ".. param .." not found.")
end
return true 
end

Editado por Byerne
Link para o comentário
Compartilhar em outros sites

  • 0

não ta dano se puder poe ai tambem oque eu tenho que por no xml talvez seja eu que esteja pono errado olha ai como eu to pono

 

<talkaction words="!vida" script="vida.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0

EU PRESISO DE UM SISTEMA DE RESETA A VIDA DO PERSONAGEM TIPO ASSIM

EU RESETEI PRA CARAMBA AI TEM UMA VIDA MAXIMA QUANDO PASSA DESTA VIDA MAXIMA A VIDA VOLTA A SER 1 MUITO PAIA ISTO AI EU QERIA UM COMMAND QUE RESETASSE A VIDA QUANDO O PLAYER DIZ

!RESETVIDA

E TAMBEM DO MESMO GEITO COM A MANA

!RESETMANA

TENDERAO

KKKK

 

BOM SE ALGUEM PODER ME AJUDAR DO REP SE PREFERIR MANDA UMA MSG LA PRA MIN

 

OBS> TEM QUE FUNCIONAR

MEU SISTEMA DE RESET E DO SUBWAT ABSOLUTE!

Link para o comentário
Compartilhar em outros sites

  • 0

O comando !vida já foi feito em outro tópico. Segue o link: http://www.xtibia.co...8-scripit-vida/

No server dele não tinha nem a função getCreatureHealth(cid) nem a getPlayerHealth(cid). Faelzim, evite fazer tópicos com a mesma dúvida para que isso que aconteceu não ocorra mais. =D Fica a dica! =P Vlw, abraço!

Editado por Leoxtibia
Link para o comentário
Compartilhar em outros sites

  • 0

Como Tira esse Erro [17/08/2013 18:49:30] mysql_real_query(): SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 2310 ORDER BY cast(value as INTEGER) DESC; - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTEGER) DESC' at line 1 (1064)

Link para o comentário
Compartilhar em outros sites

  • 0

Como Tira esse Erro [17/08/2013 18:49:30] mysql_real_query(): SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 2310 ORDER BY cast(value as INTEGER) DESC; - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTEGER) DESC' at line 1 (1064)

 

posta a talk q eu arrumo pra vc

Link para o comentário
Compartilhar em outros sites

  • 0

A Storage que eu uso do reset é 1020

 

local config = {

MaxPlayer = 20,
fight_skills = {
['fist'] = 0,
['club'] = 1,
['sword'] = 2,
['axe'] = 3,
['distance'] = 4,
['shielding'] = 5,
['fishing'] = 6,
['dist'] = 4,
['shield'] = 5,
['fish'] = 6,
},
other_skills = {
[''] = "level",
['level'] = "level",
['magic'] = "maglevel",
['health'] = "healthmax",
['mana'] = "manamax",
['reset'] = "reset"
},
vocations = {
['sorcerer'] = {1,5,9,13},
['druid'] = {2,6,10,14},
['paladin'] = {3,7,11,15},
['knight'] = {4,8,12,15}
}
}
function onSay(cid, words, param)
local param,str = string.lower(param),""
if param ~= "frags" and not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este rank não existe.") return true
end
str,k = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n",1
if param == "frags" then
local time,T = os.time(),{}
local times = {today = (time - 86400), week = (time - (7 * 86400))}
local getPlayer = db.getResult("SELECT `id` FROM `players`;")
repeat
if (getPlayer:getID() ~= -1) then
local getGuid = getPlayer:getDataInt("id")
local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = "..tonumber(getGuid).." AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
if (result:getID() ~= -1) then
repeat
local content = {date = result:getDataInt("date")}
if(content.date > times.today) then
table.insert(contents.day, content)
elseif(content.date > times.week) then
table.insert(contents.week, content)
else
table.insert(contents.month, content)
end
size = {day = table.maxn(contents.day),week = table.maxn(contents.week),month = table.maxn(contents.month)}
until not result:next()
table.insert(T,{getGuid,size.day+size.week+size.month})
result:free()
end
end
until not getPlayer:next()
table.sort(T, function(x,y) return x[2] > y[2] end)
for _, rank in pairs(T) do
str = str .."\n"..k..". "..getPlayerNameByGUID(rank[1]).." - ["..rank[2].."]"
k = k + 1
if k > config.MaxPlayer then
break
end
end
doShowTextDialog(cid,6500, str)
return true
end
query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;")
if (query:getID() ~= -1) then
while true do
str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt(config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param]) .. "]"
k = k + 1
if not(query:next()) or k > config.MaxPlayer then
break
end
end
query:free()
end
doShowTextDialog(cid,6500, str)
return true
end
Editado por jonathasbizerril
Link para o comentário
Compartilhar em outros sites

  • 0

eu atualizei esse script, olha no tópico, http://www.xtibia.com/forum/topic/191311-comando-rank-atualizado/

 

vou postar aqui configurado para vc.

local config = {
MaxPlayer = 20,
fight_skills = {
        ['fist'] = 0,
        ['club'] = 1,
        ['sword'] = 2,
        ['axe'] = 3,
        ['distance'] = 4,
        ['shielding'] = 5,
        ['fishing'] = 6,
        ['dist'] = 4,
        ['shield'] = 5,
        ['fish'] = 6,
},
other_skills = {
[''] = "level",
['level'] = "level",
['magic'] = "maglevel",
['health'] = "healthmax",
['mana'] = "manamax"
},
vocations = {
['sorcerer'] = {1,5},
['druid'] = {2,6},
['paladin'] = {3,7},
['knight'] = {4,8}
},
storages = {
['frags'] = 824544,
['reset'] = 1020
}
}
function onSay(cid, words, param)
local param,str = string.lower(param),""
if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] and  not config.storages[param] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este rank não existe.") return true
end
str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n"
query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or config.storages[param] and db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..config.storages[param].." ORDER BY cast(value as SIGNED) DESC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;") 
if (query:getID() ~= -1) then 
k = 1 
while true do
str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or config.storages[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.storages[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "]"
k = k + 1
if not(query:next()) or k > config.MaxPlayer then
break 
end 
end 
query:free()
end
doShowTextDialog(cid,6500, str)
return true
end
Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • 0

+rep Muito obrigado mais uma vez vodkart ;)

 

Mais deu esse erro quando eu dei !rank frags e !rank reset

 

[21/08/2013 03:24:42] mysql_real_query(): SELECT `name`, `frags` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `frags` DESC, `name` ASC; - MYSQL ERROR: Unknown column 'frags' in 'field list' (1054)
[21/08/2013 03:24:57] mysql_real_query(): SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 2310 ORDER BY cast(value as INTEGER) DESC; - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTEGER) DESC' at line 1 (1064)
Editado por jonathasbizerril
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...