• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Solved Vip Error

GoalTV

NANI?!
Joined
Jul 23, 2011
Messages
588
Reaction score
53
Hello.
Today I Got Problem With My Vip I have this error in console.
Code:
[Error - CreatureScript Interface]data/creaturescripts/scripts/viplogin.lua:onLogin
Description:
data/lib/vipAccount.lua:60: attempt to call field 'executeQuery' (a nil value)
stack traceback:
        data/lib/vipAccount.lua:60: in function <data/lib/vipAccount.lua:59>
        (tail call): ?
        data/creaturescripts/scripts/viplogin.lua:8: in function <data/creaturescripts/scripts/viplogin.lua:1>

and this is my
vipaccount.lua
Code:
--[[
	Name: Vip System by Account
	Version: 1.0
	Author: Kydrai
	Forum: http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/
	
	[Functions]
		-- Install
		installVip()
		
		-- By Account
		doTeleportPlayersByAccount(acc, topos)
		getVipTimeByAccount(acc)
		setVipTimeByAccount(acc, time)
		getVipDaysByAccount(acc)
		isVipAccount(acc)
		addVipDaysByAccount(acc, days)
		doRemoveVipDaysByAccount(acc, days)
		getVipDateByAccount(acc)
		
		-- By Player
		doTeleportPlayers(cid, topos)
		getVipTime(cid)
		setVipTime(cid, time)
		getVipDays(cid)
		isVip(cid)
		addVipDays(cid, days)
		doRemoveVipDays(cid, days)
		getVipDate(cid)
]]--


-- Install
function installVip()
	if db.executeQuery("ALTER TABLE `accounts` ADD viptime INT(15) NOT NULL DEFAULT 0;") then
		print("[Vip System] Vip System instalado com sucesso!")
		return TRUE
	end
	print("[Vip System] Não foi possível instalar o Vip System!")
	return FALSE
end


-- By Account
function doTeleportPlayersByAccount(acc, topos)
	if db.executeQuery("UPDATE `players` SET `posx` = "..topos.x..", `posy` = "..topos.y..", `posz` = "..topos.z.." WHERE `account_id` = "..acc..";") then
		return TRUE
	end
	return FALSE
end


function getVipTimeByAccount(acc)
	local vip = db.getResult("SELECT `viptime` FROM `accounts` WHERE `id` = "..acc..";")
	if vip:getID() == -1 then
		print("[Vip System] Account not found!")
		return FALSE
	end
	return vip:getDataInt("viptime")
end


function setVipTimeByAccount(acc, time)
	if db.executeQuery("UPDATE `accounts` SET `viptime` = "..time.." WHERE `id` = "..acc..";") then
		return TRUE
	end
	return FALSE
end


function getVipDaysByAccount(acc)
	local vipTime = getVipTimeByAccount(acc)
	local timeNow = os.time()
	local days = math.ceil((vipTime - timeNow)/(24 * 60 * 60))
	return days <= 0 and 0 or days
end


function isVipAccount(acc)
	return getVipDaysByAccount(acc) > 0 and TRUE or FALSE
end


function addVipDaysByAccount(acc, days)
	if days > 0 then
		local daysValue = days * 24 * 60 * 60
		local vipTime = getVipTimeByAccount(acc)
		local timeNow = os.time()
		local time = getVipDaysByAccount(acc) == 0 and (timeNow + daysValue) or (vipTime + daysValue)
		setVipTimeByAccount(acc, time)
		return TRUE
	end
	return FALSE
end


function doRemoveVipDaysByAccount(acc, days)
	if days > 0 then
		local daysValue = days * 24 * 60 * 60
		local vipTime = getVipTimeByAccount(acc)
		local time = vipTime - daysValue
		setVipTimeByAccount(acc, (time <= 0 and 1 or time))
		return TRUE
	end
	return FALSE
end


function getVipDateByAccount(acc)
	if isVipAccount(acc) then
		local vipTime = getVipTimeByAccount(acc)
		return os.date("%d/%m/%y %X", vipTime)
	end
	return FALSE
end


-- By Player
function doTeleportPlayers(cid, topos)
	doTeleportPlayersByAccount(getPlayerAccountId(cid), topos)
end


function getVipTime(cid)
	return getVipTimeByAccount(getPlayerAccountId(cid))
end


function setVipTime(cid, time)
	return setVipTimeByAccount(getPlayerAccountId(cid), time)
end


function getVipDays(cid)
	return getVipDaysByAccount(getPlayerAccountId(cid))
end


function isVip(cid)
	return isVipAccount(getPlayerAccountId(cid))
end


function addVipDays(cid, days)
	return addVipDaysByAccount(getPlayerAccountId(cid), days)
end


function doRemoveVipDays(cid, days)
	return doRemoveVipDaysByAccount(getPlayerAccountId(cid), days)
end


function getVipDate(cid)
	return getVipDateByAccount(getPlayerAccountId(cid))
end

and my
viplogin.lua
Code:
function onLogin(cid)
	local vip = isVip(cid)
	if getVipTime(cid) > 0  and vip == FALSE then
		local townid = 1
		doPlayerSetTown(cid, townid)
		local templePos = getTownTemplePosition(getPlayerTown(cid))
		doTeleportThing(cid, templePos, false)
		setVipTime(cid, 0)
		doTeleportPlayers(cid, templePos)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua vip acabou! você foi teleportado para o templo. Para ter as vantagens novamente adquira mais vip time.")
	elseif vip == TRUE then
		local duration = getVipDate(cid)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
	end
	return TRUE
end

Thank you
 
try changed your vipaccount.lua
use this
LUA:
--[[
	Name: Vip System by Account
	Version: 1.0
	Author: Kydrai
	Forum: [url=http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/]Vip System By Account V1.0 - Sistemas e mods - XTibia - A sua comunidade de Tibia e OTserv[/url]
	
	[Functions]
		-- Install
		installVip()
		
		-- By Account
		doTeleportPlayersByAccount(acc, topos)
		getVipTimeByAccount(acc)
		setVipTimeByAccount(acc, time)
		getVipDaysByAccount(acc)
		isVipAccount(acc)
		addVipDaysByAccount(acc, days)
		doRemoveVipDaysByAccount(acc, days)
		getVipDateByAccount(acc)
		
		-- By Player
		doTeleportPlayers(cid, topos)
		getVipTime(cid)
		setVipTime(cid, time)
		getVipDays(cid)
		isVip(cid)
		addVipDays(cid, days)
		doRemoveVipDays(cid, days)
		getVipDate(cid)
]]--


