[BUSY] WildPlayer | Programmer

About Me

Hi there! I am offering my services as a scripter. I specialize in problem solving and I like working with data. I used to program competitively a few years back and I also have a year of experience with university level OOP C# programming and some Java. I’d say I have a decent amount of experience with Roblox specific things but of course there still are things to learn.

Showcase

Examples

Custom Player List
Car Chassis
Dash Ability
AI Pathing
Custom spectate
Car Spawner
Checkpoint system
Disclaimer: I am not the creator of the animations, the models and some of the GUI’s

Some other things I’ve done:

  • Data systems
  • Inventory systems
  • Shop systems
  • Spawnpoint systems
  • Lootbox systems
  • Minigame systems
  • Badge systems
  • Code systems
  • Pet systems
  • Daily reward systems
  • Group reward systems
  • Leaderboard systems
Sample data module
local Data = {}
--Data of all players
local PlayerData = {}

--Default new player's data
local NewPlayer = {
	["SwordActivated"] = false,
	["Gold"] = {
		["Value"] = 0,
		["Power"] = 0,
	},
	["Bot"] = 3,
	["TEST"] = {
		["TEST2"] = 3,
		["Test3"] = {
			["S"] = 3,
			["D"] = 2,
		},
	},
}

--Adds missing data to an old player's save
local function AddMissingData(OldData, NewData)
	local Ans = {}

	if typeof(NewData) == "table" then
		for Key, Value in pairs(NewData) do
			if OldData == nil then
				Ans[Key] = AddMissingData(nil, Value)				
			else
				Ans[Key] = AddMissingData(OldData[Key], Value)
			end
		end
	elseif OldData == nil then
		Ans = NewData
	else
		Ans = OldData
	end
	
	return Ans
end

--Removes data that is no longer needed
local function RemoveOldData(OldData, NewData)
	local Ans = {}

	if typeof(OldData) == "table" then
		for Key, Value in pairs(OldData) do
			if NewData == nil then
				Ans[Key] = nil			
			else
				Ans[Key] = RemoveOldData(Value, NewData[Key])
			end
		end
	elseif NewData == nil then
		Ans = nil
	else
		Ans = OldData
	end

	return Ans
end

--Add a player to the data table
function Data.AddPlayer(Player, PData)
	PlayerData[Player] = AddMissingData(PData, NewPlayer)
        PlayerData[Player] = RemoveOldData(PlayerData[Player], NewPlayer)
end

--Remove player from the data table
function Data.RemovePlayer(Player)	
	PlayerData[Player] = nil
end

--Get a specific player's data (read-only)
function Data.GetPlayer(Player)
	return PlayerData[Player]
end

--Get data of all players (changes to this replicate)
function Data.GetAllData()
	return PlayerData
end

return Data
Recursive function for adding new data values to a returning player
local function AddMissingData(OldData, NewData)
	local Ans = {}

	if typeof(NewData) == "table" then
		for Key, Value in pairs(NewData) do
			if OldData == nil then
				Ans[Key] = AddMissingData(nil, Value)				
			else
				Ans[Key] = AddMissingData(OldData[Key], Value)
			end
		end
	elseif OldData == nil then
		Ans = NewData
	else
		Ans = OldData
	end
	
	return Ans
end

This is used for when you want to load an old player’s data and add new values from an update for example.

Example:

local OldData = {
	["Tools"] = {
		["BasicSword"] = true,	
		["IronSword"] = true,
	},
	["Currency"] = {
		["Bronze"] = 99512,
		["Silver"] = 50,		
	},
}

local NewData = {
	["Tools"] = {
		["BasicSword"] = true,	
		["IronSword"] = false,
	},
	["Currency"] = {
		["Bronze"] = 0,
		["Silver"] = 0,		
		["Gold"] = 0,
	},
}

OldData is an old player’s data from a database. NewData is the default data for new player which changed after an update which now includes new currency called “Gold”. A run trough this recursive function will make the returning player’s data like this:

local OldData = {
	["Tools"] = {
		["BasicSword"] = true,	
		["IronSword"] = true,
	},
	["Currency"] = {
		["Bronze"] = 99512,
		["Silver"] = 50,
		["Gold"] = 0,		
	},
}

One run trough the function when a player’s data is loaded and there’s no need to worry about any nil errors when adding new updates which require new data that may not yet exist in old player’s save yet!

More examples and reviews/vouches on discord server in group’s social links: Group Link

Disclaimer: I do not make animations or models. I can make GUI’s but you have to tell me if you’ll need them.

Availability

I am available as long as I’m not busy working. You can contact me any time.

Payment

Prices are negotiable, I accept pay per script/feature with free bug fixes (30 days) if they’re at my fault. My preferred payment method is Skrill but Robux is fine. I don’t accept percentages usually but feel free to ask. A sample price list can be found on the discord server.

Contact

You can contact me via Discord WildPlayer#4947
Discord server in group’s social links: Group Link

Thanks for reading and sorry if I made any typos! :slight_smile:

4 Likes

Ordered a commission from him a couple hours ago, it was done immediately! He’s easy to communicate with, very efficient for an affordable price. Really recommend him. Might order again!

1 Like

I’m available again! Feel free to contact me.