Ele esta buscando o Campo " hasVip " na sua database porem não é encontrado, basta adicionar a coluna hasVip
![]()
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

Ele esta buscando o Campo " hasVip " na sua database porem não é encontrado, basta adicionar a coluna hasVip
![]()
info
Grupo: Artesão
Registrado: 06/01/08
Posts: 137
Reputação: +10
Char no Tibia: 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
Grupo: Artesão
Registrado: 06/01/08
Posts: 137
Reputação: +10
Char no Tibia: LarissaxD

Sim, adicionei
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

Perdão, estava pelo celular nao consegui ver o código direito. foi erro meu.
info
Grupo: Artesão
Registrado: 06/01/08
Posts: 137
Reputação: +10
Char no Tibia: LarissaxD

alguém sabe ? por favor.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: 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
Grupo: Artesão
Registrado: 06/01/08
Posts: 137
Reputação: +10
Char no Tibia: 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
Grupo: Artesão
Registrado: 06/01/08
Posts: 137
Reputação: +10
Char no Tibia: LarissaxD

Obrigado @Crypter, funcionou
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

info
Grupo: Artesão
Registrado: 06/01/08
Posts: 137
Reputação: +10
Char no Tibia: 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.