-- Install
function installVip()
	if db.query("ALTER TABLE `accounts` ADD viptime INT(15) NOT NULL DEFAULT 0;") then
		print("[Vip System] Vip System instalado com sucesso!")
		return TRUE
	end
	print("[Vip System] Não foi possível instalar o Vip System!")
	return FALSE
end


-- By Account
function doTeleportPlayersByAccount(acc, topos)
	if db.query("UPDATE `players` SET `posx` = "..topos.x..", `posy` = "..topos.y..", `posz` = "..topos.z.." WHERE `account_id` = "..acc..";") then
		return TRUE
	end
	return FALSE
end


function getVipTimeByAccount(acc)
	local vip = db.getResult("SELECT `viptime` FROM `accounts` WHERE `id` = "..acc..";")
	if vip:getID() == -1 then
		print("[Vip System] Account not found!")
		return FALSE
	end
	return vip:getDataInt("viptime")
end


function setVipTimeByAccount(acc, time)
	if db.query("UPDATE `accounts` SET `viptime` = "..time.." WHERE `id` = "..acc..";") then
		return TRUE
	end
	return FALSE
end


function getVipDaysByAccount(acc)
	local vipTime = getVipTimeByAccount(acc)
	local timeNow = os.time()
	local days = math.ceil((vipTime - timeNow)/(24 * 60 * 60))
	return days <= 0 and 0 or days
end


function isVipAccount(acc)
	return getVipDaysByAccount(acc) > 0 and TRUE or FALSE
end


function addVipDaysByAccount(acc, days)
	if days > 0 then
		local daysValue = days * 24 * 60 * 60
		local vipTime = getVipTimeByAccount(acc)
		local timeNow = os.time()
		local time = getVipDaysByAccount(acc) == 0 and (timeNow + daysValue) or (vipTime + daysValue)
		setVipTimeByAccount(acc, time)
		return TRUE
	end
	return FALSE
end


function doRemoveVipDaysByAccount(acc, days)
	if days > 0 then
		local daysValue = days * 24 * 60 * 60
		local vipTime = getVipTimeByAccount(acc)
		local time = vipTime - daysValue
		setVipTimeByAccount(acc, (time <= 0 and 1 or time))
		return TRUE
	end
	return FALSE
end


function getVipDateByAccount(acc)
	if isVipAccount(acc) then
		local vipTime = getVipTimeByAccount(acc)
		return os.date("%d/%m/%y %X", vipTime)
	end
	return FALSE
end


-- By Player
function doTeleportPlayers(cid, topos)
	doTeleportPlayersByAccount(getPlayerAccountId(cid), topos)
end


function getVipTime(cid)
	return getVipTimeByAccount(getPlayerAccountId(cid))
end


function setVipTime(cid, time)
	return setVipTimeByAccount(getPlayerAccountId(cid), time)
end


function getVipDays(cid)
	return getVipDaysByAccount(getPlayerAccountId(cid))
end


function isVip(cid)
	return isVipAccount(getPlayerAccountId(cid))
end


function addVipDays(cid, days)
	return addVipDaysByAccount(getPlayerAccountId(cid), days)
end


function doRemoveVipDays(cid, days)
	return doRemoveVipDaysByAccount(getPlayerAccountId(cid), days)
end


function getVipDate(cid)
	return getVipDateByAccount(getPlayerAccountId(cid))
end
 
try changed your vipaccount.lua
use this
LUA:
--[[
    Name: Vip System by Account
    Version: 1.0
    Author: Kydrai
    Forum: [URL="http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/"]Vip System By Account V1.0 - Sistemas e mods - XTibia - A sua comunidade de Tibia e OTserv[/URL]
    
    [Functions]
        -- Install
        installVip()
        
        -- By Account
        doTeleportPlayersByAccount(acc, topos)
        getVipTimeByAccount(acc)
        setVipTimeByAccount(acc, time)
        getVipDaysByAccount(acc)
        isVipAccount(acc)
        addVipDaysByAccount(acc, days)
        doRemoveVipDaysByAccount(acc, days)
        getVipDateByAccount(acc)
        
        -- By Player
        doTeleportPlayers(cid, topos)
        getVipTime(cid)
        setVipTime(cid, time)
        getVipDays(cid)
        isVip(cid)
        addVipDays(cid, days)
        doRemoveVipDays(cid, days)
        getVipDate(cid)
]]--


-- Install
function installVip()
    if db.query("ALTER TABLE `accounts` ADD viptime INT(15) NOT NULL DEFAULT 0;") then
        print("[Vip System] Vip System instalado com sucesso!")
        return TRUE
    end
    print("[Vip System] Não foi possível instalar o Vip System!")
    return FALSE
end


-- By Account
function doTeleportPlayersByAccount(acc, topos)
    if db.query("UPDATE `players` SET `posx` = "..topos.x..", `posy` = "..topos.y..", `posz` = "..topos.z.." WHERE `account_id` = "..acc..";") then
        return TRUE
    end
    return FALSE
end


function getVipTimeByAccount(acc)
    local vip = db.getResult("SELECT `viptime` FROM `accounts` WHERE `id` = "..acc..";")
    if vip:getID() == -1 then
        print("[Vip System] Account not found!")
        return FALSE
    end
    return vip:getDataInt("viptime")
end


function setVipTimeByAccount(acc, time)
    if db.query("UPDATE `accounts` SET `viptime` = "..time.." WHERE `id` = "..acc..";") then
        return TRUE
    end
    return FALSE
end


function getVipDaysByAccount(acc)
    local vipTime = getVipTimeByAccount(acc)
    local timeNow = os.time()
    local days = math.ceil((vipTime - timeNow)/(24 * 60 * 60))
    return days <= 0 and 0 or days
end


function isVipAccount(acc)
    return getVipDaysByAccount(acc) > 0 and TRUE or FALSE
end


function addVipDaysByAccount(acc, days)
    if days > 0 then
        local daysValue = days * 24 * 60 * 60
        local vipTime = getVipTimeByAccount(acc)
        local timeNow = os.time()
        local time = getVipDaysByAccount(acc) == 0 and (timeNow + daysValue) or (vipTime + daysValue)
        setVipTimeByAccount(acc, time)
        return TRUE
    end
    return FALSE
