Jump to content
  • Sign Up

Hi, Cosen here


SenCos

Recommended Posts

Hello guys, I am 22 years old, living in Italy (trento). I speak italian, english and portughese. I am a game creator (in Otserv, or Open Tibia, its an open-source code based on Germany Tibia game, 2d), It deals with xml, lua anc C# codes.

My Knowledgebase is 

• Mapping (using an open-source software Remere's Map Editor)

• Design (creation of banners, PIPs, digital marketing, PhotoShop, Pyxel Edit, and others)

• Spriting (pixel art in 45 perspectives, paint and Pyxel Edit)

• Lua Scripts (for functions in-game, TFS 1.X)

• And a little bit of html/css

 

I want to learn how to edit forums platform like wordpress, mybb or invision, to help the Tibia Otserv community in the part of websites.

 

A quick preview of my work 

Screenshot_7.png.b0113efeba3354f2e8ec9aa746272369.png 

Screenshot_15.png.99fb5f9ca16e4b65d0cedb8f414e191d.png

Screenshot_18.png.f45e5cf5afc993bd68579a37b241c6e9.png

 

A code exemple of a mining system I made with a friend

local config = {
maxmininglevel = 100,
storagemining = 10000,
expperlevel = 1000,
experiencemining = 10001
}

local stone = {
	blue = {8637, 8633, 9798, 1354}, 
	green = {8640, 8636, 9791, 1353},
	lightblue = {8638, 8634, 9790, 12344},
	red = {8639, 8635, 9788, 1355},
}

local stones = {
	crystal = {stone.blue[1], stone.green[1], stone.lightblue[1], stone.red[1]},
	lcrystal = {stone.blue[2], stone.green[2], stone.lightblue[2], stone.red[2]},
	pcrystal = {stone.blue[3], stone.green[3], stone.lightblue[3], stone.red[3]},
	scrystal = {stone.blue[4], stone.green[4], stone.lightblue[4], stone.red[4]},
}

local ore = {
	blue = {2146, 7759, 5905, 8302},
	green = {2149, 7761, 12396 ,8298}, 
	lightblue = {2150, 7762, 12575, 8303}, 
	red = {2147, 7760, 5906, 8299},
}

local ores = { ore.blue[1], ore.blue[2], ore.blue[3], ore.blue[4], ore.green[1], ore.green[2], ore.green[3], ore.green[4], ore.lightblue[1], ore.lightblue[2], ore.lightblue[3], ore.lightblue[4], ore.red[1], ore.red[2], ore.red[3], ore.red[4]}

local levels = {
	{
	level = {0,19}, 
	stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4]},
	items = {ores[1],ores[5], ores[9], ores[13]}, 
	iselect = 0,
	bstart = 1,
	gstart = 2,
	lbstart = 3,
	rstart = 4,
	chance = 10, -- 30
	qtdmax = 1,
	expgainmin = 1, --15
	expgainmax = 1 --50
	},
	{
	level = {20,49}, 
	stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4]},
	items = {ores[1],ores[2], ores[5], ores[6], ores[9],ores[10], ores[13], ores[14]}, 
	iselect = 1,
	bstart = 1,
	gstart = 3,
	lbstart = 5,
	rstart = 7,
	chance = 10, 
	qtdmax = 1,
	expgainmin = 1,
	expgainmax = 1
	},
	{
	level = {50,69}, 
	stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4], stones.pcrystal[1], stones.pcrystal[2], stones.pcrystal[3], stones.pcrystal[4]},
	items = {ores[1],ores[2], ores[3], ores[5], ores[6], ores[7], ores[9],ores[10], ores[11], ores[13], ores[14], ores[15]}, 
	iselect = 2,
	bstart = 1,
	gstart = 4,
	lbstart = 7,
	rstart = 10,
	chance = 10, 
	qtdmax = 1,
	expgainmin = 1,
	expgainmax = 1
	},
	{
	level = {70,89}, 
	stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4], stones.pcrystal[1], stones.pcrystal[2], stones.pcrystal[3], stones.pcrystal[4], stones.scrystal[1], stones.scrystal[2], stones.scrystal[3], stones.scrystal[4]},
	items = {ores[1],ores[2], ores[3], ores[4], ores[5], ores[6], ores[7], ores[8], ores[9],ores[10], ores[11], ores[12], ores[13], ores[14], ores[15], ores[16]}, 
	iselect = 3,
	bstart = 1,
	gstart = 5,
	lbstart = 9,
	rstart = 13,
	chance = 10, 
	qtdmax = 1,
	expgainmin = 1,
	expgainmax = 1
	},
	{
	level = {90,100}, 
	stone = {stones.crystal[1], stones.crystal[2], stones.crystal[3], stones.crystal[4], stones.lcrystal[1], stones.lcrystal[2], stones.lcrystal[3], stones.lcrystal[4], stones.pcrystal[1], stones.pcrystal[2], stones.pcrystal[3], stones.pcrystal[4], stones.scrystal[1], stones.scrystal[2], stones.scrystal[3], stones.scrystal[4]},
	items = {ores[1],ores[2], ores[3], ores[4], ores[5], ores[6], ores[7], ores[8], ores[9],ores[10], ores[11], ores[12], ores[13], ores[14], ores[15], ores[16]},
	iselect = 3,
	bstart = 1,
	gstart = 5,
	lbstart = 9,
	rstart = 13,
	chance = 10, 
	qtdmax = 1,
	expgainmin = 1,
	expgainmax = 1
	}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)


