• 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!

Frag Script

mocoba

New Member
Joined
Aug 23, 2008
Messages
332
Reaction score
0
Hello Guys i need !frags Script Cuz my Script Not work
PHP:
local config = {
	useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')),
	advancedFragList = getBooleanFromString(getConfigValue('advancedFragList'))
}

function onSay(cid, words, param, channel)
	if(not config.useFragHandler) then
		return false
	end

	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 = {
				name = result:getDataString("name"),
				level = result:getDataInt("level"),
				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)
	}
	if(config.advancedFragList) then
		local result = "Frags gained today: " .. size.day .. "."
		if(size.day > 0) then
			for _, content in ipairs(contents.day) do
				result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
			end

			result = result .. "\n"
		end

		result = result .. "\nFrags gained this week: " .. (size.day + size.week) .. "."
		if(size.week > 0) then
			for _, content in ipairs(contents.week) do
				result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
			end

			result = result .. "\n"
		end

		result = result .. "\nFrags gained this month: " .. (size.day + size.week + size.month) .. "."
		if(size.month > 0) then
			for _, content in ipairs(contents.month) do
				result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
			end

			result = result .. "\n"
		end

		local skullEnd = getPlayerSkullEnd(cid)
		if(skullEnd > 0) then
			result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)
		end

		doPlayerPopupFYI(cid, result)
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.")
		if(size.day > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").")
		end

		local skullEnd = getPlayerSkullEnd(cid)
		if(skullEnd > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd))
		end
	end

	return true
end
THANKS
 
-- Mocoba Config

-- Account manager
accountManager = "no"
namelockManager = "no"
newPlayerChooseVoc = "no"
newPlayerSpawnPosX = 95
newPlayerSpawnPosY = 117
newPlayerSpawnPosZ = 7
newPlayerTownId = 1
newPlayerLevel = 1
newPlayerMagicLevel = 0
generateAccountNumber = "no"

-- Banishments
notationsToBan = 3
warningsToFinalBan = 4
warningsToDeletion = 5
banLength = 1 * 24 * 60 * 60
finalBanLength = 30 * 24 * 60 * 60
ipBanishmentLength = 1 * 24 * 60 * 60
broadcastBanishments = "yes"
killsToBan = 10000
maxViolationCommentSize = 200
autoBanishUnknownBytes = "no"

-- Battle
-- NOTE: loginProtectionPeriod is the famous Tibia anti-magebomb system.
-- deathLostPercent set to nil enables manual mode.
-- showHealingDamageForMonsters inheritates from showHealingDamage.
worldType = "pvpe"
protectionLevel = 100
pvpTileIgnoreLevelAndVocationProtection = "yes"
killsToRedSkull = 9
pzLocked = 50 * 1000
criticalHitChance = 7
criticalHitMultiplier = 1
displayCriticalHitNotify = "no"
removeWeaponAmmunition = "no"
removeWeaponCharges = "no"
removeRuneCharges = "no"
timeToDecreaseFrags = 5 * 60 * 1000
whiteSkullTime = 1 * 60 * 1000
noDamageToSameLookfeet = "no"
experienceByKillingPlayers = "no"
showHealingDamage = "yes"
showHealingDamageForMonsters = "yes"
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = "no"
oldConditionAccuracy = "no"
loginProtectionPeriod = 10 * 1000
deathLostPercent = 10
stairhopDelay = 2 * 1000
pushCreatureDelay = 2 * 1000
deathContainerId = 1987
gainExperienceColor = 215

-- Connection config
worldId = 0
ip = ""
loginPort = 7171
gamePort = 7172
adminPort = 7171
statusPort = 7171
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000
motd = "Welcome to"
displayOnOrOffAtCharlist = "no"
onePlayerOnlinePerAccount = "yes"
allowClones = 0
serverName = "Swevo"
loginMessage = "Welcome to"
statusTimeout = 1000
replaceKickOnLogin = "yes"
forceSlowConnectionsToDisconnect = "no"
loginOnlyWithLoginServer = "no"
premiumPlayerSkipWaitList = "no"

-- Database
-- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database.
-- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value.
sqlType = "mysql"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"
sqlPass = ""
sqlDatabase = "Tibia"
sqlFile = "NaxedOt.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTImeout = 10
passwordType = "plain"

-- Deathlist
deathListEnabled = "yes"
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 19
maxDeathRecords = 5

-- Guilds
ingameGuildManagement = "yes"
levelToFormGuild = 8
premiumDaysToFormGuild = 0
guildNameMinLength = 4
guildNameMaxLength = 20

-- Highscores
highscoreDisplayPlayers = 15
updateHighscoresAfterMinutes = 60

-- Houses
buyableAndSellableHouses = "yes"
houseNeedPremium = "yes"
bedsRequirePremium = "yes"
levelToBuyHouse = 200
housesPerAccount = 0
houseRentAsPrice = "no"
housePriceAsRent = "no"
housePriceEachSquare = 1000
houseRentPeriod = "never"

-- Item usage
timeBetweenActions = 200
timeBetweenExActions = 1000
checkCorpseOwner = "yes"
hotkeyAimbotEnabled = "yes"
maximumDoorLevel = 500