end


function doRemoveVipDaysByAccount(acc, days)
    if days > 0 then
        local daysValue = days * 24 * 60 * 60
        local vipTime = getVipTimeByAccount(acc)
        local time = vipTime - daysValue
        setVipTimeByAccount(acc, (time <= 0 and 1 or time))
        return TRUE
    end
    return FALSE
end


function getVipDateByAccount(acc)
    if isVipAccount(acc) then
        local vipTime = getVipTimeByAccount(acc)
        return os.date("%d/%m/%y %X", vipTime)
    end
    return FALSE
end


-- By Player
function doTeleportPlayers(cid, topos)
    doTeleportPlayersByAccount(getPlayerAccountId(cid), topos)
end


function getVipTime(cid)
    return getVipTimeByAccount(getPlayerAccountId(cid))
end


function setVipTime(cid, time)
    return setVipTimeByAccount(getPlayerAccountId(cid), time)
end


function getVipDays(cid)
    return getVipDaysByAccount(getPlayerAccountId(cid))
end


function isVip(cid)
    return isVipAccount(getPlayerAccountId(cid))
end


function addVipDays(cid, days)
    return addVipDaysByAccount(getPlayerAccountId(cid), days)
end


function doRemoveVipDays(cid, days)
    return doRemoveVipDaysByAccount(getPlayerAccountId(cid), days)
end


function getVipDate(cid)
    return getVipDateByAccount(getPlayerAccountId(cid))
end

still not workig

Code:
[Error - CreatureScript Interface]data/creaturescripts/scripts/viplogin.lua:onLogin
Description:
data/lib/vipAccount.lua:60: attempt to call field 'executeQuery' (a nil value)
stack traceback:
        data/lib/vipAccount.lua:60: in function <data/lib/vipAccount.lua:59>
        (tail call): ?
        data/creaturescripts/scripts/viplogin.lua:8: in function <data/creaturescripts/scripts/viplogin.lua:1>
 
050-functions

Code:
InitArenaScript = 0
arena_room_max_time = 240
arenaKickPosition = {x=32222, y=31080, z=6}
arena_monsters = {}
arena_monsters[42300] = 'frostfur' -- first monster from 1 arena
arena_monsters[42301] = 'bloodpaw'
arena_monsters[42302] = 'bovinus'
arena_monsters[42303] = 'achad'
arena_monsters[42304] = 'colerian the barbarian'
arena_monsters[42305] = 'the hairy one'
arena_monsters[42306] = 'axeitus headbanger'
arena_monsters[42307] = 'rocky'
arena_monsters[42308] = 'cursed gladiator'
arena_monsters[42309] = 'orcus the cruel'
arena_monsters[42310] = 'avalanche' -- first monster from 2 arena
arena_monsters[42311] = 'kreebosh the exile'
arena_monsters[42312] = 'the dark dancer'
arena_monsters[42313] = 'the hag'
arena_monsters[42314] = 'slim'
arena_monsters[42315] = 'grimgor guteater'
arena_monsters[42316] = 'drasilla'
arena_monsters[42317] = 'spirit of earth'
arena_monsters[42318] = 'spirit of water'
arena_monsters[42319] = 'spirit of fire'
arena_monsters[42320] = 'webster' -- first monster from 3 arena
arena_monsters[42321] = 'darakan the executioner'
arena_monsters[42322] = 'norgle glacierbeard'
arena_monsters[42323] = 'the pit lord'
arena_monsters[42324] = 'svoren the mad'
arena_monsters[42325] = 'the masked marauder'
arena_monsters[42326] = 'gnorre chyllson'
arena_monsters[42327] = "fallen mooh'tah master ghar"
arena_monsters[42328] = 'deathbringer'
arena_monsters[42329] = 'the obliverator'


function getArenaMonsterIdByName(name)
    name = string.lower(tostring(name))
    for i = 42300, 42329 do
        if tostring(arena_monsters[i]) == name then
            return i
        end
    end
    return 0
end


function doPlayerGiveItem(cid, itemid, amount, subType)
	local item = 0
	if(isItemStackable(itemid)) then
		item = doCreateItemEx(itemid, amount)
		if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then
			return false
		end
	else
		for i = 1, amount do
			item = doCreateItemEx(itemid, subType)
			if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then
				return false
			end
		end
	end


	return true
end


function doPlayerGiveItem(cid, itemid, amount, subType)
	local item = 0
	if(isItemStackable(itemid)) then
		item = doCreateItemEx(itemid, amount)
		if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then
			return false
		end
	else
		for i = 1, amount do
			item = doCreateItemEx(itemid, subType)
			if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then
				return false
			end
		end
	end


	return true
end


function doPlayerGiveItemContainer(cid, containerid, itemid, amount, subType)
	for i = 1, amount do
		local container = doCreateItemEx(containerid, 1)
		for x = 1, getContainerCapById(containerid) do
			doAddContainerItem(container, itemid, subType)
		end


		if(doPlayerAddItemEx(cid, container, true) ~= RETURNVALUE_NOERROR) then
			return false
		end
	end


	return true
end


function doPlayerTakeItem(cid, itemid, amount)
	return getPlayerItemCount(cid, itemid) >= amount and doPlayerRemoveItem(cid, itemid, amount)
end


function doPlayerBuyItem(cid, itemid, count, cost, charges)
	return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItem(cid, itemid, count, charges)
end


function doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges)
	return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItemContainer(cid, containerid, itemid, count, charges)
end


function doPlayerSellItem(cid, itemid, count, cost)
	if(not doPlayerTakeItem(cid, itemid, count)) then
		return false
	end


	if(not doPlayerAddMoney(cid, cost)) then
		error('[doPlayerSellItem] Could not add money to: ' .. getPlayerName(cid) .. ' (' .. cost .. 'gp).')
	end


	return true
end


function doPlayerWithdrawMoney(cid, amount)
	if(not getBooleanFromString(getConfigInfo('bankSystem'))) then
		return false
	end


	local balance = getPlayerBalance(cid)
	if(amount > balance or not doPlayerAddMoney(cid, amount)) then
		return false
	end


	doPlayerSetBalance(cid, balance - amount)
	return true
end


