1. Post #1
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts


    [release]


    What is Society? Well, Society is a more relaxed roleplaying gamemode/theme based on survival on a fictional island, in a fictional area
    environmentally similar to Jamaica.

    The theme, is all about survival with primitive methods, not including the use of metals, to construct a
    organised society with a flowing, rich roleplay. Everyone of the island's community will have to do something useful in order for the community
    to thrive. For example, food and water will be necessary in order to live, so everyone will have to do play their own role in order for society
    as a whole to survive. For example, for food, someone will need to grow it, someone will need to cook it, and then you have food to survive.
    For water, someone will have to collect in, then boil it, or use a stil in order for the water to be clean to drink.

    Structures, will need to be made, which will take a process. This process for example, lets say you wanted to make I-Beams, first you would
    need to mine the proper metals, and have the right tools and equipment( which you also had to craft), then you can craft the I-Beams and
    make your buildings! But that's optional as you could always cut down trees and get wood and just make poles or planks. Or.. live on the sand
    or the buildings provided by the map( If any. )

    [/release]

    [release]


    Opposed to giving you 400 paragraphs explaining each one, I'll just say each one with a brief description, if you have questions,
    post and ask.

    - Farming. You will be able to grow plants, specifically fruit, vegetables, but you will also be able to grow plants used in medecines
    and spices. You will also to be able to grow Marijuana, if you know exactly what you're doing.

    - Fishing. You will be able to fish for multiple types of fish, some fish may require different methods of fishing( Cage, net, harpoon
    and rod ).

    - Woodcutting. You will be able to cut tree entities down and harvest the wood, which can be turned into poles, planks, tools and other
    supplies.

    - Mining and smithing. You can mine ores, and then smith them for use in tools, construction, decoration and weaponry.

    - Character Names . When you join, you will be prompted a menu to name your character, which will be displayed over your head and in
    chat.

    - Human Needs . Excluding going to the bathroom, which you can roleplay but I'm not making a feature for.. You will have to eat and
    drink in order to survive. Not tending to these needs will result in death.

    [/release]

    [release]
    Media
    Well there's no media, but there will be soon so don't worry.
    [/release]

    [release]
    Development Team
    Lua Development
    - LauScript

    Graphical design, texture design
    - Hazard
    [/release]

    [url]
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua King Lua King x 9Winner Winner x 2Artistic Artistic x 1 (list)

  2. Post #2
    TO SOME- THING
    Steven :D's Avatar
    September 2009
    3,978 Posts
    Looks really nice. I'm looking forward to it.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 3 (list)

  3. Post #3
    Artyom's Avatar
    March 2011
    1,422 Posts
    Steven is the creator's friend btw
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Informative Informative x 3Agree Agree x 2Dumb Dumb x 1 (list)

  4. Post #4
    Gold Banana
    Banana Lord.'s Avatar
    May 2010
    6,431 Posts
    Been dying for this gamemode for a while, good luck and I hope this one isn't abandoned as well :saddowns:
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 2 (list)

  5. Post #5
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Steven is the creator's friend btw
    Yes he is but I'll have you know I didn't tell him to post anything. :) I'm sure everyone is aware and even if not, cool!

    I'm working on the farm system now, by the way.


    Been dying for this gamemode for a while, good luck and I hope this one isn't abandoned as well :saddowns:
    Did you play the old one?

  6. Post #6

    April 2011
    13 Posts
    Add me on steam please..

    Sent username to your inbox.

  7. Post #7
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    It seems I have you blocked for some reason, and I just removed most of my blocked people and it still says you're blocked. Tell me what you want in PM, or on here either way.

  8. Post #8
    Artyom's Avatar
    March 2011
    1,422 Posts
    Yes he is but I'll have you know I didn't tell him to post anything. :) I'm sure everyone is aware and even if not, cool!

    I'm working on the farm system now, by the way.
    -snipped-
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Lua Helper Lua Helper x 1 (list)

  9. Post #9
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    -snipped-
    PM me.

  10. Post #10
    Gold Member
    JoeSkylynx's Avatar
    October 2008
    10,988 Posts
    Will the fishing be CapsAdmin or GoFish type?

  11. Post #11
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    You throw bait on a string, throw it in the water and wait until you catch a fish.

    Unless you're fishing with a net or a cage or harpoon then it's different.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 1 (list)

  12. Post #12
    nightfield's Avatar
    March 2007
    109 Posts
    Man, this is very original. This hasn't been done before at all. Cough STRANDED Cough
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Dumb Dumb x 9Disagree Disagree x 1 (list)

  13. Post #13
    Artyom's Avatar
    March 2011
    1,422 Posts
    Man, this is very original. This hasn't been done before at all. Cough STRANDED Cough
    That's not roleplay, though.

  14. Post #14
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Man, this is very original. This hasn't been done before at all. Cough STRANDED Cough
    clearly didn't read the thread.

    And what Artyom said.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Funny Funny x 1 (list)

  15. Post #15
    c-unitV2's Avatar
    April 2011
    715 Posts
    I am really looking forward to this, I have been dyeing for a good RP gamemode to come out( hate all you want, I love RP )
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 2 (list)

  16. Post #16
    taste the salty dong
    Remscar's Avatar
    September 2009
    1,821 Posts
    Reminds me of island troll tribes from WC3.
    Im looking forward to this.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 1 (list)

  17. Post #17
    Gold Member
    darkedone02's Avatar
    February 2006
    2,533 Posts
    Sound like GMStranded, however in my opinion, this has the same elements minus the role-play, I recommand adding more content then it has. For example, give out different types of wood (like minecraft), More skills (blacksmithing for working on weapons such as blades, Toolmaking for making tools, make it feel more like Wurm Online). Allow Stone to be used for building to make walls, add shitloads of content, hell make different type of medical plants and add in poison and disease that hinder you down until 15 minutes or more or drink the right medicine.

  18. Post #18
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Sound like GMStranded, however in my opinion, this has the same elements minus the role-play, I recommand adding more content then it has. For example, give out different types of wood (like minecraft), More skills (blacksmithing for working on weapons such as blades, Toolmaking for making tools, make it feel more like Wurm Online). Allow Stone to be used for building to make walls, add shitloads of content, hell make different type of medical plants and add in poison and disease that hinder you down until 15 minutes or more or drink the right medicine.
    Blacksmithing is already being incorporated. And I need to get more than 1 basic modeller to be honest, any of you know how to model?

  19. Post #19
    moo
    CowThing's Avatar
    November 2006
    4,767 Posts
    This looks very nice. Much better than all the "hurrdurr look I'm a gangster" type roleplays. Will you have a test server up when you get it to a working stage?
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 1 (list)

  20. Post #20
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    This looks very nice. Much better than all the "hurrdurr look I'm a gangster" type roleplays. Will you have a test server up when you get it to a working stage?
    Yes I will. I will be working on it all day tomarrow, and I plan on getting 3 or more of the features completed.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua King Lua King x 2 (list)

  21. Post #21

    April 2011
    13 Posts
    Don't forget the beds.

    Edited:

    And you spelled "tomarrow" wrong.

  22. Post #22
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Don't forget the beds.

    Edited:

    And you spelled "tomarrow" wrong.
    I know how to spell tomorrow, but I like tomarrow and I do what I want.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Winner Winner x 4 (list)

  23. Post #23
    Gold Member
    ramirez!'s Avatar
    July 2010
    955 Posts
    And I need to get more than 1 basic modeller to be honest, any of you know how to model?
    Out of curiousity, what do you need modeled?

  24. Post #24
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Thick bamboo poles for one. There's a few.

  25. Post #25
    Artyom's Avatar
    March 2011
    1,422 Posts
    Why is nobody posting

    I mean really the logo has a bird on it

    Who doesn't like birds
    Reply With Quote Edit / Delete Reply Windows 7 Canada Show Events Agree Agree x 2 (list)

  26. Post #26
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    I haven't posted any content yet, that's why. I'm working on stuff so.. yeah. just be patient. THere's no need to post on it right now.

  27. Post #27
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Alright so I've got some updates to prove I'm not doing nothing, I'm just finishing up the Inventory system, and after it's done I'll make the item mixing shit with recipes and all that.

    Also something you Lua scripters out there might be interested in, is the plugin system, it's very easy to add plugins for this gamemode, and you can even add hooks specifcally for the plugins, Firstly I'll post the code to the inventory system plugin, and then I will post a example plugin for those of you who want to make stuff, and I can add it.

    I've also decided this will be released once completed.

    Inventory system, nearly complete.
    local Plugin = {}
    Plugin.Name = "Inventory"
    Plugin.Description = "Inventory System"
    Plugin.Author = "LauScript"
    Plugin.Version = "1.0"
    Plugin.CustomHooks = false
    
    require("glon")
    society.Inventory = { }
    society.Inventory.Objects = { }
    
    function society.Inventory.LoadObjects()
    		for k, v in pairs( file.FindInLua( "Society/gamemode/systems/plugins/base/objects/*.lua" ) ) do
    			include( "Society/gamemode/systems/plugins/base/objects/" .. v )
    		end
    end
    
    function society.Inventory:Add( tbl )
    	if ( tbl ) then ITEM = tbl end
    	if ( ITEM.Display and ITEM.Cost and ITEM.Model and ITEM.Class and ITEM.Category and ITEM.OnDrop and ITEM.OnPickUp and ITEM.OnConsume) then
    		self.Objects[ tostring(ITEM.Class) ] = { Display = ITEM.Display, Cost = ITEM.Cost, Model = ITEM.Model, Category = ITEM.Category, Class = ITEM.Class, OnDrop = ITEM.OnDrop, OnPickUp = ITEM.OnPickUp, OnConsume = ITEM.OnConsume}
    		print("Added Item :: " .. ITEM.Display .. "-" .. ITEM.Class .. "-" .. ITEM.Category )
    	end
    end
    
    function society.Inventory:Get( item )
    	if ( item ) then
    		if ( self.Objects[ tostring(item) ] ) then
    			return self.Objects[ tostring(item) ]
    		end
    	end
    end
    
    function society.Inventory:Save( pl )
    file.Write("Society/players/" .. pl:UniqueID() .. "/inventory.txt", TableToKeyValues( pl.Inventory ))
    end
    
    function society.Inventory:Give( pl, class, amount )
    	local obj = self:Get( tostring(class))
    		if ( !pl.Inventory ) then pl.Inventory = { } end
    		
    		if ( pl.Inventory ) then
    			CurTempItemAmt = 0
    			if ( pl.Inventory[ obj["Class"] ] ) then
    				CurTempItemAmt = tonumber(pl.Inventory[ obj["Class"] ].Amount)
    			end
    			
    			local amount = tonumber(amount) or 1
    			pl.Inventory[ tostring(obj["Class"]) ] = { Amount = CurTempItemAmt + amount}
    			self:Save( pl )
    		end
    end
    
    function society.Inventory:Take( pl, class, amount )
    	local obj = self:Get( tostring(class))
    		if ( !pl.Inventory ) then return end
    		
    	if ( pl.Inventory[ obj["Class"] ].Amount >= tonumber(amount) ) then
    		local ItemAmt = tonumber(pl.Inventory[ obj["Class"] ].Amount)
    		pl.Inventory[ tostring(obj["Class"]) ] = { Amount = ItemAmt - amount}
    		self:Save( pl )
    	elseif ( tonumber(pl.Inventory[ obj["Class"] ].Amount) - tonumber(amount) <= 0 )
    		pl.Inventory[ tostring(obj["Class"]) ] = nil
    		self:Save( pl )
    	end
    end
    
    function society.Inventory:Load( pl )
    	if ( pl.Inventory == nil ) then
    		local self.SavedInventory = file.Read("Society/players/" .. pl:UniqueID() .. "/inventory.txt");
    		pl.Inventory = KeyValuesToTable( self.SavedInventory )
    	end
    end
    
    function Plugin.Initialise()
    	society.Inventory.LoadObjects()
    	society.Plugin:AddCustomHook( Plugin, "PlayerSpawn", OddCCCommand)
    end
    society.Plugin.RegisterPlugin( Plugin )
    

    Plugin Example.

    local Plugin = {}
    Plugin.Name = "Example"
    Plugin.Description = "Showing the plugin layout."
    Plugin.Author = "LauScript"
    Plugin.Version = "1.0"
    Plugin.CustomHooks = true 
    
    function ExampleSpawn()
    print( "Spawned!" )
    end
    
    function OnDeathTest( victim, weapon, killer )
    	print( victim:SteamID() .. " Died by " .. killer:GetClass() .. " with " .. weapon:GetClass())
    end
    
    function Plugin.Initialise()
    society.Plugin:AddCustomHook( Plugin, "PlayerSpawn", TestThisShit)
    society.Plugin:AddCustomHook( Plugin, "PlayerDeath", OnDeathTest)
    end
    society.Plugin.RegisterPlugin( Plugin )
    






    I forgot to mention, Single character support or Multi-character support?
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Friendly Friendly x 2 (list)

  28. Post #28
    -IAW-duton1's Avatar
    June 2010
    869 Posts
    So, is this going to be light RP or SRP or, what's the deal on that? It looks cool.

  29. Post #29
    Artyom's Avatar
    March 2011
    1,422 Posts
    So, is this going to be light RP or SRP or, what's the deal on that? It looks cool.
    The last time he did something like this, it was pretty much a mixture of both. Mainly on the SRP side.

  30. Post #30
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    So, is this going to be light RP or SRP or, what's the deal on that? It looks cool.
    It's going to be able to support both, more on the serious side. I believe in letting the player do what they want, as long as it's possible, and not going to ruin the experience for others.

    And not stupid, on my terms.


    Update
    Optimised networking strings, instead of using like 6 strings I'm now only using one.

    Update
    Okay, it's been 3 more hours, It's now 1:09 AM where I am, I've been staying up all night working on this, multi character support is finished. Now I have to make the inventory system adapt so it saves per character, not user

    Update
    Okay, 20 minutes later, inventories are per character now.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua King Lua King x 1 (list)

  31. Post #31
    Inventory system, nearly complete.
    Start how you mean to go on, I strongly advise coding your inventory system so that each item is an "instance" of the item class, which can store its own persistant data. e.g: A 'drink' could store how much liquid is left inside it, or a weapon could store how much ammo it has in each clip. I just had to re-code the entire inventory system for CloudScript - and that's A LOT of code.

    Just my two cents, otherwise it looks brill, good luck!

    Edited:

    local weaponItem = Clockwork.item:CreateInstance("weapon_mp5");
          weaponItem:SetData("ClipOne", 30);
          weaponItem:SetData("Durability", 10);
    player:GiveItem(weaponItem);
    
    Reply With Quote Edit / Delete Reply Windows 7 United Kingdom Show Events Useful Useful x 1 (list)

  32. Post #32
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    I was actually thinking on how I would do that, how should i store at on the item itself? Because if you look how I'm storing it, it's not capable of doing that, I think. How could I be able to give each item it's own data?

    tbh, that's a little over my head, I have no idea how I would do that.

  33. Post #33
    I was actually thinking on how I would do that, how should i store at on the item itself? Because if you look how I'm storing it, it's not capable of doing that, I think. How could I be able to give each item it's own data?
    Have a global table to store all instances that exist. Instances are a table.Copy of the item table (but make sure each item table has a .data table variable where the data is stored). Each item also has a unique ID called item ID (.itemID) which you can generate.

    So something like:

    mymod.Inventory.Instances[itemID] = itemInstance;

    Then the player's inventory looks like:

    player.Inventory[itemClass][itemID] = itemInstance (but not a copy, the same itemInstance stored in the table above).

    e.g:

    player.Inventory[itemClass][itemID] = mymod.Inventory.Instances[itemID];

  34. Post #34
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Oh I see, that's actually not that hard to do. How are you generating the ItemID? Is it a serial number?

    btw check your inbox on fp

  35. Post #35
    Derek_SM's Avatar
    January 2011
    330 Posts
    Alright so I've got some updates to prove I'm not doing nothing, I'm just finishing up the Inventory system, and after it's done I'll make the item mixing shit with recipes and all that.

    Also something you Lua scripters out there might be interested in, is the plugin system, it's very easy to add plugins for this gamemode, and you can even add hooks specifcally for the plugins, Firstly I'll post the code to the inventory system plugin, and then I will post a example plugin for those of you who want to make stuff, and I can add it.

    I've also decided this will be released once completed.

    Inventory system, nearly complete.
    local Plugin = {}
    Plugin.Name = "Inventory"
    Plugin.Description = "Inventory System"
    Plugin.Author = "LauScript"
    Plugin.Version = "1.0"
    Plugin.CustomHooks = false
    
    require("glon")
    society.Inventory = { }
    society.Inventory.Objects = { }
    
    function society.Inventory.LoadObjects()
    		for k, v in pairs( file.FindInLua( "Society/gamemode/systems/plugins/base/objects/*.lua" ) ) do
    			include( "Society/gamemode/systems/plugins/base/objects/" .. v )
    		end
    end
    
    function society.Inventory:Add( tbl )
    	if ( tbl ) then ITEM = tbl end
    	if ( ITEM.Display and ITEM.Cost and ITEM.Model and ITEM.Class and ITEM.Category and ITEM.OnDrop and ITEM.OnPickUp and ITEM.OnConsume) then
    		self.Objects[ tostring(ITEM.Class) ] = { Display = ITEM.Display, Cost = ITEM.Cost, Model = ITEM.Model, Category = ITEM.Category, Class = ITEM.Class, OnDrop = ITEM.OnDrop, OnPickUp = ITEM.OnPickUp, OnConsume = ITEM.OnConsume}
    		print("Added Item :: " .. ITEM.Display .. "-" .. ITEM.Class .. "-" .. ITEM.Category )
    	end
    end
    
    function society.Inventory:Get( item )
    	if ( item ) then
    		if ( self.Objects[ tostring(item) ] ) then
    			return self.Objects[ tostring(item) ]
    		end
    	end
    end
    
    function society.Inventory:Save( pl )
    file.Write("Society/players/" .. pl:UniqueID() .. "/inventory.txt", TableToKeyValues( pl.Inventory ))
    end
    
    function society.Inventory:Give( pl, class, amount )
    	local obj = self:Get( tostring(class))
    		if ( !pl.Inventory ) then pl.Inventory = { } end
    		
    		if ( pl.Inventory ) then
    			CurTempItemAmt = 0
    			if ( pl.Inventory[ obj["Class"] ] ) then
    				CurTempItemAmt = tonumber(pl.Inventory[ obj["Class"] ].Amount)
    			end
    			
    			local amount = tonumber(amount) or 1
    			pl.Inventory[ tostring(obj["Class"]) ] = { Amount = CurTempItemAmt + amount}
    			self:Save( pl )
    		end
    end
    
    function society.Inventory:Take( pl, class, amount )
    	local obj = self:Get( tostring(class))
    		if ( !pl.Inventory ) then return end
    		
    	if ( pl.Inventory[ obj["Class"] ].Amount >= tonumber(amount) ) then
    		local ItemAmt = tonumber(pl.Inventory[ obj["Class"] ].Amount)
    		pl.Inventory[ tostring(obj["Class"]) ] = { Amount = ItemAmt - amount}
    		self:Save( pl )
    	elseif ( tonumber(pl.Inventory[ obj["Class"] ].Amount) - tonumber(amount) <= 0 )
    		pl.Inventory[ tostring(obj["Class"]) ] = nil
    		self:Save( pl )
    	end
    end
    
    function society.Inventory:Load( pl )
    	if ( pl.Inventory == nil ) then
    		local self.SavedInventory = file.Read("Society/players/" .. pl:UniqueID() .. "/inventory.txt");
    		pl.Inventory = KeyValuesToTable( self.SavedInventory )
    	end
    end
    
    function Plugin.Initialise()
    	society.Inventory.LoadObjects()
    	society.Plugin:AddCustomHook( Plugin, "PlayerSpawn", OddCCCommand)
    end
    society.Plugin.RegisterPlugin( Plugin )
    

    Okay so I don't know if you have changed it yet, but you are requiring the glon module but not using it?

    Also, why not string.gsub the player's steamid instead of using their unique id?

  36. Post #36
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts

    You messed up the quote. Also that code is outdated, it now goes per character, and uses the steamid to store data.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Informative Informative x 1 (list)

  37. Post #37
    entershikari's Avatar
    February 2010
    226 Posts
    as a suggestion, I think that it would be could if there were random events that occur such as storms or bandits attacking a town, just to keep players on their feet.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 1 (list)

  38. Post #38
    moo
    CowThing's Avatar
    November 2006
    4,767 Posts
    Weather would be cool. Raining will help water crops, and will give a higher chance to catching a fish. But of course a heavy storm could get bad and harm structures and players.

  39. Post #39
    Pycские Идиот
    LauScript's Avatar
    June 2010
    2,447 Posts
    Random weather added to make-it-happen list.

    Bandits events like that will be handled outside the script, roleplayed out.

  40. Post #40
    StealthPaw
    101kl's Avatar
    March 2008
    492 Posts
    I'll make a suggestion that with food and water aspects of necessity, instead of instantly killing the player (because that happens in real life derp) you should have large side affects depending on how long you go without the item for, example of water; have not drunken for 10 mins, reduce walk and run speed by 30%, after 15 mins, remove the ability to run and slightly blurred screen, after 20 mins have a faint heartbeat in the background as a warning while once again reducing walk-speed. Finally after 25 mins have the player black out and frozen for 5 seconds at a time followed by death at 26 mins.

    Keep working away at this! Garry's Mod Survival has always lacked in features and the quality was never good (very buggy etc), if you complete this I may have to quit my life and start playing Gmod 24/7 again!