local getMiningLevel = getPlayerStorageValue(cid, config.storagemining)
local getMiningExp = getPlayerStorageValue(cid, config.experiencemining)

	if getMiningLevel == -1 then
		setPlayerStorageValue(cid, config.storagemining, 0)
	end
	if getMiningExp < 0 then
		setPlayerStorageValue(cid, config.experiencemining, 0)
	end

	if (isInArray(stones.crystal, itemEx.itemid) or isInArray(stones.lcrystal, itemEx.itemid) or isInArray(stones.pcrystal, itemEx.itemid) or isInArray(stones.scrystal, itemEx.itemid))  then
		
		for a = 1, #levels do
			min = levels[a].level[1]; max = levels[a].level[2]

			if (getMiningLevel >= min and getMiningLevel <= max) then
				if isInArray(levels[a].stone, itemEx.itemid) then
						if (math.random(1, 100) <= levels[a].chance) then
							quantity = math.random(1, levels[a].qtdmax)
							experience = math.random(levels[a].expgainmin, levels[a].expgainmax)
								if isInArray(stone.blue, itemEx.itemid) then
									iselection = math.random(levels[a].bstart, levels[a].bstart + levels[a].iselect)
									collect = levels[a].items[iselection]
								end
								if isInArray(stone.green, itemEx.itemid) then
									iselection = math.random(levels[a].gstart, levels[a].gstart + levels[a].iselect)
									collect = levels[a].items[iselection]
								end
								if isInArray(stone.lightblue, itemEx.itemid) then
									iselection = math.random(levels[a].lbstart, levels[a].lbstart + levels[a].iselect)
									collect = levels[a].items[iselection]
								end
								if isInArray(stone.red, itemEx.itemid) then
									iselection = math.random(levels[a].rstart, levels[a].rstart + levels[a].iselect)
									collect = levels[a].items[iselection]
								end
							
							if getMiningLevel == 100 then
							doSendMagicEffect(toPosition, 9)
							doPlayerSendTextMessage(cid, 22, text)
							doPlayerAddItem(cid, collect, quantity)
							
							elseif getMiningLevel <= 99 then
							
								if getMiningExp >= config.expperlevel then
									doSendMagicEffect(getCreaturePosition(cid), 49)
									setPlayerStorageValue(cid, config.storagemining, getMiningLevel + 1)
									setPlayerStorageValue(cid, config.experiencemining, getMiningExp - config.expperlevel)
									text = "You collected " ..quantity.. " matter" ..(quantity > 1 and "s" or "").. ". \n You have gained " ..experience.. " experience points in Mining. \n You advanced from mining skill level " ..getMiningLevel.. " to mining skill level " ..(getMiningLevel + 1).. "."
								else
									setPlayerStorageValue(cid, config.experiencemining, getMiningExp + experience)
									text = "You collected " ..quantity.. " matter" ..(quantity > 1 and "s" or "").. ". \n You have gained " ..experience.. " experience points in Mining. \n" ..(config.expperlevel - getMiningExp - experience).. " experience points left to next level. \nCurrent Mining Skill: " ..getMiningLevel.. "."
								end
								doSendMagicEffect(toPosition, 9)
								doPlayerSendTextMessage(cid, 22, text)
								doPlayerAddItem(cid, collect, quantity)
							end
							
						else
							doSendMagicEffect(toPosition, 3)
							doSendAnimatedText(getCreaturePosition(cid), "Working!", COLOR_WHITE)
						end
				else
					doPlayerSendTextMessage(cid, 22, "You need to get better in Mining to mining this.")
				end
			end

		end

	else
		doSendMagicEffect(getCreaturePosition(cid), 2)
		doPlayerSendTextMessage(cid, 22, "You can't mining this.")
	end

	
end

Edited by SenCos
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...