function doPlayerDepositMoney(cid, amount)
	if(not getBooleanFromString(getConfigInfo('bankSystem'))) then
		return false
	end


	if(not doPlayerRemoveMoney(cid, amount)) then
		return false
	end


	doPlayerSetBalance(cid, getPlayerBalance(cid) + amount)
	return true
end


function doPlayerAddStamina(cid, minutes)
	return doPlayerSetStamina(cid, getPlayerStamina(cid) + minutes)
end


function isPremium(cid)
	return (isPlayer(cid) and (getPlayerPremiumDays(cid) > 0 or getBooleanFromString(getConfigValue('freePremium'))))
end


function getMonthDayEnding(day)
	if(day == "01" or day == "21" or day == "31") then
		return "st"
	elseif(day == "02" or day == "22") then
		return "nd"
	elseif(day == "03" or day == "23") then
		return "rd"
	end


	return "th"
end


function getMonthString(m)
	return os.date("%B", os.time{year = 1970, month = m, day = 1})
end


function getArticle(str)
	return str:find("[AaEeIiOoUuYy]") == 1 and "an" or "a"
end


function isNumeric(str)
	return tonumber(str) ~= nil
end


function doNumberFormat(i)
	local str, found = string.gsub(i, "(%d)(%d%d%d)$", "%1,%2", 1), 0
	repeat
		str, found = string.gsub(str, "(%d)(%d%d%d),", "%1,%2,", 1)
	until found == 0
	return str
end


function doPlayerAddAddons(cid, addon)
	for i = 0, table.maxn(maleOutfits) do
		doPlayerAddOutfit(cid, maleOutfits[i], addon)
	end


	for i = 0, table.maxn(femaleOutfits) do
		doPlayerAddOutfit(cid, femaleOutfits[i], addon)
	end
end


function doPlayerWithdrawAllMoney(cid)
	return doPlayerWithdrawMoney(cid, getPlayerBalance(cid))
end


function doPlayerDepositAllMoney(cid)
	return doPlayerDepositMoney(cid, getPlayerMoney(cid))
end


function doPlayerTransferAllMoneyTo(cid, target)
	return doPlayerTransferMoneyTo(cid, target, getPlayerBalance(cid))
end


function playerExists(name)
	return getPlayerGUIDByName(name) ~= nil
end


function getTibiaTime()
	local minutes, hours = getWorldTime(), 0
	while (minutes > 60) do
		hours = hours + 1
		minutes = minutes - 60
	end


	return {hours = hours, minutes = minutes}
end


function doWriteLogFile(file, text)
	local f = io.open(file, "a+")
	if(not f) then
		return false
	end


	f:write("[" .. os.date("%d/%m/%Y %H:%M:%S") .. "] " .. text .. "\n")
	f:close()
	return true
end


function getExperienceForLevel(lv)
	lv = lv - 1
	return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3
end


function doMutePlayer(cid, time)
	local condition = createConditionObject(CONDITION_MUTED)
	setConditionParam(condition, CONDITION_PARAM_TICKS, time == -1 and time or time * 1000)
	return doAddCondition(cid, condition)
end


function getPlayerGroupName(cid)
	return getGroupInfo(getPlayerGroupId(cid)).name
end


function getPlayerVocationName(cid)
	return getVocationInfo(getPlayerVocation(cid)).name
end


function getPromotedVocation(vid)
	return getVocationInfo(vid).promotedVocation
end


function doPlayerRemovePremiumDays(cid, days)
	return doPlayerAddPremiumDays(cid, -days)
end


function getPlayerMasterPos(cid)
	return getTownTemplePosition(getPlayerTown(cid))
end


function getHouseOwner(houseId)
	return getHouseInfo(houseId).owner
end


function getHouseName(houseId)
	return getHouseInfo(houseId).name
end


function getHouseEntry(houseId)
	return getHouseInfo(houseId).entry
end


function getHouseRent(houseId)
	return getHouseInfo(houseId).rent
end


function getHousePrice(houseId)
	return getHouseInfo(houseId).price
end


function getHouseTown(houseId)
	return getHouseInfo(houseId).town
end


function getHouseDoorsCount(houseId)
	return table.maxn(getHouseInfo(houseId).doors)
end


function getHouseBedsCount(houseId)
	return table.maxn(getHouseInfo(houseId).beds)
end


function getHouseTilesCount(houseId)
	return table.maxn(getHouseInfo(houseId).tiles)
end


function getItemNameById(itemid)
	return getItemDescriptionsById(itemid).name
end


function getItemPluralNameById(itemid)
	return getItemDescriptionsById(itemid).plural
end


function getItemArticleById(itemid)
	return getItemDescriptionsById(itemid).article
end


function getItemName(uid)
	return getItemDescriptions(uid).name
end


function getItemPluralName(uid)
	return getItemDescriptions(uid).plural
end


function getItemArticle(uid)
	return getItemDescriptions(uid).article
end


function getItemText(uid)
	return getItemDescriptions(uid).text
end


function getItemSpecialDescription(uid)
	return getItemDescriptions(uid).special
end


function getItemWriter(uid)
	return getItemDescriptions(uid).writer
end


function getItemDate(uid)
	return getItemDescriptions(uid).date
end


function getTilePzInfo(pos)
	return getTileInfo(pos).protection
end


function getTileZoneInfo(pos)
	local tmp = getTileInfo(pos)
	if(tmp.pvp) then
		return 2
	end


	if(tmp.nopvp) then
		return 1
	end


	return 0
end


function doShutdown()
	return doSetGameState(GAMESTATE_SHUTDOWN)
end


function doSummonCreature(name, pos, displayError)
	local displayError, cid = displayError or true, doCreateMonster(name, pos, displayError)
	if(not cid) then
		cid = doCreateNpc(name, pos, displayError)
	end


	return cid
end


function getOnlinePlayers()
	local players = {}
	for i, cid in ipairs(getPlayersOnline()) do
		table.insert(players, getCreatureName(cid))
	end


	return players
end


function getPlayerByName(name)
	local cid = getCreatureByName(name)
	return isPlayer(cid) and cid or nil
end


function isPlayer(cid)
	return isCreature(cid) and cid >= AUTOID_PLAYERS and cid < AUTOID_MONSTERS
end


function isPlayerGhost(cid)
	return isPlayer(cid) and (getCreatureCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) or getPlayerFlagValue(cid, PLAYERFLAG_CANNOTBESEEN))
end


function isMonster(cid)
	return isCreature(cid) and cid >= AUTOID_MONSTERS and cid < AUTOID_NPCS
