Ele esta buscando o Campo " hasVip " na sua database porem não é encontrado, basta adicionar a coluna hasVip
![]()
info
Group: Marquês
Joined: 24/12/09
Posts: 1k
Reputation: +326
Gender: Masculino
Tibia Character: Necromanser

Ele esta buscando o Campo " hasVip " na sua database porem não é encontrado, basta adicionar a coluna hasVip
![]()
info
Group: Artesão
Joined: 06/01/08
Posts: 137
Reputation: +10
Tibia Character: LarissaxD

como eu posso adicionar essa coluna hasvip ?
Não é coluna. Você adicionou a lib do sistema?
function vip.hasVip(cid)assert(tonumber(cid),'Parameter must be a number')if isPlayer(cid) == FALSE then return end;local t = vip.getVip(cid) or 0if os.time(day) < t thenreturn TRUEelsereturn FALSEendend
info
Group: Artesão
Joined: 06/01/08
Posts: 137
Reputation: +10
Tibia Character: LarissaxD

Sim, adicionei
info
Group: Marquês
Joined: 24/12/09
Posts: 1k
Reputation: +326
Gender: Masculino
Tibia Character: Necromanser

Perdão, estava pelo celular nao consegui ver o código direito. foi erro meu.
info
Group: Artesão
Joined: 06/01/08
Posts: 137
Reputation: +10
Tibia Character: LarissaxD

alguém sabe ? por favor.
info
Group: Herói
Joined: 07/03/16
Posts: 1.4k
Reputation: +385
Gender: Masculino

21 horas atrás, Gabrielkss disse:vip = vip.hasVip(thing.uid) == TRUE and "VIP" or "Free"
Eu não abri o link que tu postou e nem me dei ao trabalho de pesquisar, mas eu sei que isso aqui possa ser o causador do problema.
A tabela vip esta sendo substituída pelo texto "vip" ou "free".
Como resolver isso?
Mudando os termos de vip para qualquer outra coisa (tem que mudar em todas as declarações no script).
info
Group: Artesão
Joined: 06/01/08
Posts: 137
Reputation: +10
Tibia Character: LarissaxD

@Poccnn Eu não sei como fazer isso. poderia me ajudar? por favor
9 horas atrás, Gabrielkss disse:@Poccnn Eu não sei como fazer isso. poderia me ajudar? por favor
Tenta assim:
function getPlayerFrags(cid)
local time = os.time()
local times = {today = (time - 86400), week = (time - (7 * 86400))}
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` = " .. getPlayerGUID(cid) .. " 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
until not result:next()
result:free()
end
local size = {
day = table.maxn(contents.day),
week = table.maxn(contents.week),
month = table.maxn(contents.month)
}
return size.day + size.week + size.month
end
function onLogin(cid)
registerCreatureEvent(cid, "fraglook")
return true
end
function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) and thing.uid ~= cid then
local info1 = vip.hasVip(thing.uid) == TRUE and "VIP" or "Free"
doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..']['..info1..']')
return true
elseif thing.uid == cid then
local info2 = vip.hasVip(cid) == TRUE and "VIP" or "Free"
doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..']['..info2..']')
local string = 'You see yourself.'
if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
string = string..' You are '.. getPlayerGroupName(cid) ..'.'
elseif getPlayerVocation(cid) ~= 0 then
string = string..' You are '.. getPlayerVocationName(cid) ..'.'
else
string = string..' You have no vocation.'
end
string = string..getPlayerSpecialDescription(cid)..''
if getPlayerGuildId(cid) > 0 then
string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)
return false
end
return true
end
info
Group: Artesão
Joined: 06/01/08
Posts: 137
Reputation: +10
Tibia Character: LarissaxD

Obrigado @Crypter, funcionou
info
Group: Herói
Joined: 07/03/16
Posts: 1.4k
Reputation: +385
Gender: Masculino

info
Group: Artesão
Joined: 06/01/08
Posts: 137
Reputation: +10
Tibia Character: LarissaxD
Olá pessoal, eu estou usando um script de frag look que tem tbm um sistema de Free ou Vip. mais tá dando um erro. alguém poderia me ajudar ?
[Error - CreatureScript Interface]
data/creaturescripts/scripts/fraglook.lua:onLook
Description:
data/creaturescripts/scripts/fraglook.lua:39: attempt to call field 'hasVip' (a nil value)
stack traceback:
data/creaturescripts/scripts/fraglook.lua:39: in function <data/creaturescripts/scripts/fraglook.lua:33>
[Error - CreatureScript Interface]
data/creaturescripts/scripts/fimvip.lua:onLogin
Description:
data/creaturescripts/scripts/fimvip.lua:3: attempt to call field 'hasVip' (a nil value)
stack traceback:
data/creaturescripts/scripts/fimvip.lua:3: in function <data/creaturescripts/scripts/fimvip.lua:1>
Esse é o sistema
function getPlayerFrags(cid)
local time = os.time()
local times = {today = (time - 86400), week = (time - (7 * 86400))}
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` = " .. getPlayerGUID(cid) .. " 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
until not result:next()
result:free()
end
local size = {
day = table.maxn(contents.day),
week = table.maxn(contents.week),
month = table.maxn(contents.month)
}
return size.day + size.week + size.month
end
function onLogin(cid)
registerCreatureEvent(cid, "fraglook")
return true
end
function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) and thing.uid ~= cid then
vip = vip.hasVip(thing.uid) == TRUE and "VIP" or "Free"
doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..']['..vip..']')
return true
elseif thing.uid == cid then
vips = vip.hasVip(cid) == TRUE and "VIP" or "Free"
doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..']['..vips..']')
local string = 'You see yourself.'
if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
string = string..' You are '.. getPlayerGroupName(cid) ..'.'
elseif getPlayerVocation(cid) ~= 0 then
string = string..' You are '.. getPlayerVocationName(cid) ..'.'
else
string = string..' You have no vocation.'
end
string = string..getPlayerSpecialDescription(cid)..''
if getPlayerGuildId(cid) > 0 then
string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
string = string..'nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
string = string..'nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
end
if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
string = string..'nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)
return false
end
return true
end
Uso o sistema by mock :
Agradeço desde ja.