-- Map
-- NOTE: storeTrash costs more memory, but will perform alot faster cleaning.
-- useHouseDataStorage usage may be found at README.
mapName = "theend"
mapAuthor = "Mocoba"
randomizeTiles = "yes"
useHouseDataStorage = "no"
storeTrash = "yes"
cleanProtectedZones = "yes"

-- Startup
defaultPriority = "high"
niceLevel = 5
coresUsed = "-1"
optimizeDatabaseAtStartup = "yes"
removePremiumOnInit = "yes"
confirmOutdatedVersion = "yes"

-- Muted buffer
maxMessageBuffer = 4
bufferMutedOnSpellFailure = "no"

-- Miscellaneous
dataDirectory = "data/"
kickIdlePlayerAfterMinutes = 15
allowChangeOutfit = "yes"
allowChangeColors = "yes"
allowChangeAddons = "yes"
disableOutfitsForPrivilegedPlayers = "no"
bankSystem = "yes"
saveGlobalStorage = "yes"
ghostModeInvisibleEffect = "no"
displaySkillLevelOnAdvance = "no"
spellNameInsteadOfWords = "no"
emoteSpells = "yes"
expireReportsAfterReads = 1
promptExceptionTracerErrorBox = "yes"
storePlayerDirection = "no"
playerQueryDeepness = 2

-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
expireReportsAfterReads = 1
playerQueryDeepness = 2
maxItemsPerPZTile = 0
maxItemsPerHouseTile = 0

-- Premium-related
freePremium = "yes"
premiumForPromotion = "yes"

-- Blessings
-- NOTE: blessingReduction* regards items/containers loss.
-- eachBlessReduction is how much each bless reduces the experience/magic/skills loss.
blessingsOnlyPremium = "yes"
blessingReductionBase = 30
blessingReductionDecreament = 5
eachBlessReduction = 8

-- Rates
-- NOTE: experienceStages configuration is located in data/XML/stages.xml.
experienceStages = "yes"
rateExperience = 2.0
rateSkill = 100.0
rateMagic = 80.0
rateLoot = 10.0
rateSpawn = 2

-- Stamina
rateStaminaLoss = 1
rateStaminaGain = 1000 / 3
rateStaminaThresholdGain = 4
staminaRatingLimitTop = 41 * 60
staminaRatingLimitBottom = 14 * 60
rateStaminaAboveNormal = 1.5
rateStaminaUnderNormal = 0.5
staminaThresholdOnlyPremium = "yes"

-- Party
-- NOTE: experienceShareLevelDifference is float number.
-- experienceShareLevelDifference is highestLevel * value
experienceShareRadiusX = 30
experienceShareRadiusY = 30
experienceShareRadiusZ = 1
experienceShareLevelDifference = 2 / 3
extraPartyExperienceLimit = 20
extraPartyExperiencePercent = 5

-- Global save
-- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours,
-- if you want such a system please check out data/globalevents/globalevents.xml.
globalSaveEnabled = "yes"
globalSaveHour = 2
shutdownAtGlobalSave = "no"
cleanMapAtGlobalSave = "no"

-- Spawns
deSpawnRange = 2
deSpawnRadius = 50

-- Summons
maxPlayerSummons = 2
teleportAllSummons = "no"
teleportPlayerSummons = "no"

-- Status
ownerName = "Mocoba"
ownerEmail = "[email protected]"
url = "http://Swevo.zapto.org"
location = "Europe"
displayGamemastersWithOnlineCommand = "no"

-- Logs
-- NOTE: This kind of logging does not work in GUI version.
adminLogsEnabled = "no"
displayPlayersLogging = "yes"
prefixChannelLogs = ""
runeFile = ""
outLogName = ""
errorLogName = ""
truncateLogsOnStartup = "no"
it is my config and how i know version of my TFS
 
PHP:
local config = {
	advancedFragList = getBooleanFromString(getConfigValue("advancedFragList"))
}

function onSay(cid, words, param, channel)
	local time = os.time()
	local times = {today = (time - 86400), week = (time - (7 * 86400))}

	local contents = {day = {}, week = {}, month = {}}
	local result = 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 = {
				name = result:getDataString("name"),
				level = result:getDataInt("level"),
				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)
	}
	if(config.advancedFragList) then
		local result = "Frags gained today: " .. size.day .. "."
		if(size.day > 0) then
			for _, content in ipairs(contents.day) do
				result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
			end

			result = result .. "\n"
		end

		result = result .. "\nFrags gained this week: " .. (size.day + size.week) .. "."
		if(size.week > 0) then
			for _, content in ipairs(contents.week) do
				result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
			end

			result = result .. "\n"
		end

		result = result .. "\nFrags gained this month: " .. (size.day + size.week + size.month) .. "."
		if(size.month > 0) then
			for _, content in ipairs(contents.month) do
				result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level
			end

			result = result .. "\n"
		end

		local skullEnd = getPlayerSkullEnd(cid)
		if(skullEnd > 0) then
			result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)
		end

		doPlayerPopupFYI(cid, result)
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.")
		if(size.day > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").")
		end

		local skullEnd = getPlayerSkullEnd(cid)
		if(skullEnd > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd))
		end
	end

	return true
end

PHP:
	<talkaction words="!frags" event="script" value="frags.lua"/>

rep++
 
Back
Top