end


function isNpc(cid)
	return isCreature(cid) and cid >= AUTOID_NPCS
end


function doPlayerSetExperienceRate(cid, value)
	return doPlayerSetRate(cid, SKILL__LEVEL, value)
end


function doPlayerSetMagicRate(cid, value)
	return doPlayerSetRate(cid, SKILL__MAGLEVEL, value)
end


function doPlayerAddLevel(cid, amount, round)
	local experience, level, amount = 0, getPlayerLevel(cid), amount or 1
	if(amount > 0) then
		experience = getExperienceForLevel(level + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(level))
	else
		experience = -((round and getPlayerExperience(cid) or getExperienceForLevel(level)) - getExperienceForLevel(level + amount))
	end


	return doPlayerAddExperience(cid, experience)
end


function doPlayerAddMagLevel(cid, amount)
	for i = 1, amount do
		doPlayerAddSpentMana(cid, getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid), false)
	end


	return true
end


function doPlayerAddSkill(cid, skill, amount, round)
	local amount = amount or 1
	if(skill == SKILL__LEVEL) then
		return doPlayerAddLevel(cid, amount, round)
	elseif(skill == SKILL__MAGLEVEL) then
		return doPlayerAddMagLevel(cid, amount)
	end


	for i = 1, amount do
		doPlayerAddSkillTry(cid, skill, getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill), false)
	end


	return true
end


function getPartyLeader(cid)
	local party = getPartyMembers(cid)
	if(type(party) ~= 'table') then
		return 0
	end


	return party[1]
end


function isInParty(cid)
	return type(getPartyMembers(cid)) == 'table'
end


function isPrivateChannel(channelId)
	return channelId >= CHANNEL_PRIVATE
end


function doPlayerResetIdleTime(cid)
	return doPlayerSetIdleTime(cid, 0)
end


function doBroadcastMessage(text, class)
	local class = class or MESSAGE_STATUS_WARNING
	if(type(class) == 'string') then
		local className = MESSAGE_TYPES[class]
		if(className == nil) then
			return false
		end


		class = className
	elseif(class < MESSAGE_FIRST or class > MESSAGE_LAST) then
		return false
	end


	for _, pid in ipairs(getPlayersOnline()) do
		doPlayerSendTextMessage(pid, class, text)
	end


	print("> Broadcasted message: \"" .. text .. "\".")
	return true
end


function doPlayerBroadcastMessage(cid, text, class, checkFlag, ghost)
	local checkFlag, ghost, class = checkFlag or true, ghost or false, class or TALKTYPE_BROADCAST
	if(checkFlag and not getPlayerFlagValue(cid, PLAYERFLAG_CANBROADCAST)) then
		return false
	end


	if(type(class) == 'string') then
		local className = TALKTYPE_TYPES[class]
		if(className == nil) then
			return false
		end


		class = className
	elseif(class < TALKTYPE_FIRST or class > TALKTYPE_LAST) then
		return false
	end


	for _, pid in ipairs(getPlayersOnline()) do
		doCreatureSay(cid, text, class, ghost, pid)
	end


	print("> " .. getCreatureName(cid) .. " broadcasted message: \"" .. text .. "\".")
	return true
end


function getBooleanFromString(input)
	local tmp = type(input)
	if(tmp == 'boolean') then
		return input
	end


	if(tmp == 'number') then
		return input > 0
	end


	local str = string.lower(tostring(input))
	return (str == "yes" or str == "true" or (tonumber(str) ~= nil and tonumber(str) > 0))
end


function doCopyItem(item, attributes)
	local attributes = ((type(attributes) == 'table') and attributes or { "aid" })


	local ret = doCreateItemEx(item.itemid, item.type)
	for _, key in ipairs(attributes) do
		local value = getItemAttribute(item.uid, key)
		if(value ~= nil) then
			doItemSetAttribute(ret, key, value)
		end
	end


	if(isContainer(item.uid)) then
		for i = (getContainerSize(item.uid) - 1), 0, -1 do
			local tmp = getContainerItem(item.uid, i)
			if(tmp.itemid > 0) then
				doAddContainerItemEx(ret, doCopyItem(tmp, true).uid)
			end
		end
	end


	return getThing(ret)
end


function doRemoveThing(uid)
	if(isCreature(uid)) then
		return doRemoveCreature(uid)
	end


	return doRemoveItem(uid)
end


function setAttackFormula(combat, type, minl, maxl, minm, maxm, min, max)
	local min, max = min or 0, max or 0
	return setCombatFormula(combat, type, -1, 0, -1, 0, minl, maxl, minm, maxm, -min, -max)
end


function setHealingFormula(combat, type, minl, maxl, minm, maxm, min, max)
	local min, max = min or 0, max or 0
	return setCombatFormula(combat, type, 1, 0, 1, 0, minl, maxl, minm, maxm, min, max)
end


function doChangeTypeItem(uid, subtype)
	local thing = getThing(uid)
	if(thing.itemid < 100) then
		return false
	end


	local subtype = subtype or 1
	return doTransformItem(thing.uid, thing.itemid, subtype)
end


function doSetItemText(uid, text, writer, date)
	local thing = getThing(uid)
	if(thing.itemid < 100) then
		return false
	end


	doItemSetAttribute(uid, "text", text)
	if(writer ~= nil) then
		doItemSetAttribute(uid, "writer", tostring(writer))
		if(date ~= nil) then
			doItemSetAttribute(uid, "date", tonumber(date))
		end
	end


	return true
end


function doItemSetActionId(uid, aid)
	return doItemSetAttribute(uid, "aid", aid)
end


function getFluidSourceType(itemid)
	local item = getItemInfo(itemid)
	return item and item.fluidSource or false
end


function getDepotId(uid)
	return getItemAttribute(uid, "depotid") or false
end


function getItemDescriptions(uid)
	local thing = getThing(uid)
	if(thing.itemid < 100) then
		return false
	end


	local item = getItemInfo(thing.itemid)
	return {
		name = getItemAttribute(uid, "name") or item.name,
		plural = getItemAttribute(uid, "pluralname") or item.plural,
		article = getItemAttribute(uid, "article") or item.article,
		special = getItemAttribute(uid, "description") or "",
		text = getItemAttribute(uid, "text") or "",
		writer = getItemAttribute(uid, "writer") or "",
		date = getItemAttribute(uid, "date") or 0
	}
