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

Library for creating system like crafting

Tairens

Member
Joined
Sep 23, 2007
Messages
90
Reaction score
5
Code:
System = {}
System.__index = System
function System.create(cid, storage, skillTriesStorage)
	local new = {}
	setmetatable(new, System)
	new.player = cid
	new.storage = storage
	new.skillTriesStorage = skillTriesStorage
	new.skillTries = getPlayerStorageValue(cid, skillTriesStorage) >= 0 and getPlayerStorageValue(cid, skillTriesStorage) or 0
	new.skill = getPlayerStorageValue(cid, storage) >= 10 and getPlayerStorageValue(cid, storage) or 10
	new.skillRate = 1
	new.type = 1
	new.types = {}
	new.needTriesToLevelUp = (((new.skill * 10) + (new.skill * 10)) / new.skillRate)
	return new
end
function System:getSkill()
	return self.skill
end
function System:addSkill(value)
	self.skill = self.skill + value
end
function System:setTypes(types)
	self.types = types
end
function System:setSkillRate(newValue)
	self.skillRate = newValue
	self.needTriesToLevelUp = math.floor((((self.skill * 10) + (self.skill * 10)) / self.skillRate))
end
function System:getSkillRate()
	return self.skillRate
end
function System:getSkillTries()
	return self.skillTries
end
function System:addSkillTries(value)
	self.skillTries = self.skillTries + value
end
function System:setTryType(newType)
	if(newType > #self.types - 1 and newType < #self.types + 1) then
		self.type = newType
	else
		self.type = 1
	end
end
function System:calculateSkill()
	self.skillTries = self.skillTries + self.types[self.type]
	if(self.skillTries >= self.needTriesToLevelUp) then
		self.skill = self.skill + 1
		self.skillTries = 0
		return true
	end
	return false
end
function System:getSkillTriesToNextLevel()
	return self.needTriesToLevelUp
end
function System:Save()
	setPlayerStorageValue(self.player, self.storage, self.skill)
	setPlayerStorageValue(self.player, self.skillTriesStorage, self.skillTries)
end

How use it:

Code:
Crafting = System.create(cid, 1025, 1026)
Crafting:setSkillRate(100)
Crafting:calculateSkill()
Crafting:Save()

:peace:
 
WOW, see I'm new at this stuff, but this looks awesome.

Am i seeing that this adds a new seperate skill set for crafting?

Let me know how this would work, if you have time, thanks!

Rep+ buddy, good job.
 
Back
Top