end


function getItemWeightById(itemid, count, precision)
	local item, count, precision = getItemInfo(itemid), count or 1, precision or false
	if(not item) then
		return false
	end


	if(count > 100) then
		-- print a warning, as its impossible to have more than 100 stackable items without "cheating" the count
		print('[Warning] getItemWeightById', 'Calculating weight for more than 100 items!')
	end


	local weight = item.weight * count
	--[[if(precision) then
		return weight
	end


	local t = string.explode(tostring(weight), ".")
	if(table.maxn(t) == 2) then
		return tonumber(t[1] .. "." .. string.sub(t[2], 1, 2))
	end]]--


	return weight
end


function getItemWeaponType(uid)
	local thing = getThing(uid)
	if(thing.itemid < 100) then
		return false
	end


	return getItemInfo(thing.itemid).weaponType
end


function getItemRWInfo(uid)
	local thing = getThing(uid)
	if(thing.itemid < 100) then
		return false
	end


	local item, flags = getItemInfo(thing.itemid), 0
	if(item.readable) then
		flags = 1
	end


	if(item.writable) then
		flags = flags + 2
	end


	return flags
end


function getItemLevelDoor(itemid)
	local item = getItemInfo(itemid)
	return item and item.levelDoor or false
end


function isItemStackable(itemid)
	local item = getItemInfo(itemid)
	return item and item.stackable or false
end


function isItemRune(itemid)
	local item = getItemInfo(itemid)
	return item and item.type == ITEM_TYPE_RUNE or false
end


function isItemDoor(itemid)
	local item = getItemInfo(itemid)
	return item and item.type == ITEM_TYPE_DOOR or false
end


function isItemContainer(itemid)
	local item = getItemInfo(itemid)
	return item and item.group == ITEM_GROUP_CONTAINER or false
end


function isItemFluidContainer(itemid)
	local item = getItemInfo(itemid)
	return item and item.group == ITEM_GROUP_FLUID or false
end


function isItemMovable(itemid)
	local item = getItemInfo(itemid)
	return item and item.movable or false
end


function isCorpse(uid)
	local thing = getThing(uid)
	if(thing.itemid < 100) then
		return false
	end


	local item = getItemInfo(thing.itemid)
	return item and item.corpseType ~= 0 or false
end


function getContainerCapById(itemid)
	local item = getItemInfo(itemid)
	if(not item or item.group ~= 2) then
		return false
	end


	return item.maxItems
end


function getMonsterAttackSpells(name)
	local monster = getMonsterInfo(name)
	return monster and monster.attacks or false
end


function getMonsterHealingSpells(name)
	local monster = getMonsterInfo(name)
	return monster and monster.defenses or false
end


function getMonsterLootList(name)
	local monster = getMonsterInfo(name)
	return monster and monster.loot or false
end


function getMonsterSummonList(name)
	local monster = getMonsterInfo(name)
	return monster and monster.summons or false
end


function choose(...)
	local arg = {...}
	return arg[math.random(1, table.maxn(arg))]
end


function getPlayerWorldId(cid)
	if not(isPlayer(cid)) then
		return false
	end
 
	local pid = getPlayerGUID(cid)
	local worldPlayer = 0
 
	local result_plr = db.getResult("SELECT * FROM `players` WHERE `id` = "..pid..";")
    if(result_plr:getID() ~= -1) then
		worldPlayer = tonumber(result_plr:getDataInt("world_id"))
		result_plr:free()
	else
		return false
    end
 
	return worldPlayer
end


function doJail(cid, time, posi)


doTeleportThing(cid, posi)
doSendMagicEffect(getCreaturePosition(cid), 65)
setPlayerStorageValue(cid, 17900, time + os.time())
end


function doUnjail(cid, posa)


doTeleportThing(cid, posa)
doSendMagicEffect(getCreaturePosition(cid), 49)
setPlayerStorageValue(cid, 17900, -1)
end
function getPlayerMarriage(player)
	local rows = db.getResult("SELECT `marriage` FROM `players` WHERE `id` = " .. player .. ";")
	local marry = rows:getDataInt("marriage")
	if marry ~= 0 then
		return marry
	else
		return FALSE
	end
end


function addMarryStatus(player,partner)
	db.executeQuery("UPDATE `players` SET `marrystatus` = " .. partner .. " WHERE `id` = " .. player .. ";")
	return TRUE
end


function doCancelMarryStatus(player)
	db.executeQuery("UPDATE `players` SET `marrystatus` = 0 WHERE `id` = " .. player .. ";")
	return TRUE
end


function getMarryStatus(player)
	local stat = db.getResult("SELECT `id` FROM `players` WHERE `marrystatus` = " .. player .. ";")
	if(stat:getID() == -1) then
		return FALSE
	else
		local info = stat:getDataInt("id")
		return info
	end
end


function getOwnMarryStatus(player)
	local stat = db.getResult("SELECT `marrystatus` FROM `players` WHERE `id` = " .. player .. ";")
	if(stat:getID() == -1) then
		return FALSE
	else
		local info = stat:getDataInt("marrystatus")
		return info
	end
end


function isOnline(player)
	local rows = db.getResult("SELECT `online` FROM `players` WHERE `id` = " .. player .. ";")
	local on = rows:getDataInt("online")
	if on ~= 0 then
		return TRUE
	else
		return FALSE
	end
end
 
It should give a different error then, but anyway, look at the link I posted, it can also be wrong libs, so look in 100-compat.lua if you have this line.
LUA:
db.executeQuery = db.query
 
Code:
[Error - CreatureScript Interface]data/creaturescripts/scripts/viplogin.lua:onLogin
Description:
data/lib/vipAccount.lua:64: attempt to call field 'query' (a nil value)
stack traceback:
        data/lib/vipAccount.lua:64: in function <data/lib/vipAccount.lua:63>
        (tail call): ?
        data/creaturescripts/scripts/viplogin.lua:8: in function <data/creaturescripts/scripts/viplogin.lua:1>

100-combat.lua
Code:
[/COLOR]​--[[ * File containing deprecated functions and constants used by alot of scripts and other engines
]]--
--bit = require("bit")


TRUE = true
FALSE = false
LUA_ERROR = false
LUA_NO_ERROR = true
LUA_NULL = nil


TALKTYPE_CHANNEL_R1 = TALKTYPE_CHANNEL_RN
TALKTYPE_CHANNEL_R2 = TALKTYPE_CHANNEL_RA
TALKTYPE_ORANGE_1 = TALKTYPE_MONSTER
TALKTYPE_ORANGE_2 = TALKTYPE_MONSTER_YELL


TEXTCOLOR_BLACK = COLOR_BLACK
TEXTCOLOR_BLUE = COLOR_BLUE
TEXTCOLOR_GREEN = COLOR_GREEN
TEXTCOLOR_LIGHTGREEN = COLOR_LIGHTGREEN
TEXTCOLOR_DARKBROWN = COLOR_DARKBROWN
TEXTCOLOR_LIGHTBLUE = COLOR_LIGHTBLUE
TEXTCOLOR_DARKRED = COLOR_DARKRED
TEXTCOLOR_DARKPURPLE = COLOR_DARKPURPLE
TEXTCOLOR_BROWN = COLOR_BROWN
TEXTCOLOR_GREY = COLOR_GREY
TEXTCOLOR_TEAL = COLOR_TEAL
TEXTCOLOR_DARKPINK = COLOR_DARKPINK
TEXTCOLOR_PURPLE = COLOR_PURPLE
TEXTCOLOR_DARKORANGE = COLOR_DARKORANGE
TEXTCOLOR_RED = COLOR_RED
TEXTCOLOR_PINK = COLOR_PINK
TEXTCOLOR_ORANGE = COLOR_ORANGE
TEXTCOLOR_DARKYELLOW = COLOR_DARKYELLOW
TEXTCOLOR_YELLOW = COLOR_YELLOW
TEXTCOLOR_WHITE = COLOR_WHITE
TEXTCOLOR_NONE = COLOR_NONE


CONDITION_PARAM_STAT_MAXHITPOINTS = CONDITION_PARAM_STAT_MAXHEALTH
CONDITION_PARAM_STAT_MAXMANAPOINTS = CONDITION_PARAM_STAT_MAXMANA
CONDITION_PARAM_STAT_SOULPOINTS = CONDITION_PARAM_STAT_SOUL
CONDITION_PARAM_STAT_MAGICPOINTS = CONDITION_PARAM_STAT_MAGICLEVEL
CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT = CONDITION_PARAM_STAT_MAXHEALTHPERCENT
CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT = CONDITION_PARAM_STAT_MAXMANAPERCENT
CONDITION_PARAM_STAT_SOULPOINTSPERCENT = CONDITION_PARAM_STAT_SOULPERCENT
CONDITION_PARAM_STAT_MAGICPOINTSPERCENT = CONDITION_PARAM_STAT_MAGICLEVELPERCENT


STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE = 1
STACKPOS_SECOND_ITEM_ABOVE_GROUNDTILE = 2
STACKPOS_THIRD_ITEM_ABOVE_GROUNDTILE = 3
STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4
STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5


WORLD_TYPE_NO_PVP = WORLDTYPE_OPTIONAL
WORLD_TYPE_PVP = WORLDTYPE_OPEN
WORLD_TYPE_PVP_ENFORCED = WORLDTYPE_HARDCORE


WORLDTYPE_NO_PVP = WORLDTYPE_OPTIONAL
WORLDTYPE_PVP = WORLDTYPE_OPEN
WORLDTYPE_PVP_ENFORCED = WORLDTYPE_HARDCORE


GUILDLEVEL_MEMBER = GUILD_MEMBER
GUILDLEVEL_VICE = GUILD_VICE
GUILDLEVEL_LEADER = GUILD_LEADER


DATABASE_ENGINE_NONE = DATABASE_NONE
DATABASE_ENGINE_MYSQL = DATABASE_MYSQL
DATABASE_ENGINE_SQLITE = DATABASE_SQLITE
DATABASE_ENGINE_POSTGRESQL = DATABASE_POSTGRESQL
DATABASE_ENGINE_ODBC = DATABASE_ODBC


CHANNEL_STAFF = 2
CHANNEL_COUNSELOR = 4
CHANNEL_GAMECHAT = 5
CHANNEL_TRADE = 6
CHANNEL_TRADEROOK = 7
CHANNEL_RLCHAT = 8


BANTYPE_IP_BANISHMENT = 1
BANTYPE_NAMELOCK = 2
BANTYPE_BANISHMENT = 3
BANTYPE_NOTATION = 4
BANTYPE_DELETION = 3


CONST_PROP_MOVEABLE = CONST_PROP_MOVABLE
CONST_PROP_BLOCKINGANDNOTMOVEABLE = CONST_PROP_BLOCKINGANDNOTMOVABLE


STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = STACKPOS_TOP_MOVABLE_ITEM_OR_CREATURE


RETURNVALUE_NOTMOVEABLE = RETURNVALUE_NOTMOVABLE


SKILLS = SKILL_NAMES


table.getPos = table.find
doSetCreatureDropLoot = doCreatureSetDropLoot
doPlayerSay = doCreatureSay
doPlayerAddMana = doCreatureAddMana
playerLearnInstantSpell = doPlayerLearnInstantSpell
doPlayerRemOutfit = doPlayerRemoveOutfit
pay = doPlayerRemoveMoney
broadcastMessage = doBroadcastMessage
getPlayerName = getCreatureName
getCreaturePosition = getThingPosition
getPlayerPosition = getCreaturePosition
getCreaturePos = getCreaturePosition
creatureGetPosition = getCreaturePosition
getPlayerMana = getCreatureMana
getPlayerMaxMana = getCreatureMaxMana
hasCondition = getCreatureCondition
isMoveable = isMovable
isItemMoveable = isItemMovable
saveData = saveServer
savePlayers = saveServer
getPlayerSkill = getPlayerSkillLevel
getPlayerSkullType = getCreatureSkullType
getCreatureSkull = getCreatureSkullType
getAccountNumberByName = getAccountIdByName
getIPByName = getIpByName
getPlayersByIP = getPlayersByIp
getThingfromPos = getThingFromPos
getPlayersByAccountNumber = getPlayersByAccountId
getIPByPlayerName = getIpByName
getPlayersByIPNumber = getPlayersByIp
getAccountNumberByPlayerName = getAccountIdByName
convertIntToIP = doConvertIntegerToIp
convertIPToInt = doConvertIpToInteger
queryTileAddThing = doTileQueryAdd
getTileHouseInfo = getHouseFromPos
executeRaid = doExecuteRaid
saveServer = doSaveServer
cleanHouse = doCleanHouse
cleanMap = doCleanMap
shutdown = doShutdown
mayNotMove = doCreatureSetNoMove
doPlayerSetNoMove = doCreatureSetNoMove
getPlayerNoMove = getCreatureNoMove
getConfigInfo = getConfigValue
doPlayerAddExp = doPlayerAddExperience
isInArea = isInRange
doPlayerSetSkillRate = doPlayerSetRate
getCreatureLookDir = getCreatureLookDirection
getPlayerLookDir = getCreatureLookDirection
getPlayerLookDirection = getCreatureLookDirection
doCreatureSetLookDir = doCreatureSetLookDirection
getPlayerLookPos = getCreatureLookPosition
setPlayerStamina = doPlayerSetStamina
setPlayerPromotionLevel = doPlayerSetPromotionLevel
setPlayerGroupId = doPlayerSetGroupId
setPlayerPartner = doPlayerSetPartner
doPlayerSetStorageValue = doCreatureSetStorage
setPlayerStorageValue = doPlayerSetStorageValue
getPlayerStorageValue = getCreatureStorage
getGlobalStorageValue = getStorage
setGlobalStorageValue = doSetStorage
setPlayerBalance = doPlayerSetBalance
doAddMapMark = doPlayerAddMapMark
doSendTutorial = doPlayerSendTutorial
getWaypointsList = getWaypointList
getPlayerLastLoginSaved = getPlayerLastLogin
getThingPos = getThingPosition
doAreaCombatHealth = doCombatAreaHealth
doAreaCombatMana = doCombatAreaMana
doAreaCombatCondition = doCombatAreaCondition
doAreaCombatDispel = doCombatAreaDispel
getItemDescriptionsById = getItemInfo
hasProperty = hasItemProperty
hasClient = hasPlayerClient
print = std.cout
getPosByDir = getPositionByDirection
db.updateQueryLimitOperator = db.updateLimiter
db.stringComparisonOperator = db.stringComparer
db.stringComparison = db.stringComparer
db.executeQuery = db.query
isNumber = isNumeric
doSetItemActionId = doItemSetActionId
db.quote = db.escapeString


PlayerFlag_CannotUseCombat = 0
PlayerFlag_CannotAttackPlayer = 1
PlayerFlag_CannotAttackMonster = 2
PlayerFlag_CannotBeAttacked = 3
PlayerFlag_CanConvinceAll = 4
PlayerFlag_CanSummonAll = 5
PlayerFlag_CanIllusionAll = 6
PlayerFlag_CanSenseInvisibility = 7
PlayerFlag_IgnoredByMonsters = 8
PlayerFlag_NotGainInFight = 9
PlayerFlag_HasInfiniteMana = 10
PlayerFlag_HasInfiniteSoul = 11
PlayerFlag_HasNoExhaustion = 12
PlayerFlag_CannotUseSpells = 13
PlayerFlag_CannotPickupItem = 14
PlayerFlag_CanAlwaysLogin = 15
PlayerFlag_CanBroadcast = 16
PlayerFlag_CanEditHouses = 17
PlayerFlag_CannotBeBanned = 18
PlayerFlag_CannotBePushed = 19
PlayerFlag_HasInfiniteCapacity = 20
PlayerFlag_CanPushAllCreatures = 21
PlayerFlag_CanTalkRedPrivate = 22
PlayerFlag_CanTalkRedChannel = 23
PlayerFlag_TalkOrangeHelpChannel = 24
PlayerFlag_NotGainExperience = 25
PlayerFlag_NotGainMana = 26
PlayerFlag_NotGainHealth = 27
PlayerFlag_NotGainSkill = 28
PlayerFlag_SetMaxSpeed = 29
PlayerFlag_SpecialVIP = 30
PlayerFlag_NotGenerateLoot = 31
PlayerFlag_CanTalkRedChannelAnonymous = 32
PlayerFlag_IgnoreProtectionZone = 33
PlayerFlag_IgnoreSpellCheck = 34
PlayerFlag_IgnoreWeaponCheck = 35
PlayerFlag_CannotBeMuted = 36
PlayerFlag_IsAlwaysPremium = 37
PlayerFlag_CanAnswerRuleViolations = 38
PlayerFlag_39 = 39 -- ignore
PlayerFlag_ShowGroupNameInsteadOfVocation = 40
PlayerFlag_HasInfiniteStamina = 41
PlayerFlag_CannotMoveItems = 42
PlayerFlag_CannotMoveCreatures = 43
PlayerFlag_CanReportBugs = 44
PlayerFlag_45 = 45 -- ignore
PlayerFlag_CannotBeSeen = 46
PlayerFlag_HideHealth = 47


PlayerCustomFlag_AllowIdle = 0
PlayerCustomFlag_CanSeePosition	= 1
PlayerCustomFlag_CanSeeItemDetails = 2
PlayerCustomFlag_CanSeeCreatureDetails = 3
PlayerCustomFlag_NotSearchable = 4
PlayerCustomFlag_GamemasterPrivileges = 5
PlayerCustomFlag_CanThrowAnywhere = 6
PlayerCustomFlag_CanPushAllItems = 7
PlayerCustomFlag_CanMoveAnywhere = 8
PlayerCustomFlag_CanMoveFromFar = 9
PlayerCustomFlag_CanLoginMultipleCharacters = 10
PlayerCustomFlag_HasFullLight = 11
PlayerCustomFlag_CanLogoutAnytime = 12
PlayerCustomFlag_HideLevel = 13
PlayerCustomFlag_IsProtected = 14
PlayerCustomFlag_IsImmune = 15
PlayerCustomFlag_NotGainSkull = 16
PlayerCustomFlag_NotGainUnjustified = 17
PlayerCustomFlag_IgnorePacification = 18
PlayerCustomFlag_IgnoreLoginDelay = 19
PlayerCustomFlag_CanStairhop = 20
PlayerCustomFlag_CanTurnhop = 21
PlayerCustomFlag_IgnoreHouseRent = 22
 
Yes, that was the error you were supposed to get from Cronox script if it didn't work :p
And if you use ctrl f or scroll down in the 100-combat.lua, you see that you have that line.
So remove it or replace them with eachother as explained in the link I posted (if you remove it, use db.executeQuery instead of db.query, so your original script).
 
Back
Top